diff --git a/src/api/cash/cash.js b/src/api/cash/cash.js new file mode 100644 index 0000000..23494f8 --- /dev/null +++ b/src/api/cash/cash.js @@ -0,0 +1,10 @@ +import http from '@/util/http.js' + +// 查询钱包记录 +export const selectWalletRecords = (data) => { + return http({ + method: 'POST', + url: '/cashCollection/selectWalletRecords', + data + }) +} diff --git a/src/assets/SvgIcons/wallet_management.svg b/src/assets/SvgIcons/wallet_management.svg index f031c3c..d003715 100644 --- a/src/assets/SvgIcons/wallet_management.svg +++ b/src/assets/SvgIcons/wallet_management.svg @@ -1 +1,27 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/locales/lang/en.js b/src/components/locales/lang/en.js index 2b5f0fc..60269be 100644 --- a/src/components/locales/lang/en.js +++ b/src/components/locales/lang/en.js @@ -424,6 +424,7 @@ export default { // Common List Fields common_list: { + marketName: "Region", id: "No.", originalChinese: "Chinese", english: "English", @@ -941,6 +942,7 @@ export default { other: "Other", currentBalance: "Current Balance", transactionType: "Type", + transactionCurrency: "Currency", transactionDesc: "Desc", transactionOrderNo: "Order No.", transactionStatus: "Status", diff --git a/src/components/locales/lang/zh-CN.js b/src/components/locales/lang/zh-CN.js index 16675e3..3b4e522 100644 --- a/src/components/locales/lang/zh-CN.js +++ b/src/components/locales/lang/zh-CN.js @@ -424,6 +424,7 @@ export default { // 通用列表字段组 common_list: { + marketName: "所属地区", id: "序号", originalChinese: "原始中文", english: "英文", @@ -948,9 +949,10 @@ export default { other: "其他", currentBalance: "当前余额", transactionType: "交易类型", + transactionCurrency: "交易币种", transactionDesc: "交易说明", transactionOrderNo: "交易单号", - transactionStatus: "交易状态", + transactionStatus: "状态", exceptionData: "异常数据", time: "时间", market: { diff --git a/src/static/common.js b/src/static/common.js new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/menuUtils.js b/src/utils/menuUtils.js index 612c42d..d073102 100644 --- a/src/utils/menuUtils.js +++ b/src/utils/menuUtils.js @@ -92,8 +92,8 @@ export const getRoutePath = (menu) => { "152": "/walletManage/walletDetail", // 钱包明细 "153": "/walletManage/walletDetail/hkWallet", // 香港钱包 "154": "/walletManage/walletDetail/sgWalletHC", // 新加坡HC钱包 - "155": "/walletManage/walletDetail/sgWalletCM", // 新加坡CM钱包 - "156": "/walletManage/walletDetail/myWallet", // 马来西亚钱包 + "156": "/walletManage/walletDetail/sgWalletCM", // 新加坡CM钱包 + "155": "/walletManage/walletDetail/myWallet", // 马来西亚钱包 "157": "/walletManage/walletDetail/caWallet", // 加拿大钱包 "158": "/walletManage/walletDetail/thWalletHS", // 泰国HS钱包 "159": "/walletManage/walletDetail/thWalletHA", // 泰国HA钱包 diff --git a/src/views/moneyManage/financialAccount/performanceAttribution.vue b/src/views/moneyManage/financialAccount/performanceAttribution.vue index 120ce24..3cc411e 100644 --- a/src/views/moneyManage/financialAccount/performanceAttribution.vue +++ b/src/views/moneyManage/financialAccount/performanceAttribution.vue @@ -622,6 +622,7 @@ onMounted( async() => { cursor: pointer; border: none; background-color: #7349ad; + margin-left: auto; } .table-card { @@ -662,7 +663,7 @@ onMounted( async() => { position: relative; width: 100%; height: 50px; /* Set a fixed height to make diagonal line work well */ - background: linear-gradient(to bottom right, transparent 49.5%, #dcdfe6 49.5%, #dcdfe6 50.5%, transparent 50.5%); + background: linear-gradient(to top right, transparent 49.5%, #dcdfe6 49.5%, #dcdfe6 50.5%, transparent 50.5%); } .diagonal-header .top-right { position: absolute; diff --git a/src/views/walletManage/WalletBalance.vue b/src/views/walletManage/WalletBalance.vue index b2213ef..b35a905 100644 --- a/src/views/walletManage/WalletBalance.vue +++ b/src/views/walletManage/WalletBalance.vue @@ -6,7 +6,7 @@ import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js" const adminStore = useAdminStore() const { adminData, menuTree, flag } = storeToRefs(adminStore) // 监听全局flag状态变化(员工数据的) - watch(flag, (newFlag, oldFlag) => { +watch(flag, (newFlag, oldFlag) => { // 当flag状态改变时,重新发送请求 if (newFlag !== oldFlag) { console.log('员工数据flag状态改变,重新加载数据', newFlag) @@ -106,18 +106,18 @@ const get = async function (val) { } console.log('搜索参数', getObj.value, selectData.value) - + // 构建请求参数 const params = { pageNum: getObj.value.pageNum, pageSize: getObj.value.pageSize } - + // 只有当有值时才加入参数,且转换类型 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]) @@ -143,7 +143,7 @@ const get = async function (val) { data: params }) console.log('响应数据', result) - + if (result.code === 200) { tableData.value = result.data.list.map(item => { const row = { @@ -161,7 +161,7 @@ const get = async function (val) { vnGold: 0, bjGold: 0 }; - + if (item.walletList && Array.isArray(item.walletList)) { item.walletList.forEach(wallet => { const prop = walletMap[wallet.walletId]; @@ -211,31 +211,31 @@ const cellClick = function (row, column) { console.log('cellClick', column) const walletId = propToWalletId[column.property]; const propToMarketName = { - historyGold: t('clientCount.market.historyGold'), - hkGold: t('clientCount.market.hkGold'), - sgHcGold: t('clientCount.market.sgHcGold'), - myGold: t('clientCount.market.myGold'), - sgGold: t('clientCount.market.sgCmGold'), - caGold: t('clientCount.market.caGold'), - thHsGold: t('clientCount.market.thHsGold'), - thHaGold: t('clientCount.market.thHaGold'), - vnGold: t('clientCount.market.vnGold'), - bjGold: t('clientCount.market.bjGold') + historyGold: t('clientCount.market.historyGold'), + hkGold: t('clientCount.market.hkGold'), + sgHcGold: t('clientCount.market.sgHcGold'), + myGold: t('clientCount.market.myGold'), + sgGold: t('clientCount.market.sgCmGold'), + caGold: t('clientCount.market.caGold'), + thHsGold: t('clientCount.market.thHsGold'), + thHaGold: t('clientCount.market.thHaGold'), + vnGold: t('clientCount.market.vnGold'), + bjGold: t('clientCount.market.bjGold') + } + const marketName = propToMarketName[column.property] + + if (marketName && walletId) { + currentWalletInfo.value = { + userName: row.name, + jwcode: row.jwcode, + marketName: row.market, // 用户所属地区 + walletName: marketName + t('clientCount.wallet'), // 钱包名称 + currentBalance: row[column.property] || 0, + walletId: walletId } - const marketName = propToMarketName[column.property] - - if (marketName && walletId) { - currentWalletInfo.value = { - userName: row.name, - jwcode: row.jwcode, - marketName: row.market, // 用户所属地区 - walletName: marketName + t('clientCount.wallet'), // 钱包名称 - currentBalance: row[column.property] || 0, - walletId: walletId - } - walletDetailQuery.value.pageNum = 1 - getWalletDetail() - walletDetailVisible.value = true + walletDetailQuery.value.pageNum = 1 + getWalletDetail() + walletDetailVisible.value = true } } @@ -275,25 +275,25 @@ const getWalletDetail = async () => { walletId: currentWalletInfo.value.walletId } } - + const result = await API({ url: '/cashCollection/selectWalletRecords', method: 'post', data: params }) - + if (result.code === 200) { - walletDetailList.value = result.data.list.map(item => ({ - time: moment(item.createTime).format('YYYY-MM-DD HH:mm:ss'), - type: getWalletRecordTypeText(item), - amount: Number(item.amount) || 0, - desc: item.description || '', - orderNo: item.orderCode, - status: item.status === 0 ? 1 : 2 - })) - walletDetailTotal.value = result.data.total + walletDetailList.value = result.data.list.map(item => ({ + time: moment(item.createTime).format('YYYY-MM-DD HH:mm:ss'), + type: getWalletRecordTypeText(item), + amount: Number(item.amount) || 0, + desc: item.description || '', + orderNo: item.orderCode, + status: item.status === 0 ? 1 : 2 + })) + walletDetailTotal.value = result.data.total } else { - ElMessage.error(result.msg || t('elmessage.getDetailFailed')) + ElMessage.error(result.msg || t('elmessage.getDetailFailed')) } } catch (error) { console.error(error) @@ -366,10 +366,10 @@ const exportExcel = async function () { params.market = String(selectData.value.markets[0]) } - const res = await API({ - url: '/export/exportUserWallet', - method: 'post', - data: params + const res = await API({ + url: '/export/exportUserWallet', + method: 'post', + data: params }) if (res.code === 200) { ElMessage.success(t('elmessage.exportSuccess')) @@ -390,10 +390,10 @@ const exportWalletDetail = async () => { } try { - const res = await API({ - url: '/export/exportUserWalletRecord', - method: 'post', - data: params + const res = await API({ + url: '/export/exportUserWalletRecord', + method: 'post', + data: params }) if (res.code === 200) { ElMessage.success(t('elmessage.exportSuccess')) @@ -414,7 +414,7 @@ const exportExcelOnlyOne = async function () { ElMessage.error(t('elmessage.selectCompanyWallet')) return } - + const params = { pageNum: 1, // 导出通常从第一页开始 pageSize: 10000, // 导出大量数据,或者不传让后端处理全部?通常传大值 @@ -425,10 +425,10 @@ const exportExcelOnlyOne = async function () { } try { - const res = await API({ - url: '/export/exportUserWalletRecord', - method: 'post', - data: params + const res = await API({ + url: '/export/exportUserWalletRecord', + method: 'post', + data: params }) if (res.code === 200) { ElMessage.success(t('elmessage.exportSuccess')) @@ -629,102 +629,106 @@ const format3 = (num) => { - - + + - + @@ -773,19 +778,24 @@ const format3 = (num) => { - - + + - + @@ -797,10 +807,13 @@ const format3 = (num) => { - + @@ -809,16 +822,9 @@ const format3 = (num) => {