sale-client 4.2.64 → 4.2.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  2. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  3. package/.gradle/5.2.1/gc.properties +0 -0
  4. package/.gradle/8.5/checksums/checksums.lock +0 -0
  5. package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  6. package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  7. package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
  8. package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
  9. package/.gradle/8.5/fileChanges/last-build.bin +0 -0
  10. package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
  11. package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  12. package/.gradle/8.5/gc.properties +0 -0
  13. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/.gradle/file-system.probe +0 -0
  16. package/.gradle/vcs-1/gc.properties +0 -0
  17. package/build/dev-server.js +30 -52
  18. package/index.html +2 -7
  19. package/package.json +1 -1
  20. package/src/App.vue +1 -1
  21. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  22. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  23. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  24. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  25. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  26. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  27. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  28. package/src/filiale/bayan/StockListmain.vue +543 -543
  29. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -245
  30. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -370
  31. package/src/filiale/bazhong/sale.js +8 -8
  32. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  33. package/src/filiale/hongYa/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeMeter.vue +1191 -0
  34. package/src/filiale/hongYa/sale.js +6 -0
  35. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  36. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  37. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  38. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  39. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  40. package/src/filiale/ronghao/CardService.js +2144 -2144
  41. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  42. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  43. package/src/filiale/ronghao/MachineMeterCenter.vue +710 -0
  44. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  45. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  46. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  47. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  48. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  49. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  50. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  51. package/src/filiale/ronghao/Upload.vue +654 -654
  52. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  53. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  54. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  55. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  56. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  57. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  58. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  59. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  60. package/src/filiale/ronghao/sale.js +2 -0
  61. package/src/filiale/ronghao/specificInformation.vue +537 -537
  62. package/src/filiale/yangchun/ChargeList.vue +954 -954
  63. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  64. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  65. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
