mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-02-23 13:26:39 +08:00
解决缴费页面账户选择bug
This commit is contained in:
parent
7cefa499d4
commit
9651477307
@ -10,10 +10,14 @@
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<el-checkbox v-model="selectedAccounts" :value="scope.row.acctId"
|
||||
@change="(checked) => handleAccountChange(scope.row.acctId, checked)"></el-checkbox>
|
||||
<el-radio
|
||||
v-model="selectedAccount"
|
||||
:label="scope.row.acctId"
|
||||
@change="() => handleAccountChange(scope.row)"
|
||||
>
|
||||
</el-radio>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="acctTypeName" align="center" :label="$t('payFeeUserAccount.accountType')" />
|
||||
@ -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 = ''
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user