From 7b3f40069f78ce46339ab8815c13503bd55a032e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8?= Date: Fri, 12 Jun 2026 15:14:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../withdraw/components/WithdrawDialog.vue | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/views/capital/withdraw/components/WithdrawDialog.vue b/src/views/capital/withdraw/components/WithdrawDialog.vue index 742a5d5..253b82f 100644 --- a/src/views/capital/withdraw/components/WithdrawDialog.vue +++ b/src/views/capital/withdraw/components/WithdrawDialog.vue @@ -234,38 +234,43 @@ const availableBalance = computed(() => { const freeze = parseFloat(walletInfo.value.freeze || '0') // 钱包余额总和 const walletSum = - Math.max(0, parseFloat(walletInfo.value.commission_fee_handling || '0')) + - Math.max(0, parseFloat(walletInfo.value.commission_point_diff || '0')) + - Math.max(0, parseFloat(walletInfo.value.service || '0')) + + Math.max(0, parseFloat(walletInfo.value.freeze)) + Math.max(0, parseFloat(walletInfo.value.risk || '0')) + - Math.max(0, parseFloat(walletInfo.value.closing_profit || '0')) - return Math.max(0, amount - walletSum) + Math.max(0, parseFloat(walletInfo.value.service || '0')) + + Math.max(0, parseFloat(walletInfo.value.commission_fee_handling || '0')) + + Math.max(0, parseFloat(walletInfo.value.commission_point_diff || '0')) + // Math.max(0, parseFloat(walletInfo.value.closing_profit || '0')) + return floorMoney(amount - walletSum) }) // 计算钱包余额总和(用于验证输入金额上限) // roleId >= 5 时,totalWalletBalance 需要包含 availableBalance const totalWalletBalance = computed(() => { - const amount = parseFloat(walletInfo.value.amount || '0') + const amount = parseFloat(walletInfo.value.amount || '0') const freeze = parseFloat(walletInfo.value.freeze || '0') - console.log('walletInfo.value:', walletInfo.value); + console.log('walletInfo.value:', amount , freeze); // 钱包余额总和(手续费 + 点差 + 服务费 + 风险金 + 盈亏) - const walletSum = - parseFloat(walletInfo.value.commission_fee_handling || '0') + - parseFloat(walletInfo.value.commission_point_diff || '0') + - parseFloat(walletInfo.value.service || '0') + - parseFloat(walletInfo.value.risk || '0') + - parseFloat(walletInfo.value.closing_profit || '0') + // const walletSum = + // parseFloat(walletInfo.value.commission_fee_handling || '0') + + // parseFloat(walletInfo.value.commission_point_diff || '0') + + // parseFloat(walletInfo.value.service || '0') + + // parseFloat(walletInfo.value.risk || '0') + + // parseFloat(walletInfo.value.closing_profit || '0') - if (roleId >= 5) { - // roleId >= 5 时,总余额包含可用余额 - // availableBalance = amount - freeze - walletSum - const availableBal = Math.max(0, amount - walletSum) - return walletSum + availableBal - } - return walletSum + // if (roleId >= 5) { + // // roleId >= 5 时,总余额包含可用余额 + // // availableBalance = amount - freeze - walletSum + // const availableBal = Math.max(0, amount - walletSum) + // return walletSum + availableBal + // } + return floorMoney(amount - freeze) }) +const floorMoney = (num:number) => { + const cents = Math.floor(num * 100); + return cents / 100; +} // 费用项标签映射 const feeLabelMap: Record = { @@ -408,7 +413,7 @@ const initData = async () => { if (res) { walletInfo.value = { commission_fee_handling: res.commission_fee_handling || '0', - commission_point_diff: ''+(res.commission_point_diff - res.freeze||0) || '0', + commission_point_diff: ''+floorMoney(res.commission_point_diff - res.freeze||0) || '0', service: res.service || '0', risk: res.risk || '0', closing_profit: res.closing_profit || '0',