From 1bba187cf387b14a18b2ec79b8c5ba603a6b1a0b Mon Sep 17 00:00:00 2001 From: 18278715334 <18278715334@163.com> Date: Wed, 7 Jan 2026 16:50:52 +0800 Subject: [PATCH] f add --- apps/web-antd/src/api/agent/agent.ts | 43 ++++ .../src/views/agent/agent-list/list.vue | 21 ++ .../modules/commission-history-modal.vue | 9 +- .../modules/wallet-transaction-modal.vue | 202 ++++++++++++++++++ 4 files changed, 274 insertions(+), 1 deletion(-) create mode 100644 apps/web-antd/src/views/agent/agent-list/modules/wallet-transaction-modal.vue diff --git a/apps/web-antd/src/api/agent/agent.ts b/apps/web-antd/src/api/agent/agent.ts index f632ecd..6404f7e 100644 --- a/apps/web-antd/src/api/agent/agent.ts +++ b/apps/web-antd/src/api/agent/agent.ts @@ -354,6 +354,36 @@ export interface GetAgentLinkProductStatisticsParams {} balance: number; // 修改后的余额 } + // 代理钱包流水相关接口 + export interface WalletTransactionListItem { + id: number; + agent_id: number; + transaction_type: string; + amount: number; + balance_before: number; + balance_after: number; + frozen_balance_before: number; + frozen_balance_after: number; + transaction_id?: string; + related_user_id?: number; + remark?: string; + create_time: string; + } + + export interface WalletTransactionList { + total: number; + items: WalletTransactionListItem[]; + } + + export interface GetWalletTransactionListParams { + page: number; + pageSize: number; + agent_id: number; + transaction_type?: string; + create_time_start?: string; + create_time_end?: string; + } + // 系统配置相关接口 export interface SystemConfig { commission_safe_mode: boolean; // 佣金安全防御模式 @@ -643,6 +673,18 @@ async function updateSystemConfig(params: AgentApi.UpdateSystemConfigReq) { ); } +/** + * 获取代理钱包流水列表 + */ +async function getWalletTransactionList( + params: AgentApi.GetWalletTransactionListParams, +) { + return requestClient.get( + '/agent/wallet-transaction/list', + { params }, + ); +} + export { @@ -669,4 +711,5 @@ export { updateAgentWalletBalance, getSystemConfig, updateSystemConfig, + getWalletTransactionList, }; diff --git a/apps/web-antd/src/views/agent/agent-list/list.vue b/apps/web-antd/src/views/agent/agent-list/list.vue index e852754..4e6e12b 100644 --- a/apps/web-antd/src/views/agent/agent-list/list.vue +++ b/apps/web-antd/src/views/agent/agent-list/list.vue @@ -26,6 +26,7 @@ import PlatformDeductionModal from './modules/platform-deduction-modal.vue'; import RewardModal from './modules/reward-modal.vue'; import WithdrawalModal from './modules/withdrawal-modal.vue'; import BalanceModal from './modules/balance-modal.vue'; +import WalletTransactionModal from './modules/wallet-transaction-modal.vue'; const route = useRoute(); const router = useRouter(); @@ -80,6 +81,12 @@ const [BalanceModalComponent, balanceModalApi] = useVbenModal({ destroyOnClose: true, }); +// 钱包流水记录弹窗 +const [WalletTransactionModalComponent, walletTransactionModalApi] = useVbenModal({ + connectedComponent: WalletTransactionModal, + destroyOnClose: true, +}); + // 历史佣金记录弹窗 const [CommissionHistoryModalComponent, commissionHistoryModalApi] = useVbenModal({ connectedComponent: CommissionHistoryModal, @@ -166,6 +173,10 @@ const moreMenuItems = [ key: 'commission-history', label: '历史佣金记录', }, + { + key: 'wallet-transaction', + label: '钱包流水记录', + }, { key: 'links', label: '推广链接', @@ -258,6 +269,10 @@ function onActionClick( onViewWithdrawal(e.row); break; } + case 'wallet-transaction': { + onViewWalletTransaction(e.row); + break; + } } } @@ -276,6 +291,11 @@ function onUpdateBalance(row: AgentApi.AgentListItem) { balanceModalApi.setData({ agentId: row.id }).open(); } +// 查看钱包流水记录 +function onViewWalletTransaction(row: AgentApi.AgentListItem) { + walletTransactionModalApi.setData({ agentId: row.id }).open(); +} + // 查看佣金记录 function onViewCommission(row: AgentApi.AgentListItem) { commissionModalApi.setData({ agentId: row.id }).open(); @@ -323,6 +343,7 @@ function onRefresh() { + diff --git a/apps/web-antd/src/views/agent/agent-list/modules/commission-history-modal.vue b/apps/web-antd/src/views/agent/agent-list/modules/commission-history-modal.vue index 3bcaa49..ffd9e7f 100644 --- a/apps/web-antd/src/views/agent/agent-list/modules/commission-history-modal.vue +++ b/apps/web-antd/src/views/agent/agent-list/modules/commission-history-modal.vue @@ -156,8 +156,15 @@ const [Grid, gridApi] = useVbenVxeGrid({ sortable: true, }, ], - height: 'auto', + height: 600, + maxHeight: 800, keepSource: true, + pagerConfig: { + enabled: true, + pageSize: 20, + pageSizes: [10, 20, 50, 100], + layouts: ['Total', 'Sizes', 'PrevJump', 'Number', 'NextJump', 'FullJump'], + }, rowConfig: { keyField: 'id', }, diff --git a/apps/web-antd/src/views/agent/agent-list/modules/wallet-transaction-modal.vue b/apps/web-antd/src/views/agent/agent-list/modules/wallet-transaction-modal.vue new file mode 100644 index 0000000..13bbf2c --- /dev/null +++ b/apps/web-antd/src/views/agent/agent-list/modules/wallet-transaction-modal.vue @@ -0,0 +1,202 @@ + + + + + +