解决缴费页面账户选择bug

This commit is contained in:
wuxw 2025-11-12 12:32:28 +08:00
parent 7cefa499d4
commit 9651477307

View File

@ -10,10 +10,14 @@
</div> </div>
<el-table :data="accountList" border style="width: 100%"> <el-table :data="accountList" border style="width: 100%">
<el-table-column align="center" :label="$t('payFeeUserAccount.select')" width="80"> <el-table-column align="center" :label="$t('payFeeUserAccount.select')" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-checkbox v-model="selectedAccounts" :value="scope.row.acctId" <el-radio
@change="(checked) => handleAccountChange(scope.row.acctId, checked)"></el-checkbox> v-model="selectedAccount"
:label="scope.row.acctId"
@change="() => handleAccountChange(scope.row)"
>
</el-radio>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="acctTypeName" align="center" :label="$t('payFeeUserAccount.accountType')" /> <el-table-column prop="acctTypeName" align="center" :label="$t('payFeeUserAccount.accountType')" />
@ -48,7 +52,7 @@ export default {
feeId: '', feeId: '',
ownerId: '', ownerId: '',
communityId: '', communityId: '',
selectedAccounts: [] // selectedAccount: '' //
} }
}, },
methods: { methods: {
@ -83,53 +87,26 @@ export default {
openAddUserAmountModal(userAccount) { openAddUserAmountModal(userAccount) {
window.open(`/#/views/owner/ownerDetail?ownerId=${userAccount.objId}&currentTab=ownerDetailAccount`) window.open(`/#/views/owner/ownerDetail?ownerId=${userAccount.objId}&currentTab=ownerDetailAccount`)
}, },
// //
handleAccountChange(acctId, checked) { handleAccountChange(account) {
console.log('选中的账户ID:', acctId, '是否选中:', checked) if (!account) {
console.log('当前selectedAccounts:', this.selectedAccounts) this.selectedAccount = ''
// selectedAccounts
if (!Array.isArray(this.selectedAccounts)) {
this.selectedAccounts = []
}
if (checked) {
//
if (!this.selectedAccounts.includes(acctId)) {
this.selectedAccounts.push(acctId)
}
} else { } else {
// this.selectedAccount = account.acctId
const index = this.selectedAccounts.indexOf(acctId)
if (index > -1) {
this.selectedAccounts.splice(index, 1)
}
} }
console.log('更新后的selectedAccounts:', this.selectedAccounts)
this.computeFeeUserAmount() this.computeFeeUserAmount()
}, },
// computeFeeUserAmount // 使
computeFeeUserAmount() { computeFeeUserAmount() {
console.log('计算费用,选中的账户:', this.selectedAccounts)
let totalUserAmount = 0.0 let totalUserAmount = 0.0
let selectAccount = [] let selectAccount = []
// selectedAccounts const account = this.accountList.find(item => item.acctId === this.selectedAccount)
if (!Array.isArray(this.selectedAccounts)) { if (account && Number(account.amount) !== 0) {
this.selectedAccounts = [] 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', { this.$emit('changeUserAmountPrice', {
totalUserAmount, totalUserAmount,
accountList: this.accountList, accountList: this.accountList,
@ -141,7 +118,7 @@ export default {
}, },
handleClose() { handleClose() {
this.accountList = [] this.accountList = []
this.selectedAccounts = [] // this.selectedAccount = '' //
this.feeId = '' this.feeId = ''
this.ownerId = '' this.ownerId = ''
} }