From c8527d582f6a92a6614cebfc5642eba3e3a7d4bb Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Fri, 6 Feb 2026 15:20:45 +0800 Subject: [PATCH 1/2] Add Bank Card for Withdrawal --- apps/web-antd/src/api/agent/agent.ts | 579 ++++++++++-------- .../src/views/agent/agent-withdrawal/data.ts | 130 ++-- .../src/views/agent/agent-withdrawal/list.vue | 126 +--- .../agent-withdrawal/modules/audit-modal.vue | 358 +++++++++++ 4 files changed, 811 insertions(+), 382 deletions(-) create mode 100644 apps/web-antd/src/views/agent/agent-withdrawal/modules/audit-modal.vue diff --git a/apps/web-antd/src/api/agent/agent.ts b/apps/web-antd/src/api/agent/agent.ts index 57e67c9..fca6505 100644 --- a/apps/web-antd/src/api/agent/agent.ts +++ b/apps/web-antd/src/api/agent/agent.ts @@ -4,19 +4,19 @@ export namespace AgentApi { export interface AgentListItem { id: number; user_id: number; - agent_code: number; - level: number; // 1=普通,2=黄金,3=钻石 level_name: string; region: string; mobile: string; - wechat_id?: string; - team_leader_id?: number; + membership_expiry_time: string; balance: number; total_earnings: number; frozen_balance: number; withdrawn_amount: number; - is_real_name: boolean; create_time: string; + is_real_name_verified: boolean; + real_name: string; + id_card: string; + real_name_status: 'approved' | 'pending' | 'rejected'; } export interface AgentList { @@ -29,8 +29,7 @@ export namespace AgentApi { pageSize: number; mobile?: string; region?: string; - level?: number; - team_leader_id?: number; + parent_agent_id?: number; id?: number; create_time_start?: string; create_time_end?: string; @@ -40,10 +39,8 @@ export namespace AgentApi { export interface AgentLinkListItem { agent_id: number; - product_id: number; product_name: string; - set_price: number; - actual_base_price: number; + price: number; link_identifier: string; create_time: string; } @@ -57,7 +54,6 @@ export namespace AgentApi { page: number; pageSize: number; agent_id?: number; - product_id?: number; product_name?: string; link_identifier?: string; } @@ -86,41 +82,43 @@ export namespace AgentApi { status?: number; } - // 代理返佣相关接口 - export interface AgentRebateListItem { + // 代理奖励相关接口 + export interface AgentRewardListItem { id: number; agent_id: number; - source_agent_id: number; - order_id: number; - rebate_type: number; // 1=直接上级返佣,2=钻石上级返佣,3=黄金上级返佣 + relation_agent_id: number; amount: number; + type: string; create_time: string; } - export interface AgentRebateList { + export interface AgentRewardList { total: number; - items: AgentRebateListItem[]; + items: AgentRewardListItem[]; } - export interface GetAgentRebateListParams { + export interface GetAgentRewardListParams { page: number; pageSize: number; agent_id?: number; - source_agent_id?: number; - rebate_type?: number; + relation_agent_id?: number; + type?: string; } // 代理提现相关接口 export interface AgentWithdrawalListItem { - id: number; - agent_id: number; + id: string; + agent_id: string; withdraw_no: string; amount: number; tax_amount: number; actual_amount: number; - status: number; // 1=待审核,2=审核通过,3=审核拒绝,4=提现中,5=提现成功,6=提现失败 + status: number; + withdrawal_type: number; payee_account: string; payee_name: string; + bank_card_no?: string; + bank_name?: string; remark: string; create_time: string; } @@ -133,27 +131,78 @@ export namespace AgentApi { export interface GetAgentWithdrawalListParams { page: number; pageSize: number; - agent_id?: number; + agent_id?: number | string; status?: number; withdraw_no?: string; + withdrawal_type?: number; } export interface AuditWithdrawalParams { - withdrawal_id: number; + withdrawal_id: string; status: number; // 2=通过,3=拒绝 - remark: string; + remark?: string; + } + + // 代理上级抽佣相关接口 + export interface AgentCommissionDeductionListItem { + id: number; + agent_id: number; + deducted_agent_id: number; + amount: number; + product_name: string; + type: 'cost' | 'pricing'; + status: number; + create_time: string; + } + + export interface AgentCommissionDeductionList { + total: number; + items: AgentCommissionDeductionListItem[]; + } + + export interface GetAgentCommissionDeductionListParams { + page: number; + pageSize: number; + agent_id?: number; + product_name?: string; + type?: 'cost' | 'pricing'; + status?: number; + } + + // 平台抽佣列表项 + export interface AgentPlatformDeductionListItem { + id: number; + agent_id: number; + amount: number; + type: 'cost' | 'pricing'; + status: number; + create_time: string; + } + + // 平台抽佣列表响应 + export interface AgentPlatformDeductionList { + total: number; + items: AgentPlatformDeductionListItem[]; + } + + // 获取平台抽佣列表参数 + export interface GetAgentPlatformDeductionListParams { + page: number; + pageSize: number; + agent_id?: number; + type?: 'cost' | 'pricing'; + status?: number; } // 代理产品配置列表项 export interface AgentProductionConfigItem { id: number; - product_id: number; product_name: string; - base_price: number; + cost_price: number; price_range_min: number; price_range_max: number; - price_threshold: number; - price_fee_rate: number; + pricing_standard: number; + overpricing_ratio: number; create_time: string; } @@ -168,17 +217,17 @@ export namespace AgentApi { page: number; pageSize: number; product_name?: string; - product_id?: number; id?: number; } // 更新代理产品配置参数 export interface UpdateAgentProductionConfigParams { id: number; - base_price: number; + cost_price: number; + price_range_min: number; price_range_max: number; - price_threshold?: number; - price_fee_rate?: number; + pricing_standard: number; + overpricing_ratio: number; } // 更新代理产品配置响应 @@ -186,94 +235,122 @@ export namespace AgentApi { success: boolean; } - // 代理升级记录相关接口 - export interface AgentUpgradeListItem { + export interface MembershipRechargeOrderListItem { id: number; + user_id: number; agent_id: number; - from_level: number; - to_level: number; - upgrade_type: number; // 1=自主付费,2=钻石升级下级 - upgrade_fee: number; - rebate_amount: number; - status: number; // 1=待处理,2=已完成,3=已失败 + level_name: string; + amount: number; + payment_method: 'alipay' | 'appleiap' | 'other' | 'wechat'; + order_no: string; + platform_order_id: string; + status: 'cancelled' | 'failed' | 'pending' | 'success'; create_time: string; } - export interface AgentUpgradeList { - total: number; - items: AgentUpgradeListItem[]; - } - - export interface GetAgentUpgradeListParams { + export interface GetMembershipRechargeOrderListParams { page: number; pageSize: number; + user_id?: number; agent_id?: number; - upgrade_type?: number; - status?: number; + level_name?: string; + status?: string; } - // 代理订单相关接口 - export interface AgentOrderListItem { + export interface MembershipRechargeOrderList { + total: number; + items: MembershipRechargeOrderListItem[]; + } + + // 代理会员配置相关接口 + export interface AgentMembershipConfigListItem { id: number; - agent_id: number; - order_id: number; - product_id: number; - product_name: string; - order_amount: number; - set_price: number; - actual_base_price: number; - price_cost: number; - agent_profit: number; - process_status: number; // 0=待处理,1=处理成功,2=处理失败 + level_name: string; + price: number; + report_commission: number; + lower_activity_reward: null | number; + new_activity_reward: null | number; + lower_standard_count: null | number; + new_lower_standard_count: null | number; + lower_withdraw_reward_ratio: null | number; + lower_convert_vip_reward: null | number; + lower_convert_svip_reward: null | number; + exemption_amount: number; + price_increase_max: null | number; + price_ratio: null | number; + price_increase_amount: null | number; create_time: string; } - export interface AgentOrderList { + export interface GetAgentMembershipConfigListParams { + page: number; + pageSize: number; + level_name?: string; + } + + // 代理会员配置编辑请求参数 + export interface UpdateAgentMembershipConfigParams { + id: number; // 主键 + level_name: string; // 会员级别名称 + price: number; // 会员年费 + report_commission: number; // 直推报告收益 + lower_activity_reward?: null | number; // 下级活跃奖励金额 + new_activity_reward?: null | number; // 新增活跃奖励金额 + lower_standard_count?: null | number; // 活跃下级达标个数 + new_lower_standard_count?: null | number; // 新增活跃下级达标个数 + lower_withdraw_reward_ratio?: null | number; // 下级提现奖励比例 + lower_convert_vip_reward?: null | number; // 下级转化VIP奖励 + lower_convert_svip_reward?: null | number; // 下级转化SVIP奖励 + exemption_amount?: null | number; // 免责金额 + price_increase_max?: null | number; // 提价最高金额 + price_ratio?: null | number; // 提价区间收取比例 + price_increase_amount?: null | number; // 在原本成本上加价的金额 + } + + // 后台列表通用分页响应 + export interface AdminListResp { total: number; - items: AgentOrderListItem[]; + items: T[]; } export interface GetAgentOrderListParams { page: number; pageSize: number; - agent_id?: number; - order_id?: number; - process_status?: number; + agent_id?: number | string; + [key: string]: any; } - // 邀请码管理相关接口 - export interface InviteCodeListItem { - id: number; - code: string; - agent_id: number; // 0表示平台发放 - agent_mobile: string; - target_level: number; - status: number; // 0=未使用,1=已使用,2=已失效 - used_user_id?: number; - used_agent_id?: number; - used_time?: string; - expire_time?: string; - remark?: string; - create_time: string; + export interface GetAgentRealNameListParams { + page: number; + pageSize: number; + agent_id?: number | string; + [key: string]: any; } - export interface InviteCodeList { - total: number; - items: InviteCodeListItem[]; + export interface GetAgentRebateListParams { + page: number; + pageSize: number; + agent_id?: number | string; + [key: string]: any; + } + + export interface GetAgentUpgradeListParams { + page: number; + pageSize: number; + agent_id?: number | string; + [key: string]: any; } export interface GetInviteCodeListParams { page: number; pageSize: number; - code?: string; - agent_id?: number; target_level?: number; - status?: number; + [key: string]: any; } export interface GenerateDiamondInviteCodeParams { count: number; - expire_days?: number; // 可选,0表示不过期 + expire_days?: number; remark?: string; } @@ -281,33 +358,26 @@ export namespace AgentApi { codes: string[]; } - // 系统配置相关接口(价格配置已移除,改为产品配置表管理) + export interface UpgradeAgentParams { + agent_id: string; + to_level: number; + } + + // 代理系统配置(后台) export interface AgentConfig { - level_bonus: { - diamond: number; - gold: number; - normal: number; - }; + level_bonus: { normal: number; gold: number; diamond: number }; upgrade_fee: { normal_to_gold: number; normal_to_diamond: number; - gold_to_diamond: number; + gold_to_diamond?: number; }; upgrade_rebate: { normal_to_gold_rebate: number; to_diamond_rebate: number; }; - direct_parent_rebate: { - diamond: number; // 直接上级是钻石的返佣金额(6元) - gold: number; // 直接上级是黄金的返佣金额(3元) - normal: number; // 直接上级是普通的返佣金额(2元) - }; - max_gold_rebate_amount: number; // 黄金代理最大返佣金额(3元) - commission_freeze: { - ratio: number; // 佣金冻结比例(例如:0.1表示10%) - threshold: number; // 佣金冻结阈值(订单单价达到此金额才触发冻结,单位:元) - days: number; // 佣金冻结解冻天数(单位:天,例如:30表示30天后解冻) - }; + direct_parent_rebate: { diamond: number; gold: number; normal: number }; + max_gold_rebate_amount: number; + commission_freeze: { ratio: number; threshold: number; days: number }; tax_rate: number; tax_exemption_amount: number; gold_max_uplift_amount: number; @@ -315,85 +385,17 @@ export namespace AgentApi { } export interface UpdateAgentConfigParams { - level_bonus?: { - diamond?: number; - gold?: number; - normal?: number; - }; - upgrade_fee?: { - normal_to_gold?: number; - normal_to_diamond?: number; - gold_to_diamond?: number; - }; - upgrade_rebate?: { - normal_to_gold_rebate?: number; - to_diamond_rebate?: number; - }; - direct_parent_rebate?: { - diamond?: number; // 直接上级是钻石的返佣金额(6元) - gold?: number; // 直接上级是黄金的返佣金额(3元) - normal?: number; // 直接上级是普通的返佣金额(2元) - }; - max_gold_rebate_amount?: number; // 黄金代理最大返佣金额(3元) - commission_freeze?: { - ratio?: number; // 佣金冻结比例(例如:0.1表示10%) - threshold?: number; // 佣金冻结阈值(订单单价达到此金额才触发冻结,单位:元) - days?: number; // 佣金冻结解冻天数(单位:天,例如:30表示30天后解冻) - }; + level_bonus?: AgentConfig['level_bonus']; + upgrade_fee?: AgentConfig['upgrade_fee']; + upgrade_rebate?: AgentConfig['upgrade_rebate']; + direct_parent_rebate?: AgentConfig['direct_parent_rebate']; + max_gold_rebate_amount?: number; + commission_freeze?: AgentConfig['commission_freeze']; tax_rate?: number; tax_exemption_amount?: number; gold_max_uplift_amount?: number; diamond_max_uplift_amount?: number; } - - // 实名认证相关接口 - export interface AgentRealNameListItem { - id: number; - agent_id: number; - name: string; - id_card: string; // 加密,需要脱敏显示 - mobile: string; // 加密 - status: number; // 1=未验证,2=已通过 - verify_time?: string; - create_time: string; - } - - export interface AgentRealNameList { - total: number; - items: AgentRealNameListItem[]; - } - - export interface GetAgentRealNameListParams { - page: number; - pageSize: number; - agent_id?: number; - status?: number; - } - - // 代理奖励相关接口 - export interface AgentRewardListItem { - id: number; - agent_id: number; - type: string; // 奖励类型:register=注册奖励,first_order=首单奖励,level_up=升级奖励 - amount: number; - order_id?: number; - status: string; // pending=待发放,paid=已发放,failed=发放失败 - create_time: string; - pay_time?: string; - } - - export interface AgentRewardList { - total: number; - items: AgentRewardListItem[]; - } - - export interface GetAgentRewardListParams { - page: number; - pageSize: number; - agent_id?: number; - type?: string; - status?: string; - } } /** @@ -429,6 +431,18 @@ async function getAgentCommissionList( ); } +/** + * 获取代理奖励列表 + */ +async function getAgentRewardList(params: AgentApi.GetAgentRewardListParams) { + return requestClient.get( + '/agent/agent-reward/list', + { + params, + }, + ); +} + /** * 获取代理提现列表 */ @@ -443,6 +457,44 @@ async function getAgentWithdrawalList( ); } +/** + * 审核代理提现 + */ +async function auditWithdrawal(params: AgentApi.AuditWithdrawalParams) { + return requestClient.post<{ success: boolean }>( + '/agent/withdrawal/audit', + params, + ); +} + +/** + * 获取代理上级抽佣列表 + */ +async function getAgentCommissionDeductionList( + params: AgentApi.GetAgentCommissionDeductionListParams, +) { + return requestClient.get( + '/agent/agent-commission-deduction/list', + { + params, + }, + ); +} + +/** + * 获取平台抽佣列表 + */ +async function getAgentPlatformDeductionList( + params: AgentApi.GetAgentPlatformDeductionListParams, +) { + return requestClient.get( + '/agent/agent-platform-deduction/list', + { + params, + }, + ); +} + /** * 获取代理产品配置列表 */ @@ -470,40 +522,13 @@ async function updateAgentProductionConfig( } /** - * 获取代理返佣记录列表 + * 获取会员充值订单列表 */ -async function getAgentRebateList(params: AgentApi.GetAgentRebateListParams) { - return requestClient.get('/agent/rebate/list', { - params, - }); -} - -/** - * 获取代理升级记录列表 - */ -async function getAgentUpgradeList( - params: AgentApi.GetAgentUpgradeListParams, +async function getMembershipRechargeOrderList( + params: AgentApi.GetMembershipRechargeOrderListParams, ) { - return requestClient.get('/agent/upgrade/list', { - params, - }); -} - -/** - * 获取代理订单列表 - */ -async function getAgentOrderList(params: AgentApi.GetAgentOrderListParams) { - return requestClient.get('/agent/order/list', { - params, - }); -} - -/** - * 获取邀请码列表 - */ -async function getInviteCodeList(params: AgentApi.GetInviteCodeListParams) { - return requestClient.get( - '/agent/invite_code/list', + return requestClient.get( + '/agent/agent-membership-recharge-order/list', { params, }, @@ -511,7 +536,48 @@ async function getInviteCodeList(params: AgentApi.GetInviteCodeListParams) { } /** - * 生成钻石邀请码 + * 获取代理会员配置列表 + */ +async function getAgentMembershipConfigList( + params: AgentApi.GetAgentMembershipConfigListParams, +) { + return requestClient.get<{ + items: AgentApi.AgentMembershipConfigListItem[]; + total: number; + }>('/agent/agent-membership-config/list', { params }); +} + +/** + * 更新代理会员配置 + */ +async function updateAgentMembershipConfig( + params: AgentApi.UpdateAgentMembershipConfigParams, +) { + return requestClient.post<{ success: boolean }>( + '/agent/agent-membership-config/update', + params, + ); +} + +/** + * 获取代理系统配置(后台) + */ +async function getAgentConfig() { + return requestClient.get('/agent/config'); +} + +/** + * 更新代理系统配置(后台) + */ +async function updateAgentConfig(params: AgentApi.UpdateAgentConfigParams) { + return requestClient.post<{ success: boolean }>( + '/agent/config/update', + params, + ); +} + +/** + * 生成钻石邀请码(后台) */ async function generateDiamondInviteCode( params: AgentApi.GenerateDiamondInviteCodeParams, @@ -523,83 +589,90 @@ async function generateDiamondInviteCode( } /** - * 获取系统配置 + * 获取邀请码列表(后台) */ -async function getAgentConfig() { - return requestClient.get('/agent/config'); -} - -/** - * 更新系统配置 - */ -async function updateAgentConfig(params: AgentApi.UpdateAgentConfigParams) { - return requestClient.post<{ success: boolean }>( - '/agent/config/update', - params, +async function getInviteCodeList(params: AgentApi.GetInviteCodeListParams) { + return requestClient.get>>( + '/agent/invite_code/list', + { params }, ); } /** - * 获取实名认证列表 + * 获取代理订单列表(后台) + */ +async function getAgentOrderList(params: AgentApi.GetAgentOrderListParams) { + return requestClient.get>>( + '/agent/order/list', + { params }, + ); +} + +/** + * 获取代理实名认证列表(后台) */ async function getAgentRealNameList( params: AgentApi.GetAgentRealNameListParams, ) { - return requestClient.get( + return requestClient.get>>( '/agent/real_name/list', - { - params, - }, + { params }, ); } /** - * 审核提现 + * 获取代理返佣列表(后台) */ -async function auditWithdrawal(params: AgentApi.AuditWithdrawalParams) { - return requestClient.post<{ success: boolean }>( - '/agent/withdrawal/audit', - params, +async function getAgentRebateList(params: AgentApi.GetAgentRebateListParams) { + return requestClient.get>>( + '/agent/rebate/list', + { params }, ); } /** - * 平台升级代理等级(免费升级,遵守代理系统逻辑) + * 获取代理升级记录列表(后台) */ -async function upgradeAgent(params: { - agent_id: string; - to_level: number; // 2=黄金,3=钻石 -}) { - return requestClient.post<{ success: boolean }>('/agent/upgrade', params); -} - -/** - * 获取代理奖励列表 - */ -async function getAgentRewardList( - params: AgentApi.GetAgentRewardListParams, +async function getAgentUpgradeList( + params: AgentApi.GetAgentUpgradeListParams, ) { - return requestClient.get('/agent/reward/list', { + return requestClient.get>>( + '/agent/upgrade/list', + { params }, + ); +} + +/** + * 平台升级代理等级(后台) + */ +async function upgradeAgent(params: AgentApi.UpgradeAgentParams) { + return requestClient.post<{ success: boolean }>( + '/agent/upgrade/agent', params, - }); + ); } export { auditWithdrawal, - generateDiamondInviteCode, + getAgentCommissionDeductionList, getAgentCommissionList, getAgentConfig, getAgentLinkList, getAgentList, + getAgentMembershipConfigList, getAgentOrderList, + getAgentPlatformDeductionList, getAgentProductionConfigList, - getAgentRebateList, getAgentRealNameList, + getAgentRebateList, getAgentRewardList, getAgentUpgradeList, getAgentWithdrawalList, getInviteCodeList, + getMembershipRechargeOrderList, + generateDiamondInviteCode, updateAgentConfig, + updateAgentMembershipConfig, updateAgentProductionConfig, upgradeAgent, }; diff --git a/apps/web-antd/src/views/agent/agent-withdrawal/data.ts b/apps/web-antd/src/views/agent/agent-withdrawal/data.ts index ac00453..c746c96 100644 --- a/apps/web-antd/src/views/agent/agent-withdrawal/data.ts +++ b/apps/web-antd/src/views/agent/agent-withdrawal/data.ts @@ -1,24 +1,23 @@ +import type { OnActionClickFn } from '#/adapter/vxe-table'; import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; +import type { AgentApi } from '#/api/agent'; -export function useWithdrawalColumns(): VxeTableGridOptions['columns'] { +export function useWithdrawalColumns( + onActionClick?: OnActionClickFn, +): VxeTableGridOptions['columns'] { return [ { - title: 'ID', - field: 'id', - width: 80, + title: '提现单号', + field: 'withdraw_no', + width: 180, }, { title: '代理ID', field: 'agent_id', width: 100, }, - { - title: '提现单号', - field: 'withdraw_no', - width: 180, - }, { title: '提现金额', field: 'amount', @@ -26,27 +25,49 @@ export function useWithdrawalColumns(): VxeTableGridOptions['columns'] { formatter: ({ cellValue }) => `¥${cellValue.toFixed(2)}`, }, { - title: '税费金额', - field: 'tax_amount', - width: 120, - formatter: ({ cellValue }) => `¥${cellValue.toFixed(2)}`, - }, - { - title: '实际到账金额', + title: '实际到账', field: 'actual_amount', width: 120, - formatter: ({ cellValue }) => `¥${cellValue.toFixed(2)}`, + formatter: ({ cellValue }) => `¥${cellValue?.toFixed(2) || '0.00'}`, }, { - title: '收款账号', + title: '税费', + field: 'tax_amount', + width: 100, + formatter: ({ cellValue }) => `¥${cellValue?.toFixed(2) || '0.00'}`, + }, + { + title: '提现方式', + field: 'withdrawal_type', + width: 120, + formatter: ({ cellValue }: { cellValue: number }) => { + const methodMap: Record = { + 1: '支付宝', + 2: '银行卡', + }; + return methodMap[cellValue] || '未知'; + }, + }, + { + title: '收款账户', field: 'payee_account', width: 180, }, { - title: '收款人姓名', + title: '收款人', field: 'payee_name', width: 120, }, + { + title: '银行卡号', + field: 'bank_card_no', + width: 180, + }, + { + title: '开户行', + field: 'bank_name', + width: 180, + }, { title: '状态', field: 'status', @@ -55,11 +76,9 @@ export function useWithdrawalColumns(): VxeTableGridOptions['columns'] { name: 'CellTag', options: [ { value: 1, color: 'warning', label: '待审核' }, - { value: 2, color: 'success', label: '审核通过' }, - { value: 3, color: 'error', label: '审核拒绝' }, - { value: 4, color: 'processing', label: '提现中' }, - { value: 5, color: 'success', label: '提现成功' }, - { value: 6, color: 'error', label: '提现失败' }, + { value: 2, color: 'processing', label: '已通过' }, + { value: 3, color: 'error', label: '已拒绝' }, + { value: 5, color: 'success', label: '已打款' }, ], }, }, @@ -69,18 +88,33 @@ export function useWithdrawalColumns(): VxeTableGridOptions['columns'] { width: 200, }, { - title: '创建时间', + title: '申请时间', field: 'create_time', - width: 160, - sortable: true, + width: 180, }, { align: 'center', - slots: { default: 'operation' }, + cellRender: { + attrs: { + nameField: 'withdraw_no', + nameTitle: '提现单号', + onClick: onActionClick, + }, + name: 'CellOperation', + options: [ + { + code: 'audit', + text: '审核', + disabled: (row: AgentApi.AgentWithdrawalListItem) => { + return row.status !== 1; // 只有待审核状态(status=1)才能审核 + }, + }, + ], + }, field: 'operation', fixed: 'right', title: '操作', - width: 120, + width: 100, }, ]; } @@ -88,26 +122,48 @@ export function useWithdrawalColumns(): VxeTableGridOptions['columns'] { export function useWithdrawalFormSchema(): VbenFormSchema[] { return [ { - component: 'Input', fieldName: 'withdraw_no', label: '提现单号', + component: 'Input', + componentProps: { + placeholder: '请输入提现单号', + allowClear: true, + }, }, { + fieldName: 'agent_id', + label: '代理ID', + component: 'Input', + componentProps: { + placeholder: '请输入代理ID', + allowClear: true, + }, + }, + { + fieldName: 'withdrawal_type', + label: '提现方式', component: 'Select', + componentProps: { + options: [ + { label: '支付宝', value: 1 }, + { label: '银行卡', value: 2 }, + ], + allowClear: true, + }, + }, + { fieldName: 'status', label: '状态', + component: 'Select', componentProps: { - allowClear: true, options: [ { label: '待审核', value: 1 }, - { label: '审核通过', value: 2 }, - { label: '审核拒绝', value: 3 }, - { label: '提现中', value: 4 }, - { label: '提现成功', value: 5 }, - { label: '提现失败', value: 6 }, + { label: '已通过', value: 2 }, + { label: '已拒绝', value: 3 }, + { label: '已打款', value: 5 }, ], + allowClear: true, }, }, ]; } - diff --git a/apps/web-antd/src/views/agent/agent-withdrawal/list.vue b/apps/web-antd/src/views/agent/agent-withdrawal/list.vue index a0708e3..79b89e9 100644 --- a/apps/web-antd/src/views/agent/agent-withdrawal/list.vue +++ b/apps/web-antd/src/views/agent/agent-withdrawal/list.vue @@ -1,15 +1,13 @@ - - diff --git a/apps/web-antd/src/views/agent/agent-withdrawal/modules/audit-modal.vue b/apps/web-antd/src/views/agent/agent-withdrawal/modules/audit-modal.vue new file mode 100644 index 0000000..8be9470 --- /dev/null +++ b/apps/web-antd/src/views/agent/agent-withdrawal/modules/audit-modal.vue @@ -0,0 +1,358 @@ + + + + + From 9fe7aa5dcdd8a7bde579b27ce5828b9033e42ffa Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Wed, 11 Feb 2026 16:31:35 +0800 Subject: [PATCH 2/2] f --- apps/web-antd/src/api/order/order.ts | 1 + apps/web-antd/src/views/order/order/data.ts | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/apps/web-antd/src/api/order/order.ts b/apps/web-antd/src/api/order/order.ts index a4c3b9b..a990724 100644 --- a/apps/web-antd/src/api/order/order.ts +++ b/apps/web-antd/src/api/order/order.ts @@ -16,6 +16,7 @@ export namespace OrderApi { create_time: string; pay_time: null | string; refund_time: null | string; + update_time: string; } export interface OrderList { diff --git a/apps/web-antd/src/views/order/order/data.ts b/apps/web-antd/src/views/order/order/data.ts index fab7684..a017681 100644 --- a/apps/web-antd/src/views/order/order/data.ts +++ b/apps/web-antd/src/views/order/order/data.ts @@ -97,6 +97,11 @@ export function useColumns( title: '创建时间', width: 180, }, + { + field: 'update_time', + title: '更新时间', + width: 180, + }, { field: 'pay_time', title: '支付时间',