sale-client 4.2.34 → 4.2.36

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 (98) hide show
  1. package/build/dev-server.js +42 -28
  2. package/package.json +1 -1
  3. package/src/App.vue +1 -1
  4. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  5. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  6. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  7. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  8. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  9. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  10. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  11. package/src/filiale/bayan/StockListmain.vue +543 -543
  12. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -0
  13. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -0
  14. package/src/filiale/bazhong/sale.js +8 -0
  15. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  16. package/src/filiale/fugou/FileManageService.js +1 -1
  17. package/src/filiale/jinhuang/WebHand.vue +1026 -1026
  18. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  19. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  20. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  21. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  22. package/src/filiale/rongcheng/business/CardMeterCenter.vue +455 -455
  23. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  24. package/src/filiale/ronghao/CardService.js +2144 -2144
  25. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  26. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  27. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  28. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  29. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  30. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  31. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  32. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  33. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  34. package/src/filiale/ronghao/Upload.vue +654 -654
  35. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  36. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  37. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  38. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  39. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  40. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  41. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  42. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  43. package/src/filiale/ronghao/specificInformation.vue +537 -537
  44. package/src/filiale/yangchun/ChargeList.vue +954 -954
  45. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  46. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  47. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  48. package/src/main.js +1 -1
  49. package/src/plugins/CardService.js +2217 -2217
  50. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  51. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  52. package/.gradle/5.2.1/gc.properties +0 -0
  53. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  54. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  55. package/.gradle/vcs-1/gc.properties +0 -0
  56. package/src/components/FilesManage/addressts/FileUserFilests.vue +0 -671
  57. package/src/components/FilesManage/ncUserinfoList.vue +0 -315
  58. package/src/components/SellGasCharge/MeterCharge/CardDataRewrite.vue +0 -107
  59. package/src/components/SendCard/SendCardData.vue +0 -208
  60. package/src/components/accounts/accountAdd.vue +0 -276
  61. package/src/components/accounts/accountsList.vue +0 -183
  62. package/src/components/accounts/accountsManage.vue +0 -87
  63. package/src/components/common/chargeinfo/chargeinfo.vue +0 -55
  64. package/src/components/common/userinfo_detail/config/exportConfig.js +0 -85
  65. package/src/components/ncarchives/ncArchivesAdd.vue +0 -468
  66. package/src/components/ncarchives/ncArchivesList.vue +0 -159
  67. package/src/components/ncarchives/ncUserfilesList.vue +0 -373
  68. package/src/components/ncarchives/ncarchivesmanage.vue +0 -80
  69. package/src/components/revenue/IOTArrears/arrears.vue +0 -323
  70. package/src/components/revenue/IOTArrears/iotRechargeAudit.vue +0 -369
  71. package/src/components/revenue/base/rightview/carddetail/cardiotfeeChangeDetail.vue +0 -59
  72. package/src/components/revenue/base/rightview/carddetail/reduceChangeDetail.vue +0 -59
  73. package/src/components/revenue/comprehen/ComprehenOperation/BatchChange/BatchCancellationts.vue +0 -73
  74. package/src/components/revenue/comprehen/ComprehenOperation/BatchChange/BatchEnablets.vue +0 -73
  75. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/ReduceAddGas.vue +0 -199
  76. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icdeductionManage.vue +0 -24
  77. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icdeductionYSManage.vue +0 -24
  78. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icfeeDeduction.vue +0 -185
  79. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icfeeYSDeduction.vue +0 -185
  80. package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeFlowMeter.vue +0 -356
  81. package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/CorrectionMeter.vue +0 -148
  82. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackUserList.vue +0 -136
  83. package/src/components/revenue/recordMainten/sellinggas/AddWarehousemain.vue +0 -65
  84. package/src/components/revenue/recordMainten/sellinggas/MeterOperateAdd.vue +0 -483
  85. package/src/components/revenue/recordMainten/sellinggas/MeterOperatemain.vue +0 -279
  86. package/src/components/revenue/recordMainten/sellinggas/MeterOperatemainImport.vue +0 -265
  87. package/src/components/thirdapply/thirdAdd.vue +0 -289
  88. package/src/components/thirdapply/thirdList.vue +0 -162
  89. package/src/components/thirdapply/thirdManage.vue +0 -74
  90. package/src/components/webMeter/InstructQuery.vue +0 -414
  91. package/src/components/webMeter/ParamSet/ParamSet.vue +0 -556
  92. package/src/components/webMeter/ParamSet/ParamSetForm.vue +0 -296
  93. package/src/components/webMeter/WebUserHand.vue +0 -483
  94. package/src/components/webMeter/instructionView/NewQueryInstruct.vue +0 -509
  95. package/src/components/webMeter/instructionView/NewQueryInstructMain.vue +0 -48
  96. package/src/components/webMeter/webManage/NewMeterList.vue +0 -461
  97. package/src/plugins/FileManageServicets.js +0 -214
  98. package/src/plugins/GetImg.js +0 -53
@@ -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
+