sale-client 4.2.42 → 4.2.44

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 (64) hide show
  1. package/build/dev-server.js +50 -31
  2. package/index.html +7 -2
  3. package/package.json +2 -2
  4. package/src/App.vue +1 -1
  5. package/src/components/charge/ChargeModal.vue +1 -1
  6. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  7. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  8. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  9. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  10. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  11. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  12. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  13. package/src/filiale/bayan/StockListmain.vue +543 -543
  14. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -245
  15. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -370
  16. package/src/filiale/bazhong/sale.js +8 -8
  17. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  18. package/src/filiale/jinhuang/sale.js +2 -0
  19. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  20. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  21. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  22. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  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/8.10/checksums/checksums.lock +0 -0
  54. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  55. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  56. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  57. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  58. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  59. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  60. package/.gradle/8.10/gc.properties +0 -0
  61. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  62. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  63. package/.gradle/file-system.probe +0 -0
  64. 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
+