sale-client 4.2.21 → 4.2.22

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 (50) hide show
  1. package/build/dev-server.js +52 -32
  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/ComprehenOperation/newchangemeter/ChangeMeter.vue +2 -0
  7. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  8. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  9. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  10. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  11. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  12. package/src/filiale/bayan/StockListmain.vue +543 -543
  13. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  14. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  15. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  16. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  17. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  18. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  19. package/src/filiale/ronghao/CardService.js +2144 -2144
  20. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  21. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  22. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  23. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  24. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  25. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  26. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  27. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  28. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  29. package/src/filiale/ronghao/Upload.vue +654 -654
  30. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  31. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  32. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  33. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  34. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  35. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  36. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  37. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  38. package/src/filiale/ronghao/specificInformation.vue +537 -537
  39. package/src/filiale/yangchun/ChargeList.vue +954 -954
  40. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  41. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  42. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  43. package/src/main.js +1 -1
  44. package/src/plugins/CardService.js +2217 -2217
  45. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  46. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  47. package/.gradle/5.2.1/gc.properties +0 -0
  48. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  49. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  50. package/.gradle/vcs-1/gc.properties +0 -0
@@ -1,411 +1,411 @@
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
- <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
- <div class="row">
8
- <div class="col-sm-2 form-group">
9
- <label class="font_normal_body" title="归属日期" >开始时间</label>
10
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
11
- class="datepicker"
12
- condition="f_hand_date >= '{} 00:00:00' "
13
- placeholder="起始时间"
14
- style="width:60%"
15
- v-model="model.f_start_date"
16
- ></datepicker>
17
- </div>
18
- <div class="col-sm-2 form-group" >
19
- <label class="font_normal_body" title="归属日期">结束时间</label>
20
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
21
- class="datepicker"
22
- condition="f_hand_date <= '{} 23:59:59' "
23
- placeholder="结束时间"
24
- style="width:60%"
25
- v-model="model.f_end_date"
26
- ></datepicker>
27
- </div>
28
- <div class="col-sm-2 form-group" v-if="!row.f_meter_type.includes('物联网表')">
29
- <label class="font_normal_body">是否缴费</label>
30
- <v-select :value.sync="model.f_whether_pay" v-model='model.f_whether_pay'
31
- style="width:60%"
32
- :options='$parent.$parent.whetherpaies' placeholder='是否缴费'
33
- close-on-select
34
- condition="f_whether_pay = '{}'"></v-select>
35
- </div>
36
- <div class="col-sm-2 form-group">
37
- <label class="font_normal_body" title="抄表状态">抄表状态</label>
38
- <v-select :value.sync="model.f_meter_state" v-model='model.f_meter_state'
39
- style="width:60%"
40
- :options='$parent.$parent.meterstates' placeholder='抄表状态'
41
- close-on-select
42
- condition="f_meter_state = '{}'"></v-select>
43
- </div>
44
- <div class="col-sm-2 form-group">
45
- <label class="font_normal_body" title="表单状态">表单状态</label>
46
- <v-select :value.sync="model.f_hand_state" v-model='model.f_hand_state'
47
- style="width:60%"
48
- :options='$parent.$parent.handstates' placeholder='表单状态'
49
- close-on-select
50
- condition="f_hand_state = '{}'"></v-select>
51
- </div>
52
-
53
- <div style="float: right">
54
- <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
55
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
56
- :field="$parent.$parent.fields" :header="$parent.$parent.other"
57
- sqlurl="api/af-revenue/logic/saleExport" :sql-name="$parent.$parent.sqlname" template-name='抄表查询导出'
58
- :choose-col="true" ref="salehandplanExport"></export-excel>
59
-
60
- <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
61
- @print-data="$parent.$parent.print()"
62
- :starthead="$parent.$parent.starthead"
63
- titletable="预存气费打印明细"
64
- ></print-data>
65
- </div>
66
- </div>
67
-
68
-
69
- </div>
70
-
71
- </criteria>
72
- <data-grid :model="model" class="list_area table_sy" class="list_area table_sy" partial='list' v-ref:grid>
73
- <template partial='head'>
74
- <tr>
75
-
76
- <th v-show="false"><nobr>抄表月份</nobr></th>
77
- <th v-show="false"><nobr>用气周期</nobr></th>
78
- <th><nobr>抄表日期</nobr></th>
79
- <th><nobr>录入日期</nobr></th>
80
- <th><nobr>上期底数</nobr></th>
81
- <th><nobr>本期底数</nobr></th>
82
- <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '上期余量' :'上期余额' : '上期余额' }}</nobr></th>
83
- <th><nobr>用气量</nobr></th>
84
- <th><nobr>用气金额 </nobr></th>
85
- <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '本期余量' :'本期余额' : '本期余额' }}</nobr></th>
86
- <th v-if="!row.f_meter_type.includes('物联网表')"><nobr>是否缴费 </nobr></th>
87
- <th v-if="!f_calculation.includes('表端结算')"><nobr>一阶单价 </nobr></th>
88
- <th v-if="!f_calculation.includes('表端结算')"><nobr>一阶气量 </nobr></th>
89
- <th v-if="!f_calculation.includes('表端结算')"><nobr>二阶单价 </nobr></th>
90
- <th v-if="!f_calculation.includes('表端结算')"><nobr>二阶气量 </nobr></th>
91
- <th v-if="!f_calculation.includes('表端结算')"><nobr>三阶单价 </nobr></th>
92
- <th v-if="!f_calculation.includes('表端结算')"><nobr>三阶气量 </nobr></th>
93
- <th><nobr>抄表状态 </nobr></th>
94
- <th><nobr>抄表结果状态 </nobr></th>
95
- <th><nobr>表单状态 </nobr></th>
96
- <th><nobr>抄表员</nobr></th>
97
- <th><nobr>录入员</nobr></th>
98
- </tr>
99
- </template>
100
- <template partial='body' partial='list' v-ref:grid>
101
- <tr>
102
- <td style="text-align:center" v-show="false">{{row.f_hand_date.substring(0,7)}}</td>
103
- <th v-show="false"><nobr >{{row.datas}}</nobr></th>
104
- <td style="text-align:center">{{row.f_hand_date}}</td>
105
- <td style="text-align:center">{{row.f_input_date}}</td>
106
- <td style="text-align:center">{{row.f_last_tablebase}}</td>
107
- <td style="text-align:center">{{row.f_tablebase}}</td>
108
- <td style="text-align:center">{{row.f_balance}}</td>
109
- <td style="text-align:center">{{row.f_oughtamount}}</td>
110
- <td style="text-align:center">{{row.f_oughtfee}}</td>
111
- <td style="text-align:center">{{row.f_curbalance}}</td>
112
- <td style="text-align:center" v-if="!row.f_meter_type.includes('物联网表')">{{row.f_whether_pay}}</td>
113
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair1price}}</td>
114
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stairamount1}}</td>
115
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair2price}}</td>
116
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair2amount}}</td>
117
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair3price}}</td>
118
- <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair3amount}}</td>
119
- <td style="text-align:center">{{row.f_meter_state}}</td>
120
- <td style="text-align:center">{{row.f_result_state?row.f_result_state:''}}</td>
121
- <td style="text-align:center">{{row.f_hand_state}}</td>
122
- <td style="text-align:center">{{row.f_inputtor}}</td>
123
- <td style="text-align:center">{{row.f_input_person}}</td>
124
- </tr>
125
- </template>
126
- <template partial='foot'></template>
127
- </data-grid>
128
- </criteria-paged>
129
-
130
- </div>
131
- <table class="table-hover">
132
- <tr class="table-bordered" style="position: relative">
133
- <td
134
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
135
- 汇总信息
136
- </td>
137
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
138
- 用气量合计:&emsp;{{model.sums.f_oughtamount}}
139
- </td>
140
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
141
- 用气金额合计:&emsp;{{model.sums.f_oughtfee}}
142
- </td>
143
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
144
- 一阶用气量合计:&emsp;{{model.sums.f_stairamount1}}
145
- </td>
146
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
147
- 一阶用气金额合计:&emsp;{{model.sums.f_stair1fee}}
148
- </td>
149
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
150
- 二阶用气量合计:&emsp;{{model.sums.f_stair2amount}}
151
- </td>
152
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
153
- 二阶用气金额合计:&emsp;{{model.sums.f_stair2fee}}
154
- </td>
155
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
156
- 三阶用气量合计:&emsp;{{model.sums.f_stair3amount}}
157
- </td>
158
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
159
- 三阶用气金额合计:&emsp;{{model.sums.f_stair3fee}}
160
- </td>
161
- </tr>
162
- </table>
163
- </div>
164
-
165
- </template>
166
-
167
- <script>
168
- import {HttpResetClass, PagedList} from 'vue-client'
169
-
170
- export default {
171
- title: '抄表',
172
- data () {
173
- return {
174
- condition: '1=1',
175
- model: new PagedList(`${this.row.f_meter_type === '物联网表' ? 'api/af-revenue/sql/sale_WebHandplanQuery' : 'api/af-revenue/sql/sale_HandplanQuery'}`, 20, {f_user_id: this.row.f_user_id}, {
176
- f_oughtfee: 0,
177
- f_oughtamount: 0,
178
- f_stairamount1: 0,
179
- f_stair1fee: 0,
180
- f_stair2amount: 0,
181
- f_stair2fee: 0,
182
- f_stair3amount: 0,
183
- f_stair3fee: 0
184
- }),
185
- show: false,
186
- f_calculation: '',
187
- lists: [],
188
- meterstates: this.$appdata.getParam('抄表状态') ? [{
189
- label: '全部',
190
- value: ''
191
- }, ...this.$appdata.getParam('抄表状态')] : [],
192
- handstates: this.$appdata.getParam('表单状态') ? [{
193
- label: '全部',
194
- value: ''
195
- }, ...this.$appdata.getParam('表单状态')] : [],
196
- // 控制单选
197
- radio: [],
198
- // 选中的页
199
- all: [],
200
- // row数据
201
- rowsdata: [],
202
- sqlname: `${this.row.f_meter_type === '物联网表' ? 'sale_WebHandplanQuery':'sale_HandplanQuery'}`,
203
- searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userfiles_id',
204
- starthead: '',
205
- fields: {
206
- 'f_userinfo_code': '用户编号',
207
- 'f_user_name': '姓名',
208
- 'f_last_tablebase': '上期底数',
209
- 'f_tablebase': '本期底数',
210
- 'f_balance': '上期余额',
211
- 'f_curbalance': '本期余额',
212
- 'f_oughtamount': '用气量',
213
- 'f_oughtfee': '用气金额',
214
- 'f_detailprice': '结算明细',
215
- 'datas': '用气周期',
216
- 'money1': '违约金',
217
- 'f_stair1price': '一阶单价',
218
- 'f_stair1fee': '一阶用气金额',
219
- 'f_stairamount1': '一阶用量',
220
- 'f_stair2price': '二阶单价',
221
- 'f_stair2fee': '二阶用气金额',
222
- 'f_stair2amount': '二阶用量',
223
- 'f_stair3price': '三阶单价',
224
- 'f_stair3fee': '三阶用气金额',
225
- 'f_stair3amount': '三阶用量',
226
- 'f_oughtfee1': '应交金额',
227
- 'f_inputtor': '抄表员',
228
- 'f_input_date': '抄表日期',
229
- 'f_hand_date': '录入时间'},
230
- defaultfield: [
231
- 'datas', 'f_last_tablebase', 'f_last_tablebase', 'f_oughtamount', 'f_oughtfee', 'f_oughtfee1', 'money1', 'price1'
232
- ],
233
- fooinfo: [
234
- '单位',
235
- '收款人'
236
- ],
237
- printModel: {
238
- rows: []
239
- },
240
- other: [],
241
- footer: [],
242
- // 合计数据
243
- sumsmodel: {}
244
- }
245
- },
246
- props: ['row'],
247
- ready () {
248
- this.$refs.paged.$refs.criteria.model.f_hand_state = ['有效']
249
- this.f_calculation = this.row.f_calculation
250
- this.$refs.paged.$refs.criteria.search()
251
- this.sumsmodel= this.$refs.paged.$refs.grid.model.sums
252
- for (let i in this.all) {
253
- this.money += i.f_oughtamount
254
- this.gas += i.f_oughtfee
255
- }
256
- },
257
- methods: {
258
- getotherfooter () {
259
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
260
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
261
- this.other = []
262
- this.footer = []
263
- // let exportdata = this.getCondition;
264
- let otherInData = []
265
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
266
- let footerData = [], exportfield = this.fields
267
- footerData.push('合计')
268
- let self = this
269
- for (var field in self.sumsmodel) {
270
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
271
- }
272
- this.footer.push(footerData)
273
- this.other.push(otherInData)
274
- },
275
- // search() {
276
- // this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
277
- // this.model.search(this.condition, this.model)
278
- // },
279
- async search () {
280
- this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}'`
281
- this.model.search(this.condition, this.model)
282
- let http = new HttpResetClass()
283
- let res = await http.load('POST', `${this.row.f_meter_type === '物联网表' ? 'api/af-revenue/sql/sale_WebHandplanQuery':'api/af-revenue/sql/sale_HandplanQuery'}`, {
284
- data: {
285
- f_user_id: this.row.f_user_id,
286
- condition: this.condition
287
- }
288
- }, {resolveMsg: null, rejectMsg: null})
289
- this.printModel.rows = res.data
290
-
291
- this.starthead = '用户编号:' + this.row.f_userinfo_code + '&emsp;&emsp;用户姓名:' + this.row.f_user_name + '&emsp;&emsp;用户地址:' + this.row.f_address
292
- },
293
- // 多选框初始化
294
- selectInit () {
295
- this.rowsdata = []
296
- this.all = []
297
- this.radio = []
298
- },
299
- print () {
300
- console.log('====================================')
301
- console.log('print')
302
- console.log(this.printModel)
303
- this.selectInit()
304
- },
305
- select () {
306
- let index = this.model.pageIndex - 1
307
- if (!this.radio[index]) {
308
- this.radio.$set(index, [])
309
- }
310
- if (this.all[index]) {
311
- // 数据
312
- this.rowsdata[index] = Object.assign([], this.model.rows)
313
- // 勾选
314
- for (var i = 0; i < this.model.rows.length; i++) {
315
- this.radio[index].$set(i, true)
316
- }
317
- } else {
318
- // 数据
319
- this.rowsdata[index] = []
320
- // 不勾选
321
- for (var i = 0; i < this.model.rows.length; i++) {
322
- this.radio[index].$set(i, false)
323
- }
324
- }
325
- let z = 0
326
- for (let i = 0; i < this.all.length; i++) {
327
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
328
- this.printModel.rows[z++] = this.rowsdata[i][j]
329
- }
330
- }
331
- },
332
- selectOne (event, row, i) {
333
- let index = this.model.pageIndex - 1
334
- if (!this.rowsdata[index]) {
335
- this.rowsdata[index] = []
336
- }
337
- if (!this.radio[index]) {
338
- this.radio.$set(index, [])
339
- }
340
- if (event.target.checked) {
341
- // 数据
342
- this.rowsdata[index][i] = row
343
- // 勾选
344
- this.radio[index].$set(i, true)
345
- // 判断是否全部选中
346
- var allState = true
347
- if (this.model.rows.length != this.radio[index].length) {
348
- allState = false
349
- }
350
- for (var state of this.radio[index]) {
351
- if (!state) {
352
- allState = false
353
- }
354
- }
355
- if (allState) {
356
- this.all.$set(index, true)
357
- } else {
358
- this.all.$set(index, false)
359
- }
360
- } else {
361
- // 数据
362
- this.rowsdata[index][i] = []
363
- // 不勾选
364
- this.radio[index].$set(i, false)
365
- // 任意取消一个则全选状态设为false
366
- this.all.$set(index, false)
367
- }
368
- let z = 0
369
- this.printModel.rows = []
370
- for (let i = 0; i < this.all.length; i++) {
371
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
372
- if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
373
- this.printModel.rows[z++] = this.rowsdata[i][j]
374
- }
375
- }
376
- }
377
- }
378
- },
379
- computed: {
380
- whetherpaies () {
381
- return [
382
- {label: '全部', value: ''},
383
- {label: '已缴费', value: '是'},
384
- {label: '未缴费', value: '否'}
385
- ]
386
- },
387
- ischecked () {
388
- return function (index, i) {
389
- if (!this.radio[index]) {
390
- return false
391
- }
392
- return this.radio[index][i]
393
- }
394
- },
395
- getCondition () {
396
- return {
397
- condition: this.condition
398
- }
399
- }
400
- },
401
- watch: {
402
- sumsmodel: {
403
- handler: function (val) {
404
- this.getotherfooter()
405
- },
406
- deep: true
407
- }
408
- }
409
- }
410
- </script>
411
-
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
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body" title="归属日期" >开始时间</label>
10
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
11
+ class="datepicker"
12
+ condition="f_hand_date >= '{} 00:00:00' "
13
+ placeholder="起始时间"
14
+ style="width:60%"
15
+ v-model="model.f_start_date"
16
+ ></datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group" >
19
+ <label class="font_normal_body" title="归属日期">结束时间</label>
20
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
21
+ class="datepicker"
22
+ condition="f_hand_date <= '{} 23:59:59' "
23
+ placeholder="结束时间"
24
+ style="width:60%"
25
+ v-model="model.f_end_date"
26
+ ></datepicker>
27
+ </div>
28
+ <div class="col-sm-2 form-group" v-if="!row.f_meter_type.includes('物联网表')">
29
+ <label class="font_normal_body">是否缴费</label>
30
+ <v-select :value.sync="model.f_whether_pay" v-model='model.f_whether_pay'
31
+ style="width:60%"
32
+ :options='$parent.$parent.whetherpaies' placeholder='是否缴费'
33
+ close-on-select
34
+ condition="f_whether_pay = '{}'"></v-select>
35
+ </div>
36
+ <div class="col-sm-2 form-group">
37
+ <label class="font_normal_body" title="抄表状态">抄表状态</label>
38
+ <v-select :value.sync="model.f_meter_state" v-model='model.f_meter_state'
39
+ style="width:60%"
40
+ :options='$parent.$parent.meterstates' placeholder='抄表状态'
41
+ close-on-select
42
+ condition="f_meter_state = '{}'"></v-select>
43
+ </div>
44
+ <div class="col-sm-2 form-group">
45
+ <label class="font_normal_body" title="表单状态">表单状态</label>
46
+ <v-select :value.sync="model.f_hand_state" v-model='model.f_hand_state'
47
+ style="width:60%"
48
+ :options='$parent.$parent.handstates' placeholder='表单状态'
49
+ close-on-select
50
+ condition="f_hand_state = '{}'"></v-select>
51
+ </div>
52
+
53
+ <div style="float: right">
54
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
55
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
56
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
57
+ sqlurl="api/af-revenue/logic/saleExport" :sql-name="$parent.$parent.sqlname" template-name='抄表查询导出'
58
+ :choose-col="true" ref="salehandplanExport"></export-excel>
59
+
60
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
61
+ @print-data="$parent.$parent.print()"
62
+ :starthead="$parent.$parent.starthead"
63
+ titletable="预存气费打印明细"
64
+ ></print-data>
65
+ </div>
66
+ </div>
67
+
68
+
69
+ </div>
70
+
71
+ </criteria>
72
+ <data-grid :model="model" class="list_area table_sy" class="list_area table_sy" partial='list' v-ref:grid>
73
+ <template partial='head'>
74
+ <tr>
75
+
76
+ <th v-show="false"><nobr>抄表月份</nobr></th>
77
+ <th v-show="false"><nobr>用气周期</nobr></th>
78
+ <th><nobr>抄表日期</nobr></th>
79
+ <th><nobr>录入日期</nobr></th>
80
+ <th><nobr>上期底数</nobr></th>
81
+ <th><nobr>本期底数</nobr></th>
82
+ <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '上期余量' :'上期余额' : '上期余额' }}</nobr></th>
83
+ <th><nobr>用气量</nobr></th>
84
+ <th><nobr>用气金额 </nobr></th>
85
+ <th><nobr>{{$parent.$parent.$parent.row.f_meter_type.includes('物联网表') ? $parent.$parent.$parent.row.f_collection_type == '按气量' ? '本期余量' :'本期余额' : '本期余额' }}</nobr></th>
86
+ <th v-if="!row.f_meter_type.includes('物联网表')"><nobr>是否缴费 </nobr></th>
87
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>一阶单价 </nobr></th>
88
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>一阶气量 </nobr></th>
89
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>二阶单价 </nobr></th>
90
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>二阶气量 </nobr></th>
91
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>三阶单价 </nobr></th>
92
+ <th v-if="!f_calculation.includes('表端结算')"><nobr>三阶气量 </nobr></th>
93
+ <th><nobr>抄表状态 </nobr></th>
94
+ <th><nobr>抄表结果状态 </nobr></th>
95
+ <th><nobr>表单状态 </nobr></th>
96
+ <th><nobr>抄表员</nobr></th>
97
+ <th><nobr>录入员</nobr></th>
98
+ </tr>
99
+ </template>
100
+ <template partial='body' partial='list' v-ref:grid>
101
+ <tr>
102
+ <td style="text-align:center" v-show="false">{{row.f_hand_date.substring(0,7)}}</td>
103
+ <th v-show="false"><nobr >{{row.datas}}</nobr></th>
104
+ <td style="text-align:center">{{row.f_hand_date}}</td>
105
+ <td style="text-align:center">{{row.f_input_date}}</td>
106
+ <td style="text-align:center">{{row.f_last_tablebase}}</td>
107
+ <td style="text-align:center">{{row.f_tablebase}}</td>
108
+ <td style="text-align:center">{{row.f_balance}}</td>
109
+ <td style="text-align:center">{{row.f_oughtamount}}</td>
110
+ <td style="text-align:center">{{row.f_oughtfee}}</td>
111
+ <td style="text-align:center">{{row.f_curbalance}}</td>
112
+ <td style="text-align:center" v-if="!row.f_meter_type.includes('物联网表')">{{row.f_whether_pay}}</td>
113
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair1price}}</td>
114
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stairamount1}}</td>
115
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair2price}}</td>
116
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair2amount}}</td>
117
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair3price}}</td>
118
+ <td style="text-align:center" v-if="!f_calculation.includes('表端结算')">{{row.f_stair3amount}}</td>
119
+ <td style="text-align:center">{{row.f_meter_state}}</td>
120
+ <td style="text-align:center">{{row.f_result_state?row.f_result_state:''}}</td>
121
+ <td style="text-align:center">{{row.f_hand_state}}</td>
122
+ <td style="text-align:center">{{row.f_inputtor}}</td>
123
+ <td style="text-align:center">{{row.f_input_person}}</td>
124
+ </tr>
125
+ </template>
126
+ <template partial='foot'></template>
127
+ </data-grid>
128
+ </criteria-paged>
129
+
130
+ </div>
131
+ <table class="table-hover">
132
+ <tr class="table-bordered" style="position: relative">
133
+ <td
134
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
135
+ 汇总信息
136
+ </td>
137
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
138
+ 用气量合计:&emsp;{{model.sums.f_oughtamount}}
139
+ </td>
140
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
141
+ 用气金额合计:&emsp;{{model.sums.f_oughtfee}}
142
+ </td>
143
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
144
+ 一阶用气量合计:&emsp;{{model.sums.f_stairamount1}}
145
+ </td>
146
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
147
+ 一阶用气金额合计:&emsp;{{model.sums.f_stair1fee}}
148
+ </td>
149
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
150
+ 二阶用气量合计:&emsp;{{model.sums.f_stair2amount}}
151
+ </td>
152
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
153
+ 二阶用气金额合计:&emsp;{{model.sums.f_stair2fee}}
154
+ </td>
155
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
156
+ 三阶用气量合计:&emsp;{{model.sums.f_stair3amount}}
157
+ </td>
158
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px" v-if="!f_calculation.includes('表端结算')">
159
+ 三阶用气金额合计:&emsp;{{model.sums.f_stair3fee}}
160
+ </td>
161
+ </tr>
162
+ </table>
163
+ </div>
164
+
165
+ </template>
166
+
167
+ <script>
168
+ import {HttpResetClass, PagedList} from 'vue-client'
169
+
170
+ export default {
171
+ title: '抄表',
172
+ data () {
173
+ return {
174
+ condition: '1=1',
175
+ model: new PagedList(`${this.row.f_meter_type === '物联网表' ? 'api/af-revenue/sql/sale_WebHandplanQuery' : 'api/af-revenue/sql/sale_HandplanQuery'}`, 20, {f_user_id: this.row.f_user_id}, {
176
+ f_oughtfee: 0,
177
+ f_oughtamount: 0,
178
+ f_stairamount1: 0,
179
+ f_stair1fee: 0,
180
+ f_stair2amount: 0,
181
+ f_stair2fee: 0,
182
+ f_stair3amount: 0,
183
+ f_stair3fee: 0
184
+ }),
185
+ show: false,
186
+ f_calculation: '',
187
+ lists: [],
188
+ meterstates: this.$appdata.getParam('抄表状态') ? [{
189
+ label: '全部',
190
+ value: ''
191
+ }, ...this.$appdata.getParam('抄表状态')] : [],
192
+ handstates: this.$appdata.getParam('表单状态') ? [{
193
+ label: '全部',
194
+ value: ''
195
+ }, ...this.$appdata.getParam('表单状态')] : [],
196
+ // 控制单选
197
+ radio: [],
198
+ // 选中的页
199
+ all: [],
200
+ // row数据
201
+ rowsdata: [],
202
+ sqlname: `${this.row.f_meter_type === '物联网表' ? 'sale_WebHandplanQuery':'sale_HandplanQuery'}`,
203
+ searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userfiles_id',
204
+ starthead: '',
205
+ fields: {
206
+ 'f_userinfo_code': '用户编号',
207
+ 'f_user_name': '姓名',
208
+ 'f_last_tablebase': '上期底数',
209
+ 'f_tablebase': '本期底数',
210
+ 'f_balance': '上期余额',
211
+ 'f_curbalance': '本期余额',
212
+ 'f_oughtamount': '用气量',
213
+ 'f_oughtfee': '用气金额',
214
+ 'f_detailprice': '结算明细',
215
+ 'datas': '用气周期',
216
+ 'money1': '违约金',
217
+ 'f_stair1price': '一阶单价',
218
+ 'f_stair1fee': '一阶用气金额',
219
+ 'f_stairamount1': '一阶用量',
220
+ 'f_stair2price': '二阶单价',
221
+ 'f_stair2fee': '二阶用气金额',
222
+ 'f_stair2amount': '二阶用量',
223
+ 'f_stair3price': '三阶单价',
224
+ 'f_stair3fee': '三阶用气金额',
225
+ 'f_stair3amount': '三阶用量',
226
+ 'f_oughtfee1': '应交金额',
227
+ 'f_inputtor': '抄表员',
228
+ 'f_input_date': '抄表日期',
229
+ 'f_hand_date': '录入时间'},
230
+ defaultfield: [
231
+ 'datas', 'f_last_tablebase', 'f_last_tablebase', 'f_oughtamount', 'f_oughtfee', 'f_oughtfee1', 'money1', 'price1'
232
+ ],
233
+ fooinfo: [
234
+ '单位',
235
+ '收款人'
236
+ ],
237
+ printModel: {
238
+ rows: []
239
+ },
240
+ other: [],
241
+ footer: [],
242
+ // 合计数据
243
+ sumsmodel: {}
244
+ }
245
+ },
246
+ props: ['row'],
247
+ ready () {
248
+ this.$refs.paged.$refs.criteria.model.f_hand_state = ['有效']
249
+ this.f_calculation = this.row.f_calculation
250
+ this.$refs.paged.$refs.criteria.search()
251
+ this.sumsmodel= this.$refs.paged.$refs.grid.model.sums
252
+ for (let i in this.all) {
253
+ this.money += i.f_oughtamount
254
+ this.gas += i.f_oughtfee
255
+ }
256
+ },
257
+ methods: {
258
+ getotherfooter () {
259
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
260
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
261
+ this.other = []
262
+ this.footer = []
263
+ // let exportdata = this.getCondition;
264
+ let otherInData = []
265
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
266
+ let footerData = [], exportfield = this.fields
267
+ footerData.push('合计')
268
+ let self = this
269
+ for (var field in self.sumsmodel) {
270
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
271
+ }
272
+ this.footer.push(footerData)
273
+ this.other.push(otherInData)
274
+ },
275
+ // search() {
276
+ // this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
277
+ // this.model.search(this.condition, this.model)
278
+ // },
279
+ async search () {
280
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}'`
281
+ this.model.search(this.condition, this.model)
282
+ let http = new HttpResetClass()
283
+ let res = await http.load('POST', `${this.row.f_meter_type === '物联网表' ? 'api/af-revenue/sql/sale_WebHandplanQuery':'api/af-revenue/sql/sale_HandplanQuery'}`, {
284
+ data: {
285
+ f_user_id: this.row.f_user_id,
286
+ condition: this.condition
287
+ }
288
+ }, {resolveMsg: null, rejectMsg: null})
289
+ this.printModel.rows = res.data
290
+
291
+ this.starthead = '用户编号:' + this.row.f_userinfo_code + '&emsp;&emsp;用户姓名:' + this.row.f_user_name + '&emsp;&emsp;用户地址:' + this.row.f_address
292
+ },
293
+ // 多选框初始化
294
+ selectInit () {
295
+ this.rowsdata = []
296
+ this.all = []
297
+ this.radio = []
298
+ },
299
+ print () {
300
+ console.log('====================================')
301
+ console.log('print')
302
+ console.log(this.printModel)
303
+ this.selectInit()
304
+ },
305
+ select () {
306
+ let index = this.model.pageIndex - 1
307
+ if (!this.radio[index]) {
308
+ this.radio.$set(index, [])
309
+ }
310
+ if (this.all[index]) {
311
+ // 数据
312
+ this.rowsdata[index] = Object.assign([], this.model.rows)
313
+ // 勾选
314
+ for (var i = 0; i < this.model.rows.length; i++) {
315
+ this.radio[index].$set(i, true)
316
+ }
317
+ } else {
318
+ // 数据
319
+ this.rowsdata[index] = []
320
+ // 不勾选
321
+ for (var i = 0; i < this.model.rows.length; i++) {
322
+ this.radio[index].$set(i, false)
323
+ }
324
+ }
325
+ let z = 0
326
+ for (let i = 0; i < this.all.length; i++) {
327
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
328
+ this.printModel.rows[z++] = this.rowsdata[i][j]
329
+ }
330
+ }
331
+ },
332
+ selectOne (event, row, i) {
333
+ let index = this.model.pageIndex - 1
334
+ if (!this.rowsdata[index]) {
335
+ this.rowsdata[index] = []
336
+ }
337
+ if (!this.radio[index]) {
338
+ this.radio.$set(index, [])
339
+ }
340
+ if (event.target.checked) {
341
+ // 数据
342
+ this.rowsdata[index][i] = row
343
+ // 勾选
344
+ this.radio[index].$set(i, true)
345
+ // 判断是否全部选中
346
+ var allState = true
347
+ if (this.model.rows.length != this.radio[index].length) {
348
+ allState = false
349
+ }
350
+ for (var state of this.radio[index]) {
351
+ if (!state) {
352
+ allState = false
353
+ }
354
+ }
355
+ if (allState) {
356
+ this.all.$set(index, true)
357
+ } else {
358
+ this.all.$set(index, false)
359
+ }
360
+ } else {
361
+ // 数据
362
+ this.rowsdata[index][i] = []
363
+ // 不勾选
364
+ this.radio[index].$set(i, false)
365
+ // 任意取消一个则全选状态设为false
366
+ this.all.$set(index, false)
367
+ }
368
+ let z = 0
369
+ this.printModel.rows = []
370
+ for (let i = 0; i < this.all.length; i++) {
371
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
372
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
373
+ this.printModel.rows[z++] = this.rowsdata[i][j]
374
+ }
375
+ }
376
+ }
377
+ }
378
+ },
379
+ computed: {
380
+ whetherpaies () {
381
+ return [
382
+ {label: '全部', value: ''},
383
+ {label: '已缴费', value: '是'},
384
+ {label: '未缴费', value: '否'}
385
+ ]
386
+ },
387
+ ischecked () {
388
+ return function (index, i) {
389
+ if (!this.radio[index]) {
390
+ return false
391
+ }
392
+ return this.radio[index][i]
393
+ }
394
+ },
395
+ getCondition () {
396
+ return {
397
+ condition: this.condition
398
+ }
399
+ }
400
+ },
401
+ watch: {
402
+ sumsmodel: {
403
+ handler: function (val) {
404
+ this.getotherfooter()
405
+ },
406
+ deep: true
407
+ }
408
+ }
409
+ }
410
+ </script>
411
+