manage-client 4.1.85-tcls → 4.1.85

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 (27) hide show
  1. package/build/dev-server.js +99 -181
  2. package/package.json +1 -1
  3. package/src/filiale/jinbin/exportConfig.js +1110 -0
  4. package/src/filiale/jinbin/sale/businessquery/ChargeQuery.vue +1372 -0
  5. package/src/filiale/jinbin/sale.js +7 -0
  6. package/src/filiale/tongchuan/ChangeMeterQuery.vue +702 -730
  7. package/src/filiale/tongchuan/ChargeQuery.vue +1487 -1514
  8. package/src/filiale/tongchuan/DisableQuery.vue +523 -550
  9. package/src/filiale/tongchuan/FillCardQuery.vue +573 -598
  10. package/src/filiale/tongchuan/FillGasQuery.vue +533 -560
  11. package/src/filiale/tongchuan/HandplanQuery.vue +1332 -1358
  12. package/src/filiale/tongchuan/RecordInfoQuery.vue +1493 -1493
  13. package/src/filiale/tongchuan/ReverseQuery.vue +450 -477
  14. package/src/filiale/tongchuan/config/exportConfig.js +918 -1102
  15. package/src/filiale/tongchuan/sale.js +0 -36
  16. package/src/filiale/tongchuan/sellingChargePrice.vue +714 -754
  17. package/src/main.js +1 -1
  18. package/src/filiale/tongchuan/CancellationQuery.vue +0 -455
  19. package/src/filiale/tongchuan/EnableQuery.vue +0 -489
  20. package/src/filiale/tongchuan/OtherChargeDetailQuery.vue +0 -74
  21. package/src/filiale/tongchuan/OtherChargeQuery.vue +0 -751
  22. package/src/filiale/tongchuan/PrivilegeQuery.vue +0 -420
  23. package/src/filiale/tongchuan/ResSelectUserGroup.vue +0 -384
  24. package/src/filiale/tongchuan/TransferQuery.vue +0 -528
  25. package/src/filiale/tongchuan/TransferRecordQuery.vue +0 -202
  26. package/src/filiale/tongchuan/overDueQuery.vue +0 -497
  27. package/src/filiale/tongchuan/priceadjustQuery.vue +0 -560