@@ -1,281 +1,281 @@
1
- <template >
2
- <div class="flex" style="justify-content: space-between;">
3
- <div @keyup.enter="search" style="">
4
- <criteria-paged :model="model" v-ref:paged>
5
- <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
-
7
- <div class="form-horizontal select-overspread container-fluid auto " novalidate partial>
8
- <div class="row">
9
-
10
- <div class="col-sm-2 form-group">
11
- <label class="font_normal_body">开始时间</label>
12
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
13
- class="datepicker"
14
- condition="f_operate_date >= '{} 00:00:00' "
15
- placeholder="起始时间"
16
- style="width:60%"
17
- v-model="model.f_start_date"
18
- ></datepicker>
19
- </div>
20
- <div class="col-sm-2 form-group" >
21
- <label class="font_normal_body" >结束时间</label>
22
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
23
- class="datepicker"
24
- condition="f_operate_date <= '{} 23:59:59' "
25
- placeholder="结束时间"
26
- style="width:60%"
27
- v-model="model.f_end_date"
28
- ></datepicker>
29
- </div>
30
- <div class="col-sm-2 form-group">
31
- <label class="font_normal_body">是否有效</label>
32
- <v-select :value.sync="model.f_state" v-model='model.f_state'
33
- style="width:60%"
34
- :options='$parent.$parent.isstates' placeholder='是否有效'
35
- close-on-select
36
- condition="f_state = '{}'"></v-select>
37
- </div>
38
-
39
-
40
- <div style="float: right">
41
- <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
42
- <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :printview="true" :is-selected="true" :model="$parent.$parent.model"
43
- @print-close="$parent.$parent.print()" @print-data="$parent.$parent.print()" print-name="购气流水"></print-data>
44
- <export-excel
45
- :data="{condition: $parent.$parent.model.condition}"
46
- :field="$parent.$parent.fields"
47
- sqlurl="api/af-revenue/logic/saleExport"sql-name="machineRecordQuery"
48
- template-name='机表流水查询'
49
- :choose-col="true">
50
- </export-excel>
51
- </div>
52
- </div>
53
-
54
- </div>
55
- </criteria>
56
- <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
57
- <template partial='head'>
58
- <tr>
59
- <th><nobr>用户编号</nobr></th>
60
- <th><nobr>姓名</nobr></th>
61
- <th><nobr>住址</nobr></th>
62
- <th><nobr>上期底数</nobr></th>
63
- <th><nobr>本期底数</nobr></th>
64
- <th><nobr>气量</nobr></th>
65
- <th><nobr>应交</nobr></th>
66
- <th><nobr>缴费金额 </nobr></th>
67
- <th><nobr>上期结余</nobr></th>
68
- <th><nobr>本期结余</nobr></th>
69
- <th><nobr>操作类型</nobr></th>
70
- <th><nobr>操作员 </nobr></th>
71
- <th><nobr>操作时间 </nobr></th>
72
- <th><nobr>状态 </nobr></th>
73
- <th><nobr>备注</nobr></th>
74
- </tr>
75
- </template>
76
- <template partial='body' partial='list' v-ref:grid>
77
- <tr >
78
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_userinfo_code}}</td>
79
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_user_name}}</td>
80
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_address}}</td>
81
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_last_tablebase}}</td>
82
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_tablebase}}</td>
83
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type== '机表收费'? '' : row.gas}}</td>
84
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '机表收费'? '' : row.fee}}</td>
85
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '抄表记录'? '' : row.f_collection}}</td>
86
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_balance}}</td>
87
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{ row.f_curbalance }}</td>
88
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type}}</td>
89
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operator}}</td>
90
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operate_date}}</td>
91
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_state}}</td>
92
- <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_comments}}</td>
93
- </tr>
94
- </template>
95
- <template partial='foot'></template>
96
- </data-grid>
97
- </criteria-paged>
98
- </div>
99
- <table class="table-hover">
100
- <tr class="table-bordered" style="position: relative">
101
- <td
102
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
103
- 汇总信息
104
- </td>
105
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
106
- 气量合计:&emsp;{{model.sums.gas.toFixed(2)}}
107
- </td>
108
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
109
- 金额合计:&emsp;{{model.sums.fee.toFixed(2)}}
110
- </td>
111
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
112
- 缴费合计:&emsp;{{model.sums.collection.toFixed(2)}}
113
- </td>
114
- </tr>
115
- </table>
116
- </div>
117
- </template>
118
-
119
- <script>
120
- import {HttpResetClass, PagedList} from 'vue-client'
121
-
122
- export default {
123
- title: '操作查询',
124
- data () {
125
- return {
126
- condition: '1=1',
127
- model: new PagedList('api/af-revenue/sql/machineRecordQuery', 20, {}, {
128
- fee: 0,
129
- gas: 0
130
- }),
131
- isstates: this.$appdata.getParam('是否有效') ? [{
132
- label: '全部',
133
- value: ''
134
- }, ...this.$appdata.getParam('是否有效')] : [],
135
- // 控制单选
136
- radio: [],
137
- // 选中的页
138
- all: [],
139
- searchValue: 'f_userfiles_id',
140
- // row数据
141
- rowsdata: [],
142
- fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_address': '地址','f_last_tablebase': '上期底数','f_tablebase': '本期底数', 'fee': '金额', 'gas': '气量', 'f_type': '类型', 'f_operator': '操作员', 'f_operate_date': '操作时间'},
143
- defaultfield: [
144
- 'f_userinfo_code', 'f_user_name', 'fee', 'gas', 'f_type', 'f_operate_date'
145
- ],
146
- printModel: {
147
- rows: []
148
- }
149
- }
150
- },
151
- props: ['row'],
152
- ready () {
153
- this.$refs.paged.$refs.criteria.model.f_state = ['有效']
154
- this.$refs.paged.$refs.criteria.search()
155
- },
156
- methods: {
157
- async search () {
158
- this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}' `
159
- this.model.search(this.condition, this.model)
160
- let http = new HttpResetClass()
161
- let res = await http.load('POST', 'api/af-revenue/sql/machineRecordQuery', {
162
- data: {
163
- condition: this.condition
164
- }
165
- }, {resolveMsg: null, rejectMsg: null})
166
- // 计算不包含 "机表收费" 的 gas 总和
167
- let gasTotal = res.data.reduce((sum, row) => {
168
- return row.f_type === '机表收费' ? sum : sum + (row.gas || 0);
169
- }, 0);
170
-
171
- // 计算费用总和
172
- let feeTotal = res.data.reduce((sum, row) => {
173
- return row.f_type === '机表收费' ? sum : sum + (row.fee || 0);
174
- }, 0);
175
- // 计算缴费总和
176
- let collectionTotal = res.data.reduce((sum, row) => {
177
- return sum + (row.f_collection || 0)
178
- }, 0)
179
-
180
- this.printModel.rows = res.data
181
- this.model.sums = {
182
- gas: gasTotal,
183
- fee: feeTotal,
184
- collection: collectionTotal
185
- }
186
- },
187
- // 多选框初始化
188
- selectInit () {
189
- this.rowsdata = []
190
- this.all = []
191
- this.radio = []
192
- },
193
- print () {
194
- this.selectInit()
195
- },
196
- select () {
197
- let index = this.model.pageIndex - 1
198
- if (!this.radio[index]) {
199
- this.radio.$set(index, [])
200
- }
201
- if (this.all[index]) {
202
- // 数据
203
- this.rowsdata[index] = Object.assign([], this.model.rows)
204
- // 勾选
205
- for (var i = 0; i < this.model.rows.length; i++) {
206
- this.radio[index].$set(i, true)
207
- }
208
- } else {
209
- // 数据
210
- this.rowsdata[index] = []
211
- // 不勾选
212
- for (var i = 0; i < this.model.rows.length; i++) {
213
- this.radio[index].$set(i, false)
214
- }
215
- }
216
- let z = 0
217
- this.printModel.rows = []
218
- for (let i = 0; i < this.all.length; i++) {
219
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
220
- if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
221
- this.printModel.rows[z++] = this.rowsdata[i][j]
222
- }
223
- }
224
- }
225
- },
226
- selectOne (event, row, i) {
227
- let index = this.model.pageIndex - 1
228
- if (!this.rowsdata[index]) {
229
- this.rowsdata[index] = []
230
- }
231
- if (!this.radio[index]) {
232
- this.radio.$set(index, [])
233
- }
234
- if (event.target.checked) {
235
- // 数据
236
- this.rowsdata[index][i] = row
237
- // 勾选
238
- this.radio[index].$set(i, true)
239
- // 判断是否全部选中
240
- var allState = true
241
- if (this.model.rows.length != this.radio[index].length) {
242
- allState = false
243
- }
244
- for (var state of this.radio[index]) {
245
- if (!state) {
246
- allState = false
247
- }
248
- }
249
- this.all.$set(index, allState)
250
- } else {
251
- // 数据
252
- this.rowsdata[index][i] = []
253
- // 不勾选
254
- this.radio[index].$set(i, false)
255
- // 任意取消一个则全选状态设为false
256
- this.all.$set(index, false)
257
- }
258
- let z = 0
259
- this.printModel.rows = []
260
- for (let i = 0; i < this.all.length; i++) {
261
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
262
- if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
263
- this.printModel.rows[z++] = this.rowsdata[i][j]
264
- }
265
- }
266
- }
267
- }
268
- },
269
- computed: {
270
- ischecked () {
271
- return function (index, i) {
272
- if (!this.radio[index]) {
273
- return false
274
- }
275
- return this.radio[index][i]
276
- }
277
- }
278
- }
279
- }
280
- </script>
281
-
1
+ <template >
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+
7
+ <div class="form-horizontal select-overspread container-fluid auto " novalidate partial>
8
+ <div class="row">
9
+
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">开始时间</label>
12
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
13
+ class="datepicker"
14
+ condition="f_operate_date >= '{} 00:00:00' "
15
+ placeholder="起始时间"
16
+ style="width:60%"
17
+ v-model="model.f_start_date"
18
+ ></datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group" >
21
+ <label class="font_normal_body" >结束时间</label>
22
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
23
+ class="datepicker"
24
+ condition="f_operate_date <= '{} 23:59:59' "
25
+ placeholder="结束时间"
26
+ style="width:60%"
27
+ v-model="model.f_end_date"
28
+ ></datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">是否有效</label>
32
+ <v-select :value.sync="model.f_state" v-model='model.f_state'
33
+ style="width:60%"
34
+ :options='$parent.$parent.isstates' placeholder='是否有效'
35
+ close-on-select
36
+ condition="f_state = '{}'"></v-select>
37
+ </div>
38
+
39
+
40
+ <div style="float: right">
41
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
42
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :printview="true" :is-selected="true" :model="$parent.$parent.model"
43
+ @print-close="$parent.$parent.print()" @print-data="$parent.$parent.print()" print-name="购气流水"></print-data>
44
+ <export-excel
45
+ :data="{condition: $parent.$parent.model.condition}"
46
+ :field="$parent.$parent.fields"
47
+ sqlurl="api/af-revenue/logic/saleExport"sql-name="machineRecordQuery"
48
+ template-name='机表流水查询'
49
+ :choose-col="true">
50
+ </export-excel>
51
+ </div>
52
+ </div>
53
+
54
+ </div>
55
+ </criteria>
56
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
57
+ <template partial='head'>
58
+ <tr>
59
+ <th><nobr>用户编号</nobr></th>
60
+ <th><nobr>姓名</nobr></th>
61
+ <th><nobr>住址</nobr></th>
62
+ <th><nobr>上期底数</nobr></th>
63
+ <th><nobr>本期底数</nobr></th>
64
+ <th><nobr>气量</nobr></th>
65
+ <th><nobr>应交</nobr></th>
66
+ <th><nobr>缴费金额 </nobr></th>
67
+ <th><nobr>上期结余</nobr></th>
68
+ <th><nobr>本期结余</nobr></th>
69
+ <th><nobr>操作类型</nobr></th>
70
+ <th><nobr>操作员 </nobr></th>
71
+ <th><nobr>操作时间 </nobr></th>
72
+ <th><nobr>状态 </nobr></th>
73
+ <th><nobr>备注</nobr></th>
74
+ </tr>
75
+ </template>
76
+ <template partial='body' partial='list' v-ref:grid>
77
+ <tr >
78
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_userinfo_code}}</td>
79
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_user_name}}</td>
80
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_address}}</td>
81
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_last_tablebase}}</td>
82
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_tablebase}}</td>
83
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type== '机表收费'? '' : row.gas}}</td>
84
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '机表收费'? '' : row.fee}}</td>
85
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '抄表记录'? '' : row.f_collection}}</td>
86
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_balance}}</td>
87
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{ row.f_curbalance }}</td>
88
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type}}</td>
89
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operator}}</td>
90
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operate_date}}</td>
91
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_state}}</td>
92
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_comments}}</td>
93
+ </tr>
94
+ </template>
95
+ <template partial='foot'></template>
96
+ </data-grid>
97
+ </criteria-paged>
98
+ </div>
99
+ <table class="table-hover">
100
+ <tr class="table-bordered" style="position: relative">
101
+ <td
102
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
103
+ 汇总信息
104
+ </td>
105
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
106
+ 气量合计:&emsp;{{model.sums.gas.toFixed(2)}}
107
+ </td>
108
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
109
+ 金额合计:&emsp;{{model.sums.fee.toFixed(2)}}
110
+ </td>
111
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
112
+ 缴费合计:&emsp;{{model.sums.collection.toFixed(2)}}
113
+ </td>
114
+ </tr>
115
+ </table>
116
+ </div>
117
+ </template>
118
+
119
+ <script>
120
+ import {HttpResetClass, PagedList} from 'vue-client'
121
+
122
+ export default {
123
+ title: '操作查询',
124
+ data () {
125
+ return {
126
+ condition: '1=1',
127
+ model: new PagedList('api/af-revenue/sql/machineRecordQuery', 20, {}, {
128
+ fee: 0,
129
+ gas: 0
130
+ }),
131
+ isstates: this.$appdata.getParam('是否有效') ? [{
132
+ label: '全部',
133
+ value: ''
134
+ }, ...this.$appdata.getParam('是否有效')] : [],
135
+ // 控制单选
136
+ radio: [],
137
+ // 选中的页
138
+ all: [],
139
+ searchValue: 'f_userfiles_id',
140
+ // row数据
141
+ rowsdata: [],
142
+ fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_address': '地址','f_last_tablebase': '上期底数','f_tablebase': '本期底数', 'fee': '金额', 'gas': '气量', 'f_type': '类型', 'f_operator': '操作员', 'f_operate_date': '操作时间'},
143
+ defaultfield: [
144
+ 'f_userinfo_code', 'f_user_name', 'fee', 'gas', 'f_type', 'f_operate_date'
145
+ ],
146
+ printModel: {
147
+ rows: []
148
+ }
149
+ }
150
+ },
151
+ props: ['row'],
152
+ ready () {
153
+ this.$refs.paged.$refs.criteria.model.f_state = ['有效']
154
+ this.$refs.paged.$refs.criteria.search()
155
+ },
156
+ methods: {
157
+ async search () {
158
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}' `
159
+ this.model.search(this.condition, this.model)
160
+ let http = new HttpResetClass()
161
+ let res = await http.load('POST', 'api/af-revenue/sql/machineRecordQuery', {
162
+ data: {
163
+ condition: this.condition
164
+ }
165
+ }, {resolveMsg: null, rejectMsg: null})
166
+ // 计算不包含 "机表收费" 的 gas 总和
167
+ let gasTotal = res.data.reduce((sum, row) => {
168
+ return row.f_type === '机表收费' ? sum : sum + (row.gas || 0);
169
+ }, 0);
170
+
171
+ // 计算费用总和
172
+ let feeTotal = res.data.reduce((sum, row) => {
173
+ return row.f_type === '机表收费' ? sum : sum + (row.fee || 0);
174
+ }, 0);
175
+ // 计算缴费总和
176
+ let collectionTotal = res.data.reduce((sum, row) => {
177
+ return sum + (row.f_collection || 0)
178
+ }, 0)
179
+
180
+ this.printModel.rows = res.data
181
+ this.model.sums = {
182
+ gas: gasTotal,
183
+ fee: feeTotal,
184
+ collection: collectionTotal
185
+ }
186
+ },
187
+ // 多选框初始化
188
+ selectInit () {
189
+ this.rowsdata = []
190
+ this.all = []
191
+ this.radio = []
192
+ },
193
+ print () {
194
+ this.selectInit()
195
+ },
196
+ select () {
197
+ let index = this.model.pageIndex - 1
198
+ if (!this.radio[index]) {
199
+ this.radio.$set(index, [])
200
+ }
201
+ if (this.all[index]) {
202
+ // 数据
203
+ this.rowsdata[index] = Object.assign([], this.model.rows)
204
+ // 勾选
205
+ for (var i = 0; i < this.model.rows.length; i++) {
206
+ this.radio[index].$set(i, true)
207
+ }
208
+ } else {
209
+ // 数据
210
+ this.rowsdata[index] = []
211
+ // 不勾选
212
+ for (var i = 0; i < this.model.rows.length; i++) {
213
+ this.radio[index].$set(i, false)
214
+ }
215
+ }
216
+ let z = 0
217
+ this.printModel.rows = []
218
+ for (let i = 0; i < this.all.length; i++) {
219
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
220
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
221
+ this.printModel.rows[z++] = this.rowsdata[i][j]
222
+ }
223
+ }
224
+ }
225
+ },
226
+ selectOne (event, row, i) {
227
+ let index = this.model.pageIndex - 1
228
+ if (!this.rowsdata[index]) {
229
+ this.rowsdata[index] = []
230
+ }
231
+ if (!this.radio[index]) {
232
+ this.radio.$set(index, [])
233
+ }
234
+ if (event.target.checked) {
235
+ // 数据
236
+ this.rowsdata[index][i] = row
237
+ // 勾选
238
+ this.radio[index].$set(i, true)
239
+ // 判断是否全部选中
240
+ var allState = true
241
+ if (this.model.rows.length != this.radio[index].length) {
242
+ allState = false
243
+ }
244
+ for (var state of this.radio[index]) {
245
+ if (!state) {
246
+ allState = false
247
+ }
248
+ }
249
+ this.all.$set(index, allState)
250
+ } else {
251
+ // 数据
252
+ this.rowsdata[index][i] = []
253
+ // 不勾选
254
+ this.radio[index].$set(i, false)
255
+ // 任意取消一个则全选状态设为false
256
+ this.all.$set(index, false)
257
+ }
258
+ let z = 0
259
+ this.printModel.rows = []
260
+ for (let i = 0; i < this.all.length; i++) {
261
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
262
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
263
+ this.printModel.rows[z++] = this.rowsdata[i][j]
264
+ }
265
+ }
266
+ }
267
+ }
268
+ },
269
+ computed: {
270
+ ischecked () {
271
+ return function (index, i) {
272
+ if (!this.radio[index]) {
273
+ return false
274
+ }
275
+ return this.radio[index][i]
276
+ }
277
+ }
278
+ }
279
+ }
280
+ </script>
281
+