From 0f7e0a5163028d4caac69c9b8567bb61699f82c2 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Tue, 14 Oct 2025 12:49:01 +0800 Subject: [PATCH] v1.9 优化客户反馈 欠费缴费选择问题 --- src/views/fee/owePayFeeOrderList.vue | 24 +++++++++++++++++------- src/views/fee/printPayFeeBangTaiList.vue | 354 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 files changed, 189 insertions(+), 189 deletions(-) diff --git a/src/views/fee/owePayFeeOrderList.vue b/src/views/fee/owePayFeeOrderList.vue index ed0da9f..cb13852 100644 --- a/src/views/fee/owePayFeeOrderList.vue +++ b/src/views/fee/owePayFeeOrderList.vue @@ -18,8 +18,8 @@ - - + + @@ -38,7 +38,7 @@ - + {{ $t('owePayFeeOrder.paymentAmount') }}: @@ -50,7 +50,7 @@ {{ $t('owePayFeeOrder.scanPay') }} - + {{ $t('owePayFeeOrder.pay') }} @@ -59,8 +59,8 @@ - - + + {{ owePayFeeOrderInfo.roomName }} @@ -102,7 +102,7 @@ {{ $t('owePayFeeOrder.mergePrint') }} - + {{ $t('owePayFeeOrder.printReceipt') }} @@ -194,6 +194,8 @@ export default { handleSelectionChange(val) { this.owePayFeeOrderInfo.selectPayFeeIds = val.map(item => item.feeId) + this._dealSelectFee() + }, async _loadOweFees() { @@ -224,6 +226,13 @@ export default { }) this._dealSelectFee() + + // 等待表格渲染完成后选中所有行 + this.$nextTick(() => { + this.owePayFeeOrderInfo.oweFees.forEach(row => { + this.$refs.oweTable.toggleRowSelection(row, true) + }) + }) } catch (error) { console.error('获取欠费数据失败:', error) } @@ -420,6 +429,7 @@ export default { }, 2000) this.owePayFeeOrderInfo.selectPayFeeIds = [] + this.$refs.oweTable && this.$refs.oweTable.clearSelection() this._loadOweFees() this.$message.success(res.msg) }, diff --git a/src/views/fee/printPayFeeBangTaiList.vue b/src/views/fee/printPayFeeBangTaiList.vue index 567b16e..8ad026a 100644 --- a/src/views/fee/printPayFeeBangTaiList.vue +++ b/src/views/fee/printPayFeeBangTaiList.vue @@ -1,109 +1,99 @@ @@ -141,67 +131,69 @@ export default { } }, created() { + this.communityId = getCommunityId() + this.userInfo = { + userId: getUserId(), + name: getUserName() + } this.initData() - this.loadData() }, methods: { initData() { this.printPayFeeInfo.receiptId = this.$route.query.receiptId this.printPayFeeInfo.receiptIds = this.$route.query.receiptIds + this.printPayFeeInfo.detailIds = this.$route.query.detailIds + this.printPayFeeInfo.apply = this.$route.query.apply || 'N' this.printPayFeeInfo.merge = this.$route.query.merge - this.communityId = getCommunityId() - this.userInfo = { - userId: getUserId(), - name: getUserName() - } - }, - async loadData() { this.printPayFeeInfo.communityName = getCommunityName() - await this.loadReceipt() - await this.loadPrintSpec() + + this.loadReceipt() + this.loadPrintSpec() }, - async loadReceipt() { - try { - const params = { - page: 1, - row: 30, - receiptId: this.printPayFeeInfo.receiptId, - receiptIds: this.printPayFeeInfo.receiptIds, - communityId: this.communityId - } - const { data } = await queryFeeReceipt(params) - const _feeReceipt = data - let _amount = 0 - _feeReceipt.forEach(item => { - _amount += parseFloat(item.amount) + loadReceipt() { + const params = { + page: 1, + row: 30, + receiptId: this.printPayFeeInfo.receiptId, + receiptIds: this.printPayFeeInfo.receiptIds, + detailIds: this.printPayFeeInfo.detailIds, + communityId: this.communityId + } + + queryFeeReceipt(params).then(response => { + const feeReceipt = response.data + let amount = 0 + feeReceipt.forEach(item => { + amount += parseFloat(item.amount) }) - this.printPayFeeInfo.amount = _amount.toFixed(2) - this.printPayFeeInfo.roomName = _feeReceipt[0].objName - this.printPayFeeInfo.feeTime = _feeReceipt[0].createTime - this.printPayFeeInfo.payObjName = _feeReceipt[0].payObjName - this.printPayFeeInfo.feeReceipt = _feeReceipt - this.printPayFeeInfo.receiptNum = _feeReceipt[0].receiptCode - await this.loadReceiptDetail() - } catch (error) { - console.error('Failed to load receipt:', error) - } + this.printPayFeeInfo.amount = amount.toFixed(2) + this.printPayFeeInfo.roomName = feeReceipt[0].objName + this.printPayFeeInfo.feeTime = feeReceipt[0].createTime + this.printPayFeeInfo.payObjName = feeReceipt[0].payObjName + this.printPayFeeInfo.feeReceipt = feeReceipt + this.printPayFeeInfo.receiptNum = feeReceipt[0].receiptCode + + this.loadReceiptDetail() + }) }, - async loadReceiptDetail() { - try { - const params = { - page: 1, - row: 100, - receiptId: this.printPayFeeInfo.receiptId, - receiptIds: this.printPayFeeInfo.receiptIds, - communityId: this.communityId, - mergeFee: this.printPayFeeInfo.merge - } - const { data } = await queryFeeReceiptDetail(params) - const _feeReceiptDetails = data - this.printPayFeeInfo.receiptNum = this.printPayFeeInfo.receiptNum + "(" + _feeReceiptDetails[0].payOrderId + ")" - _feeReceiptDetails.forEach(item => { + loadReceiptDetail() { + const params = { + page: 1, + row: 100, + receiptId: this.printPayFeeInfo.receiptId, + receiptIds: this.printPayFeeInfo.receiptIds, + detailIds: this.printPayFeeInfo.detailIds, + + communityId: this.communityId, + mergeFee: this.printPayFeeInfo.merge + } + + queryFeeReceiptDetail(params).then(response => { + const feeReceiptDetails = response.data + this.printPayFeeInfo.receiptNum = this.printPayFeeInfo.receiptNum + "(" + feeReceiptDetails[0].payOrderId + ")" + feeReceiptDetails.forEach(item => { this.printPayFeeInfo.feeReceipt.forEach(im => { if (item.receiptId == im.receiptId) { item.objName = im.objName @@ -209,20 +201,19 @@ export default { } }) }) - this.printPayFeeInfo.fees = _feeReceiptDetails - } catch (error) { - console.error('Failed to load receipt detail:', error) - } + this.printPayFeeInfo.fees = feeReceiptDetails + }) }, - async loadPrintSpec() { - try { - const params = { - page: 1, - row: 1, - specCd: 2020, - communityId: this.communityId - } - const { data } = await queryFeePrintSpec(params) + loadPrintSpec() { + const params = { + page: 1, + row: 1, + specCd: 2020, + communityId: this.communityId + } + + queryFeePrintSpec(params).then(response => { + const data = response.data if (data.length > 0) { this.printPayFeeInfo.content = data[0].content this.printPayFeeInfo.qrImg = data[0].qrImg @@ -230,18 +221,16 @@ export default { this.printPayFeeInfo.communityName = data[0].printName } } - } catch (error) { - console.error('Failed to load print spec:', error) - } + }) }, computeSumArea() { - let _sum = 0.00 + let sum = 0.00 this.printPayFeeInfo.fees.forEach(item => { if (item.area && this.isNumber(item.area)) { - _sum += parseFloat(item.area) + sum += parseFloat(item.area) } }) - return _sum.toFixed(2) + return sum.toFixed(2) }, isNumber(value) { return !isNaN(parseFloat(value)) && isFinite(value) @@ -251,15 +240,13 @@ export default { return dateFormat(date) }, changeNumMoneyToChinese, - printPurchaseApplyDiv() { + handlePrint() { this.printFlag = '1' document.getElementById("print-btn").style.display = "none" window.print() - window.opener = null window.close() }, - closePage() { - window.opener = null + handleClose() { window.close() } } @@ -271,10 +258,6 @@ export default { padding: 20px; } -.text-center { - text-align: center; -} - .float-left { float: left; } @@ -283,9 +266,12 @@ export default { float: right; } -.vc-table-border { - border: 1px solid #000; - border-collapse: collapse; +.text-center { + text-align: center; +} + +.text-right { + text-align: right; } .vc-table-border th, @@ -294,8 +280,12 @@ export default { padding: 5px; } -#print-btn { - text-align: right; - margin-top: 20px; +.el-row { + width: 100%; + margin-bottom: 20px; +} + +.el-col { + width: 100%; } \ No newline at end of file -- libgit2 0.21.4