@@ -1,1358 +1,1332 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search" v-if="!show">
4
- <div class="flex">
5
-
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
-
11
- <div class="col-sm-2 form-group">
12
- <label for="startDate" class="font_normal_body">录入日期</label>
13
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
14
- v-model="model.startDate"
15
- :value.sync="model.startDate"
16
- :format="'yyyy-MM-dd HH:mm:ss'"
17
- :show-reset-button="true"
18
- condition="f_input_date >= '{}'">
19
- </datepicker>
20
- </div>
21
- <div class="col-sm-2 form-group">
22
- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&ensp;</label>
23
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
24
- v-model="model.endDate"
25
- :value.sync="model.endDate"
26
- :format="'yyyy-MM-dd HH:mm:ss'"
27
- :show-reset-button="true"
28
- condition="f_input_date <= '{}'">
29
- </datepicker>
30
- </div>
31
- <div class="col-sm-2 form-group">
32
- <label class="font_normal_body">客户编号</label>
33
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
34
- condition="f_userinfo_code like '%{}%' " placeholder="客户编号">
35
- </div>
36
- <div class="col-sm-2 form-group">
37
- <label class="font_normal_body">客户名称</label>
38
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
39
- condition="f_user_name like '%{}%'" placeholder="客户名称">
40
- </div>
41
- <div class="span" style="float:right;">
42
- <button class="button_search button_spacing" @click="search()">查询</button>
43
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
-
45
- <button class="btn btn-default" @click="$parent.$parent.Fileinput()">反盘导入</button>
46
- <export-excel :data="$parent.$parent.getCondition"
47
- :field="$parent.$parent.getBankfield" :header="$parent.$parent.other"
48
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="newhandplanQuery" template-name='送盘导出' btn-name="送盘导出"
49
- :choose-col="true"></export-excel>
50
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
51
- :field="$parent.$parent.getfield" :header="$parent.$parent.other"
52
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="handplanQuery" template-name='抄表查询导出'
53
- :choose-col="true"></export-excel>
54
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
55
- :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
56
- titletable="抄表查询"
57
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
58
-
59
- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
60
- </div>
61
- </div>
62
- <div class="row" v-show="$parent.$parent.criteriaShow">
63
- <res-select-user-group
64
- :operator-initres="$parent.$parent.initres"
65
- :user-initres="$parent.$parent.userInitres"
66
- :show-component="['company','department','operator','user_company']"
67
- @re-res="$parent.$parent.getRes"
68
- @re-us-res="$parent.$parent.getUserRes"
69
- v-ref:usersel>
70
- </res-select-user-group>
71
-
72
-
73
- <div class="col-sm-2 form-group">
74
- <label class="font_normal_body">小区名称</label>
75
- <v-select :value.sync="model.f_residential_area"
76
- class="select_list select"
77
- enter-push
78
- multiple = "true"
79
- v-model="model.f_residential_area"
80
- style="width: 60%"
81
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
82
- close-on-select>
83
-
84
- </v-select>
85
- </div>
86
- <div
87
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
88
- class="form-group">
89
- <label class="font_normal_body">区&nbsp;&nbsp;&nbsp;&nbsp;域</label>
90
- <v-select
91
- :multiple="true"
92
- v-model="model.f_pcd"
93
- placeholder='选择区域'
94
- :value.sync="model.f_pcd"
95
- :options='$parent.$parent.pcdslist'
96
- condition="f_pcd_id in {}"
97
- style="width: 60%"
98
- close-on-select >
99
- </v-select>
100
- </div>
101
- <div class="col-sm-2 form-group">
102
- <label class="font_normal_body">楼&emsp;栋&emsp;</label>
103
- <input type="text" style="width:60%" class="input_search" v-model="model.f_building"
104
- condition="f_building like '%{}%'" placeholder="楼栋">
105
- </div>
106
- <div class="col-sm-2 form-group">
107
- <label class="font_normal_body">客户地址</label>
108
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
109
- condition="f_address like '%{}%'" placeholder='客户地址'>
110
- </div>
111
- <div class="col-sm-2 form-group">
112
- <label class="font_normal_body">抄表状态</label>
113
- <v-select :value.sync="model.f_meter_state"
114
- v-model="model.f_meter_state"
115
- :options='$parent.$parent.meterstate' placeholder='请选择'
116
- condition="f_meter_state = '{}'"
117
- close-on-select></v-select>
118
- </div>
119
- <div class="col-sm-2 form-group">
120
- <label class="font_normal_body">表单状态</label>
121
- <v-select :value.sync="model.f_hand_state"
122
- v-model="model.f_hand_state"
123
- :options='$parent.$parent.handstate' placeholder='请选择'
124
- condition="f_hand_state = '{}'"
125
- close-on-select></v-select>
126
- </div>
127
- <div class="col-sm-2 form-group">
128
- <label class="font_normal_body">录入人员</label>
129
- <input type="text" style="width:60%" class="input_search" v-model="model.f_input_person"
130
- condition="f_input_person like '%{}%'" placeholder='录入人员'>
131
- </div>
132
- <div class="col-sm-2 form-group">
133
- <label class="font_normal_body">是否缴费</label>
134
- <v-select :value.sync="model.f_whether_pay"
135
- v-model="model.f_whether_pay"
136
- :options='$parent.$parent.whetherPay' placeholder='请选择'
137
- condition="f_whether_pay = '{}'"
138
- close-on-select></v-select>
139
- </div>
140
- <div class="col-sm-2 form-group">
141
- <label class="font_normal_body">&ensp;壁挂炉&ensp;</label>
142
- <v-select :value.sync="model.isbgl"
143
- v-model="model.isbgl"
144
- :options='$parent.$parent.bgl' placeholder='请选择'
145
- condition="isbgl = '{}'"
146
- close-on-select></v-select>
147
- </div>
148
- <div class="col-sm-2 form-group">
149
- <label class="font_normal_body">客户类型</label>
150
- <v-select :value.sync="model.f_user_type"
151
- @change="$parent.$parent.userTypeChange()"
152
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
153
- condition="f_user_type = '{}'"
154
- close-on-select></v-select>
155
- </div>
156
- <div class="col-sm-2 form-group">
157
- <label class="font_normal_body">用气性质</label>
158
- <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
159
- :options='$parent.$parent.gasproperties' placeholder='请选择'
160
- condition="f_gasproperties = '{}'"
161
- close-on-select></v-select>
162
- </div>
163
- <div class="col-sm-2 form-group">
164
- <label class="font_normal_body">气价类型</label>
165
- <v-select :value.sync="model.pricetype" v-model="model.pricetype"
166
- placeholder='气价类型' :options="$parent.$parent.pricetypes"
167
- close-on-select v-ref:type>
168
- </v-select>
169
- </div>
170
- <div class="col-sm-2 form-group">
171
- <label class="font_normal_body">气价名称</label>
172
- <v-select :value.sync="model.f_price_name"
173
- v-model="model.f_price_name"
174
- :options="$parent.$parent.getPricenames"
175
- condition="f_price_name = '{}'"
176
- close-on-select></v-select>
177
- </div>
178
- <div class="col-sm-2 form-group">
179
- <label class="font_normal_body">下账状态</label>
180
- <v-select :value.sync="model.f_accounts_state"
181
- :options='$parent.$parent.accountsState' placeholder='请选择' v-model="model.f_accounts_state"
182
- condition="f_accounts_state = '{}'"
183
- close-on-select></v-select>
184
- </div>
185
- <div class="col-sm-2 form-group">
186
- <label class="font_normal_body">气表类型</label>
187
- <v-select :value.sync="model.f_meter_classify" multiple
188
- :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_classify"
189
- condition="f_meter_classify in {}"
190
- close-on-select></v-select>
191
- </div>
192
- <div class="col-sm-2 form-group">
193
- <label class="font_normal_body">气表品牌</label>
194
- <v-select :value.sync="model.f_meter_brand" multiple
195
- v-model="model.f_meter_brand"
196
- :options='$parent.$parent.meterbrands' placeholder='请选择'
197
- condition="f_meter_brand in {}"
198
- close-on-select></v-select>
199
- </div>
200
- <div class="col-sm-2 form-group">
201
- <label class="font_normal_body">用&ensp;气&ensp;量</label>
202
- <input type="text" style="width:30%" class="input_search" title="大于等于"
203
- v-model="model.f_oughtamount_big" condition="f_oughtamount >= {}" placeholder='大于等于'>
204
- <input type="text" style="width:30%" class="input_search" title="小于等于"
205
- v-model="model.f_oughtamount_small" condition="f_oughtamount <= {}" placeholder='小于等于'>
206
- </div>
207
- <!-- <div class="col-sm-2 form-group">-->
208
- <!-- <label class="font_normal_body">气价名称</label>-->
209
- <!-- <v-select :value.sync="model.f_price_name" v-model="model.f_price_name" :options="$parent.$parent.prices"-->
210
- <!-- condition="f_price_name = '{}'" close-on-select></v-select>-->
211
- <!-- </div>-->
212
- <div class="col-sm-2 form-group">
213
- <label class="font_normal_body">&ensp;表&ensp;号&ensp;&ensp;</label>
214
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
215
- condition="f_meternumber = '{}' " placeholder="表号">
216
- </div>
217
- <div class="col-sm-2 form-group">
218
- <label for="startDate" class="font_normal_body">下发日期</label>
219
- <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
220
- v-model="model.handStartDate"
221
- :value.sync="model.handStartDate"
222
- :format="'yyyy-MM-dd 00:00:00'"
223
- :show-reset-button="true"
224
- condition="f_hand_date >= '{}'">
225
- </datepicker>
226
- </div>
227
- <div class="col-sm-2 form-group">
228
- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
229
- <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
230
- v-model="model.handEndDate"
231
- :value.sync="model.handEndDate"
232
- :format="'yyyy-MM-dd 23:59:59'"
233
- :show-reset-button="true"
234
- condition="f_hand_date <= '{}'">
235
- </datepicker>
236
- </div>
237
- <div class="col-sm-2 form-group">
238
- <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
239
- <v-select :value.sync="model.f_inputtor"
240
- v-model="model.f_inputtor"
241
- :options='$parent.$parent.inputtores' placeholder='请选择'
242
- condition="f_inputtor = '{}'"
243
- close-on-select :search="false">
244
- </v-select>
245
- </div>
246
- <!--表册片区-->
247
- <div class="col-sm-2 form-group">
248
- <label class="font_normal_body">表册片区</label>
249
- <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
250
- @change="$parent.$parent.inputtorchange"
251
- multiple
252
- :options='$parent.$parent.bookSlice' placeholder='片区/表册'
253
- style="width:60%"
254
- close-on-select
255
- condition="f_book_slice_area in {}"></v-select>
256
- </div>
257
- <div class="col-sm-2 form-group">
258
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
259
- <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
260
- :options='$parent.$parent.meterbooks' placeholder='抄表册'
261
- style="width:60%"
262
- multiple
263
- close-on-select
264
- condition="f_meter_book_num in {}"></v-select>
265
- </div>
266
- <div class="col-sm-2 form-group" >
267
- <label for="belongmonth" class="font_normal_body" >所属年月</label>
268
- <datepicker placeholder="所属年月" style="width:60%"
269
- v-model="model.belongmonth"
270
- :value.sync="model.belongmonth"
271
- :format="'yyyy-MM'"
272
- :show-reset-button="true"
273
- condition="belongmonth = '{}'"
274
- :select-month="true">
275
- </datepicker>
276
- </div>
277
- <div class="col-sm-2 form-group">
278
- <label class="font_normal_body">银行名称</label>
279
- <v-select :value.sync="model.f_bank_name" v-model="model.f_bank_name"
280
- :options='$parent.$parent.banklist' placeholder='银行名称'
281
- style="width:60%"
282
- close-on-select
283
- condition="f_bank_name = '{}'"></v-select>
284
- </div>
285
- <div class="col-sm-2 form-group">
286
- <label for="startDate" class="font_normal_body">收费日期</label>
287
- <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
288
- v-model="model.sellStartDate"
289
- :value.sync="model.sellStartDate"
290
- :format="'yyyy-MM-dd 00:00:00'"
291
- :show-reset-button="true"
292
- condition="f_sellinggas_operate_date >= '{}'">
293
- </datepicker>
294
- </div>
295
- <div class="col-sm-2 form-group">
296
- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
297
- <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
298
- v-model="model.sellEndDate"
299
- :value.sync="model.sellEndDate"
300
- :format="'yyyy-MM-dd 23:59:59'"
301
- :show-reset-button="true"
302
- condition="f_sellinggas_operate_date <= '{}'">
303
- </datepicker>
304
- </div>
305
- </div>
306
- </div>
307
- </criteria>
308
-
309
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
310
- <template partial='head'>
311
- <tr>
312
- <th>
313
- <nobr>客户编号</nobr>
314
- </th>
315
- <th>
316
- <nobr>客户名称</nobr>
317
- </th>
318
- <th>
319
- <nobr>片区</nobr>
320
- </th>
321
- <th>
322
- <nobr>表册片区</nobr>
323
- </th>
324
- <th>
325
- <nobr>客户地址</nobr>
326
- </th>
327
- <th>
328
- <nobr>客户手机</nobr>
329
- </th>
330
- <th>
331
- <nobr>表号</nobr>
332
- </th>
333
- <th>
334
- <nobr>数据年月</nobr>
335
- </th>
336
- <th>
337
- <nobr>上期底数</nobr>
338
- </th>
339
- <th>
340
- <nobr>本期底数</nobr>
341
- </th>
342
- <th>
343
- <nobr>用气量</nobr>
344
- </th>
345
- <th>
346
- <nobr>违约金</nobr>
347
- </th>
348
- <th>
349
- <nobr>用气金额</nobr>
350
- </th>
351
- <th>
352
- <nobr>已交金额</nobr>
353
- </th>
354
- <th>
355
- <nobr>欠费金额</nobr>
356
- </th>
357
- <th>
358
- <nobr>优惠金额</nobr>
359
- </th>
360
- <th>
361
- <nobr>上期余额</nobr>
362
- </th>
363
- <th>
364
- <nobr>本期余额</nobr>
365
- </th>
366
- <th>
367
- <nobr>下账状态</nobr>
368
- </th>
369
- <th>
370
- <nobr>收费时间</nobr>
371
- </th>
372
- <th>
373
- <nobr>收费人员</nobr>
374
- </th>
375
- <th>
376
- <nobr>冲正时间</nobr>
377
- </th>
378
- <th>
379
- <nobr>冲正人员</nobr>
380
- </th>
381
- <th>
382
- <nobr>下发日期</nobr>
383
- </th>
384
- <th>
385
- <nobr>所属年月</nobr>
386
- </th>
387
- <th>
388
- <nobr>录入日期</nobr>
389
- </th>
390
- <th>
391
- <nobr>气价名称</nobr>
392
- </th>
393
- <th>
394
- <nobr>一阶气量</nobr>
395
- </th>
396
- <th>
397
- <nobr>一阶单价</nobr>
398
- </th>
399
- <th>
400
- <nobr>一阶气费</nobr>
401
- </th>
402
- <th>
403
- <nobr>二阶气量</nobr>
404
- </th>
405
- <th>
406
- <nobr>二阶单价</nobr>
407
- </th>
408
- <th>
409
- <nobr>二阶气费</nobr>
410
- </th>
411
- <th>
412
- <nobr>三阶气量</nobr>
413
- </th>
414
- <th>
415
- <nobr>三阶单价</nobr>
416
- </th>
417
- <th>
418
- <nobr>三阶气费</nobr>
419
- </th>
420
- <th>
421
- <nobr>天数</nobr>
422
- </th>
423
- <th>
424
- <nobr>抄表员</nobr>
425
- </th>
426
- <th>
427
- <nobr>录入人员</nobr>
428
- </th>
429
- <th>
430
- <nobr>是否缴费</nobr>
431
- </th>
432
-
433
- <th>
434
- <nobr>抄表状态</nobr>
435
- </th>
436
- <th>
437
- <nobr>是否壁挂炉</nobr>
438
- </th>
439
- <th>
440
- <nobr>状态</nobr>
441
- </th>
442
- <th>
443
- <nobr>操作员人员</nobr>
444
- </th>
445
- <th>
446
- <nobr>操作员部门</nobr>
447
- </th>
448
- <th>
449
- <nobr>操作员公司</nobr>
450
- </th>
451
- <th>
452
- <nobr>用户公司</nobr>
453
- </th>
454
- <th><nobr>附件</nobr></th>
455
- </tr>
456
- </template>
457
- <template partial='body'>
458
- <td style="text-align: center;">
459
- <nobr>
460
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
461
- </td>
462
- <td style="text-align: center;">
463
- <nobr>{{row.f_user_name}}</nobr>
464
- </td>
465
- <td style="text-align: center;">
466
- <nobr>{{row.f_zones}}</nobr>
467
- </td>
468
- <td style="text-align: center;">
469
- <nobr>{{row.f_book_slice_area}}</nobr>
470
- </td>
471
- <td style="text-align: center;">
472
- <nobr>{{row.f_address}}</nobr>
473
- </td>
474
-
475
- <td style="text-align: center;">
476
- <nobr>{{row.phone}}</nobr>
477
- </td>
478
- <td style="text-align: center;">
479
- <nobr>{{row.f_meternumber}}</nobr>
480
- </td>
481
- <td style="text-align: center;">
482
- <nobr>{{row.ym_data}}</nobr>
483
- </td>
484
- <td style="text-align: center;">
485
- <nobr>{{row.f_last_tablebase}}</nobr>
486
- </td>
487
- <td style="text-align: center;">
488
- <nobr>{{row.f_tablebase}}</nobr>
489
- </td>
490
- <td style="text-align: center;">
491
- <nobr>{{row.f_oughtamount}}</nobr>
492
- </td>
493
- <td style="text-align: center;">
494
- <nobr>{{row.overdue}}</nobr>
495
- </td>
496
- <td style="text-align: center;">
497
- <nobr>{{row.f_oughtfee}}</nobr>
498
- </td>
499
- <td style="text-align: center;">
500
- <nobr>{{row.f_debt_money}}</nobr>
501
- </td>
502
- <td style="text-align: center;">
503
- <nobr>{{row.f_actual_arrears}}</nobr>
504
- </td>
505
- <td style="text-align: center;">
506
- <nobr>{{row.f_privilege_money}}</nobr>
507
- </td>
508
- <td style="text-align: center;">
509
- <nobr>{{row.f_balance}}</nobr>
510
- </td>
511
- <td style="text-align: center;">
512
- <nobr>{{row.f_curbalance}}</nobr>
513
- </td>
514
- <td style="text-align: center;">
515
- <nobr>{{row.f_accounts_state}}</nobr>
516
- </td>
517
- <td style="text-align: center;">
518
- <nobr>{{row.f_sellinggas_operate_date}}</nobr>
519
- </td>
520
- <td style="text-align: center;">
521
- <nobr>{{row.f_sell_operator}}</nobr>
522
- </td>
523
- <td style="text-align: center;">
524
- <nobr>{{row.f_corrhand_date}}</nobr>
525
- </td>
526
- <td style="text-align: center;">
527
- <nobr>{{row.f_corrhand_operator}}</nobr>
528
- </td>
529
- <td style="text-align: center;">
530
- <nobr>{{row.f_hand_date}}</nobr>
531
- </td>
532
- <td>
533
- <nobr>{{row.belongmonth}}</nobr>
534
- </td>
535
- <td style="text-align: center;">
536
- <nobr>{{row.f_input_date}}</nobr>
537
- </td>
538
- <td style="text-align: center;">
539
- <nobr>{{row.f_price_name}}</nobr>
540
- </td>
541
- <td style="text-align: center;">
542
- <nobr>{{row.f_stair1amount}}</nobr>
543
- </td>
544
- <td style="text-align: center;">
545
- <nobr>{{row.f_stair1price}}</nobr>
546
- </td>
547
- <td style="text-align: center;">
548
- <nobr>{{row.f_stair1fee}}</nobr>
549
- </td>
550
- <td style="text-align: center;">
551
- <nobr>{{row.f_stair2amount}}</nobr>
552
- </td>
553
- <td style="text-align: center;">
554
- <nobr>{{row.f_stair2price}}</nobr>
555
- </td>
556
- <td style="text-align: center;">
557
- <nobr>{{row.f_stair2fee}}</nobr>
558
- </td>
559
- <td style="text-align: center;">
560
- <nobr>{{row.f_stair3amount}}</nobr>
561
- </td>
562
- <td style="text-align: center;">
563
- <nobr>{{row.f_stair3price}}</nobr>
564
- </td>
565
- <td style="text-align: center;">
566
- <nobr>{{row.f_stair3fee}}</nobr>
567
- </td>
568
- <td style="text-align: center;">
569
- <nobr>{{row.dd}}</nobr>
570
- </td>
571
- <td style="text-align: center;">
572
- <nobr>{{row.f_inputtor}}</nobr>
573
- </td>
574
- <td style="text-align: center;">
575
- <nobr>{{row.f_input_person}}</nobr>
576
- </td>
577
- <td style="text-align: center;">
578
- <nobr>{{row.f_whether_pay}}</nobr>
579
- </td>
580
-
581
- <td style="text-align: center;">
582
- <nobr>{{row.f_meter_state}}</nobr>
583
- </td>
584
- <td style="text-align: center;">
585
- <nobr>{{row.isbgl}}</nobr>
586
- </td>
587
- <td style="text-align: center;">
588
- <nobr>{{row.f_hand_state}}</nobr>
589
- </td>
590
- <td style="text-align: center;">
591
- <nobr>{{row.f_operator}}</nobr>
592
- </td>
593
- <td style="text-align: center;">
594
- <nobr>{{row.f_depname}}</nobr>
595
- </td>
596
- <td style="text-align: center;">
597
- <nobr>{{row.f_orgname}}</nobr>
598
- </td>
599
- <td style="text-align: center;">
600
- <nobr>{{row.f_us_orgname}}</nobr>
601
- </td>
602
- <td style="text-align: center;"><nobr>
603
- <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
604
- <button v-if="row.f_notified_path" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别</button>
605
- </nobr></td>
606
- </template>
607
- <template partial='foot'></template>
608
- </data-grid>
609
- </criteria-paged>
610
-
611
- <table class="table-hover">
612
- <tr style="position: relative;margin-top: -16px;" class="table-bordered">
613
- <td
614
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
615
- 汇总信息
616
- </td>
617
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
618
- 用气量合计:&emsp;{{sumsmodel.f_oughtamount}}
619
- </td>
620
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
621
- 气费合计:&emsp;{{sumsmodel.f_oughtfee}}
622
- </td>
623
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
624
- 已交金额合计:&emsp;{{sumsmodel.f_debt_money}}
625
- </td>
626
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
627
- 欠费金额合计:&emsp;{{sumsmodel.f_actual_arrears}}
628
- </td>
629
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
630
- 一阶气量合计:&emsp;{{sumsmodel.f_stair1amount}}
631
- </td>
632
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
633
- 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
634
- </td>
635
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
636
- 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}
637
- </td>
638
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
639
- 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
640
- </td>
641
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
642
- 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}
643
- </td>
644
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
645
- 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
646
- </td>
647
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
648
- 剩余气量合计:&emsp;{{sumsmodel.f_surplus_gas}}
649
- </td>
650
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
651
- 扣减气量合计:&emsp;{{sumsmodel.f_haircut_gas}}
652
- </td>
653
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
654
- 应交气量合计:&emsp;{{sumsmodel.f_oughtamount}}
655
- </td>
656
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
657
- 已交气费金额合计:&emsp;{{sumsmodel.alloughtfee}}
658
- </td>
659
- </tr>
660
- </table>
661
- </div>
662
- <modal :show.sync="batchmoneyShow" width="500px" title="反盘导入" v-ref:modal large backdrop="false">
663
- <article slot="modal-body" class="modal-body">
664
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
665
- </article>
666
- <footer slot="modal-footer" class="modal-footer">
667
- </footer>
668
- </modal>
669
- </div>
670
- <div class="flex" v-if="show">
671
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
672
- </div>
673
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
674
- <article slot="modal-body">
675
- <upload :blodid="selected.f_userinfo_id" :businessid="selected.id" v-ref:upload isupload="false" takeimg="false" fusetype="机表抄表" :isremark="false" style="width:auto" ></upload>
676
- </article>
677
- <footer slot="modal-footer" class="modal-footer">
678
- </footer>
679
- </modal>
680
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
681
- <header slot="modal-header" class="modal-header">
682
- 抄表图像识别照片
683
- </header>
684
- <article slot="modal-body" class="modal-body">
685
- <div class="from-group">
686
- <img-self :src="imgfilename" width="500" height="500"></img-self>
687
- </div>
688
- </article>
689
- </modal>
690
-
691
- <modal :show.sync="progressShow" v-ref:modal backdrop="true" width="50%" style="width:auto;" >
692
- <header slot="modal-header" class="modal-header">
693
- 反盘导入
694
- </header>
695
- <article slot="modal-body" class="modal-body">
696
- <div class="progress" style="margin: 20px" >
697
- <div class="progress-bar progress-bar-success progress-bar-striped active" :style="{width: percent+'%'}">
698
- {{percent}}%
699
- </div>
700
- </div>
701
- </article>
702
- <footer slot="modal-footer" class="modal-footer">
703
- <button type="button" class="btn btn-default" @click='progressclose'>关闭</button>
704
- </footer>
705
- </modal>
706
- <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
707
- </div>
708
- </template>
709
-
710
- <script>
711
- import {PagedList, HttpResetClass} from 'vue-client'
712
- import defaultPrint from './config/DefaultPrint'
713
- import exportConfig from './config/exportConfig'
714
- import axios from 'axios'
715
- import ResSelectUserGroup from './ResSelectUserGroup.vue'
716
-
717
- let readySomething = async function (self) {
718
- //加载抄表册
719
- self.$MagGetSaleParam.initinputtor();
720
- self.getinputtores();
721
- self.initmeterbook();
722
- // await self.$LoadParams.loadMeterBook(self.f_filialeid)
723
- // self.loadMeterBooks()
724
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
725
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
726
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
727
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
728
- // await self.$refs.paged.$refs.cri.search()
729
- await self.$getConfig(self, 'HandplanQuery')
730
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
731
- await self.$MagLoadParams.loadParam()
732
- // await self.$MagLoadParams.loadParam()
733
- self.initParams()
734
- console.log('开始查询')
735
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
736
- }
737
- export default {
738
- components: {
739
- 'res-select-user-group': ResSelectUserGroup
740
- },
741
- props:['data'],
742
- title: '机表抄表查询',
743
- data() {
744
- return {
745
- iswork:false,
746
- other:[],
747
- footer:[],
748
- data: {},
749
- pcdslist:[],//区域数据定义
750
- model: new PagedList('api/af-revenue/sql/handplanQuery', 20, {}, {
751
- f_oughtamount: 0,
752
- f_oughtfee: 0,
753
- f_debt_money: 0,
754
- f_actual_arrears: 0,
755
- f_stair1amount: 0,
756
- f_stair1fee: 0,
757
- f_stair2amount: 0,
758
- f_stair2fee: 0,
759
- f_stair3amount: 0,
760
- f_stair3fee: 0,
761
- f_surplus_gas: 0,
762
- f_haircut_gas: 0,
763
- alloughtfee:0
764
- }),
765
- initres: {
766
- org:[this.$login.f.orgid],
767
- dep:[],
768
- user:[],
769
- },
770
- userInitres: {
771
- org: [],
772
- dep: [],
773
- user: []
774
- },
775
- show:false,
776
- rowdata:{},
777
- criteriaShow: false,
778
- residentialArea: [],
779
- orgCondtionStr: '',
780
- userOrgConditionStr: '',
781
- modelval: [],
782
- gasproperties:[],
783
- inputtouPerson: [],
784
- meterbrands: [],
785
- printshow: false,
786
- f_filialeid: this.$login.f.f_orgid,
787
- all: false,
788
- fields: {},
789
- thead: '',
790
- tfoot: '',
791
- showupload:false,
792
- selected:{},
793
-
794
- // 下拉框
795
-
796
- //合计数据
797
- sumsmodel: {},
798
- defaultfield: [],
799
- config: {
800
- defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
801
- },
802
- batchmoneyShow:false,
803
- prices: [],
804
- bgl:[{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}],
805
- meterbooks:[{label: '全部',value: ''}], //抄表册
806
- tempfalg :false,
807
- lastorgstr:'',
808
- allorgid:[],
809
- inputtores:[{label: '全部',value: ''}], //抄表员
810
- //表册片区
811
- bookSlice:[{label: '全部',value: ''}],
812
- imgshow:false,
813
- imgfilename:'',
814
- percent:0,
815
- progressShow:false,
816
- uuida:'',
817
- timer:'',
818
- }
819
- },
820
- ready() {
821
- this.getaddress()
822
- readySomething(this).then(() => {
823
- this.$emit('ready')
824
- }).catch((error) => {
825
- this.$emit('error', error)
826
- })
827
- },
828
- methods: {
829
- getuuid(){
830
- let uuidA = '';
831
- var s = [];
832
- var hexDigits = '0123456789abcdef';
833
- for (var i = 0; i < 36; i++) {
834
- s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
835
- }
836
- s[14] = '4';
837
- s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
838
- s[8] = s[13] = s[18] = s[23] = '-';
839
- uuidA = s.join('');
840
- this.uuida = uuidA;
841
- },
842
- progressclose(){
843
- this.progressShow = false;
844
- if(this.timer != null){
845
- clearInterval(this.timer);
846
- }
847
- },
848
- //初始化片区
849
- async initSlice (val) {
850
- if (val) {
851
- let getAllArea = await this.$resetpost('/rs/search', {
852
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
853
- userid: this.$login.f.id
854
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
855
- let arr = getAllArea.data.filter((res) => {
856
- return res.parentid == val
857
- })
858
- this.bookSlice = []
859
- arr.forEach((res) => {
860
- this.bookSlice.push({label: res.name, value: res.name})
861
- })
862
- }
863
- },
864
- //表册片区和抄表册关联
865
- async inputtorchange(){
866
- this.$set('$refs.paged.$refs.cri.model.f_meter_book',[]);
867
- /*let val1=this.$refs.paged.$refs.cri.model.f_meter_book*/
868
- let val2=this.$refs.paged.$refs.cri.model.f_book_slice_area
869
- if((val2.length>0)){
870
- let condition = ` 1=1 and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `
871
- let aaa = '('
872
- val2.forEach((item) => {
873
- aaa = aaa + `'${item}',`
874
- })
875
- aaa = aaa + `'')`
876
- condition = condition + ` and f_book_slice_area in ${aaa} `
877
- let param={
878
- items:'*',
879
- tablename:'t_meter_book',
880
- condition:condition,
881
- orderitem:'id'
882
- }
883
- let getMeterBooks = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {data: param}, {resolveMsg: null, rejectMsg: '获取营收参数出错!!!'})
884
- if (getMeterBooks.data) {
885
- if(getMeterBooks.data.length >0){
886
- let rs = [];
887
- getMeterBooks.data.forEach((item)=>{
888
- let temp = {
889
- label:item.f_book_name,
890
- value:item.id
891
- };
892
- rs.push(temp);
893
-
894
- })
895
- this.meterbooks = [{label: '全部',value: ''}, ...rs];
896
- }else{
897
- this.meterbooks = [{label: '全部',value: ''}];
898
- }
899
- }
900
- }else{
901
- this.meterbooks = [{label: '全部',value: ''}];
902
- this.initmeterbook();
903
- }
904
- },
905
- async initmeterbook(orgstr){
906
- if(orgstr == null ){
907
- orgstr = this.f_filialeid;
908
- }
909
- //获取新的抄表册,先去清理所有的抄表册
910
- this.$GetSaleParam.meterbooks = [];
911
- //开始加载新的抄表册
912
- await this.$LoadParams.loadMeterBook(orgstr)
913
- this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
914
- },
915
-
916
- async getinputtores () {
917
- // 获取抄表员
918
- let rs = []
919
- if (this.$login.f.f_gasman.length > 0) {
920
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
921
- let temp = {
922
- label: this.$login.f.f_gasman[i].name,
923
- value: this.$login.f.f_gasman[i].name
924
- }
925
- rs.push(temp)
926
- }
927
- }
928
- this.inputtores = [{label: '全部', value: ''}, ...rs]
929
- this.inputtores.push({label: "微信公众号", value: "微信公众号"})
930
- },
931
- async updateParams() {
932
- await this.$MagLoadParams.loadParam(this.f_filialeid)
933
- this.inputtores = [];
934
- this.inputtores.push({label: "全部", value: ""})
935
- this.initSlice(this.f_filialeid)
936
- if(this.allorgid!=null){
937
- this.allorgid.forEach((res)=>{
938
- this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
939
- })
940
- }
941
- this.initParams()
942
- },
943
- view(row){
944
- this.showupload = true
945
- this.selected= row
946
- },
947
- imgclose(){
948
- this.imgshow = false
949
- },
950
- imgShow(val){
951
- this.imgfilename = `rs/image/file/`+val
952
- this.imgshow = true
953
- },
954
- initParams() {
955
- // 初始化气表品牌
956
- let brandArr = []
957
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
958
- let temp = {}
959
- temp.label = item.label
960
- temp.value = item.value.f_meter_brand
961
- brandArr.push(temp)
962
- })
963
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
964
- //初始化气价
965
- let result = []
966
- this.$MagGetSaleParam.prices.forEach((item) => {
967
- if (item.f_state === '有效' && this.$login.f.orgid == item.f_filialeid) {
968
- let value = {
969
- label: item.f_price_name,
970
- value: item.f_price_name
971
- }
972
- result.push(value)
973
- }
974
- })
975
- let hash = {}
976
- result = result.reduce((item, next) => {
977
- hash[next.label] ? '' : hash[next.label] = true && item.push(next)
978
- return item
979
- }, [])
980
- this.prices = Array.from(new Set(result))
981
- },
982
- getotherfooter(){
983
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
984
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
985
- this.other=[];
986
- this.footer=[];
987
- let exportdata = this.getCondition;
988
- let otherInData=[];
989
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
990
- let footerData=[],exportfield=this.getfield;
991
- footerData.push("合计");
992
- debugger
993
- let self = this;
994
- for(var field in self.sumsmodel){
995
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
996
- }
997
- this.footer.push(footerData);
998
- this.other.push(otherInData);
999
- },
1000
- async getaddress(){
1001
- let HttpReset = new HttpResetClass()
1002
- var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
1003
- data: {
1004
- // condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
1005
- condition: `1=1`
1006
- }
1007
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
1008
- console.log('小区',data)
1009
- let house = [{label: '全部', value: ''}]
1010
- for (let row of data.data){
1011
- house.push({label: row.f_residential_area, value: row.f_residential_area})
1012
- }
1013
- this.residentialArea = house
1014
-
1015
-
1016
- console.log('开始获取区域')
1017
- var req = await HttpReset.load('POST','api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
1018
- data: {
1019
- items: '*',
1020
- tablename: 't_pcd',
1021
- orderitem: 'id',
1022
- condition: `1=1`
1023
- }
1024
- }, {resolveMsg: null, rejectMsg: '获取区域失败!'})
1025
-
1026
- let redata = []
1027
- console.log('区域是:',req)
1028
- req.data.forEach((row, n) => {
1029
- redata[n] = {
1030
- label: row.f_pcd,
1031
- value: row.id,
1032
- data: row,
1033
- id: row.id
1034
- }
1035
- })
1036
- console.log('获取到的小区',redata)
1037
- this.pcdslist = redata
1038
- },
1039
- Fileinput(){
1040
- this.batchmoneyShow=true;
1041
- },
1042
- search(){
1043
- this.$refs.paged.$refs.cri.search()
1044
- },
1045
- cancel() {
1046
- this.show = false
1047
- },
1048
- selfSearch(args) {
1049
- if (!args.model.startDate) {
1050
- this.$showMessage('开始日期必填!')
1051
- return
1052
- }
1053
- if (!args.model.endDate) {
1054
- this.$showMessage('结束日期必填!')
1055
- return
1056
- }
1057
- if (this.data) {
1058
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
1059
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
1060
- }
1061
- this.area = this.$refs.paged.$refs.cri.model.f_residential_area
1062
- if(this.area.length !== 0){
1063
- let str = JSON.stringify(this.area)
1064
- str = str.replace(/"/g,`'`)
1065
- str = str.replace(/\[/g,``)
1066
- str = str.replace(/\]/g,``)
1067
- //查询多个小区时条件
1068
- args.condition += ` and f_residential_area in ( ${str} )`
1069
- }
1070
- //抄表员查询条件
1071
- this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
1072
- if(this.inputtouPerson.length !== 0){
1073
- let str = JSON.stringify(this.inputtouPerson)
1074
- str = str.replace(/"/g,`'`)
1075
- str = str.replace(/\[/g,``)
1076
- str = str.replace(/\]/g,``)
1077
- //查询多个抄表员时条件
1078
- args.condition += ` and f_inputtor in ( ${str} )`
1079
- }
1080
-
1081
- args.condition = `${args.condition} ` + this.orgCondtionStr + this.userOrgConditionStr
1082
- this.model.search(args.condition, args.model)
1083
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
1084
- },
1085
- clear() {
1086
- if (this.$refs.paged.$refs.cri.$refs.usersel && this.$refs.paged.$refs.cri.$refs.usersel.resetAll) {
1087
- this.$refs.paged.$refs.cri.$refs.usersel.resetAll()
1088
- }
1089
- this.orgCondtionStr = ''
1090
- this.userOrgConditionStr = ''
1091
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
1092
- this.$refs.paged.$refs.cri.model[key] = []
1093
- })
1094
- this.$refs.paged.$refs.cri.model.f_meter_classify = []
1095
- },
1096
- show() {
1097
- this.criteriaShow = true
1098
- },
1099
- hidden() {
1100
- this.criteriaShow = !this.criteriaShow
1101
- },
1102
- async getRes(condition,obj) {
1103
- this.orgCondtionStr = condition
1104
-
1105
- },
1106
- getUserRes (condition) {
1107
- this.userOrgConditionStr = condition
1108
- },
1109
- stamp() {
1110
- this.all = false
1111
- //默认选择要打印的列
1112
- this.modelval = defaultPrint.config
1113
- this.fields = this.getfield
1114
- this.printshow = true
1115
- this.put()
1116
- },
1117
- put() {
1118
- // 对Modelval进行排序
1119
- this.sortModelval()
1120
- this.thead = `<tr><th colspan=${this.modelval.length}>抄表查询统计报表</th></tr><tr>`
1121
- for (let key of this.modelval) {
1122
- this.thead += '<th>' + this.fields[key] + '</th>'
1123
- }
1124
- this.thead += '</tr>'
1125
- },
1126
- print() {
1127
- this.$refs.print.PrintAsFile()
1128
- this.printshow = false
1129
- },
1130
- dealmsg(val) {
1131
- this.rowdata=val
1132
- this.show=true
1133
- val.model = this.model.model
1134
- this.$dispatch('deal-msg', val)
1135
- },
1136
- close() {
1137
- this.printshow = false
1138
- this.all = false
1139
- },
1140
-
1141
- userTypeChange () {
1142
- this.gasproperties=[]
1143
- if(this.$refs.paged.$refs.cri.model !==null) {
1144
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
1145
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
1146
- }
1147
- else{
1148
- this.gasproperties =[{label: '全部', value: ''}]
1149
- }
1150
- },
1151
- // 对选择的列进行排序
1152
- sortModelval() {
1153
- let sortModel = []
1154
- Object.keys(this.fields).forEach((key) => {
1155
- if (this.modelval.includes(key)) {
1156
- sortModel.push(key)
1157
- }
1158
- })
1159
- this.modelval = sortModel
1160
- }
1161
- },
1162
- watch: {
1163
- 'model.rows'(val) {
1164
- if(val.length === 0){
1165
- this.sumsmodel = {}
1166
- }
1167
- },
1168
- async 'orgCondtionStr'(val) {
1169
- this.$refs.paged.$refs.cri.model.f_inputtor=[]
1170
- this.$refs.paged.$refs.cri.model.f_book_slice_area=[]
1171
- this.$refs.paged.$refs.cri.model.f_meter_book = []
1172
- this.meterbooks = [{label: '全部',value: ''}];
1173
- if(this.lastorgstr != val){
1174
- this.tempfalg = true;
1175
- this.lastorgstr = val;
1176
- }
1177
- if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
1178
- this.tempfalg = false;
1179
- let a = val.substring(val.indexOf("(")+2)
1180
- await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
1181
- }
1182
- let res = val.match(/'(.*?)'/)
1183
- console.log('正则提取:',res && res[1])
1184
- if (res) {
1185
- this.f_filialeid = res[1]
1186
- if(res.input !=null){
1187
- let resorgid = res.input.substring(res.input.indexOf("'"));
1188
- if(resorgid!= null && resorgid!=''){
1189
- resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
1190
- // resorgid = resorgid.replaceAll("'","");
1191
- resorgid = resorgid.replace(/'/g,"");
1192
- this.allorgid = resorgid.split(",")
1193
- }
1194
- }
1195
- this.updateParams()
1196
- }
1197
- },
1198
- 'all'(val) {
1199
- if (val) {
1200
- this.modelval = this.bodyData
1201
- } else {
1202
- this.modelval = defaultPrint.config
1203
- this.put()
1204
- }
1205
- },
1206
- 'modelval.length'() {
1207
- this.put()
1208
- },
1209
- sumsmodel:{
1210
- handler: function(val) {
1211
- this.getotherfooter();
1212
- },
1213
- deep: true
1214
- }
1215
- },
1216
- computed: {
1217
-
1218
- metertypes() {
1219
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
1220
- },
1221
- banklist() {
1222
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('银行名称')]
1223
- },
1224
- getCondition() {
1225
- return {
1226
- startDate: this.$refs.paged.$refs.cri.model.startDate,
1227
- endDate: this.$refs.paged.$refs.cri.model.endDate,
1228
- condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr + this.userOrgConditionStr}
1229
- },
1230
- getfield() {
1231
- return exportConfig.handplanConfig
1232
- },
1233
- getBankfield(){
1234
- return exportConfig.batchBankConfig2
1235
- },
1236
- usertypes() {
1237
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
1238
- },
1239
- accountsState() {
1240
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('下账状态')]
1241
- },
1242
- meterstate() {
1243
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
1244
- },
1245
- handstate() {
1246
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
1247
- },
1248
- // inputtor() {
1249
- // return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
1250
- // },
1251
- pricetypes() {
1252
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
1253
- },
1254
- getPricenames() {
1255
- let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
1256
- let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
1257
- let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
1258
- console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
1259
- if(this.$refs.paged.$refs.cri.model !==null) {
1260
- let rs = []
1261
- let priceArr = []
1262
- if ( pricetype.length >0) {
1263
- let params = {
1264
- f_price_type: pricetype[0],
1265
- filter: this.f_filialeid,
1266
- prices: this.prices
1267
- }
1268
- this.$MagGetSaleParam.getPrice(params).forEach((item) => {
1269
- let temp = {}
1270
- temp.label = item.label
1271
- temp.value = item.value.f_price_name
1272
- priceArr.push(temp)
1273
- })
1274
- rs = [{label: '全部', value: ''}, ...priceArr]
1275
- }
1276
- if (rs.length === 0) {
1277
- console.log('rs读出来是空')
1278
- this.$refs.paged.$refs.cri.model.f_price_name = ''
1279
- }
1280
- return rs
1281
- }
1282
- },
1283
- inputtor () {
1284
- // 获取抄表员
1285
- console.log('获取抄表员', this.$login.f)
1286
- let rs = []
1287
- if (this.$login.f.f_gasman.length > 0) {
1288
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
1289
- let temp = {
1290
- label: this.$login.f.f_gasman[i].name,
1291
- value: this.$login.f.f_gasman[i].name
1292
- }
1293
- rs.push(temp)
1294
- }
1295
- }
1296
-
1297
- return [{label: '全部', value: ''}, ...rs]
1298
- },
1299
- whetherPay() {
1300
- return [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
1301
- },
1302
-
1303
- },
1304
- events:{
1305
- 'onFileUpload': async function (file, res) {
1306
- if (this.batchmoneyShow) {
1307
- this.percent = 0;
1308
- this.getuuid();
1309
- let param = {
1310
- filepath: res.f_downloadpath,
1311
- f_operator: this.$login.f.name,
1312
- f_operatorid: this.$login.f.id,
1313
- f_orgid: this.$login.f.orgid,
1314
- f_orgname: this.$login.f.orgs,
1315
- f_depid: this.$login.f.depids,
1316
- f_depname: this.$login.f.deps,
1317
- uuid: this.uuida
1318
- }
1319
- this.batchmoneyShow=false;
1320
- try{
1321
- await this.$resetpost('api/af-revenue/logic/SumSettleFileImport',{data: param},{resolveMsg: null, rejectMsg: null},1000).then((res)=>{
1322
- if(res.data){
1323
- }
1324
- })
1325
- }catch(error){}
1326
- let getparam = {
1327
- uuid: this.uuida
1328
- }
1329
- let self = this;
1330
- this.progressShow=true;
1331
- this.timer = setInterval(function(){
1332
- self.$resetpost('/api/af-revenue/logic/getBatchOperaPro',{data:getparam},{resolveMsg: null, rejectMsg: null}, 0).then((res)=>{
1333
- if(res.data ){
1334
- if(res.data.speed){
1335
- if(res.data.speed>= 100){
1336
- clearInterval(self.timer);
1337
- if(res.data.speed){
1338
- self.percent = 99;
1339
- }
1340
- setTimeout(()=>{
1341
- self.percent = 100;
1342
- self.progressclose();
1343
- self.$showMessage(`导入成功! 累计导入:${res.data.totalsum}, 成功:${res.data.successsum},失败:${res.data.errorsum}(包含之前导入${res.data.aftersum}),失败数据请在稽查查询中错误查询进行查看!!`);
1344
- },600);
1345
- }else{
1346
- self.percent = res.data.speed
1347
- }
1348
- }else{
1349
- self.percent=0;
1350
- }
1351
- }
1352
- });
1353
- },3000);
1354
- }
1355
- }
1356
- }
1357
- }
1358
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search" v-if="!show">
4
+ <div class="flex">
5
+
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+
11
+ <div class="col-sm-2 form-group">
12
+ <label for="startDate" class="font_normal_body">录入日期</label>
13
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
14
+ v-model="model.startDate"
15
+ :value.sync="model.startDate"
16
+ :format="'yyyy-MM-dd HH:mm:ss'"
17
+ :show-reset-button="true"
18
+ condition="f_input_date >= '{}'">
19
+ </datepicker>
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&ensp;</label>
23
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
24
+ v-model="model.endDate"
25
+ :value.sync="model.endDate"
26
+ :format="'yyyy-MM-dd HH:mm:ss'"
27
+ :show-reset-button="true"
28
+ condition="f_input_date <= '{}'">
29
+ </datepicker>
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body">客户编号</label>
33
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
34
+ condition="f_userinfo_code like '%{}%' " placeholder="客户编号">
35
+ </div>
36
+ <div class="col-sm-2 form-group">
37
+ <label class="font_normal_body">客户名称</label>
38
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
39
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
40
+ </div>
41
+ <div class="span" style="float:right;">
42
+ <button class="button_search button_spacing" @click="search()">查询</button>
43
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
+
45
+ <button class="btn btn-default" @click="$parent.$parent.Fileinput()">反盘导入</button>
46
+ <export-excel :data="$parent.$parent.getCondition"
47
+ :field="$parent.$parent.getBankfield" :header="$parent.$parent.other"
48
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="newhandplanQuery" template-name='送盘导出' btn-name="送盘导出"
49
+ :choose-col="true"></export-excel>
50
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
51
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
52
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="handplanQuery" template-name='抄表查询导出'
53
+ :choose-col="true"></export-excel>
54
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
55
+ :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
56
+ titletable="抄表查询"
57
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
58
+
59
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
60
+ </div>
61
+ </div>
62
+ <div class="row" v-show="$parent.$parent.criteriaShow">
63
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
64
+
65
+
66
+ <div class="col-sm-2 form-group">
67
+ <label class="font_normal_body">小区名称</label>
68
+ <v-select :value.sync="model.f_residential_area"
69
+ class="select_list select"
70
+ enter-push
71
+ multiple = "true"
72
+ v-model="model.f_residential_area"
73
+ style="width: 60%"
74
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
75
+ close-on-select>
76
+
77
+ </v-select>
78
+ </div>
79
+ <div
80
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
81
+ class="form-group">
82
+ <label class="font_normal_body">区&nbsp;&nbsp;&nbsp;&nbsp;域</label>
83
+ <v-select
84
+ :multiple="true"
85
+ v-model="model.f_pcd"
86
+ placeholder='选择区域'
87
+ :value.sync="model.f_pcd"
88
+ :options='$parent.$parent.pcdslist'
89
+ condition="f_pcd_id in {}"
90
+ style="width: 60%"
91
+ close-on-select >
92
+ </v-select>
93
+ </div>
94
+ <div class="col-sm-2 form-group">
95
+ <label class="font_normal_body">楼&emsp;栋&emsp;</label>
96
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_building"
97
+ condition="f_building like '%{}%'" placeholder="楼栋">
98
+ </div>
99
+ <div class="col-sm-2 form-group">
100
+ <label class="font_normal_body">客户地址</label>
101
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
102
+ condition="f_address like '%{}%'" placeholder='客户地址'>
103
+ </div>
104
+ <div class="col-sm-2 form-group">
105
+ <label class="font_normal_body">抄表状态</label>
106
+ <v-select :value.sync="model.f_meter_state"
107
+ v-model="model.f_meter_state"
108
+ :options='$parent.$parent.meterstate' placeholder='请选择'
109
+ condition="f_meter_state = '{}'"
110
+ close-on-select></v-select>
111
+ </div>
112
+ <div class="col-sm-2 form-group">
113
+ <label class="font_normal_body">表单状态</label>
114
+ <v-select :value.sync="model.f_hand_state"
115
+ v-model="model.f_hand_state"
116
+ :options='$parent.$parent.handstate' placeholder='请选择'
117
+ condition="f_hand_state = '{}'"
118
+ close-on-select></v-select>
119
+ </div>
120
+ <div class="col-sm-2 form-group">
121
+ <label class="font_normal_body">录入人员</label>
122
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_input_person"
123
+ condition="f_input_person like '%{}%'" placeholder='录入人员'>
124
+ </div>
125
+ <div class="col-sm-2 form-group">
126
+ <label class="font_normal_body">是否缴费</label>
127
+ <v-select :value.sync="model.f_whether_pay"
128
+ v-model="model.f_whether_pay"
129
+ :options='$parent.$parent.whetherPay' placeholder='请选择'
130
+ condition="f_whether_pay = '{}'"
131
+ close-on-select></v-select>
132
+ </div>
133
+ <div class="col-sm-2 form-group">
134
+ <label class="font_normal_body">&ensp;壁挂炉&ensp;</label>
135
+ <v-select :value.sync="model.isbgl"
136
+ v-model="model.isbgl"
137
+ :options='$parent.$parent.bgl' placeholder='请选择'
138
+ condition="isbgl = '{}'"
139
+ close-on-select></v-select>
140
+ </div>
141
+ <div class="col-sm-2 form-group">
142
+ <label class="font_normal_body">客户类型</label>
143
+ <v-select :value.sync="model.f_user_type"
144
+ @change="$parent.$parent.userTypeChange()"
145
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
146
+ condition="f_user_type = '{}'"
147
+ close-on-select></v-select>
148
+ </div>
149
+ <div class="col-sm-2 form-group">
150
+ <label class="font_normal_body">用气性质</label>
151
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
152
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
153
+ condition="f_gasproperties = '{}'"
154
+ close-on-select></v-select>
155
+ </div>
156
+ <div class="col-sm-2 form-group">
157
+ <label class="font_normal_body">气价类型</label>
158
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype"
159
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
160
+ close-on-select v-ref:type>
161
+ </v-select>
162
+ </div>
163
+ <div class="col-sm-2 form-group">
164
+ <label class="font_normal_body">气价名称</label>
165
+ <v-select :value.sync="model.f_price_name"
166
+ v-model="model.f_price_name"
167
+ :options="$parent.$parent.getPricenames"
168
+ condition="f_price_name = '{}'"
169
+ close-on-select></v-select>
170
+ </div>
171
+ <div class="col-sm-2 form-group">
172
+ <label class="font_normal_body">下账状态</label>
173
+ <v-select :value.sync="model.f_accounts_state"
174
+ :options='$parent.$parent.accountsState' placeholder='请选择' v-model="model.f_accounts_state"
175
+ condition="f_accounts_state = '{}'"
176
+ close-on-select></v-select>
177
+ </div>
178
+ <div class="col-sm-2 form-group">
179
+ <label class="font_normal_body">气表类型</label>
180
+ <v-select :value.sync="model.f_meter_classify" multiple
181
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_classify"
182
+ condition="f_meter_classify in {}"
183
+ close-on-select></v-select>
184
+ </div>
185
+ <div class="col-sm-2 form-group">
186
+ <label class="font_normal_body">气表品牌</label>
187
+ <v-select :value.sync="model.f_meter_brand" multiple
188
+ v-model="model.f_meter_brand"
189
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
190
+ condition="f_meter_brand in {}"
191
+ close-on-select></v-select>
192
+ </div>
193
+ <div class="col-sm-2 form-group">
194
+ <label class="font_normal_body">用&ensp;气&ensp;量</label>
195
+ <input type="text" style="width:30%" class="input_search" title="大于等于"
196
+ v-model="model.f_oughtamount_big" condition="f_oughtamount >= {}" placeholder='大于等于'>
197
+ <input type="text" style="width:30%" class="input_search" title="小于等于"
198
+ v-model="model.f_oughtamount_small" condition="f_oughtamount <= {}" placeholder='小于等于'>
199
+ </div>
200
+ <!-- <div class="col-sm-2 form-group">-->
201
+ <!-- <label class="font_normal_body">气价名称</label>-->
202
+ <!-- <v-select :value.sync="model.f_price_name" v-model="model.f_price_name" :options="$parent.$parent.prices"-->
203
+ <!-- condition="f_price_name = '{}'" close-on-select></v-select>-->
204
+ <!-- </div>-->
205
+ <div class="col-sm-2 form-group">
206
+ <label class="font_normal_body">&ensp;表&ensp;号&ensp;&ensp;</label>
207
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
208
+ condition="f_meternumber = '{}' " placeholder="表号">
209
+ </div>
210
+ <div class="col-sm-2 form-group">
211
+ <label for="startDate" class="font_normal_body">下发日期</label>
212
+ <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
213
+ v-model="model.handStartDate"
214
+ :value.sync="model.handStartDate"
215
+ :format="'yyyy-MM-dd 00:00:00'"
216
+ :show-reset-button="true"
217
+ condition="f_hand_date >= '{}'">
218
+ </datepicker>
219
+ </div>
220
+ <div class="col-sm-2 form-group">
221
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
222
+ <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
223
+ v-model="model.handEndDate"
224
+ :value.sync="model.handEndDate"
225
+ :format="'yyyy-MM-dd 23:59:59'"
226
+ :show-reset-button="true"
227
+ condition="f_hand_date <= '{}'">
228
+ </datepicker>
229
+ </div>
230
+ <div class="col-sm-2 form-group">
231
+ <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
232
+ <v-select :value.sync="model.f_inputtor"
233
+ v-model="model.f_inputtor"
234
+ :options='$parent.$parent.inputtores' placeholder='请选择'
235
+ condition="f_inputtor = '{}'"
236
+ close-on-select :search="false">
237
+ </v-select>
238
+ </div>
239
+ <!--表册片区-->
240
+ <div class="col-sm-2 form-group">
241
+ <label class="font_normal_body">表册片区</label>
242
+ <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
243
+ @change="$parent.$parent.inputtorchange"
244
+ multiple
245
+ :options='$parent.$parent.bookSlice' placeholder='片区/表册'
246
+ style="width:60%"
247
+ close-on-select
248
+ condition="f_book_slice_area in {}"></v-select>
249
+ </div>
250
+ <div class="col-sm-2 form-group">
251
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
252
+ <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
253
+ :options='$parent.$parent.meterbooks' placeholder='抄表册'
254
+ style="width:60%"
255
+ multiple
256
+ close-on-select
257
+ condition="f_meter_book_num in {}"></v-select>
258
+ </div>
259
+ <div class="col-sm-2 form-group" >
260
+ <label for="belongmonth" class="font_normal_body" >所属年月</label>
261
+ <datepicker placeholder="所属年月" style="width:60%"
262
+ v-model="model.belongmonth"
263
+ :value.sync="model.belongmonth"
264
+ :format="'yyyy-MM'"
265
+ :show-reset-button="true"
266
+ condition="belongmonth = '{}'"
267
+ :select-month="true">
268
+ </datepicker>
269
+ </div>
270
+ <div class="col-sm-2 form-group">
271
+ <label class="font_normal_body">银行名称</label>
272
+ <v-select :value.sync="model.f_bank_name" v-model="model.f_bank_name"
273
+ :options='$parent.$parent.banklist' placeholder='银行名称'
274
+ style="width:60%"
275
+ close-on-select
276
+ condition="f_bank_name = '{}'"></v-select>
277
+ </div>
278
+ <div class="col-sm-2 form-group">
279
+ <label for="startDate" class="font_normal_body">收费日期</label>
280
+ <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
281
+ v-model="model.sellStartDate"
282
+ :value.sync="model.sellStartDate"
283
+ :format="'yyyy-MM-dd 00:00:00'"
284
+ :show-reset-button="true"
285
+ condition="f_sellinggas_operate_date >= '{}'">
286
+ </datepicker>
287
+ </div>
288
+ <div class="col-sm-2 form-group">
289
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;</label>
290
+ <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
291
+ v-model="model.sellEndDate"
292
+ :value.sync="model.sellEndDate"
293
+ :format="'yyyy-MM-dd 23:59:59'"
294
+ :show-reset-button="true"
295
+ condition="f_sellinggas_operate_date <= '{}'">
296
+ </datepicker>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ </criteria>
301
+
302
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
303
+ <template partial='head'>
304
+ <tr>
305
+ <th>
306
+ <nobr>客户编号</nobr>
307
+ </th>
308
+ <th>
309
+ <nobr>客户名称</nobr>
310
+ </th>
311
+ <th>
312
+ <nobr>片区</nobr>
313
+ </th>
314
+ <th>
315
+ <nobr>表册片区</nobr>
316
+ </th>
317
+ <th>
318
+ <nobr>客户地址</nobr>
319
+ </th>
320
+ <th>
321
+ <nobr>客户手机</nobr>
322
+ </th>
323
+ <th>
324
+ <nobr>表号</nobr>
325
+ </th>
326
+ <th>
327
+ <nobr>数据年月</nobr>
328
+ </th>
329
+ <th>
330
+ <nobr>上期底数</nobr>
331
+ </th>
332
+ <th>
333
+ <nobr>本期底数</nobr>
334
+ </th>
335
+ <th>
336
+ <nobr>用气量</nobr>
337
+ </th>
338
+ <th>
339
+ <nobr>违约金</nobr>
340
+ </th>
341
+ <th>
342
+ <nobr>用气金额</nobr>
343
+ </th>
344
+ <th>
345
+ <nobr>已交金额</nobr>
346
+ </th>
347
+ <th>
348
+ <nobr>欠费金额</nobr>
349
+ </th>
350
+ <th>
351
+ <nobr>优惠金额</nobr>
352
+ </th>
353
+ <th>
354
+ <nobr>上期余额</nobr>
355
+ </th>
356
+ <th>
357
+ <nobr>本期余额</nobr>
358
+ </th>
359
+ <th>
360
+ <nobr>下账状态</nobr>
361
+ </th>
362
+ <th>
363
+ <nobr>收费时间</nobr>
364
+ </th>
365
+ <th>
366
+ <nobr>收费人员</nobr>
367
+ </th>
368
+ <th>
369
+ <nobr>冲正时间</nobr>
370
+ </th>
371
+ <th>
372
+ <nobr>冲正人员</nobr>
373
+ </th>
374
+ <th>
375
+ <nobr>下发日期</nobr>
376
+ </th>
377
+ <th>
378
+ <nobr>所属年月</nobr>
379
+ </th>
380
+ <th>
381
+ <nobr>录入日期</nobr>
382
+ </th>
383
+ <th>
384
+ <nobr>气价名称</nobr>
385
+ </th>
386
+ <th>
387
+ <nobr>一阶气量</nobr>
388
+ </th>
389
+ <th>
390
+ <nobr>一阶单价</nobr>
391
+ </th>
392
+ <th>
393
+ <nobr>一阶气费</nobr>
394
+ </th>
395
+ <th>
396
+ <nobr>二阶气量</nobr>
397
+ </th>
398
+ <th>
399
+ <nobr>二阶单价</nobr>
400
+ </th>
401
+ <th>
402
+ <nobr>二阶气费</nobr>
403
+ </th>
404
+ <th>
405
+ <nobr>三阶气量</nobr>
406
+ </th>
407
+ <th>
408
+ <nobr>三阶单价</nobr>
409
+ </th>
410
+ <th>
411
+ <nobr>三阶气费</nobr>
412
+ </th>
413
+ <th>
414
+ <nobr>天数</nobr>
415
+ </th>
416
+ <th>
417
+ <nobr>抄表员</nobr>
418
+ </th>
419
+ <th>
420
+ <nobr>录入人员</nobr>
421
+ </th>
422
+ <th>
423
+ <nobr>是否缴费</nobr>
424
+ </th>
425
+
426
+ <th>
427
+ <nobr>抄表状态</nobr>
428
+ </th>
429
+ <th>
430
+ <nobr>是否壁挂炉</nobr>
431
+ </th>
432
+ <th>
433
+ <nobr>状态</nobr>
434
+ </th>
435
+ <th>
436
+ <nobr>下发人员</nobr>
437
+ </th>
438
+ <th>
439
+ <nobr>部门</nobr>
440
+ </th>
441
+ <th>
442
+ <nobr>公司</nobr>
443
+ </th>
444
+ <th><nobr>附件</nobr></th>
445
+ </tr>
446
+ </template>
447
+ <template partial='body'>
448
+ <td style="text-align: center;">
449
+ <nobr>
450
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
451
+ </td>
452
+ <td style="text-align: center;">
453
+ <nobr>{{row.f_user_name}}</nobr>
454
+ </td>
455
+ <td style="text-align: center;">
456
+ <nobr>{{row.f_zones}}</nobr>
457
+ </td>
458
+ <td style="text-align: center;">
459
+ <nobr>{{row.f_book_slice_area}}</nobr>
460
+ </td>
461
+ <td style="text-align: center;">
462
+ <nobr>{{row.f_address}}</nobr>
463
+ </td>
464
+
465
+ <td style="text-align: center;">
466
+ <nobr>{{row.phone}}</nobr>
467
+ </td>
468
+ <td style="text-align: center;">
469
+ <nobr>{{row.f_meternumber}}</nobr>
470
+ </td>
471
+ <td style="text-align: center;">
472
+ <nobr>{{row.ym_data}}</nobr>
473
+ </td>
474
+ <td style="text-align: center;">
475
+ <nobr>{{row.f_last_tablebase}}</nobr>
476
+ </td>
477
+ <td style="text-align: center;">
478
+ <nobr>{{row.f_tablebase}}</nobr>
479
+ </td>
480
+ <td style="text-align: center;">
481
+ <nobr>{{row.f_oughtamount}}</nobr>
482
+ </td>
483
+ <td style="text-align: center;">
484
+ <nobr>{{row.overdue}}</nobr>
485
+ </td>
486
+ <td style="text-align: center;">
487
+ <nobr>{{row.f_oughtfee}}</nobr>
488
+ </td>
489
+ <td style="text-align: center;">
490
+ <nobr>{{row.f_debt_money}}</nobr>
491
+ </td>
492
+ <td style="text-align: center;">
493
+ <nobr>{{row.f_actual_arrears}}</nobr>
494
+ </td>
495
+ <td style="text-align: center;">
496
+ <nobr>{{row.f_privilege_money}}</nobr>
497
+ </td>
498
+ <td style="text-align: center;">
499
+ <nobr>{{row.f_balance}}</nobr>
500
+ </td>
501
+ <td style="text-align: center;">
502
+ <nobr>{{row.f_curbalance}}</nobr>
503
+ </td>
504
+ <td style="text-align: center;">
505
+ <nobr>{{row.f_accounts_state}}</nobr>
506
+ </td>
507
+ <td style="text-align: center;">
508
+ <nobr>{{row.f_sellinggas_operate_date}}</nobr>
509
+ </td>
510
+ <td style="text-align: center;">
511
+ <nobr>{{row.f_sell_operator}}</nobr>
512
+ </td>
513
+ <td style="text-align: center;">
514
+ <nobr>{{row.f_corrhand_date}}</nobr>
515
+ </td>
516
+ <td style="text-align: center;">
517
+ <nobr>{{row.f_corrhand_operator}}</nobr>
518
+ </td>
519
+ <td style="text-align: center;">
520
+ <nobr>{{row.f_hand_date}}</nobr>
521
+ </td>
522
+ <td>
523
+ <nobr>{{row.belongmonth}}</nobr>
524
+ </td>
525
+ <td style="text-align: center;">
526
+ <nobr>{{row.f_input_date}}</nobr>
527
+ </td>
528
+ <td style="text-align: center;">
529
+ <nobr>{{row.f_price_name}}</nobr>
530
+ </td>
531
+ <td style="text-align: center;">
532
+ <nobr>{{row.f_stair1amount}}</nobr>
533
+ </td>
534
+ <td style="text-align: center;">
535
+ <nobr>{{row.f_stair1price}}</nobr>
536
+ </td>
537
+ <td style="text-align: center;">
538
+ <nobr>{{row.f_stair1fee}}</nobr>
539
+ </td>
540
+ <td style="text-align: center;">
541
+ <nobr>{{row.f_stair2amount}}</nobr>
542
+ </td>
543
+ <td style="text-align: center;">
544
+ <nobr>{{row.f_stair2price}}</nobr>
545
+ </td>
546
+ <td style="text-align: center;">
547
+ <nobr>{{row.f_stair2fee}}</nobr>
548
+ </td>
549
+ <td style="text-align: center;">
550
+ <nobr>{{row.f_stair3amount}}</nobr>
551
+ </td>
552
+ <td style="text-align: center;">
553
+ <nobr>{{row.f_stair3price}}</nobr>
554
+ </td>
555
+ <td style="text-align: center;">
556
+ <nobr>{{row.f_stair3fee}}</nobr>
557
+ </td>
558
+ <td style="text-align: center;">
559
+ <nobr>{{row.dd}}</nobr>
560
+ </td>
561
+ <td style="text-align: center;">
562
+ <nobr>{{row.f_inputtor}}</nobr>
563
+ </td>
564
+ <td style="text-align: center;">
565
+ <nobr>{{row.f_input_person}}</nobr>
566
+ </td>
567
+ <td style="text-align: center;">
568
+ <nobr>{{row.f_whether_pay}}</nobr>
569
+ </td>
570
+
571
+ <td style="text-align: center;">
572
+ <nobr>{{row.f_meter_state}}</nobr>
573
+ </td>
574
+ <td style="text-align: center;">
575
+ <nobr>{{row.isbgl}}</nobr>
576
+ </td>
577
+ <td style="text-align: center;">
578
+ <nobr>{{row.f_hand_state}}</nobr>
579
+ </td>
580
+ <td style="text-align: center;">
581
+ <nobr>{{row.f_operator}}</nobr>
582
+ </td>
583
+ <td style="text-align: center;">
584
+ <nobr>{{row.f_depname}}</nobr>
585
+ </td>
586
+ <td style="text-align: center;">
587
+ <nobr>{{row.f_orgname}}</nobr>
588
+ </td>
589
+ <td style="text-align: center;"><nobr>
590
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
591
+ <button v-if="row.f_notified_path" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.imgShow(row.f_notified_path)">图像识别</button>
592
+ </nobr></td>
593
+ </template>
594
+ <template partial='foot'></template>
595
+ </data-grid>
596
+ </criteria-paged>
597
+
598
+ <table class="table-hover">
599
+ <tr style="position: relative;margin-top: -16px;" class="table-bordered">
600
+ <td
601
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
602
+ 汇总信息
603
+ </td>
604
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
605
+ 用气量合计:&emsp;{{sumsmodel.f_oughtamount}}
606
+ </td>
607
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
608
+ 气费合计:&emsp;{{sumsmodel.f_oughtfee}}
609
+ </td>
610
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
611
+ 已交金额合计:&emsp;{{sumsmodel.f_debt_money}}
612
+ </td>
613
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
614
+ 欠费金额合计:&emsp;{{sumsmodel.f_actual_arrears}}
615
+ </td>
616
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
617
+ 一阶气量合计:&emsp;{{sumsmodel.f_stair1amount}}
618
+ </td>
619
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
620
+ 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
621
+ </td>
622
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
623
+ 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}
624
+ </td>
625
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
626
+ 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
627
+ </td>
628
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
629
+ 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}
630
+ </td>
631
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
632
+ 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
633
+ </td>
634
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
635
+ 剩余气量合计:&emsp;{{sumsmodel.f_surplus_gas}}
636
+ </td>
637
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
638
+ 扣减气量合计:&emsp;{{sumsmodel.f_haircut_gas}}
639
+ </td>
640
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
641
+ 应交气量合计:&emsp;{{sumsmodel.f_oughtamount}}
642
+ </td>
643
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
644
+ 已交气费金额合计:&emsp;{{sumsmodel.alloughtfee}}
645
+ </td>
646
+ </tr>
647
+ </table>
648
+ </div>
649
+ <modal :show.sync="batchmoneyShow" width="500px" title="反盘导入" v-ref:modal large backdrop="false">
650
+ <article slot="modal-body" class="modal-body">
651
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
652
+ </article>
653
+ <footer slot="modal-footer" class="modal-footer">
654
+ </footer>
655
+ </modal>
656
+ </div>
657
+ <div class="flex" v-if="show">
658
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
659
+ </div>
660
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
661
+ <article slot="modal-body">
662
+ <upload :blodid="selected.f_userinfo_id" :businessid="selected.id" v-ref:upload isupload="false" takeimg="false" fusetype="机表抄表" :isremark="false" style="width:auto" ></upload>
663
+ </article>
664
+ <footer slot="modal-footer" class="modal-footer">
665
+ </footer>
666
+ </modal>
667
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
668
+ <header slot="modal-header" class="modal-header">
669
+ 抄表图像识别照片
670
+ </header>
671
+ <article slot="modal-body" class="modal-body">
672
+ <div class="from-group">
673
+ <img-self :src="imgfilename" width="500" height="500"></img-self>
674
+ </div>
675
+ </article>
676
+ </modal>
677
+
678
+ <modal :show.sync="progressShow" v-ref:modal backdrop="true" width="50%" style="width:auto;" >
679
+ <header slot="modal-header" class="modal-header">
680
+ 反盘导入
681
+ </header>
682
+ <article slot="modal-body" class="modal-body">
683
+ <div class="progress" style="margin: 20px" >
684
+ <div class="progress-bar progress-bar-success progress-bar-striped active" :style="{width: percent+'%'}">
685
+ {{percent}}%
686
+ </div>
687
+ </div>
688
+ </article>
689
+ <footer slot="modal-footer" class="modal-footer">
690
+ <button type="button" class="btn btn-default" @click='progressclose'>关闭</button>
691
+ </footer>
692
+ </modal>
693
+ <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
694
+ </div>
695
+ </template>
696
+
697
+ <script>
698
+ import {PagedList, HttpResetClass} from 'vue-client'
699
+ import defaultPrint from './config/DefaultPrint'
700
+ import exportConfig from './config/exportConfig'
701
+ import axios from 'axios'
702
+
703
+ let readySomething = async function (self) {
704
+ //加载抄表册
705
+ self.$MagGetSaleParam.initinputtor();
706
+ self.getinputtores();
707
+ self.initmeterbook();
708
+ // await self.$LoadParams.loadMeterBook(self.f_filialeid)
709
+ // self.loadMeterBooks()
710
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
711
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
712
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
713
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
714
+ // await self.$refs.paged.$refs.cri.search()
715
+ await self.$getConfig(self, 'HandplanQuery')
716
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
717
+ await self.$MagLoadParams.loadParam()
718
+ // await self.$MagLoadParams.loadParam()
719
+ self.initParams()
720
+ console.log('开始查询')
721
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
722
+ }
723
+ export default {
724
+ props:['data'],
725
+ title: '机表抄表查询',
726
+ data() {
727
+ return {
728
+ iswork:false,
729
+ other:[],
730
+ footer:[],
731
+ data: {},
732
+ pcdslist:[],//区域数据定义
733
+ model: new PagedList('api/af-revenue/sql/handplanQuery', 20, {}, {
734
+ f_oughtamount: 0,
735
+ f_oughtfee: 0,
736
+ f_debt_money: 0,
737
+ f_actual_arrears: 0,
738
+ f_stair1amount: 0,
739
+ f_stair1fee: 0,
740
+ f_stair2amount: 0,
741
+ f_stair2fee: 0,
742
+ f_stair3amount: 0,
743
+ f_stair3fee: 0,
744
+ f_surplus_gas: 0,
745
+ f_haircut_gas: 0,
746
+ alloughtfee:0
747
+ }),
748
+ initres: {
749
+ org:[this.$login.f.orgid],
750
+ dep:[],
751
+ user:[],
752
+ },
753
+ show:false,
754
+ rowdata:{},
755
+ criteriaShow: false,
756
+ residentialArea: [],
757
+ orgCondtionStr: '',
758
+ modelval: [],
759
+ gasproperties:[],
760
+ inputtouPerson: [],
761
+ meterbrands: [],
762
+ printshow: false,
763
+ f_filialeid: this.$login.f.f_orgid,
764
+ all: false,
765
+ fields: {},
766
+ thead: '',
767
+ tfoot: '',
768
+ showupload:false,
769
+ selected:{},
770
+
771
+ // 下拉框
772
+
773
+ //合计数据
774
+ sumsmodel: {},
775
+ defaultfield: [],
776
+ config: {
777
+ defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
778
+ },
779
+ batchmoneyShow:false,
780
+ prices: [],
781
+ bgl:[{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}],
782
+ meterbooks:[{label: '全部',value: ''}], //抄表册
783
+ tempfalg :false,
784
+ lastorgstr:'',
785
+ allorgid:[],
786
+ inputtores:[{label: '全部',value: ''}], //抄表员
787
+ //表册片区
788
+ bookSlice:[{label: '全部',value: ''}],
789
+ imgshow:false,
790
+ imgfilename:'',
791
+ percent:0,
792
+ progressShow:false,
793
+ uuida:'',
794
+ timer:'',
795
+ }
796
+ },
797
+ ready() {
798
+ this.getaddress()
799
+ readySomething(this).then(() => {
800
+ this.$emit('ready')
801
+ }).catch((error) => {
802
+ this.$emit('error', error)
803
+ })
804
+ },
805
+ methods: {
806
+ getuuid(){
807
+ let uuidA = '';
808
+ var s = [];
809
+ var hexDigits = '0123456789abcdef';
810
+ for (var i = 0; i < 36; i++) {
811
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
812
+ }
813
+ s[14] = '4';
814
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
815
+ s[8] = s[13] = s[18] = s[23] = '-';
816
+ uuidA = s.join('');
817
+ this.uuida = uuidA;
818
+ },
819
+ progressclose(){
820
+ this.progressShow = false;
821
+ if(this.timer != null){
822
+ clearInterval(this.timer);
823
+ }
824
+ },
825
+ //初始化片区
826
+ async initSlice (val) {
827
+ if (val) {
828
+ let getAllArea = await this.$resetpost('/rs/search', {
829
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
830
+ userid: this.$login.f.id
831
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
832
+ let arr = getAllArea.data.filter((res) => {
833
+ return res.parentid == val
834
+ })
835
+ this.bookSlice = []
836
+ arr.forEach((res) => {
837
+ this.bookSlice.push({label: res.name, value: res.name})
838
+ })
839
+ }
840
+ },
841
+ //表册片区和抄表册关联
842
+ async inputtorchange(){
843
+ this.$set('$refs.paged.$refs.cri.model.f_meter_book',[]);
844
+ /*let val1=this.$refs.paged.$refs.cri.model.f_meter_book*/
845
+ let val2=this.$refs.paged.$refs.cri.model.f_book_slice_area
846
+ if((val2.length>0)){
847
+ let condition = ` 1=1 and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `
848
+ let aaa = '('
849
+ val2.forEach((item) => {
850
+ aaa = aaa + `'${item}',`
851
+ })
852
+ aaa = aaa + `'')`
853
+ condition = condition + ` and f_book_slice_area in ${aaa} `
854
+ let param={
855
+ items:'*',
856
+ tablename:'t_meter_book',
857
+ condition:condition,
858
+ orderitem:'id'
859
+ }
860
+ let getMeterBooks = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {data: param}, {resolveMsg: null, rejectMsg: '获取营收参数出错!!!'})
861
+ if (getMeterBooks.data) {
862
+ if(getMeterBooks.data.length >0){
863
+ let rs = [];
864
+ getMeterBooks.data.forEach((item)=>{
865
+ let temp = {
866
+ label:item.f_book_name,
867
+ value:item.id
868
+ };
869
+ rs.push(temp);
870
+
871
+ })
872
+ this.meterbooks = [{label: '全部',value: ''}, ...rs];
873
+ }else{
874
+ this.meterbooks = [{label: '全部',value: ''}];
875
+ }
876
+ }
877
+ }else{
878
+ this.meterbooks = [{label: '全部',value: ''}];
879
+ this.initmeterbook();
880
+ }
881
+ },
882
+ async initmeterbook(orgstr){
883
+ if(orgstr == null ){
884
+ orgstr = this.f_filialeid;
885
+ }
886
+ //获取新的抄表册,先去清理所有的抄表册
887
+ this.$GetSaleParam.meterbooks = [];
888
+ //开始加载新的抄表册
889
+ await this.$LoadParams.loadMeterBook(orgstr)
890
+ this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
891
+ },
892
+
893
+ async getinputtores () {
894
+ // 获取抄表员
895
+ let rs = []
896
+ if (this.$login.f.f_gasman.length > 0) {
897
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
898
+ let temp = {
899
+ label: this.$login.f.f_gasman[i].name,
900
+ value: this.$login.f.f_gasman[i].name
901
+ }
902
+ rs.push(temp)
903
+ }
904
+ }
905
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
906
+ this.inputtores.push({label: "微信公众号", value: "微信公众号"})
907
+ },
908
+ async updateParams() {
909
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
910
+ this.inputtores = [];
911
+ this.inputtores.push({label: "全部", value: ""})
912
+ this.initSlice(this.f_filialeid)
913
+ if(this.allorgid!=null){
914
+ this.allorgid.forEach((res)=>{
915
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
916
+ })
917
+ }
918
+ this.initParams()
919
+ },
920
+ view(row){
921
+ this.showupload = true
922
+ this.selected= row
923
+ },
924
+ imgclose(){
925
+ this.imgshow = false
926
+ },
927
+ imgShow(val){
928
+ this.imgfilename = `rs/image/file/`+val
929
+ this.imgshow = true
930
+ },
931
+ initParams() {
932
+ // 初始化气表品牌
933
+ let brandArr = []
934
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
935
+ let temp = {}
936
+ temp.label = item.label
937
+ temp.value = item.value.f_meter_brand
938
+ brandArr.push(temp)
939
+ })
940
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
941
+ //初始化气价
942
+ let result = []
943
+ this.$MagGetSaleParam.prices.forEach((item) => {
944
+ if (item.f_state === '有效' && this.$login.f.orgid == item.f_filialeid) {
945
+ let value = {
946
+ label: item.f_price_name,
947
+ value: item.f_price_name
948
+ }
949
+ result.push(value)
950
+ }
951
+ })
952
+ let hash = {}
953
+ result = result.reduce((item, next) => {
954
+ hash[next.label] ? '' : hash[next.label] = true && item.push(next)
955
+ return item
956
+ }, [])
957
+ this.prices = Array.from(new Set(result))
958
+ },
959
+ getotherfooter(){
960
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
961
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
962
+ this.other=[];
963
+ this.footer=[];
964
+ let exportdata = this.getCondition;
965
+ let otherInData=[];
966
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
967
+ let footerData=[],exportfield=this.getfield;
968
+ footerData.push("合计");
969
+ debugger
970
+ let self = this;
971
+ for(var field in self.sumsmodel){
972
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
973
+ }
974
+ this.footer.push(footerData);
975
+ this.other.push(otherInData);
976
+ },
977
+ async getaddress(){
978
+ let HttpReset = new HttpResetClass()
979
+ var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
980
+ data: {
981
+ // condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
982
+ condition: `1=1`
983
+ }
984
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
985
+ console.log('小区',data)
986
+ let house = [{label: '全部', value: ''}]
987
+ for (let row of data.data){
988
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
989
+ }
990
+ this.residentialArea = house
991
+
992
+
993
+ console.log('开始获取区域')
994
+ var req = await HttpReset.load('POST','api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
995
+ data: {
996
+ items: '*',
997
+ tablename: 't_pcd',
998
+ orderitem: 'id',
999
+ condition: `1=1`
1000
+ }
1001
+ }, {resolveMsg: null, rejectMsg: '获取区域失败!'})
1002
+
1003
+ let redata = []
1004
+ console.log('区域是:',req)
1005
+ req.data.forEach((row, n) => {
1006
+ redata[n] = {
1007
+ label: row.f_pcd,
1008
+ value: row.id,
1009
+ data: row,
1010
+ id: row.id
1011
+ }
1012
+ })
1013
+ console.log('获取到的小区',redata)
1014
+ this.pcdslist = redata
1015
+ },
1016
+ Fileinput(){
1017
+ this.batchmoneyShow=true;
1018
+ },
1019
+ search(){
1020
+ this.$refs.paged.$refs.cri.search()
1021
+ },
1022
+ cancel() {
1023
+ this.show = false
1024
+ },
1025
+ selfSearch(args) {
1026
+ if (!args.model.startDate) {
1027
+ this.$showMessage('开始日期必填!')
1028
+ return
1029
+ }
1030
+ if (!args.model.endDate) {
1031
+ this.$showMessage('结束日期必填!')
1032
+ return
1033
+ }
1034
+ if (this.data) {
1035
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
1036
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
1037
+ }
1038
+ this.area = this.$refs.paged.$refs.cri.model.f_residential_area
1039
+ if(this.area.length !== 0){
1040
+ let str = JSON.stringify(this.area)
1041
+ str = str.replace(/"/g,`'`)
1042
+ str = str.replace(/\[/g,``)
1043
+ str = str.replace(/\]/g,``)
1044
+ //查询多个小区时条件
1045
+ args.condition += ` and f_residential_area in ( ${str} )`
1046
+ }
1047
+ //抄表员查询条件
1048
+ this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
1049
+ if(this.inputtouPerson.length !== 0){
1050
+ let str = JSON.stringify(this.inputtouPerson)
1051
+ str = str.replace(/"/g,`'`)
1052
+ str = str.replace(/\[/g,``)
1053
+ str = str.replace(/\]/g,``)
1054
+ //查询多个抄表员时条件
1055
+ args.condition += ` and f_inputtor in ( ${str} )`
1056
+ }
1057
+
1058
+ args.condition = `${args.condition} ` + this.orgCondtionStr
1059
+ this.model.search(args.condition, args.model)
1060
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
1061
+ },
1062
+ clear() {
1063
+ //清空部门和人员
1064
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
1065
+ //部门和人员变为全选
1066
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
1067
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
1068
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
1069
+ this.$refs.paged.$refs.cri.model[key] = []
1070
+ })
1071
+ this.$refs.paged.$refs.cri.model.f_meter_classify = []
1072
+ },
1073
+ show() {
1074
+ this.criteriaShow = true
1075
+ },
1076
+ hidden() {
1077
+ this.criteriaShow = !this.criteriaShow
1078
+ },
1079
+ async getRes(condition,obj) {
1080
+ this.orgCondtionStr = condition
1081
+
1082
+ },
1083
+ stamp() {
1084
+ this.all = false
1085
+ //默认选择要打印的列
1086
+ this.modelval = defaultPrint.config
1087
+ this.fields = this.getfield
1088
+ this.printshow = true
1089
+ this.put()
1090
+ },
1091
+ put() {
1092
+ // 对Modelval进行排序
1093
+ this.sortModelval()
1094
+ this.thead = `<tr><th colspan=${this.modelval.length}>抄表查询统计报表</th></tr><tr>`
1095
+ for (let key of this.modelval) {
1096
+ this.thead += '<th>' + this.fields[key] + '</th>'
1097
+ }
1098
+ this.thead += '</tr>'
1099
+ },
1100
+ print() {
1101
+ this.$refs.print.PrintAsFile()
1102
+ this.printshow = false
1103
+ },
1104
+ dealmsg(val) {
1105
+ this.rowdata=val
1106
+ this.show=true
1107
+ val.model = this.model.model
1108
+ this.$dispatch('deal-msg', val)
1109
+ },
1110
+ close() {
1111
+ this.printshow = false
1112
+ this.all = false
1113
+ },
1114
+
1115
+ userTypeChange () {
1116
+ this.gasproperties=[]
1117
+ if(this.$refs.paged.$refs.cri.model !==null) {
1118
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
1119
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
1120
+ }
1121
+ else{
1122
+ this.gasproperties =[{label: '全部', value: ''}]
1123
+ }
1124
+ },
1125
+ // 对选择的列进行排序
1126
+ sortModelval() {
1127
+ let sortModel = []
1128
+ Object.keys(this.fields).forEach((key) => {
1129
+ if (this.modelval.includes(key)) {
1130
+ sortModel.push(key)
1131
+ }
1132
+ })
1133
+ this.modelval = sortModel
1134
+ }
1135
+ },
1136
+ watch: {
1137
+ 'model.rows'(val) {
1138
+ if(val.length === 0){
1139
+ this.sumsmodel = {}
1140
+ }
1141
+ },
1142
+ async 'orgCondtionStr'(val) {
1143
+ this.$refs.paged.$refs.cri.model.f_inputtor=[]
1144
+ this.$refs.paged.$refs.cri.model.f_book_slice_area=[]
1145
+ this.$refs.paged.$refs.cri.model.f_meter_book = []
1146
+ this.meterbooks = [{label: '全部',value: ''}];
1147
+ if(this.lastorgstr != val){
1148
+ this.tempfalg = true;
1149
+ this.lastorgstr = val;
1150
+ }
1151
+ if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
1152
+ this.tempfalg = false;
1153
+ let a = val.substring(val.indexOf("(")+2)
1154
+ await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
1155
+ }
1156
+ let res = val.match(/'(.*?)'/)
1157
+ console.log('正则提取:',res && res[1])
1158
+ if (res) {
1159
+ this.f_filialeid = res[1]
1160
+ if(res.input !=null){
1161
+ let resorgid = res.input.substring(res.input.indexOf("'"));
1162
+ if(resorgid!= null && resorgid!=''){
1163
+ resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
1164
+ // resorgid = resorgid.replaceAll("'","");
1165
+ resorgid = resorgid.replace(/'/g,"");
1166
+ this.allorgid = resorgid.split(",")
1167
+ }
1168
+ }
1169
+ this.updateParams()
1170
+ }
1171
+ },
1172
+ 'all'(val) {
1173
+ if (val) {
1174
+ this.modelval = this.bodyData
1175
+ } else {
1176
+ this.modelval = defaultPrint.config
1177
+ this.put()
1178
+ }
1179
+ },
1180
+ 'modelval.length'() {
1181
+ this.put()
1182
+ },
1183
+ sumsmodel:{
1184
+ handler: function(val) {
1185
+ this.getotherfooter();
1186
+ },
1187
+ deep: true
1188
+ }
1189
+ },
1190
+ computed: {
1191
+
1192
+ metertypes() {
1193
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
1194
+ },
1195
+ banklist() {
1196
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('银行名称')]
1197
+ },
1198
+ getCondition() {
1199
+ return {
1200
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
1201
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
1202
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
1203
+ },
1204
+ getfield() {
1205
+ return exportConfig.handplanConfig
1206
+ },
1207
+ getBankfield(){
1208
+ return exportConfig.batchBankConfig2
1209
+ },
1210
+ usertypes() {
1211
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
1212
+ },
1213
+ accountsState() {
1214
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('下账状态')]
1215
+ },
1216
+ meterstate() {
1217
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
1218
+ },
1219
+ handstate() {
1220
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
1221
+ },
1222
+ // inputtor() {
1223
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
1224
+ // },
1225
+ pricetypes() {
1226
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
1227
+ },
1228
+ getPricenames() {
1229
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
1230
+ let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
1231
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
1232
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
1233
+ if(this.$refs.paged.$refs.cri.model !==null) {
1234
+ let rs = []
1235
+ let priceArr = []
1236
+ if ( pricetype.length >0) {
1237
+ let params = {
1238
+ f_price_type: pricetype[0],
1239
+ filter: this.f_filialeid,
1240
+ prices: this.prices
1241
+ }
1242
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
1243
+ let temp = {}
1244
+ temp.label = item.label
1245
+ temp.value = item.value.f_price_name
1246
+ priceArr.push(temp)
1247
+ })
1248
+ rs = [{label: '全部', value: ''}, ...priceArr]
1249
+ }
1250
+ if (rs.length === 0) {
1251
+ console.log('rs读出来是空')
1252
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
1253
+ }
1254
+ return rs
1255
+ }
1256
+ },
1257
+ inputtor () {
1258
+ // 获取抄表员
1259
+ console.log('获取抄表员', this.$login.f)
1260
+ let rs = []
1261
+ if (this.$login.f.f_gasman.length > 0) {
1262
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
1263
+ let temp = {
1264
+ label: this.$login.f.f_gasman[i].name,
1265
+ value: this.$login.f.f_gasman[i].name
1266
+ }
1267
+ rs.push(temp)
1268
+ }
1269
+ }
1270
+
1271
+ return [{label: '全部', value: ''}, ...rs]
1272
+ },
1273
+ whetherPay() {
1274
+ return [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
1275
+ },
1276
+
1277
+ },
1278
+ events:{
1279
+ 'onFileUpload': async function (file, res) {
1280
+ if (this.batchmoneyShow) {
1281
+ this.percent = 0;
1282
+ this.getuuid();
1283
+ let param = {
1284
+ filepath: res.f_downloadpath,
1285
+ f_operator: this.$login.f.name,
1286
+ f_operatorid: this.$login.f.id,
1287
+ f_orgid: this.$login.f.orgid,
1288
+ f_orgname: this.$login.f.orgs,
1289
+ f_depid: this.$login.f.depids,
1290
+ f_depname: this.$login.f.deps,
1291
+ uuid: this.uuida
1292
+ }
1293
+ this.batchmoneyShow=false;
1294
+ try{
1295
+ await this.$resetpost('api/af-revenue/logic/SumSettleFileImport',{data: param},{resolveMsg: null, rejectMsg: null},1000).then((res)=>{
1296
+ if(res.data){
1297
+ }
1298
+ })
1299
+ }catch(error){}
1300
+ let getparam = {
1301
+ uuid: this.uuida
1302
+ }
1303
+ let self = this;
1304
+ this.progressShow=true;
1305
+ this.timer = setInterval(function(){
1306
+ self.$resetpost('/api/af-revenue/logic/getBatchOperaPro',{data:getparam},{resolveMsg: null, rejectMsg: null}, 0).then((res)=>{
1307
+ if(res.data ){
1308
+ if(res.data.speed){
1309
+ if(res.data.speed>= 100){
1310
+ clearInterval(self.timer);
1311
+ if(res.data.speed){
1312
+ self.percent = 99;
1313
+ }
1314
+ setTimeout(()=>{
1315
+ self.percent = 100;
1316
+ self.progressclose();
1317
+ self.$showMessage(`导入成功! 累计导入:${res.data.totalsum}, 成功:${res.data.successsum},失败:${res.data.errorsum}(包含之前导入${res.data.aftersum}),失败数据请在稽查查询中错误查询进行查看!!`);
1318
+ },600);
1319
+ }else{
1320
+ self.percent = res.data.speed
1321
+ }
1322
+ }else{
1323
+ self.percent=0;
1324
+ }
1325
+ }
1326
+ });
1327
+ },3000);
1328
+ }
1329
+ }
1330
+ }
1331
+ }
1332
+ </script>