diff --git a/packages/ui/certd-client/src/views/certd/invite/crud-logs.tsx b/packages/ui/certd-client/src/views/certd/invite/crud-logs.tsx
index 1b8651b6e..812aa7236 100644
--- a/packages/ui/certd-client/src/views/certd/invite/crud-logs.tsx
+++ b/packages/ui/certd-client/src/views/certd/invite/crud-logs.tsx
@@ -1,4 +1,4 @@
-import { CreateCrudOptionsRet, dict, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
+import { CreateCrudOptionsRet, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
import * as api from "./api";
import PriceInput from "/@/views/sys/suite/product/price-input.vue";
@@ -14,14 +14,6 @@ export default function (): CreateCrudOptionsRet {
toolbar: { show: false },
rowHandle: { show: false },
columns: {
- type: {
- title: "类型",
- type: "dict-select",
- dict: dict({
- data: [{ label: "佣金入账", value: "commission", color: "success" }],
- }),
- column: { width: 130 },
- },
amount: {
title: "金额",
type: "number",
@@ -30,10 +22,25 @@ export default function (): CreateCrudOptionsRet {
component: { name: PriceInput, vModel: "modelValue", edit: false },
},
},
- inviteeUserDisplay: {
+ simpleUser: {
title: "被邀请用户",
type: "text",
- column: { width: 150 },
+ column: {
+ width: 170,
+ cellRender({ row }) {
+ const simpleUser = row.simpleUser;
+ if (!simpleUser) {
+ return "-";
+ }
+ return (
+
+
+ {simpleUser.username || "-"} ({simpleUser.id})
+
+
+ );
+ },
+ },
},
consumeAmount: {
title: "消费金额",
diff --git a/packages/ui/certd-client/src/views/certd/wallet/crud-withdraw.tsx b/packages/ui/certd-client/src/views/certd/wallet/crud-withdraw.tsx
index 4cb440f88..553735d8c 100644
--- a/packages/ui/certd-client/src/views/certd/wallet/crud-withdraw.tsx
+++ b/packages/ui/certd-client/src/views/certd/wallet/crud-withdraw.tsx
@@ -48,6 +48,19 @@ export default function (): CreateCrudOptionsRet {
realName: { title: "真实姓名", type: "text", column: { width: 120 } },
account: { title: "收款账号", type: "text", column: { width: 180 } },
bankName: { title: "开户银行", type: "text", column: { width: 160 } },
+ qrCode: {
+ title: "收款二维码",
+ type: "text",
+ column: {
+ width: 120,
+ cellRender({ value }) {
+ if (!value) {
+ return "-";
+ }
+ return ;
+ },
+ },
+ },
auditRemark: { title: "审核备注", type: "text", column: { minWidth: 180 } },
createTime: { title: "申请时间", type: "datetime", column: { width: 180 } },
},
diff --git a/packages/ui/certd-client/src/views/certd/wallet/index.vue b/packages/ui/certd-client/src/views/certd/wallet/index.vue
index 11fc74744..0baef2a90 100644
--- a/packages/ui/certd-client/src/views/certd/wallet/index.vue
+++ b/packages/ui/certd-client/src/views/certd/wallet/index.vue
@@ -40,6 +40,7 @@ import * as api from "./api";
import createWithdrawCrudOptions from "./crud-withdraw";
import { util } from "/@/utils";
import { useFormDialog } from "/@/use/use-dialog";
+import { useUserStore } from "/@/store/user";
defineOptions({ name: "MyWallet" });
@@ -47,6 +48,7 @@ const summary = reactive({ availableAmount: 0, frozenAmount: 0, totalIncome
const withdrawAmountYuan = ref(0);
const loaded = ref(false);
const { openFormDialog } = useFormDialog();
+const userStore = useUserStore();
const { crudBinding: withdrawCrudBinding, crudExpose: withdrawCrudExpose, crudRef: withdrawCrudRef } = useFs({ createCrudOptions: createWithdrawCrudOptions });
function amountToYuan(amount: number) {
@@ -98,6 +100,37 @@ async function openWithdrawSetting() {
rules: [{ required: true, message: "请输入收款账号" }],
},
},
+ qrCode: {
+ title: "收款二维码",
+ type: "cropper-uploader",
+ form: {
+ col: { span: 24 },
+ component: {
+ vModel: "modelValue",
+ valueType: "key",
+ cropper: {
+ aspectRatio: 1,
+ autoCropArea: 1,
+ viewMode: 0,
+ },
+ onReady: null,
+ uploader: {
+ type: "form",
+ action: "/basic/file/upload?token=" + userStore.getToken,
+ name: "file",
+ headers: {
+ Authorization: "Bearer " + userStore.getToken,
+ },
+ successHandle(res: any) {
+ return res;
+ },
+ },
+ buildUrl(key: string) {
+ return `/api/basic/file/download?key=` + key;
+ },
+ },
+ },
+ },
bankName: {
title: "开户银行",
type: "text",
diff --git a/packages/ui/certd-client/src/views/sys/suite/invite/crud-withdraw.tsx b/packages/ui/certd-client/src/views/sys/suite/invite/crud-withdraw.tsx
index ce2e7c5b6..5152c925e 100644
--- a/packages/ui/certd-client/src/views/sys/suite/invite/crud-withdraw.tsx
+++ b/packages/ui/certd-client/src/views/sys/suite/invite/crud-withdraw.tsx
@@ -1,5 +1,5 @@
import { compute, CreateCrudOptionsProps, CreateCrudOptionsRet, dict, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
-import { Modal, notification } from "ant-design-vue";
+import { notification } from "ant-design-vue";
import * as api from "./api";
import PriceInput from "/@/views/sys/suite/product/price-input.vue";
import { useFormDialog } from "/@/use/use-dialog";
@@ -11,10 +11,29 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
return await api.GetWithdraws(query);
};
+ function renderWithdrawDetail(row: any) {
+ return (
+
+ {row.channel === "bank" ? "银行卡" : "支付宝"}
+ {row.userDisplay || row.userId}
+ {row.account || "-"}
+ {row.bankName || "-"}
+
+ {row.qrCode ? : -}
+
+ {row.amount / 100} 元
+
+ );
+ }
+
async function approve(row: any) {
- Modal.confirm({
- title: "确认提现已线下打款?",
- async onOk() {
+ await openFormDialog({
+ title: "提现审核",
+ wrapper: {
+ width: 760,
+ },
+ body: () => renderWithdrawDetail(row),
+ onSubmit: async () => {
await api.ApproveWithdraw(row.id);
await crudExpose.doRefresh();
notification.success({ message: "已审核通过" });
@@ -24,13 +43,14 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
async function reject(row: any) {
await openFormDialog({
- title: "拒绝提现申请",
+ title: "提现审核",
wrapper: {
- width: 520,
+ width: 760,
},
initialForm: {
remark: "",
},
+ body: () => renderWithdrawDetail(row),
columns: {
remark: {
title: "拒绝理由",
@@ -99,6 +119,7 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
component: { name: PriceInput, vModel: "modelValue", edit: false },
},
},
+ userDisplay: { title: "用户名", type: "text", search: { show: true }, column: { width: 140 } },
status: {
title: "状态",
type: "dict-select",
@@ -127,6 +148,19 @@ export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOpti
realName: { title: "真实姓名", type: "text", search: { show: true }, column: { width: 120 } },
account: { title: "收款账号", type: "text", column: { width: 180 } },
bankName: { title: "开户银行", type: "text", column: { width: 160 } },
+ qrCode: {
+ title: "收款二维码",
+ type: "text",
+ column: {
+ width: 120,
+ cellRender({ value }) {
+ if (!value) {
+ return "-";
+ }
+ return ;
+ },
+ },
+ },
auditRemark: { title: "审核备注", type: "text", column: { minWidth: 180 } },
createTime: { title: "申请时间", type: "datetime", column: { width: 180 } },
},
diff --git a/packages/ui/certd-server/db/migration-mysql/v10045__invite_commission.sql b/packages/ui/certd-server/db/migration-mysql/v10045__invite_commission.sql
index 4238b4611..d15b1849d 100644
--- a/packages/ui/certd-server/db/migration-mysql/v10045__invite_commission.sql
+++ b/packages/ui/certd-server/db/migration-mysql/v10045__invite_commission.sql
@@ -78,6 +78,7 @@ CREATE TABLE `cd_user_wallet_withdraw`
`real_name` varchar(100),
`account` varchar(200),
`bank_name` varchar(200),
+ `qr_code` varchar(512),
`audit_user_id` bigint,
`audit_remark` varchar(2048),
`audit_time` bigint,
diff --git a/packages/ui/certd-server/db/migration-pg/v10045__invite_commission.sql b/packages/ui/certd-server/db/migration-pg/v10045__invite_commission.sql
index 0186803ce..c46fdebf2 100644
--- a/packages/ui/certd-server/db/migration-pg/v10045__invite_commission.sql
+++ b/packages/ui/certd-server/db/migration-pg/v10045__invite_commission.sql
@@ -78,6 +78,7 @@ CREATE TABLE "cd_user_wallet_withdraw"
"real_name" varchar(100),
"account" varchar(200),
"bank_name" varchar(200),
+ "qr_code" varchar(512),
"audit_user_id" bigint,
"audit_remark" varchar(2048),
"audit_time" bigint,
diff --git a/packages/ui/certd-server/db/migration/v10045__invite_commission.sql b/packages/ui/certd-server/db/migration/v10045__invite_commission.sql
index 92cda0249..b9933a8fd 100644
--- a/packages/ui/certd-server/db/migration/v10045__invite_commission.sql
+++ b/packages/ui/certd-server/db/migration/v10045__invite_commission.sql
@@ -78,6 +78,7 @@ CREATE TABLE "cd_user_wallet_withdraw"
"real_name" varchar(100),
"account" varchar(200),
"bank_name" varchar(200),
+ "qr_code" varchar(512),
"audit_user_id" integer,
"audit_remark" varchar(2048),
"audit_time" integer,
diff --git a/packages/ui/certd-server/src/configuration.ts b/packages/ui/certd-server/src/configuration.ts
index 13ee49993..070b62ecc 100644
--- a/packages/ui/certd-server/src/configuration.ts
+++ b/packages/ui/certd-server/src/configuration.ts
@@ -136,5 +136,6 @@ export class MainConfiguration {
logger.info('当前环境:', this.app.getEnv()); // prod
// throw new Error("address family not supported")
+
}
}