From 6a73bb324b9af680953c33149e52b89fdfb4acc8 Mon Sep 17 00:00:00 2001 From: zhangrenyuan <18990852002@163.com> Date: Mon, 9 Mar 2026 15:42:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/usergold/gold/clientCountWallet.vue | 94 +++++++++++++++++++++++---- 1 file changed, 83 insertions(+), 11 deletions(-) diff --git a/src/views/usergold/gold/clientCountWallet.vue b/src/views/usergold/gold/clientCountWallet.vue index fe3a13d..76f7a0d 100644 --- a/src/views/usergold/gold/clientCountWallet.vue +++ b/src/views/usergold/gold/clientCountWallet.vue @@ -156,7 +156,7 @@ const get = async function (val) { } return row; }); - total.value = result.data.total; + total.value = result.data.size; } else { ElMessage.error(result.msg || '获取数据失败'); } @@ -305,16 +305,57 @@ const handleCurrentChange = function (val) { } const exportExcel = async function () { const params = { - selectData: { - jwcode: selectData.value.jwcode || '', - markets: selectData.value.markets || [], - flag: flag.value - } + pageNum: 1, // 导出通常从第一页开始 + pageSize: 10000, // 导出所有数据 + } + + // 只有当有值时才加入参数,且转换类型 + if (selectData.value.jwcode) { + params.jwcode = Number(selectData.value.jwcode) + } + if (selectData.value.markets && selectData.value.markets.length > 0) { + // 确保市场代码也是正确类型 + params.market = String(selectData.value.markets[0]) } - const res = await API({ url: '/goldDetail/exportGold', data: params }) + + const res = await API({ + url: '/export/exportUserWallet', + method: 'post', + data: params + }) if (res.code === 200) { ElMessage.success(t('elmessage.exportSuccess')) + // 不需要立即打开导出列表 + } else { + ElMessage.error(res.msg || '导出失败') + } +} + +const exportWalletDetail = async () => { + const params = { + pageNum: walletDetailQuery.value.pageNum, + pageSize: walletDetailQuery.value.pageSize, + userWalletRecord: { + jwcode: Number(currentWalletInfo.value.jwcode), + walletId: currentWalletInfo.value.walletId + } + } + + try { + const res = await API({ + url: '/export/exportUserWalletRecord', + method: 'post', + data: params + }) + if (res.code === 200) { + ElMessage.success(t('elmessage.exportSuccess')) + } else { + ElMessage.error(res.msg || '导出失败') + } + } catch (error) { + console.error('导出钱包明细出错:', error) + ElMessage.error('导出钱包明细出错') } } @@ -326,8 +367,35 @@ const exportExcelOnlyOne = async function () { ElMessage.error('请选择公司钱包') return } - console.log('selectWalletForm', selectWalletForm.value.companyWalletId) - selectWalletVisible.value = false + + const params = { + pageNum: 1, // 导出通常从第一页开始 + pageSize: 10000, // 导出大量数据,或者不传让后端处理全部?通常传大值 + userWalletRecord: { + // id从1开始,后端walletId从2开始,需要+1 + walletId: selectWalletForm.value.companyWalletId + 1, + jwcode: selectData.value.jwcode ? Number(selectData.value.jwcode) : null + } + } + + try { + const res = await API({ + url: '/export/exportUserWalletRecord', + method: 'post', + data: params + }) + if (res.code === 200) { + ElMessage.success(t('elmessage.exportSuccess')) + openExportList() // 导出成功后打开导出列表 + } else { + ElMessage.error(res.msg || '导出失败') + } + } catch (error) { + console.error('导出失败:', error) + ElMessage.error('导出失败') + } finally { + selectWalletVisible.value = false + } } @@ -402,8 +470,9 @@ const getExportList = async () => { try { const result = await API({ url: '/export/export' }) if (result.code === 200) { + // 过滤只显示type为16和17的导出记录 const filteredData = result.data.filter(item => { - return item.type === 1; //返回type為0即客户金币余额的数据 + return item.type === 16 || item.type === 17; }); exportList.value = filteredData } else { @@ -700,7 +769,10 @@ const format3 = (num) => { @current-change="handleWalletDetailCurrentChange" /> - {{ $t('common_export.close') }} +
+ {{ $t('common.exportExcel') }} + {{ $t('common_export.close') }} +