sale-client 4.2.27 → 4.2.28

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 (60) hide show
  1. package/.gradle/8.10/checksums/checksums.lock +0 -0
  2. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  3. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  4. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  6. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  7. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  8. package/.gradle/8.10/gc.properties +0 -0
  9. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  11. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  12. package/.gradle/file-system.probe +0 -0
  13. package/.gradle/vcs-1/gc.properties +0 -0
  14. package/.npmignore +12 -0
  15. package/build/dev-server.js +32 -40
  16. package/package.json +1 -1
  17. package/src/.npmignore +1 -0
  18. package/src/App.vue +1 -1
  19. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  20. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  21. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  22. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  23. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  24. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  25. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  26. package/src/filiale/bayan/StockListmain.vue +543 -543
  27. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  28. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  29. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  30. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  31. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  32. package/src/filiale/qingjian/FileUserFiles.vue +55 -2
  33. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  34. package/src/filiale/ronghao/CardService.js +2144 -2144
  35. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  36. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  37. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  38. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  39. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  40. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  41. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  42. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  43. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  44. package/src/filiale/ronghao/Upload.vue +654 -654
  45. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  46. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  47. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  48. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  49. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  50. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  51. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  52. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  53. package/src/filiale/ronghao/specificInformation.vue +537 -537
  54. package/src/filiale/yangchun/ChargeList.vue +954 -954
  55. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  56. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  57. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  58. package/src/main.js +1 -1
  59. package/src/plugins/CardService.js +2217 -2217
  60. package/yarn.lock +12208 -0
@@ -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
+