b25b036d
wuxw
v1.9 优化日期
|
1
|
<template>
|
f80ea09a
wuxw
加入费用详情
|
2
|
<div>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
3
4
5
6
7
8
9
10
11
12
13
|
<div class="flex justify-between">
<div ></div>
<div class="text-right">
<el-button type="primary" size="small" @click="_printFeeReceipt">{{ $t('feeDetailReceipt.print') }}</el-button>
<el-button type="primary" size="small" @click="_printFeeSmallReceipt">{{ $t('feeDetailReceipt.printSmall')
}}</el-button>
<el-button type="primary" size="small" @click="_printApplyFeeReceipt">{{ $t('feeDetailReceipt.printApply')
}}</el-button>
</div>
</div>
|
f80ea09a
wuxw
加入费用详情
|
14
|
<div class="margin-top">
|
0b0e0aab
wuxw
费用详情页面开发完成
|
15
16
|
<el-table :data="feeDetailReceiptInfo.feeReceipts" border style="width: 100%">
<el-table-column width="60" align="center">
|
f80ea09a
wuxw
加入费用详情
|
17
|
<template #header>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
18
|
<el-checkbox v-model="feeDetailReceiptInfo.quan" @change="checkAllReceipt"></el-checkbox>
|
f80ea09a
wuxw
加入费用详情
|
19
|
</template>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
20
21
|
<template #default="{ row }">
<el-checkbox v-model="feeDetailReceiptInfo.selectReceipts" :label="row.receiptId"></el-checkbox>
|
f80ea09a
wuxw
加入费用详情
|
22
23
|
</template>
</el-table-column>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
24
25
26
27
28
29
30
|
<el-table-column prop="objName" :label="$t('feeDetailReceipt.feeType')" align="center"></el-table-column>
<el-table-column prop="payObjName" :label="$t('feeDetailReceipt.owner')" align="center"></el-table-column>
<el-table-column prop="feeName" :label="$t('feeDetailReceipt.feeItem')" align="center"></el-table-column>
<el-table-column :label="$t('feeDetailReceipt.feePeriod')" align="center">
<template #default="{ row }">
{{ $dayjs(row.startTime).format('YYYY-MM-DD') }}~<br />
{{ $dayjs(row.endTime).format('YYYY-MM-DD') }}
|
f80ea09a
wuxw
加入费用详情
|
31
32
|
</template>
</el-table-column>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
33
34
35
|
<el-table-column prop="amount" :label="$t('feeDetailReceipt.totalAmount')" align="center">
<template #default="{ row }">
{{ row.amount }}{{ $t('feeDetailReceipt.yuan') }}
|
f80ea09a
wuxw
加入费用详情
|
36
37
|
</template>
</el-table-column>
|
0b0e0aab
wuxw
费用详情页面开发完成
|
38
39
|
<el-table-column prop="createTime" :label="$t('feeDetailReceipt.paymentTime')" align="center"></el-table-column>
<el-table-column prop="receiptId" :label="$t('feeDetailReceipt.receiptId')" align="center"></el-table-column>
|
f80ea09a
wuxw
加入费用详情
|
40
41
42
43
|
</el-table>
<el-row class="margin-top">
<el-col :span="24" class="float-right">
|
0b0e0aab
wuxw
费用详情页面开发完成
|
44
45
|
<el-pagination @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize"
layout="total, prev, pager, next, jumper" :total="total"></el-pagination>
|
f80ea09a
wuxw
加入费用详情
|
46
47
48
49
50
51
52
53
|
</el-col>
</el-row>
</div>
</div>
</template>
<script>
import { queryFeeReceipt, listFeePrintPage } from '@/api/fee/feeDetailReceiptApi'
|
0b0e0aab
wuxw
费用详情页面开发完成
|
54
|
import { getCommunityId } from '@/api/community/communityApi'
|
f80ea09a
wuxw
加入费用详情
|
55
56
57
58
59
60
61
62
63
64
65
66
|
export default {
name: 'FeeDetailReceipt',
data() {
return {
feeDetailReceiptInfo: {
feeReceipts: [],
feeId: '',
total: 0,
records: 0,
selectReceipts: [],
quan: false,
|
f5128dde
wuxw
优化打印404 问题
|
67
|
printUrl: '/#/pages/property/printPayFee'
|
f80ea09a
wuxw
加入费用详情
|
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
},
currentPage: 1,
pageSize: 10
}
},
watch: {
'feeDetailReceiptInfo.selectReceipts': {
handler(newVal) {
this.feeDetailReceiptInfo.quan = newVal.length === this.feeDetailReceiptInfo.feeReceipts.length
},
deep: true
}
},
methods: {
open(params) {
if (!params.feeId) return
this.feeDetailReceiptInfo = Object.assign(this.feeDetailReceiptInfo, params)
this._listFeePrintPages()
this._listFeeDetailReceipt(this.currentPage, this.pageSize)
},
handleCurrentChange(val) {
this.currentPage = val
this._listFeeDetailReceipt(this.currentPage, this.pageSize)
},
async _listFeeDetailReceipt(page, rows) {
try {
this.feeDetailReceiptInfo.selectReceipts = []
this.feeDetailReceiptInfo.quan = false
|
0b0e0aab
wuxw
费用详情页面开发完成
|
96
|
|
f80ea09a
wuxw
加入费用详情
|
97
98
99
100
|
const params = {
page,
row: rows,
feeId: this.feeDetailReceiptInfo.feeId,
|
0b0e0aab
wuxw
费用详情页面开发完成
|
101
|
communityId: getCommunityId()
|
f80ea09a
wuxw
加入费用详情
|
102
|
}
|
0b0e0aab
wuxw
费用详情页面开发完成
|
103
|
|
f80ea09a
wuxw
加入费用详情
|
104
105
106
107
108
109
110
111
112
113
114
115
116
|
const res = await queryFeeReceipt(params)
this.feeDetailReceiptInfo.total = res.total
this.feeDetailReceiptInfo.records = res.records
this.feeDetailReceiptInfo.feeReceipts = res.data
} catch (error) {
console.error('Failed to load receipt data:', error)
}
},
_printFeeReceipt() {
if (this.feeDetailReceiptInfo.selectReceipts.length < 1) {
this.$message.warning(this.$t('feeDetailReceipt.selectPrintReceipt'))
return
}
|
0b0e0aab
wuxw
费用详情页面开发完成
|
117
|
|
f80ea09a
wuxw
加入费用详情
|
118
119
120
121
122
123
124
125
|
const receiptIds = this.feeDetailReceiptInfo.selectReceipts.join(',')
window.open(`${this.feeDetailReceiptInfo.printUrl}?receiptIds=${receiptIds}&apply=N`)
},
_printApplyFeeReceipt() {
if (this.feeDetailReceiptInfo.selectReceipts.length < 1) {
this.$message.warning(this.$t('feeDetailReceipt.selectPrintApply'))
return
}
|
0b0e0aab
wuxw
费用详情页面开发完成
|
126
|
|
f80ea09a
wuxw
加入费用详情
|
127
|
const receiptIds = this.feeDetailReceiptInfo.selectReceipts.join(',')
|
f5128dde
wuxw
优化打印404 问题
|
128
|
window.open(`/#/pages/property/printPayFee?receiptIds=${receiptIds}&apply=Y`)
|
f80ea09a
wuxw
加入费用详情
|
129
130
131
132
133
134
|
},
_printFeeSmallReceipt() {
if (this.feeDetailReceiptInfo.selectReceipts.length < 1) {
this.$message.warning(this.$t('feeDetailReceipt.selectPrintReceipt'))
return
}
|
0b0e0aab
wuxw
费用详情页面开发完成
|
135
|
|
f80ea09a
wuxw
加入费用详情
|
136
|
const receiptIds = this.feeDetailReceiptInfo.selectReceipts.join(',')
|
f5128dde
wuxw
优化打印404 问题
|
137
|
window.open(`/#/pages/property/printSmallPayFee?receiptIds=${receiptIds}`)
|
f80ea09a
wuxw
加入费用详情
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
},
checkAllReceipt(e) {
if (e) {
this.feeDetailReceiptInfo.selectReceipts = this.feeDetailReceiptInfo.feeReceipts.map(item => item.receiptId)
} else {
this.feeDetailReceiptInfo.selectReceipts = []
}
},
async _listFeePrintPages() {
try {
const params = {
page: 1,
row: 1,
state: 'T',
|
0b0e0aab
wuxw
费用详情页面开发完成
|
152
|
communityId: getCommunityId()
|
f80ea09a
wuxw
加入费用详情
|
153
|
}
|
0b0e0aab
wuxw
费用详情页面开发完成
|
154
|
|
f80ea09a
wuxw
加入费用详情
|
155
156
157
158
159
160
161
162
163
164
165
|
const res = await listFeePrintPage(params)
if (res.data && res.data.length > 0) {
this.feeDetailReceiptInfo.printUrl = res.data[0].url
}
} catch (error) {
console.error('Failed to load print pages:', error)
}
}
}
}
</script>
|