From 96514773072fd43ff7cb4055ee71ab465ef8d1da Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Wed, 12 Nov 2025 12:32:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=BC=B4=E8=B4=B9=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B4=A6=E6=88=B7=E9=80=89=E6=8B=A9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/fee/payFeeUserAccount.vue | 61 ++++++++---------------- 1 file changed, 19 insertions(+), 42 deletions(-) diff --git a/src/components/fee/payFeeUserAccount.vue b/src/components/fee/payFeeUserAccount.vue index cd4859cf3..1dfdbf64e 100644 --- a/src/components/fee/payFeeUserAccount.vue +++ b/src/components/fee/payFeeUserAccount.vue @@ -10,10 +10,14 @@ - + @@ -48,7 +52,7 @@ export default { feeId: '', ownerId: '', communityId: '', - selectedAccounts: [] // 改为数组,支持多选 + selectedAccount: '' // 单选账户 } }, methods: { @@ -83,53 +87,26 @@ export default { openAddUserAmountModal(userAccount) { window.open(`/#/views/owner/ownerDetail?ownerId=${userAccount.objId}¤tTab=ownerDetailAccount`) }, - // 新增:处理账户选择变化 - handleAccountChange(acctId, checked) { - console.log('选中的账户ID:', acctId, '是否选中:', checked) - console.log('当前selectedAccounts:', this.selectedAccounts) - - // 确保 selectedAccounts 是数组 - if (!Array.isArray(this.selectedAccounts)) { - this.selectedAccounts = [] - } - - if (checked) { - // 添加到选中数组 - if (!this.selectedAccounts.includes(acctId)) { - this.selectedAccounts.push(acctId) - } + // 处理账户选择变化 + handleAccountChange(account) { + if (!account) { + this.selectedAccount = '' } else { - // 从选中数组中移除 - const index = this.selectedAccounts.indexOf(acctId) - if (index > -1) { - this.selectedAccounts.splice(index, 1) - } + this.selectedAccount = account.acctId } - - console.log('更新后的selectedAccounts:', this.selectedAccounts) this.computeFeeUserAmount() }, - // 修复:computeFeeUserAmount 方法 + // 计算费用使用金额 computeFeeUserAmount() { - console.log('计算费用,选中的账户:', this.selectedAccounts) - let totalUserAmount = 0.0 let selectAccount = [] - // 确保 selectedAccounts 是数组 - if (!Array.isArray(this.selectedAccounts)) { - this.selectedAccounts = [] + const account = this.accountList.find(item => item.acctId === this.selectedAccount) + if (account && Number(account.amount) !== 0) { + totalUserAmount = parseFloat(account.amount) + selectAccount = [account] } - this.accountList.forEach(item => { - if (this.selectedAccounts.includes(item.acctId) && item.amount != 0) { - totalUserAmount += parseFloat(item.amount) - selectAccount.push(item) - } - }) - - console.log('计算的总金额:', totalUserAmount, '选中的账户列表:', selectAccount) - this.$emit('changeUserAmountPrice', { totalUserAmount, accountList: this.accountList, @@ -141,7 +118,7 @@ export default { }, handleClose() { this.accountList = [] - this.selectedAccounts = [] // 清空选中的账户 + this.selectedAccount = '' // 清空选中的账户 this.feeId = '' this.ownerId = '' }