manage-client 4.1.86-tcls → 4.1.87

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.
@@ -1,1520 +1,1487 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex" :class="{showbottom:showbottomsum}" v-if="!show">
5
- <criteria-paged :model="model" v-ref:paged @sort="sort">
6
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri >
7
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
- <div class="row">
9
- <div class="col-sm-2 form-group">
10
- <label for="startDate" class="font_normal_body">开始日期</label>
11
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
- v-model="model.startDate"
13
- :value.sync="model.startDate"
14
- :format="'yyyy-MM-dd HH:mm:ss'"
15
- :show-reset-button="true"
16
- condition="f_operate_date >= '{}'">
17
- </datepicker>
18
- </div>
19
- <div class="col-sm-2 form-group">
20
- <label for="endDate" class="font_normal_body">结束日期</label>
21
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
- v-model="model.endDate"
23
- :value.sync="model.endDate"
24
- :format="'yyyy-MM-dd HH:mm:ss'"
25
- :show-reset-button="true"
26
- condition="f_operate_date <= '{}'">
27
- </datepicker>
28
- </div>
29
- <div class="col-sm-2 form-group">
30
- <label class="font_normal_body">客户编号</label>
31
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
- condition="f_userinfo_code like '%{}%' " placeholder="客户编号">
33
- </div>
34
- <div class="col-sm-2 form-group">
35
- <label class="font_normal_body">客户名称</label>
36
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
37
- condition="f_user_name like '%{}%'" placeholder="客户名称">
38
- </div>
39
-
40
- <div class="span" style="float:right;">
41
- <button class="button_search button_spacing" v-show="false" @click="$parent.$parent.ReadIDCard()">读取身份证</button>
42
- <read-card :is-single.sync="$parent.$parent.isSingleUser" @read-info="$parent.$parent.cardBtn" v-ref:readcard></read-card>
43
- <button class="button_search button_spacing" @click="search()">查询</button>
44
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
45
- <button class="button_clear button_spacing" @click="$parent.$parent.serialNumber">流水号补录</button>
46
-
47
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
48
- :field="$parent.$parent.getfield" :header="$parent.$parent.other"
49
- :defaultselect="$parent.$parent.defaultexport"
50
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
51
- :choose-col="true">
52
- </export-excel>
53
-
54
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
55
- :defaultfield="$parent.$parent.defaultfield"
56
- titletable="缴费记录报表" :starthead="$parent.$parent.getstart"
57
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
58
- <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>
59
-
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','slicearea','user_company','user_department']"
67
- @re-res="$parent.$parent.getRes"
68
- @re-us-res="$parent.$parent.getUserRes"
69
- v-ref:usersel>
70
- </res-select-user-group>
71
- <div class="col-sm-2 form-group">
72
- <label class="font_normal_body">收费编号</label>
73
- <input type="text" style="width:60%" class="input_search" v-model="model.id"
74
- condition="id = '{}'" placeholder="收费编号">
75
- </div>
76
- <div class="col-sm-2 form-group">
77
- <label class="font_normal_body">客户电话</label>
78
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
79
- condition="f_user_phone like '%{}%'" placeholder="客户电话">
80
- </div>
81
- <div class="col-sm-2 form-group">
82
- <label class="font_normal_body">身份证号</label>
83
- <input type="text" style="width:60%" class="input_search" v-model="model.f_idnumber"
84
- condition="f_idnumber like '%{}%'" placeholder="身份证号">
85
- </div>
86
- <div class="col-sm-2 form-group">
87
- <label class="font_normal_body">客户地址</label>
88
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
89
- condition="f_address like '%{}%'" placeholder='客户地址'>
90
- </div>
91
- <div class="col-sm-2 form-group">
92
- <label class="font_normal_body" style="letter-spacing: 2em;margin-right: -2em">小区</label>
93
- <v-select :value.sync="model.f_residential_area"
94
- class="select_list select"
95
- v-model="model.f_residential_area"
96
- style="width: 60%"
97
- multiple
98
- condition="f_residential_area in {}"
99
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
100
- close-on-select>
101
- </v-select>
102
- </div>
103
- <div
104
- class="col-sm-2 form-group">
105
- <label class="font_normal_body" style="letter-spacing: 2em;margin-right: -2em" >区域</label>
106
- <v-select
107
- :multiple="true"
108
- v-model="model.f_pcd"
109
- placeholder='选择区域'
110
- :value.sync="model.f_pcd"
111
- :options='$parent.$parent.pcdslist'
112
- condition="f_pcd_id in {}"
113
- style="width: 60%"
114
- close-on-select >
115
- </v-select>
116
- </div>
117
- <div class="col-sm-2 form-group">
118
- <label class="font_normal_body" title="参数:付款方式查询">付款方式</label>
119
- <v-select :value.sync="model.f_payment" multiple
120
- v-model="model.f_payment"
121
- :options='$parent.$parent.payment' placeholder='请选择'
122
- condition="f_payment in {}"
123
- close-on-select></v-select>
124
- </div>
125
- <div class="col-sm-2 form-group">
126
- <label class="font_normal_body" title="参数:支付渠道查询">支付渠道</label>
127
- <v-select :value.sync="model.f_bank_type" multiple
128
- v-model="model.f_bank_type"
129
- :options='$parent.$parent.banktype' placeholder='请选择'
130
- condition="f_bank_type in {}"
131
- close-on-select></v-select>
132
- </div>
133
- <div class="col-sm-2 form-group">
134
- <label class="font_normal_body">收费类型</label>
135
- <!-- <v-select :value.sync="model.f_type"
136
- v-model="model.f_type"
137
- :options='$parent.$parent.chargetype' placeholder='请选择'
138
- condition="f_type = '{}'"
139
- close-on-select></v-select>-->
140
- <v-select :value.sync="model.f_type" multiple
141
- :options='$parent.$parent.chargetype' placeholder='请选择'
142
- close-on-select clear-button
143
- condition="f_type in {}"
144
- v-model="model.f_type"></v-select>
145
- </div>
146
- <!-- <div class="col-sm-2 form-group">-->
147
- <!-- <label class="font_normal_body">票据类型</label>-->
148
- <!-- <v-select :options='$parent.$parent.papertype'-->
149
- <!-- condition="f_paper_type = '{}'"-->
150
- <!-- v-model="model.f_paper_type"-->
151
- <!-- :value.sync="model.f_paper_type" close-on-select-->
152
- <!-- placeholder='请选择'></v-select>-->
153
- <!-- </div>-->
154
- <div class="col-sm-2 form-group">
155
- <label class="font_normal_body">客户类型</label>
156
- <v-select :value.sync="model.f_user_type"
157
- @change="$parent.$parent.userTypeChange()"
158
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
159
- condition="f_user_type = '{}'"
160
- close-on-select></v-select>
161
- </div>
162
- <div class="col-sm-2 form-group">
163
- <label class="font_normal_body">用气性质</label>
164
- <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
165
- :options='$parent.$parent.gasproperties' placeholder='请选择'
166
- condition="f_gasproperties = '{}'"
167
- close-on-select></v-select>
168
- </div>
169
- <div class="col-sm-2 form-group">
170
- <label class="font_normal_body" title="二级用气性质">二级性质</label>
171
- <v-select :value.sync="model.f_gasproperties_second" v-model="model.f_gasproperties_second"
172
- :multiple="true"
173
- :options='$parent.$parent.gaspropertiessecond' placeholder='二级用气性质'
174
- condition="f_gasproperties_second in {}"
175
- close-on-select></v-select>
176
- </div>
177
- <div class="col-sm-2 form-group">
178
- <label class="font_normal_body">气价类型</label>
179
- <v-select :value.sync="model.pricetype" v-model="model.pricetype"
180
- placeholder='气价类型' :options="$parent.$parent.pricetypes"
181
- close-on-select v-ref:type>
182
- </v-select>
183
- </div>
184
- <div class="col-sm-2 form-group">
185
- <label class="font_normal_body">气价名称</label>
186
- <v-select :value.sync="model.f_price_name"
187
- v-model="model.f_price_name"
188
- :options="$parent.$parent.getPricenames"
189
- condition="f_price_name = '{}'"
190
- close-on-select></v-select>
191
- </div>
192
- <div class="col-sm-2 form-group">
193
- <label class="font_normal_body">表&emsp;&emsp;号</label>
194
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
195
- condition="f_meternumber = '{}'" placeholder='表号'>
196
- </div>
197
- <div class="col-sm-2 form-group">
198
- <label class="font_normal_body">气表类型</label>
199
- <v-select :value.sync="model.f_meter_type" multiple
200
- :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
201
- condition="f_meter_type in {}"
202
- close-on-select></v-select>
203
- </div>
204
- <div class="col-sm-2 form-group">
205
- <label class="font_normal_body">气表品牌</label>
206
- <v-select :value.sync="model.f_meter_brand" multiple
207
- v-model="model.f_meter_brand"
208
- :options='$parent.$parent.meterbrands' placeholder='请选择'
209
- condition="f_meter_brand in {}"
210
- close-on-select></v-select>
211
- </div>
212
-
213
- <div class="col-sm-2 form-group">
214
- <label class="font_normal_body">收费状态</label>
215
- <v-select :value.sync="model.f_state" multiple
216
- v-model="model.f_state"
217
- :options='$parent.$parent.charge_state' placeholder='请选择'
218
- condition="f_state in {}"
219
- close-on-select></v-select>
220
- </div>
221
- <div class="col-sm-2 form-group">
222
- <label class="font_normal_body">银行名称</label>
223
- <v-select :value.sync="model.f_bank_name"
224
- v-model="model.f_bank_name"
225
- :options='$parent.$parent.bank' placeholder='请选择'
226
- condition="f_bank_name = '{}'"
227
- close-on-select></v-select>
228
- </div>
229
- <div class="col-sm-2 form-group">
230
- <label class="font_normal_body">是否优惠</label>
231
- <v-select :value.sync="model.f_privilege_money"
232
- v-model="model.f_privilege_money"
233
- :options='$parent.$parent.privilege_money' placeholder='请选择'
234
- condition="f_privilege_money {}"
235
- close-on-select></v-select>
236
- </div>
237
- <div class="col-sm-2 form-group">
238
- <label class="font_normal_body">优惠金额</label>
239
- <input type="text" style="width:30%" class="input_search" title="大于等于"
240
- v-model="model.f_privilege_money_big" condition="f_privilege_money >= {}" placeholder='大于等于'>
241
- <input type="text" style="width:30%" class="input_search" title="小于等于"
242
- v-model="model.f_privilege_money_small" condition="f_privilege_money <= {}" placeholder='小于等于'>
243
- </div>
244
- <div class="col-sm-2 form-group">
245
- <label class="font_normal_body">收&ensp;据&ensp;号</label>
246
- <input type="text" style="width:30%" class="input_search" title="大于等于"
247
- v-model="model.f_bill_number_big" condition="f_bill_number >= {}" placeholder='大于等于'>
248
- <input type="text" style="width:30%" class="input_search" title="小于等于"
249
- v-model="model.f_bill_number_small" condition="f_bill_number <= {}" placeholder='小于等于'>
250
- </div>
251
- <div class="col-sm-2 form-group">
252
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;流水号</label>
253
- <input type="text" style="width:60%" class="input_search" v-model="model.f_serial_id"
254
- condition="f_serial_id like '%{}%'" placeholder='流水号'>
255
- </div>
256
- <div class="col-sm-2 form-group">
257
- <label class="font_normal_body">发票号码</label>
258
- <input type="text" style="width:60%" class="input_search" v-model="model.f_invoice_num"
259
- condition="f_invoice_num = '{}'" placeholder='发票号码'>
260
- </div>
261
- <div class="col-sm-2 form-group">
262
- <label class="font_normal_body" title="发票类型查询">发票类型</label>
263
- <v-select :value.sync="model.f_invoice_type"
264
- v-model="model.f_invoice_type"
265
- :options='$parent.$parent.invoiceType' placeholder='请选择'
266
- condition="f_invoice_type = '{}'"
267
- close-on-select :value-single="true" :search="false">
268
- </v-select>
269
- </div>
270
- <div class="col-sm-2 form-group">
271
- <label class="font_normal_body">开&ensp;票&ensp;人</label>
272
- <input type="text" style="width:60%" class="input_search" v-model="model.f_invoiceuse_operator"
273
- condition="f_invoiceuse_operator like '%{}%'" placeholder='开票人'>
274
- </div>
275
- <div class="col-sm-2 form-group">
276
- <label for="startDate" class="font_normal_body">开票时间</label>
277
- <datepicker id="startDate1" placeholder="开始日期" style="width:60%"
278
- v-model="model.invoice_startDate"
279
- :value.sync="model.invoice_startDate"
280
- :format="'yyyy-MM-dd'"
281
- :show-reset-button="true"
282
- condition="f_invoice_date >= '{}'">
283
- </datepicker>
284
- </div>
285
- <div class="col-sm-2 form-group">
286
- <label for="endDate" class="font_normal_body">开票时间</label>
287
- <datepicker id="endDate1" placeholder="结束日期" style="width:60%"
288
- v-model="model.invoice_endDate"
289
- :value.sync="model.invoice_endDate"
290
- :format="'yyyy-MM-dd'"
291
- :show-reset-button="true"
292
- condition="f_invoice_date <= '{}'">
293
- </datepicker>
294
- </div>
295
- <div class="col-sm-2 form-group">
296
- <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
297
- <v-select :value.sync="model.f_inputtor"
298
- v-model="model.f_inputtor"
299
- :multiple="true"
300
- :options='$parent.$parent.inputtores' placeholder='请选择'
301
- condition="f_inputtor in {}"
302
- >
303
- </v-select>
304
- </div>
305
- <div class="col-sm-2 form-group">
306
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
307
- <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
308
- :options='$parent.$parent.meterbooks' placeholder='抄表册'
309
- style="width:60%"
310
- close-on-select
311
- condition="f_meter_book_num = '{}'"></v-select>
312
- </div>
313
- <div class="col-sm-2 form-group">
314
- <label class="font_normal_body">写卡状态</label>
315
- <v-select :value.sync="model.f_write_card" v-model="model.f_write_card"
316
- :options='$parent.$parent.writecard' placeholder='写卡状态'
317
- style="width:60%"
318
- close-on-select
319
- condition="f_write_card = '{}'"></v-select>
320
- </div>
321
- <div class="col-sm-2 form-group">
322
- <label class="font_normal_body">街&ensp;&ensp;&ensp;&ensp;道</label>
323
- <v-select :value.sync="model.f_street" multiple
324
- v-model="model.f_street"
325
- :options='$parent.$parent.streetList' placeholder='选择街道'
326
- condition="f_street in {}"
327
- style="width:60%"
328
- close-on-select></v-select>
329
- </div>
330
- <div class="col-sm-2 form-group">
331
- <label class="font_normal_body">数&ensp;据&ensp;包</label>
332
- <v-select :value.sync="model.f_bluetooth_package" v-model="model.f_bluetooth_package"
333
- :options='$parent.$parent.bluetoothpackage' placeholder='数据包状态'
334
- style="width:60%"
335
- close-on-select
336
- condition="f_bluetooth_package = '{}'"></v-select>
337
- </div>
338
- <div class="col-sm-2 form-group">
339
- <label class="font_normal_body">pos设备&nbsp;</label>
340
- <v-select :value.sync="model.f_terminal_name" multiple
341
- v-model="model.f_terminal_name"
342
- :options='$parent.$parent.posEquipment' placeholder='请选择'
343
- condition="f_operator in {}"
344
- close-on-select></v-select>
345
- </div>
346
- <div class="col-sm-2 form-group">
347
- <label class="font_normal_body" style="letter-spacing: 0.5em;margin-right: -0.5em">终端号</label>
348
- <input type="text" style="width:60%" class="input_search" v-model="model.f_terminal_num"
349
- condition="f_terminal_num like '{}'" placeholder='终端号'>
350
- </div>
351
- <div class="col-sm-2 form-group">
352
- <label class="font_normal_body" style="letter-spacing: 0.5em;margin-right: -0.5em">壁挂炉</label>
353
- <v-select :value.sync="model.isbgl"
354
- v-model="model.isbgl"
355
- :options='$parent.$parent.bgl' placeholder='请选择'
356
- condition="isbgl = '{}'"
357
- close-on-select></v-select>
358
- </div>
359
- <div class="col-sm-2 form-group">
360
- <label class="font_normal_body" style="text-align: center;letter-spacing: 0.5em;margin-right: -0.5em">是否有<br/>流水号</label>
361
- <v-select :value.sync="model.ishaisnumber"
362
- v-model="model.ishaisnumber"
363
- :options='$parent.$parent.ishaisnumberoption' placeholder='请选择'
364
- condition="{}"
365
- close-on-select></v-select>
366
- </div>
367
- </div>
368
- </div>
369
- </criteria>
370
-
371
- <data-grid :model="model" partial='list' class="list_area table_sy" style="height: 95%" v-ref:grid>
372
- <template partial='head'>
373
- <tr>
374
- <th>
375
- <nobr>收费编号</nobr>
376
- </th>
377
- <th>
378
- <!-- <nobr>客户编号</nobr>-->
379
- <data-order field="f_userinfo_code" name="客户编号"
380
- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
381
- </th>
382
- <th><nobr>街道</nobr></th>
383
- <th>
384
- <nobr>客户名称</nobr>
385
- </th>
386
- <th>
387
- <nobr>客户电话</nobr>
388
- </th>
389
-
390
- <!-- <th>-->
391
- <!-- <nobr>片区</nobr>-->
392
- <!-- </th>-->
393
- <th>
394
- <!-- <nobr>客户地址</nobr>-->
395
- <data-order field="f_address" name="客户地址"
396
- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
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
- <th>
426
- <nobr>气费金额</nobr>
427
- </th>
428
- <th>
429
- <nobr>违约金</nobr>
430
- </th>
431
- <th>
432
- <nobr>应收金额</nobr>
433
- </th>
434
- <th>
435
- <nobr>清缴金额</nobr>
436
- </th>
437
- <th>
438
- <nobr>预存金额</nobr>
439
- </th>
440
-
441
- <th>
442
- <nobr>实际收款</nobr>
443
- </th>
444
- <th>
445
- <!-- <nobr>收费日期</nobr>-->
446
- <data-order field="f_operate_date" name="收费日期"
447
- :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
448
- </th>
449
- <th>
450
- <nobr>优惠金额</nobr>
451
- </th>
452
- <th>
453
- <nobr>上期结余</nobr>
454
- </th>
455
- <th>
456
- <nobr>本期结余</nobr>
457
- </th>
458
- <th>
459
- <nobr>付款方式</nobr>
460
- </th>
461
- <th>
462
- <nobr>写卡状态</nobr>
463
- </th>
464
- <th>
465
- <nobr>支付渠道</nobr>
466
- </th>
467
- <th>
468
- <nobr>银行名称</nobr>
469
- </th>
470
- <th>
471
- <nobr>收费类型</nobr>
472
- </th>
473
- <th>
474
- <nobr>终端号</nobr>
475
- </th>
476
- <th>
477
- <nobr>蓝牙数据包状态</nobr>
478
- </th>
479
- <th>
480
- <nobr>状态</nobr>
481
- </th>
482
-
483
- <th>
484
- <nobr>备注</nobr>
485
- </th>
486
- <th>
487
- <nobr>补打次数</nobr>
488
- </th>
489
- <th>
490
- <nobr>操作员人员</nobr>
491
- </th>
492
- <th>
493
- <nobr>操作员部门</nobr>
494
- </th>
495
- <th>
496
- <nobr>操作员公司</nobr>
497
- </th>
498
- <th>
499
- <nobr>用户公司</nobr>
500
- </th>
501
- <th>
502
- <nobr>用户部门</nobr>
503
- </th>
504
- <th>
505
- <nobr>流水号</nobr>
506
- </th>
507
- <th>
508
- <nobr>收据号</nobr>
509
- </th>
510
- <th>
511
- <nobr>业务单号</nobr>
512
- </th>
513
- <th>
514
- <nobr>发票号码</nobr>
515
- </th>
516
- <th>
517
- <nobr>发票类型</nobr>
518
- </th>
519
- <th>
520
- <nobr>开票人</nobr>
521
- </th>
522
- <th>
523
- <nobr>开票时间</nobr>
524
- </th>
525
- <th>
526
- <nobr>是否征税</nobr>
527
- </th>
528
- <th>
529
- <nobr>累计写卡气量</nobr>
530
- </th>
531
- <th>
532
- <nobr>实际写卡金额</nobr>
533
- </th>
534
- <th>
535
- <nobr>冲正人</nobr>
536
- </th>
537
- <th>
538
- <nobr>冲正时间</nobr>
539
- </th>
540
- <th>
541
- <nobr>一阶气量</nobr>
542
- </th>
543
- <th>
544
- <nobr>一阶单价</nobr>
545
- </th>
546
- <th>
547
- <nobr>一阶气费</nobr>
548
- </th>
549
- <th>
550
- <nobr>二阶气量</nobr>
551
- </th>
552
- <th>
553
- <nobr>二阶单价</nobr>
554
- </th>
555
- <th>
556
- <nobr>二阶气费</nobr>
557
- </th>
558
- <th>
559
- <nobr>三阶气量</nobr>
560
- </th>
561
- <th>
562
- <nobr>三阶单价</nobr>
563
- </th>
564
- <th>
565
- <nobr>三阶气费</nobr>
566
- </th>
567
- <th>
568
- <nobr>是否壁挂炉</nobr>
569
- </th>
570
- <th><nobr>附件</nobr></th>
571
- </tr>
572
- </template>
573
- <template partial='body'>
574
- <td style="text-align: center;">
575
- <nobr>{{row.id}}</nobr>
576
- </td>
577
- <td style="text-align: center;"><nobr>
578
- <nobr>{{row.f_userinfo_code}}</nobr>
579
- </nobr> </td>
580
- <td style="text-align: center;">
581
- <nobr>{{row.f_street}}</nobr>
582
- </td>
583
- <td style="text-align: center;">
584
- <nobr>{{row.f_user_name}}</nobr>
585
- </td>
586
- <td style="text-align: center;">
587
- <nobr>{{row.f_user_phone}}</nobr>
588
- </td>
589
- <td style="text-align: center;">
590
- <nobr>{{row.f_address}}</nobr>
591
- </td>
592
- <td style="text-align: center;">
593
- <nobr>{{row.f_user_type}}</nobr>
594
- </td>
595
- <td style="text-align: center;">
596
- <nobr>{{row.f_gasproperties}}</nobr>
597
- </td>
598
- <td style="text-align: center;">
599
- <nobr>{{row.f_gasproperties_second}}</nobr>
600
- </td>
601
- <td style="text-align: center;">
602
- <nobr>{{row.f_meternumber}}</nobr>
603
- </td>
604
- <td style="text-align: center;">
605
- <nobr>{{row.f_meter_brand}}</nobr>
606
- </td>
607
- <td style="text-align: center;">
608
- <nobr>{{row.f_price_name}}</nobr>
609
- </td>
610
- <td style="text-align: center;">
611
- <nobr>{{row.f_card_id}}</nobr>
612
- </td>
613
- <td style="text-align: center;">
614
- <nobr>{{row.f_times}}</nobr>
615
- </td>
616
- <td style="text-align: center;">
617
- <nobr>{{row.f_pregas}}</nobr>
618
- </td>
619
- <td style="text-align: center;">
620
- <nobr>{{row.fee}}</nobr>
621
- </td>
622
- <td style="text-align: center;">
623
- <nobr>{{row.f_delaypay}}</nobr>
624
- </td>
625
- <td style="text-align: center;">
626
- <nobr>{{row.f_preamount}}</nobr>
627
- </td>
628
- <td style="text-align: center;">
629
- <nobr>{{row.f_charge_money}}</nobr>
630
- </td>
631
- <td style="text-align: center;">
632
- <nobr>{{row.f_yucun}}</nobr>
633
- </td>
634
-
635
- <td style="text-align: center;">
636
- <nobr>{{row.f_collection}}</nobr>
637
- </td>
638
- <!--<td style="text-align: center;">-->
639
- <!--<nobr>{{row.f_rest_date}}</nobr>-->
640
- <!--</td>-->
641
- <td style="text-align: center;">
642
- <nobr>{{row.f_operate_date}}</nobr>
643
- </td>
644
- <td style="text-align: center;">
645
- <nobr>{{row.f_privilege_money}}</nobr>
646
- </td>
647
-
648
- <td style="text-align: center;">
649
- <nobr >{{row.f_balance}}</nobr>
650
- </td>
651
- <td style="text-align: center;">
652
- <nobr>{{row.f_curbalance}}</nobr>
653
-
654
- </td>
655
- <td style="text-align: center;">
656
- <nobr>{{row.f_payment}}</nobr>
657
- </td>
658
- <td style="text-align: center;">
659
- <nobr>{{row.f_write_card}}</nobr>
660
- </td>
661
- <td style="text-align: center;">
662
- <nobr>{{row.f_bank_type}}</nobr>
663
- </td>
664
- <td style="text-align: center;">
665
- <nobr>{{row.f_bank_name}}</nobr>
666
- </td>
667
- <td style="text-align: center;">
668
- <nobr>{{row.f_type}}</nobr>
669
- </td>
670
- <td style="text-align: center;">
671
- <nobr>{{row.f_terminal_num}}</nobr>
672
- </td>
673
- <td style="text-align: center;">
674
- <nobr>{{row.f_bluetooth_package}}</nobr>
675
- </td>
676
- <td style="text-align: center;">
677
- <nobr>{{row.f_state}}</nobr>
678
- </td>
679
-
680
- <td style="text-align: center;">
681
- <nobr>{{row.f_comments}}</nobr>
682
- </td>
683
- <td style="text-align: center;">
684
- <nobr>{{row.filltimes}}</nobr>
685
- </td>
686
- <td style="text-align: center;">
687
- <nobr>{{row.f_operator}}</nobr>
688
- </td>
689
- <td style="text-align: center;">
690
- <nobr>{{row.f_depname}}</nobr>
691
- </td>
692
- <td style="text-align: center;">
693
- <nobr>{{row.f_orgname}}</nobr>
694
- </td>
695
- <td style="text-align: center;">
696
- <nobr>{{row.f_us_orgname}}</nobr>
697
- </td>
698
- <td style="text-align: center;">
699
- <nobr>{{row.f_us_depname}}</nobr>
700
- </td>
701
- <td style="text-align: center;">
702
- <nobr>{{row.f_serial_id}}</nobr>
703
- </td>
704
- <td style="text-align: center;">
705
- <nobr>{{row.f_bill_number}}</nobr>
706
- </td>
707
- <td style="text-align: center;">
708
- <nobr>{{row.f_serial_number}}</nobr>
709
- </td>
710
- <td style="text-align: center;">
711
- <nobr>{{row.f_invoice_num}}</nobr>
712
- </td>
713
- <td style="text-align: center;">
714
- <nobr>{{row.f_invoice_type}}</nobr>
715
- </td>
716
- <td style="text-align: center;">
717
- <nobr>{{row.f_invoiceuse_operator}}</nobr>
718
- </td>
719
- <td style="text-align: center;">
720
- <nobr>{{row.f_invoice_date}}</nobr>
721
- </td>
722
- <td style="text-align: center;">
723
- <nobr>{{row.f_tax_logotype}}</nobr>
724
- </td>
725
- <td style="text-align: center;">
726
- <nobr>{{row.f_write_totalgas}}</nobr>
727
- </td>
728
- <td style="text-align: center;">
729
- <nobr>{{row.f_write_money}}</nobr>
730
- </td>
731
- <td style="text-align: center;">
732
- <nobr>{{row.f_corr_operator}}</nobr>
733
- </td>
734
- <td style="text-align: center;">
735
- <nobr>{{row.f_corr_operate_date}}</nobr>
736
- </td>
737
- <td style="text-align: center;">
738
- <nobr>{{row.f_stairamount1}}</nobr>
739
- </td>
740
- <td style="text-align: center;">
741
- <nobr>{{row.f_stair1price}}</nobr>
742
- </td>
743
- <td style="text-align: center;">
744
- <nobr>{{(row.f_stair1fee - 0).toFixed(2)}}</nobr>
745
- </td>
746
- <td style="text-align: center;">
747
- <nobr>{{row.f_stair2amount}}</nobr>
748
- </td>
749
- <td style="text-align: center;">
750
- <nobr>{{row.f_stair2price}}</nobr>
751
- </td>
752
- <td style="text-align: center;">
753
- <nobr>{{(row.f_stair2fee - 0).toFixed(2)}}</nobr>
754
- </td>
755
- <td style="text-align: center;">
756
- <nobr>{{row.f_stair3amount}}</nobr>
757
- </td>
758
- <td style="text-align: center;">
759
- <nobr>{{row.f_stair3price}}</nobr>
760
- </td>
761
- <td style="text-align: center;">
762
- <nobr>{{(row.f_stair3fee - 0).toFixed(2)}}</nobr>
763
- </td>
764
- <td style="text-align: center;">
765
- <nobr>{{row.isbgl}}</nobr>
766
- </td>
767
- <td style="text-align: center;"><nobr>
768
- <button style=" height: 28px;line-height: 16px;" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
769
- </nobr></td>
770
- </template>
771
- <template partial='foot'></template>
772
- </data-grid>
773
- </criteria-paged>
774
- <table class="table-hover">
775
- <tr style="position: relative" class="table-bordered">
776
- <td
777
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
778
- 汇总信息
779
- </td>
780
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
781
- 气量合计:&emsp;{{sumsmodel.f_pregas}}
782
- </td>
783
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
784
- 气费金额合计:&emsp;{{sumsmodel.fee}}
785
- </td>
786
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
787
- 违约金合计:&emsp;{{sumsmodel.f_delaypay}}
788
- </td>
789
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
790
- 应交金额合计:&emsp;{{sumsmodel.f_preamount}}
791
- </td>
792
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
793
- 预存金额合计:&emsp;{{sumsmodel.f_yucun}}
794
- </td>
795
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
796
- 实际收款合计:&emsp;{{sumsmodel.f_collection}}
797
- </td>
798
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
799
- 优惠合计:&emsp;{{sumsmodel.f_privilege_money}}
800
- </td>
801
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
802
- 一阶气量合计:&emsp;{{sumsmodel.f_stairamount1}}
803
- </td>
804
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
805
- 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
806
- </td>
807
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
808
- 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}
809
- </td>
810
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
811
- 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
812
- </td>
813
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
814
- 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}
815
- </td>
816
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
817
- 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
818
- </td>
819
- </tr>
820
- </table>
821
- </div>
822
- </div>
823
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
824
- <article slot="modal-body">
825
- <upload :blodid="selected.f_userinfo_id" :businessid="selected.id" v-ref:upload isupload="false" takeimg="false" fusetype="%收费" :isremark="false" style="width:auto" ></upload>
826
- </article>
827
- <footer slot="modal-footer" class="modal-footer">
828
- </footer>
829
- </modal>
830
- <modal :show.sync="serialNumberModelShow" v-if="serialNumberModelShow" style="width:auto;" v-ref:modal middle backdrop="false">
831
- <article slot="modal-body">
832
- <div style="text-align: center" class="row">
833
-
834
- <file-upload style="margin-left:100px;padding-top:20px" class="my-file-uploader" :name="'myFile' + uuid"
835
- action="rs/file/uploadFile" tagname="文件上传"
836
- accept=".doc, .docx, .xls, .xlsx, .jpg, .png, .gif, .bmp, .avi, .mp4, .wmv, .rmvb, .mov, .pdf"
837
- :headers="{'username': this.$login.f.name, 'blodid': uuid,'businessid':uuid, 'fremarks': '','defname':'','fusetype':'收费'}"
838
- v-ref:file></file-upload>
839
- <div class="col-sm-8 form-group" style="margin-left:150px;padding-top:10px" :class="[!f_serial_number ? 'has-error' : '']">
840
- <label class="font_normal_body">银行流水号</label>
841
- <input type="text" style="width:60%" class="input_search" v-model="f_serial_number" placeholder='银行流水号'>
842
- </div>
843
- </div>
844
- </article>
845
- <footer slot="modal-footer" class="modal-footer">
846
- <button type="button" class="btn btn-primary" :disabled="!f_serial_number" @click="serialNumberConfirm">确定</button>
847
- </footer>
848
- </modal>
849
- </div>
850
- <high-meter-idcard :show.sync="false" v-ref:highcard ></high-meter-idcard>
851
- </template>
852
-
853
- <script>
854
- import {HttpResetClass, PagedList} from 'vue-client'
855
- import exportConfig from './config/exportConfig'
856
- import ResSelectUserGroup from './ResSelectUserGroup.vue'
857
- let cardBtnGen = async function (self, val) {
858
- self.cardInfo = val.data
859
-
860
- // 判断读卡是否需要卡密码
861
- console.log('读卡上的信息', self.cardInfo)
862
-
863
- if (self.cardInfo.NewParam) {
864
- if (self.cardInfo.NewParam.error) {
865
- if (self.cardInfo.NewParam.error === '0001') {
866
- // 需要重新读卡并传卡密码
867
- if (self.model.rows.length == 1 && self.model.rows[0].f_alias === self.cardInfo.Factory) {
868
- self.readCardParam = self.model.rows[0].f_card_password
869
- self.cardInfo = await self.$refs.paged.$refs.cri.$refs.readcard.readCard2(self.model.rows[0].f_card_password)
870
- } else {
871
- self.$showAlert('此卡需要先获取客户信息。请通过条件查询该客户信息之后进行读卡!!', 'warning', 2000)
872
- return
873
- }
874
- }
875
- }
876
- }
877
- self.card=self.cardInfo.CardID
878
- self.search()
879
- }
880
- let readySomething = async function (self) {
881
- //加载抄表册
882
- self.initmeterbook();
883
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
884
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
885
- // self.$refs.paged.$refs.cri.model.f_state=['有效'];
886
- // self.$refs.paged.$refs.cri.search()
887
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
888
- await self.$MagLoadParams.loadParam()
889
- self.initParams()
890
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
891
- }
892
- export default {
893
- components: {
894
- 'res-select-user-group': ResSelectUserGroup
895
- },
896
- props:['data'],
897
- title: '收费查询',
898
- data() {
899
- return {
900
- IdCardInfo:'',
901
- serialNumberShow : false,
902
- serialNumberModelShow : false,
903
- // 随机数uuid
904
- uuid: '',
905
- f_serial_number: '',
906
- card:'',
907
- isSingleUser: null,
908
- startDate1:'',
909
- endDate1:'',
910
- resshow:['company','department','operator','slicearea'],
911
- other:[],
912
- pcdslist:[],
913
-
914
- footer:[],
915
- config: {
916
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_pregas', 'f_collection', 'f_stairamount1', 'f_stair2amount', 'f_stair3amount','f_operate_date']
917
- },
918
- //排序
919
- orderitem:'f_operate_date desc',
920
- orderFields: {
921
- f_operate_date: 'no'
922
- },
923
- //f_price_name:[],
924
- gasproperties:[],
925
- // papertype: this.$appdata.getParam('票据类型') ? [{
926
- // label: '全部',
927
- // value: ''
928
- // }, ...this.$appdata.getParam('票据类型')] : [],
929
- gaspropertiessecond: this.$appdata.getParam('二级用气性质') ? [{
930
- label: '全部',
931
- value: ''
932
- }, ...this.$appdata.getParam('二级用气性质')] : [],
933
- showinfo: false,
934
- data: {},
935
- getstart:'',
936
- show:false,
937
- rowdata:{},
938
- initres: {
939
- org:[this.$login.f.orgid],
940
- dep:[],
941
- user:[]
942
- },
943
- userInitres: {
944
- org: [],
945
- dep: [],
946
- user: []
947
- },
948
- operatornames: [],
949
- model: new PagedList('api/af-revenue/sql/chargeQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`},{
950
- f_pregas: 0,
951
- f_preamount: 0,
952
- f_delaypay: 0,
953
- fee:0,
954
- f_yucun:0,
955
- f_privilege_money: 0,
956
- f_collection: 0,
957
- f_stairamount1:0,
958
- f_stair1fee:0,
959
- f_stair2amount:0,
960
- f_stair2fee:0,
961
- f_stair3amount:0,
962
- f_stair3fee:0,
963
- }),
964
- criteriaShow: false,
965
- orgCondtionStr: '',
966
- userOrgConditionStr: '',
967
- // 下拉框
968
- meterbrands: [],
969
- pricenames: [],
970
- prices: [],
971
- area: [],
972
- //默认打印列
973
- defaultfield: [],
974
- //小区
975
- residentialArea: [],
976
- //街道列表
977
- streetList: [],
978
- sumsmodel: {},
979
- f_filialeid: this.$login.f.orgid,
980
- wxstate:[
981
- {label: '全部', value: ''},
982
- {label: '已退款', value: `= '3'`},
983
- {label: '未退款', value: `!= '3'`}
984
- ],
985
- privilege_money:[
986
- {label: '全部', value: ''},
987
- {label: '已优惠', value: '> 0'},
988
- {label: '未优惠', value: '= 0'}
989
- ],
990
- showupload:false,
991
- selected:{},
992
- meterbooks:[{label: '全部',value: ''}], //抄表册
993
- inputtores:[{label: '全部',value: ''}],
994
- writecard:[{label: '全部',value: ''},{label: '已写卡',value: '已写卡'},{label: '未写卡',value: '未写卡'},{label: '写卡失败',value: '写卡失败'}],
995
- bluetoothpackage:[{label: '全部',value: ''},{label: '发送成功',value: '发送成功'},{label: '执行成功',value: '执行成功'}],
996
- allorgid:[],
997
- ishaisnumberoption:[{label: '全部', value: ''},{label: '是', value: ' f_serial_number is not null '},{label: '否', value: ' f_serial_number is null '}],
998
- tempfalg :false,
999
- lastorgstr:'',
1000
- // pos设备列表
1001
- posEquipment: [{label: '全部',value: ''}],
1002
- showbottomsum:false, //页面下方是否有合计: 默认为false, 在watch修改
1003
- bgl:[{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
1004
- }
1005
- },
1006
- ready() {
1007
- this.$refs.paged.$refs.cri.model.f_state=['有效']
1008
- this.getaddress()
1009
- this.getEquipment()
1010
- //加载抄表册
1011
- this.$MagGetSaleParam.initinputtor();
1012
- this.getinputtores();
1013
- // this.initres.dep.push(this.$login.f.depids)
1014
- readySomething(this).then(() => {
1015
- this.$emit('ready')
1016
- }).catch((error) => {
1017
- this.$emit('error', error)
1018
- })
1019
- },
1020
- methods: {
1021
- async serialNumber (){
1022
- if (!this.serialNumberShow){
1023
- this.$showAlert('仅当查询自己的现金缴费操作时才可以进行流水号补录', 'warning', 3000)
1024
- return
1025
- }
1026
- this.serialNumberModelShow = true
1027
- this.f_serial_number = ''
1028
- this.uuid = this.guid()
1029
- },
1030
- serialNumberConfirm() {
1031
- let param = {
1032
- uuid: this.uuid,
1033
- f_serial_number: this.f_serial_number,
1034
- startDate: this.$refs.paged.$refs.cri.model.startDate,
1035
- endDate: this.$refs.paged.$refs.cri.model.endDate,
1036
- condition: `${this.$refs.paged.$refs.cri.condition}${this.orgCondtionStr}${this.userOrgConditionStr}`,
1037
- orderitem: this.orderitem ? `${this.orderitem}` : " f_operate_date desc"
1038
- }
1039
- let http = new HttpResetClass()
1040
- http.load('POST', 'api/af-revenue/logic/serialNumberUpdate', param,
1041
- {resolveMsg: '操作成功', rejectMsg: null}).then((res) => {
1042
- this.serialNumberModelShow=false;
1043
- this.row = res.data[0]
1044
- this.search()
1045
- }).catch((error) => {
1046
- this.serialNumberModelShow=false
1047
- this.$showAlert('操作失败', 'error', 3000)
1048
- this.search()
1049
- })
1050
- },
1051
- guid() {
1052
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1053
- let r = Math.random() * 16 | 0,
1054
- v = c == 'x' ? r : (r & 0x3 | 0x8)
1055
- return v.toString(16)
1056
- })
1057
- },
1058
- // 获取设备下拉选
1059
- async getEquipment () {
1060
- let HttpReset = new HttpResetClass()
1061
- let param = {
1062
- items: 'f_terminal_name',
1063
- tablename: 't_equipment',
1064
- condition: `f_equipment_type = 'POS' and f_state = '正常'`,
1065
- orderitem: 'id'
1066
- }
1067
- var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_singleTable', {data: param}, {resolveMsg: null, rejectMsg: '获取设备列表失败!'})
1068
- for (let row of data.data) {
1069
- this.posEquipment.push({label: row.f_terminal_name, value: row.f_terminal_name})
1070
- }
1071
- },
1072
- ReadIDCard(){
1073
- this.$refs.highcard.sendMsg(this.$refs.highcard.CLT_MSG.READ_IDCARD, (msg) => {
1074
- console.log('======',msg)
1075
- if(msg.err !== 0){ return}
1076
- this.IdCardInfo=msg.strID
1077
- })
1078
- if(this.IdCardInfo) {
1079
- this.search()
1080
- }else{
1081
- alert("读取失败,找不到用户信息")
1082
- }
1083
- },
1084
- cardBtn (val) {
1085
- // this.clear()
1086
- cardBtnGen(this, val)
1087
- },
1088
- async initmeterbook(orgstr){
1089
- if(orgstr == null ){
1090
- orgstr = this.f_filialeid;
1091
- }
1092
- // 检查 $GetSaleParam 和 $LoadParams 是否存在
1093
- if (!this.$GetSaleParam || !this.$LoadParams) {
1094
- console.warn('$GetSaleParam 或 $LoadParams 未定义,跳过抄表册初始化')
1095
- this.meterbooks = [{label: '全部', value: ''}]
1096
- return
1097
- }
1098
- //获取新的抄表册,先去清理所有的抄表册
1099
- this.$GetSaleParam.meterbooks = [];
1100
- //开始加载新的抄表册
1101
- await this.$LoadParams.loadMeterBook(orgstr)
1102
- // 检查 getMeterBooks 方法是否存在
1103
- if (this.$GetSaleParam.getMeterBooks && typeof this.$GetSaleParam.getMeterBooks === 'function') {
1104
- this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
1105
- } else {
1106
- console.warn('$GetSaleParam.getMeterBooks 方法不存在')
1107
- this.meterbooks = [{label: '全部', value: ''}]
1108
- }
1109
- },
1110
- async getinputtores () {
1111
- // 获取抄表员
1112
- let rs = []
1113
- if (this.$login.f.f_gasman.length > 0) {
1114
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
1115
- let temp = {
1116
- label: this.$login.f.f_gasman[i].name,
1117
- value: this.$login.f.f_gasman[i].name
1118
- }
1119
- rs.push(temp)
1120
- }
1121
- }
1122
- this.inputtores = [{label: '全部', value: ''}, ...rs]
1123
- },
1124
- //显示附件
1125
- view(row){
1126
- this.showupload = true
1127
- this.selected= row
1128
- },
1129
- getotherfooter () {
1130
- // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
1131
- // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
1132
- this.other = [];
1133
- this.footer = [];
1134
- let exportdata = this.getCondition;
1135
- let otherInData = [];
1136
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
1137
- let footerData = [], exportfield = this.getfield;
1138
- footerData.push("合计");
1139
- let self = this;
1140
- for (var field in self.sumsmodel) {
1141
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
1142
- }
1143
- this.footer.push(footerData);
1144
- this.other.push(otherInData);
1145
- },
1146
- async getaddress(){
1147
- let HttpReset = new HttpResetClass()
1148
- var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
1149
- data: {
1150
- // condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
1151
- condition: `1=1`
1152
- }
1153
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
1154
- console.log('小区',data)
1155
- let house = [{label: '全部', value: ''}]
1156
- for (let row of data.data){
1157
- house.push({label: row.f_residential_area, value: row.f_residential_area})
1158
- }
1159
- console.log('开始获取区域')
1160
- var req = await HttpReset.load('POST','api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
1161
- data: {
1162
- items: '*',
1163
- tablename: 't_pcd',
1164
- orderitem: 'id',
1165
- condition: `1=1`
1166
- }
1167
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
1168
- this.residentialArea = house
1169
- let redata = []
1170
- console.log('区域是:',req)
1171
- req.data.forEach((row, n) => {
1172
- redata[n] = {
1173
- label: row.f_pcd,
1174
- value: row.id,
1175
- data: row,
1176
- id: row.id
1177
- }
1178
- })
1179
- console.log('获取到的小区',redata)
1180
- this.pcdslist = redata
1181
- // 获取街道列表
1182
- await this.getStreetList()
1183
- },
1184
- // 获取街道列表
1185
- async getStreetList () {
1186
- let HttpReset = new HttpResetClass()
1187
- try {
1188
- // 构建查询条件
1189
- let condition = `f_street is not null and f_street != ''`
1190
-
1191
- // 如果有选中的公司,添加公司过滤条件
1192
- if (this.allorgid && this.allorgid.length > 0) {
1193
- // 将公司ID数组转换为SQL in条件格式:'id1','id2','id3'
1194
- let orgidStr = this.allorgid.map(id => `'${id}'`).join(',')
1195
- condition += ` and f_orgid in (${orgidStr})`
1196
- console.log('街道列表查询条件(含公司过滤):', condition)
1197
- } else {
1198
- console.log('街道列表查询条件(无公司过滤):', condition)
1199
- }
1200
-
1201
- var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_singleTable', {
1202
- data: {
1203
- items: 'distinct f_street',
1204
- tablename: 't_street',
1205
- condition: condition,
1206
- orderitem: 'f_street'
1207
- }
1208
- }, {resolveMsg: null, rejectMsg: '获取街道列表失败!'})
1209
- let streetData = [{label: '全部', value: ''}]
1210
- if (data && data.data) {
1211
- for (let row of data.data) {
1212
- if (row.f_street) {
1213
- streetData.push({label: row.f_street, value: row.f_street})
1214
- }
1215
- }
1216
- }
1217
- console.log('获取到的街道列表:', streetData)
1218
- this.streetList = streetData
1219
- } catch (error) {
1220
- console.error('获取街道列表失败:', error)
1221
- this.streetList = [{label: '全部', value: ''}]
1222
- }
1223
- },
1224
- //把数据库查询数据转换为下拉数据
1225
- calculate(rows){
1226
- let data = []
1227
- rows.forEach((row, n) => {
1228
- data[n] = {label: row.f_residential_area, value: row.id}
1229
- })
1230
- return data
1231
- },
1232
-
1233
- search(){
1234
-
1235
- this.$refs.paged.$refs.cri.search()
1236
- },
1237
- cancel() {
1238
- this.show = false
1239
- },
1240
- showmsg(obj){
1241
- this.rowdata=obj
1242
- this.show=true
1243
- },
1244
- userTypeChange () {
1245
- this.gasproperties=[]
1246
- if(this.$refs.paged.$refs.cri.model !==null) {
1247
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
1248
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
1249
- }
1250
- else{
1251
- this.gasproperties =[{label: '全部', value: ''}]
1252
- }
1253
- },
1254
- initParams() {
1255
- // 初始化气表品牌
1256
- let brandArr = []
1257
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
1258
- let temp = {}
1259
- temp.label = item.label
1260
- temp.value = item.value.f_meter_brand
1261
- brandArr.push(temp)
1262
- })
1263
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
1264
- //初始化气表价格
1265
- this.prices = this.$MagGetSaleParam.getPrices();
1266
- },
1267
- selfSearch(args) {
1268
- if (this.data) {
1269
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
1270
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
1271
- }
1272
-
1273
- let f_orgstr = this.orgCondtionStr
1274
- if(this.card!=''){
1275
- args.condition+=` and f_card_id='${this.card}'`
1276
- }
1277
- if(this.IdCardInfo!=''){
1278
- args.condition +=` and f_idnumber='${this.IdCardInfo}'`
1279
- }
1280
- args.condition = `${args.condition} ${f_orgstr} ${this.userOrgConditionStr}`
1281
- this.model.search(args.condition, args.model)
1282
- let condition1 = this.operatornames.length && this.operatornames[0] === this.$login.f.id
1283
- let condition2 = this.$refs.paged.$refs.cri.model.f_payment.length && this.$refs.paged.$refs.cri.model.f_payment[0].indexOf('现金') > -1
1284
- console.log("========condition1",condition1)
1285
- console.log("========condition2",condition2)
1286
- this.serialNumberShow = condition1 && condition2
1287
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
1288
- this.card=''
1289
- this.IdCardInfo=''
1290
- },
1291
- getUserRes (condition) {
1292
- this.userOrgConditionStr = condition
1293
- },
1294
- clear() {
1295
- // 清空操作员/用户的组织选择
1296
- if (this.$refs.paged.$refs.cri.$refs.usersel && this.$refs.paged.$refs.cri.$refs.usersel.resetAll) {
1297
- this.$refs.paged.$refs.cri.$refs.usersel.resetAll()
1298
- }
1299
- this.orgCondtionStr = ''
1300
- this.userOrgConditionStr = ''
1301
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
1302
- this.$refs.paged.$refs.cri.model[key] = []
1303
- })
1304
-
1305
- },
1306
- dealmsg(val,startDate,endDate) {
1307
- val.model = this.model.model
1308
- startDate=this.startDate1
1309
- endDate=this.endDate1
1310
- this.$dispatch('deal-msg', val,startDate,endDate)
1311
- },
1312
- show() {
1313
- this.criteriaShow = true
1314
- },
1315
- hidden() {
1316
- this.criteriaShow = !this.criteriaShow
1317
- },
1318
- async getRes(condition,obj) {
1319
- this.orgCondtionStr = condition
1320
- this.orgname = obj.orgnames[0]
1321
- this.depname = obj.depnames[0]
1322
- this.operatornames = obj.operatornames
1323
- },
1324
- async updateParams() {
1325
- await this.$MagLoadParams.loadParam(this.f_filialeid)
1326
- this.inputtores = [];
1327
- this.inputtores.push({label: "全部", value: ""})
1328
- if(this.allorgid!=null){
1329
- this.allorgid.forEach((res)=>{
1330
- this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
1331
- })
1332
- }
1333
- this.initParams()
1334
- },
1335
- sort (field, rule) {
1336
- // 将所有排序方式设为不排序,实现相互排斥
1337
- for (let key in this.orderFields) {
1338
- if (key === field) {
1339
- this.orderFields[key] = rule
1340
- } else {
1341
- this.orderFields[key] = 'no'
1342
- }
1343
- }
1344
- // 如果新规则不排序,还原为默认排序
1345
- if (rule === 'no') {
1346
- this.model.paramSource.orderitem = `'${this.orderitem}'`
1347
- } else {
1348
- this.model.paramSource.orderitem = `'${field} ${rule}'`
1349
- }
1350
-
1351
- this.search()
1352
- }
1353
-
1354
- },
1355
- events:{
1356
- 'getidcard'(IdCard){
1357
- // console.log(param)
1358
- this.$refs.paged.$refs.cri.model.f_info_idnumber=IdCard.strID
1359
- },
1360
- 'onFileUpload'(files,res){
1361
- if(res && res.id ){
1362
- let msg = '上传成功'
1363
- if(!this.f_serial_number){
1364
- msg = '上传成功,请填写流水号之后进行确认'
1365
- }
1366
- this.$showAlert(msg, 'success', 2000)
1367
- }else{
1368
- this.$showAlert('上传失败,请检查文件类型', 'warning', 2000)
1369
- }
1370
- }
1371
- },
1372
- watch: {
1373
- 'model.rows'(val) {
1374
- //如果有合计 这里为true, 其他为false ,反正相反
1375
- this.showbottomsum=true;
1376
- if(val.length === 0){
1377
- this.sumsmodel = {}
1378
- this.showbottomsum=false;
1379
- }
1380
- },
1381
- 'model.rows.length' () {
1382
- this.isSingleUser = this.model.rows
1383
- },
1384
- async 'orgCondtionStr'(val) {
1385
- //更新抄表册
1386
- this.$refs.paged.$refs.cri.model.f_inputtor=[]
1387
- this.$refs.paged.$refs.cri.model.f_meter_book = []
1388
- this.meterbooks = [{label: '全部',value: ''}];
1389
- if(this.lastorgstr != val){
1390
- this.tempfalg = true;
1391
- this.lastorgstr = val;
1392
- }
1393
- if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
1394
- this.tempfalg = false;
1395
- let a = val.substring(val.indexOf("(")+2)
1396
- await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
1397
- }
1398
- let res = val.match(/'(.*?)'/)
1399
- console.log('正则提取:', res && res[1])
1400
- // 先清空 allorgid,避免使用旧值
1401
- this.allorgid = []
1402
- if (res) {
1403
- this.f_filialeid = res[1]
1404
- if(res.input !=null){
1405
- let resorgid = res.input.substring(res.input.indexOf("'"));
1406
- if(resorgid!= null && resorgid!=''){
1407
- resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
1408
- // resorgid = resorgid.replaceAll("'","");
1409
- resorgid = resorgid.replace(/'/g,"");
1410
- this.allorgid = resorgid.split(",")
1411
- console.log('解析到的公司ID列表:', this.allorgid)
1412
- }
1413
- }
1414
- await this.updateParams()
1415
- }
1416
- // 无论是否有匹配,都重新加载街道列表(公司选择改变时)
1417
- console.log('公司选择改变,重新加载街道列表,当前allorgid:', this.allorgid)
1418
- await this.getStreetList()
1419
- },
1420
- sumsmodel:{
1421
- handler: function(val) {
1422
- this.getotherfooter();
1423
- },
1424
- deep: true
1425
- }
1426
- },
1427
- computed: {
1428
- getstart(){
1429
- return `开始时间:${this.$refs.paged.$refs.cri.model.startDate} 结束时间:${this.$refs.paged.$refs.cri.model.endDate}`
1430
- },
1431
- chooserow(){
1432
- let aaa= true
1433
- if(this.$login.r && this.$login.r.includes('打印项选择')){
1434
- aaa = false
1435
- }
1436
- return aaa
1437
- },
1438
- getPricenames() {
1439
- let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
1440
- let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
1441
- let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
1442
- console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
1443
- if(this.$refs.paged.$refs.cri.model !==null) {
1444
- let rs = []
1445
- let priceArr = []
1446
- if ( pricetype.length >0) {
1447
- let params = {
1448
- f_price_type: pricetype[0],
1449
- filter: this.f_filialeid,
1450
- prices: this.prices
1451
- }
1452
- this.$MagGetSaleParam.getPrice(params).forEach((item) => {
1453
- let temp = {}
1454
- temp.label = item.label
1455
- temp.value = item.value.f_price_name
1456
- priceArr.push(temp)
1457
- })
1458
- rs = [{label: '全部', value: ''}, ...priceArr]
1459
- }
1460
- if (rs.length === 0) {
1461
- console.log('rs读出来是空')
1462
- this.$refs.paged.$refs.cri.model.f_price_name = ''
1463
- }
1464
- return rs
1465
- }
1466
- },
1467
- getCondition() {
1468
- return {
1469
- startDate: this.$refs.paged.$refs.cri.model.startDate,
1470
- endDate: this.$refs.paged.$refs.cri.model.endDate,
1471
- condition: `${this.$refs.paged.$refs.cri.condition}${this.orgCondtionStr}${this.userOrgConditionStr}`,
1472
- orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"
1473
- }
1474
- },
1475
- getfield() {
1476
- return exportConfig.chargeConfig
1477
- },
1478
- defaultexport() {
1479
- return exportConfig.chargeexportConfig
1480
- },
1481
- pricetypes() {
1482
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
1483
- },
1484
-
1485
- invoiceType() {
1486
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('发票类型查询')]
1487
- },
1488
- usertypes() {
1489
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
1490
- },
1491
- metertypes() {
1492
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
1493
- },
1494
-
1495
- tablestate() {
1496
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表状态')]
1497
- },
1498
- chargetype() {
1499
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收费类型')]
1500
- },
1501
- payment() {
1502
- return [...this.$appdata.getParam('付款方式查询')]
1503
- },
1504
- banktype() {
1505
- return [...this.$appdata.getParam('支付渠道查询')]
1506
- },
1507
- charge_state() {
1508
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
1509
- },
1510
- bank(){
1511
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('银行名称')]
1512
- }
1513
- }
1514
- }
1515
- </script>
1516
- <style scoped>
1517
- .showbottom{
1518
- height:95%
1519
- }
1520
- </style>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" :class="{showbottom:showbottomsum}" v-if="!show">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri >
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group">
10
+ <label for="startDate" class="font_normal_body">开始日期</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :format="'yyyy-MM-dd HH:mm:ss'"
15
+ :show-reset-button="true"
16
+ condition="f_operate_date >= '{}'">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label for="endDate" class="font_normal_body">结束日期</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :format="'yyyy-MM-dd HH:mm:ss'"
25
+ :show-reset-button="true"
26
+ condition="f_operate_date <= '{}'">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">客户编号</label>
31
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
+ condition="f_userinfo_code like '%{}%' " placeholder="客户编号">
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body">客户名称</label>
36
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
37
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
38
+ </div>
39
+
40
+ <div class="span" style="float:right;">
41
+ <button class="button_search button_spacing" v-show="false" @click="$parent.$parent.ReadIDCard()">读取身份证</button>
42
+ <read-card :is-single.sync="$parent.$parent.isSingleUser" @read-info="$parent.$parent.cardBtn" v-ref:readcard></read-card>
43
+ <button class="button_search button_spacing" @click="search()">查询</button>
44
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
45
+ <button class="button_clear button_spacing" @click="$parent.$parent.serialNumber">流水号补录</button>
46
+
47
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
48
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
49
+ :defaultselect="$parent.$parent.defaultexport"
50
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
51
+ :choose-col="true">
52
+ </export-excel>
53
+
54
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
55
+ :defaultfield="$parent.$parent.defaultfield"
56
+ titletable="缴费记录报表" :starthead="$parent.$parent.getstart"
57
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
58
+ <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>
59
+
60
+ </div>
61
+ </div>
62
+ <div class="row" v-show="$parent.$parent.criteriaShow">
63
+ <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
64
+ <div class="col-sm-2 form-group">
65
+ <label class="font_normal_body">收费编号</label>
66
+ <input type="text" style="width:60%" class="input_search" v-model="model.id"
67
+ condition="id = '{}'" placeholder="收费编号">
68
+ </div>
69
+ <div class="col-sm-2 form-group">
70
+ <label class="font_normal_body">客户电话</label>
71
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
72
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
73
+ </div>
74
+ <div class="col-sm-2 form-group">
75
+ <label class="font_normal_body">身份证号</label>
76
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_idnumber"
77
+ condition="f_idnumber like '%{}%'" placeholder="身份证号">
78
+ </div>
79
+ <div class="col-sm-2 form-group">
80
+ <label class="font_normal_body">客户地址</label>
81
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
82
+ condition="f_address like '%{}%'" placeholder='客户地址'>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body" style="letter-spacing: 2em;margin-right: -2em">小区</label>
86
+ <v-select :value.sync="model.f_residential_area"
87
+ class="select_list select"
88
+ v-model="model.f_residential_area"
89
+ style="width: 60%"
90
+ multiple
91
+ condition="f_residential_area in {}"
92
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
93
+ close-on-select>
94
+ </v-select>
95
+ </div>
96
+ <div
97
+ class="col-sm-2 form-group">
98
+ <label class="font_normal_body" style="letter-spacing: 2em;margin-right: -2em" >区域</label>
99
+ <v-select
100
+ :multiple="true"
101
+ v-model="model.f_pcd"
102
+ placeholder='选择区域'
103
+ :value.sync="model.f_pcd"
104
+ :options='$parent.$parent.pcdslist'
105
+ condition="f_pcd_id in {}"
106
+ style="width: 60%"
107
+ close-on-select >
108
+ </v-select>
109
+ </div>
110
+ <div class="col-sm-2 form-group">
111
+ <label class="font_normal_body" title="参数:付款方式查询">付款方式</label>
112
+ <v-select :value.sync="model.f_payment" multiple
113
+ v-model="model.f_payment"
114
+ :options='$parent.$parent.payment' placeholder='请选择'
115
+ condition="f_payment in {}"
116
+ close-on-select></v-select>
117
+ </div>
118
+ <div class="col-sm-2 form-group">
119
+ <label class="font_normal_body" title="参数:支付渠道查询">支付渠道</label>
120
+ <v-select :value.sync="model.f_bank_type" multiple
121
+ v-model="model.f_bank_type"
122
+ :options='$parent.$parent.banktype' placeholder='请选择'
123
+ condition="f_bank_type in {}"
124
+ close-on-select></v-select>
125
+ </div>
126
+ <div class="col-sm-2 form-group">
127
+ <label class="font_normal_body">收费类型</label>
128
+ <!-- <v-select :value.sync="model.f_type"
129
+ v-model="model.f_type"
130
+ :options='$parent.$parent.chargetype' placeholder='请选择'
131
+ condition="f_type = '{}'"
132
+ close-on-select></v-select>-->
133
+ <v-select :value.sync="model.f_type" multiple
134
+ :options='$parent.$parent.chargetype' placeholder='请选择'
135
+ close-on-select clear-button
136
+ condition="f_type in {}"
137
+ v-model="model.f_type"></v-select>
138
+ </div>
139
+ <!-- <div class="col-sm-2 form-group">-->
140
+ <!-- <label class="font_normal_body">票据类型</label>-->
141
+ <!-- <v-select :options='$parent.$parent.papertype'-->
142
+ <!-- condition="f_paper_type = '{}'"-->
143
+ <!-- v-model="model.f_paper_type"-->
144
+ <!-- :value.sync="model.f_paper_type" close-on-select-->
145
+ <!-- placeholder='请选择'></v-select>-->
146
+ <!-- </div>-->
147
+ <div class="col-sm-2 form-group">
148
+ <label class="font_normal_body">客户类型</label>
149
+ <v-select :value.sync="model.f_user_type"
150
+ @change="$parent.$parent.userTypeChange()"
151
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
152
+ condition="f_user_type = '{}'"
153
+ close-on-select></v-select>
154
+ </div>
155
+ <div class="col-sm-2 form-group">
156
+ <label class="font_normal_body">用气性质</label>
157
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
158
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
159
+ condition="f_gasproperties = '{}'"
160
+ close-on-select></v-select>
161
+ </div>
162
+ <div class="col-sm-2 form-group">
163
+ <label class="font_normal_body" title="二级用气性质">二级性质</label>
164
+ <v-select :value.sync="model.f_gasproperties_second" v-model="model.f_gasproperties_second"
165
+ :multiple="true"
166
+ :options='$parent.$parent.gaspropertiessecond' placeholder='二级用气性质'
167
+ condition="f_gasproperties_second in {}"
168
+ close-on-select></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.pricetype" v-model="model.pricetype"
173
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
174
+ close-on-select v-ref:type>
175
+ </v-select>
176
+ </div>
177
+ <div class="col-sm-2 form-group">
178
+ <label class="font_normal_body">气价名称</label>
179
+ <v-select :value.sync="model.f_price_name"
180
+ v-model="model.f_price_name"
181
+ :options="$parent.$parent.getPricenames"
182
+ condition="f_price_name = '{}'"
183
+ close-on-select></v-select>
184
+ </div>
185
+ <div class="col-sm-2 form-group">
186
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
187
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
188
+ condition="f_meternumber = '{}'" placeholder='表号'>
189
+ </div>
190
+ <div class="col-sm-2 form-group">
191
+ <label class="font_normal_body">气表类型</label>
192
+ <v-select :value.sync="model.f_meter_type" multiple
193
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
194
+ condition="f_meter_type in {}"
195
+ close-on-select></v-select>
196
+ </div>
197
+ <div class="col-sm-2 form-group">
198
+ <label class="font_normal_body">气表品牌</label>
199
+ <v-select :value.sync="model.f_meter_brand" multiple
200
+ v-model="model.f_meter_brand"
201
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
202
+ condition="f_meter_brand in {}"
203
+ close-on-select></v-select>
204
+ </div>
205
+
206
+ <div class="col-sm-2 form-group">
207
+ <label class="font_normal_body">收费状态</label>
208
+ <v-select :value.sync="model.f_state" multiple
209
+ v-model="model.f_state"
210
+ :options='$parent.$parent.charge_state' placeholder='请选择'
211
+ condition="f_state in {}"
212
+ close-on-select></v-select>
213
+ </div>
214
+ <div class="col-sm-2 form-group">
215
+ <label class="font_normal_body">银行名称</label>
216
+ <v-select :value.sync="model.f_bank_name"
217
+ v-model="model.f_bank_name"
218
+ :options='$parent.$parent.bank' placeholder='请选择'
219
+ condition="f_bank_name = '{}'"
220
+ close-on-select></v-select>
221
+ </div>
222
+ <div class="col-sm-2 form-group">
223
+ <label class="font_normal_body">是否优惠</label>
224
+ <v-select :value.sync="model.f_privilege_money"
225
+ v-model="model.f_privilege_money"
226
+ :options='$parent.$parent.privilege_money' placeholder='请选择'
227
+ condition="f_privilege_money {}"
228
+ close-on-select></v-select>
229
+ </div>
230
+ <div class="col-sm-2 form-group">
231
+ <label class="font_normal_body">优惠金额</label>
232
+ <input type="text" style="width:30%" class="input_search" title="大于等于"
233
+ v-model="model.f_privilege_money_big" condition="f_privilege_money >= {}" placeholder='大于等于'>
234
+ <input type="text" style="width:30%" class="input_search" title="小于等于"
235
+ v-model="model.f_privilege_money_small" condition="f_privilege_money <= {}" placeholder='小于等于'>
236
+ </div>
237
+ <div class="col-sm-2 form-group">
238
+ <label class="font_normal_body">收&ensp;据&ensp;号</label>
239
+ <input type="text" style="width:30%" class="input_search" title="大于等于"
240
+ v-model="model.f_bill_number_big" condition="f_bill_number >= {}" placeholder='大于等于'>
241
+ <input type="text" style="width:30%" class="input_search" title="小于等于"
242
+ v-model="model.f_bill_number_small" condition="f_bill_number <= {}" placeholder='小于等于'>
243
+ </div>
244
+ <div class="col-sm-2 form-group">
245
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;流水号</label>
246
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_serial_id"
247
+ condition="f_serial_id like '%{}%'" placeholder='流水号'>
248
+ </div>
249
+ <div class="col-sm-2 form-group">
250
+ <label class="font_normal_body">发票号码</label>
251
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_invoice_num"
252
+ condition="f_invoice_num = '{}'" placeholder='发票号码'>
253
+ </div>
254
+ <div class="col-sm-2 form-group">
255
+ <label class="font_normal_body" title="发票类型查询">发票类型</label>
256
+ <v-select :value.sync="model.f_invoice_type"
257
+ v-model="model.f_invoice_type"
258
+ :options='$parent.$parent.invoiceType' placeholder='请选择'
259
+ condition="f_invoice_type = '{}'"
260
+ close-on-select :value-single="true" :search="false">
261
+ </v-select>
262
+ </div>
263
+ <div class="col-sm-2 form-group">
264
+ <label class="font_normal_body">开&ensp;票&ensp;人</label>
265
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_invoiceuse_operator"
266
+ condition="f_invoiceuse_operator like '%{}%'" placeholder='开票人'>
267
+ </div>
268
+ <div class="col-sm-2 form-group">
269
+ <label for="startDate" class="font_normal_body">开票时间</label>
270
+ <datepicker id="startDate1" placeholder="开始日期" style="width:60%"
271
+ v-model="model.invoice_startDate"
272
+ :value.sync="model.invoice_startDate"
273
+ :format="'yyyy-MM-dd'"
274
+ :show-reset-button="true"
275
+ condition="f_invoice_date >= '{}'">
276
+ </datepicker>
277
+ </div>
278
+ <div class="col-sm-2 form-group">
279
+ <label for="endDate" class="font_normal_body">开票时间</label>
280
+ <datepicker id="endDate1" placeholder="结束日期" style="width:60%"
281
+ v-model="model.invoice_endDate"
282
+ :value.sync="model.invoice_endDate"
283
+ :format="'yyyy-MM-dd'"
284
+ :show-reset-button="true"
285
+ condition="f_invoice_date <= '{}'">
286
+ </datepicker>
287
+ </div>
288
+ <div class="col-sm-2 form-group">
289
+ <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
290
+ <v-select :value.sync="model.f_inputtor"
291
+ v-model="model.f_inputtor"
292
+ :multiple="true"
293
+ :options='$parent.$parent.inputtores' placeholder='请选择'
294
+ condition="f_inputtor in {}"
295
+ >
296
+ </v-select>
297
+ </div>
298
+ <div class="col-sm-2 form-group">
299
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
300
+ <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
301
+ :options='$parent.$parent.meterbooks' placeholder='抄表册'
302
+ style="width:60%"
303
+ close-on-select
304
+ condition="f_meter_book_num = '{}'"></v-select>
305
+ </div>
306
+ <div class="col-sm-2 form-group">
307
+ <label class="font_normal_body">写卡状态</label>
308
+ <v-select :value.sync="model.f_write_card" v-model="model.f_write_card"
309
+ :options='$parent.$parent.writecard' placeholder='写卡状态'
310
+ style="width:60%"
311
+ close-on-select
312
+ condition="f_write_card = '{}'"></v-select>
313
+ </div>
314
+ <div class="col-sm-2 form-group">
315
+ <label class="font_normal_body">街&ensp;&ensp;&ensp;&ensp;道</label>
316
+ <v-select :value.sync="model.f_street" multiple
317
+ v-model="model.f_street"
318
+ :options='$parent.$parent.streetList' placeholder='选择街道'
319
+ condition="f_street in {}"
320
+ style="width:60%"
321
+ close-on-select></v-select>
322
+ </div>
323
+ <div class="col-sm-2 form-group">
324
+ <label class="font_normal_body">数&ensp;据&ensp;包</label>
325
+ <v-select :value.sync="model.f_bluetooth_package" v-model="model.f_bluetooth_package"
326
+ :options='$parent.$parent.bluetoothpackage' placeholder='数据包状态'
327
+ style="width:60%"
328
+ close-on-select
329
+ condition="f_bluetooth_package = '{}'"></v-select>
330
+ </div>
331
+ <div class="col-sm-2 form-group">
332
+ <label class="font_normal_body">pos设备&nbsp;</label>
333
+ <v-select :value.sync="model.f_terminal_name" multiple
334
+ v-model="model.f_terminal_name"
335
+ :options='$parent.$parent.posEquipment' placeholder='请选择'
336
+ condition="f_operator in {}"
337
+ close-on-select></v-select>
338
+ </div>
339
+ <div class="col-sm-2 form-group">
340
+ <label class="font_normal_body" style="letter-spacing: 0.5em;margin-right: -0.5em">终端号</label>
341
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_terminal_num"
342
+ condition="f_terminal_num like '{}'" placeholder='终端号'>
343
+ </div>
344
+ <div class="col-sm-2 form-group">
345
+ <label class="font_normal_body" style="letter-spacing: 0.5em;margin-right: -0.5em">壁挂炉</label>
346
+ <v-select :value.sync="model.isbgl"
347
+ v-model="model.isbgl"
348
+ :options='$parent.$parent.bgl' placeholder='请选择'
349
+ condition="isbgl = '{}'"
350
+ close-on-select></v-select>
351
+ </div>
352
+ <div class="col-sm-2 form-group">
353
+ <label class="font_normal_body" style="text-align: center;letter-spacing: 0.5em;margin-right: -0.5em">是否有<br/>流水号</label>
354
+ <v-select :value.sync="model.ishaisnumber"
355
+ v-model="model.ishaisnumber"
356
+ :options='$parent.$parent.ishaisnumberoption' placeholder='请选择'
357
+ condition="{}"
358
+ close-on-select></v-select>
359
+ </div>
360
+ </div>
361
+ </div>
362
+ </criteria>
363
+
364
+ <data-grid :model="model" partial='list' class="list_area table_sy" style="height: 95%" v-ref:grid>
365
+ <template partial='head'>
366
+ <tr>
367
+ <th>
368
+ <nobr>收费编号</nobr>
369
+ </th>
370
+ <th>
371
+ <!-- <nobr>客户编号</nobr>-->
372
+ <data-order field="f_userinfo_code" name="客户编号"
373
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
374
+ </th>
375
+ <th><nobr>街道</nobr></th>
376
+ <th>
377
+ <nobr>客户名称</nobr>
378
+ </th>
379
+ <th>
380
+ <nobr>客户电话</nobr>
381
+ </th>
382
+
383
+ <!-- <th>-->
384
+ <!-- <nobr>片区</nobr>-->
385
+ <!-- </th>-->
386
+ <th>
387
+ <!-- <nobr>客户地址</nobr>-->
388
+ <data-order field="f_address" name="客户地址"
389
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
390
+ </th>
391
+ <th>
392
+ <nobr>客户类型</nobr>
393
+ </th>
394
+ <th>
395
+ <nobr>用气性质</nobr>
396
+ </th>
397
+ <th>
398
+ <nobr>二级用气性质</nobr>
399
+ </th>
400
+ <th>
401
+ <nobr>表号</nobr>
402
+ </th>
403
+ <th>
404
+ <nobr>气表品牌</nobr>
405
+ </th>
406
+ <th>
407
+ <nobr>气价名称</nobr>
408
+ </th>
409
+ <th>
410
+ <nobr>卡号</nobr>
411
+ </th>
412
+ <th>
413
+ <nobr>购气次数</nobr>
414
+ </th>
415
+ <th>
416
+ <nobr>气量</nobr>
417
+ </th>
418
+ <th>
419
+ <nobr>气费金额</nobr>
420
+ </th>
421
+ <th>
422
+ <nobr>违约金</nobr>
423
+ </th>
424
+ <th>
425
+ <nobr>应收金额</nobr>
426
+ </th>
427
+ <th>
428
+ <nobr>清缴金额</nobr>
429
+ </th>
430
+ <th>
431
+ <nobr>预存金额</nobr>
432
+ </th>
433
+
434
+ <th>
435
+ <nobr>实际收款</nobr>
436
+ </th>
437
+ <th>
438
+ <!-- <nobr>收费日期</nobr>-->
439
+ <data-order field="f_operate_date" name="收费日期"
440
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
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>
455
+ <nobr>写卡状态</nobr>
456
+ </th>
457
+ <th>
458
+ <nobr>支付渠道</nobr>
459
+ </th>
460
+ <th>
461
+ <nobr>银行名称</nobr>
462
+ </th>
463
+ <th>
464
+ <nobr>收费类型</nobr>
465
+ </th>
466
+ <th>
467
+ <nobr>终端号</nobr>
468
+ </th>
469
+ <th>
470
+ <nobr>蓝牙数据包状态</nobr>
471
+ </th>
472
+ <th>
473
+ <nobr>状态</nobr>
474
+ </th>
475
+
476
+ <th>
477
+ <nobr>备注</nobr>
478
+ </th>
479
+ <th>
480
+ <nobr>补打次数</nobr>
481
+ </th>
482
+ <th>
483
+ <nobr>人员</nobr>
484
+ </th>
485
+ <th>
486
+ <nobr>部门</nobr>
487
+ </th>
488
+ <th>
489
+ <nobr>公司</nobr>
490
+ </th>
491
+ <th>
492
+ <nobr>流水号</nobr>
493
+ </th>
494
+ <th>
495
+ <nobr>收据号</nobr>
496
+ </th>
497
+ <th>
498
+ <nobr>业务单号</nobr>
499
+ </th>
500
+ <th>
501
+ <nobr>发票号码</nobr>
502
+ </th>
503
+ <th>
504
+ <nobr>发票类型</nobr>
505
+ </th>
506
+ <th>
507
+ <nobr>开票人</nobr>
508
+ </th>
509
+ <th>
510
+ <nobr>开票时间</nobr>
511
+ </th>
512
+ <th>
513
+ <nobr>是否征税</nobr>
514
+ </th>
515
+ <th>
516
+ <nobr>累计写卡气量</nobr>
517
+ </th>
518
+ <th>
519
+ <nobr>实际写卡金额</nobr>
520
+ </th>
521
+ <th>
522
+ <nobr>冲正人</nobr>
523
+ </th>
524
+ <th>
525
+ <nobr>冲正时间</nobr>
526
+ </th>
527
+ <th>
528
+ <nobr>一阶气量</nobr>
529
+ </th>
530
+ <th>
531
+ <nobr>一阶单价</nobr>
532
+ </th>
533
+ <th>
534
+ <nobr>一阶气费</nobr>
535
+ </th>
536
+ <th>
537
+ <nobr>二阶气量</nobr>
538
+ </th>
539
+ <th>
540
+ <nobr>二阶单价</nobr>
541
+ </th>
542
+ <th>
543
+ <nobr>二阶气费</nobr>
544
+ </th>
545
+ <th>
546
+ <nobr>三阶气量</nobr>
547
+ </th>
548
+ <th>
549
+ <nobr>三阶单价</nobr>
550
+ </th>
551
+ <th>
552
+ <nobr>三阶气费</nobr>
553
+ </th>
554
+ <th>
555
+ <nobr>是否壁挂炉</nobr>
556
+ </th>
557
+ <th><nobr>附件</nobr></th>
558
+ </tr>
559
+ </template>
560
+ <template partial='body'>
561
+ <td style="text-align: center;">
562
+ <nobr>{{row.id}}</nobr>
563
+ </td>
564
+ <td style="text-align: center;"><nobr>
565
+ <nobr>{{row.f_userinfo_code}}</nobr>
566
+ </nobr> </td>
567
+ <td style="text-align: center;">
568
+ <nobr>{{row.f_street}}</nobr>
569
+ </td>
570
+ <td style="text-align: center;">
571
+ <nobr>{{row.f_user_name}}</nobr>
572
+ </td>
573
+ <td style="text-align: center;">
574
+ <nobr>{{row.f_user_phone}}</nobr>
575
+ </td>
576
+ <td style="text-align: center;">
577
+ <nobr>{{row.f_address}}</nobr>
578
+ </td>
579
+ <td style="text-align: center;">
580
+ <nobr>{{row.f_user_type}}</nobr>
581
+ </td>
582
+ <td style="text-align: center;">
583
+ <nobr>{{row.f_gasproperties}}</nobr>
584
+ </td>
585
+ <td style="text-align: center;">
586
+ <nobr>{{row.f_gasproperties_second}}</nobr>
587
+ </td>
588
+ <td style="text-align: center;">
589
+ <nobr>{{row.f_meternumber}}</nobr>
590
+ </td>
591
+ <td style="text-align: center;">
592
+ <nobr>{{row.f_meter_brand}}</nobr>
593
+ </td>
594
+ <td style="text-align: center;">
595
+ <nobr>{{row.f_price_name}}</nobr>
596
+ </td>
597
+ <td style="text-align: center;">
598
+ <nobr>{{row.f_card_id}}</nobr>
599
+ </td>
600
+ <td style="text-align: center;">
601
+ <nobr>{{row.f_times}}</nobr>
602
+ </td>
603
+ <td style="text-align: center;">
604
+ <nobr>{{row.f_pregas}}</nobr>
605
+ </td>
606
+ <td style="text-align: center;">
607
+ <nobr>{{row.fee}}</nobr>
608
+ </td>
609
+ <td style="text-align: center;">
610
+ <nobr>{{row.f_delaypay}}</nobr>
611
+ </td>
612
+ <td style="text-align: center;">
613
+ <nobr>{{row.f_preamount}}</nobr>
614
+ </td>
615
+ <td style="text-align: center;">
616
+ <nobr>{{row.f_charge_money}}</nobr>
617
+ </td>
618
+ <td style="text-align: center;">
619
+ <nobr>{{row.f_yucun}}</nobr>
620
+ </td>
621
+
622
+ <td style="text-align: center;">
623
+ <nobr>{{row.f_collection}}</nobr>
624
+ </td>
625
+ <!--<td style="text-align: center;">-->
626
+ <!--<nobr>{{row.f_rest_date}}</nobr>-->
627
+ <!--</td>-->
628
+ <td style="text-align: center;">
629
+ <nobr>{{row.f_operate_date}}</nobr>
630
+ </td>
631
+ <td style="text-align: center;">
632
+ <nobr>{{row.f_privilege_money}}</nobr>
633
+ </td>
634
+
635
+ <td style="text-align: center;">
636
+ <nobr >{{row.f_balance}}</nobr>
637
+ </td>
638
+ <td style="text-align: center;">
639
+ <nobr>{{row.f_curbalance}}</nobr>
640
+
641
+ </td>
642
+ <td style="text-align: center;">
643
+ <nobr>{{row.f_payment}}</nobr>
644
+ </td>
645
+ <td style="text-align: center;">
646
+ <nobr>{{row.f_write_card}}</nobr>
647
+ </td>
648
+ <td style="text-align: center;">
649
+ <nobr>{{row.f_bank_type}}</nobr>
650
+ </td>
651
+ <td style="text-align: center;">
652
+ <nobr>{{row.f_bank_name}}</nobr>
653
+ </td>
654
+ <td style="text-align: center;">
655
+ <nobr>{{row.f_type}}</nobr>
656
+ </td>
657
+ <td style="text-align: center;">
658
+ <nobr>{{row.f_terminal_num}}</nobr>
659
+ </td>
660
+ <td style="text-align: center;">
661
+ <nobr>{{row.f_bluetooth_package}}</nobr>
662
+ </td>
663
+ <td style="text-align: center;">
664
+ <nobr>{{row.f_state}}</nobr>
665
+ </td>
666
+
667
+ <td style="text-align: center;">
668
+ <nobr>{{row.f_comments}}</nobr>
669
+ </td>
670
+ <td style="text-align: center;">
671
+ <nobr>{{row.filltimes}}</nobr>
672
+ </td>
673
+ <td style="text-align: center;">
674
+ <nobr>{{row.f_operator}}</nobr>
675
+ </td>
676
+ <td style="text-align: center;">
677
+ <nobr>{{row.f_depname}}</nobr>
678
+ </td>
679
+ <td style="text-align: center;">
680
+ <nobr>{{row.f_orgname}}</nobr>
681
+ </td>
682
+ <td style="text-align: center;">
683
+ <nobr>{{row.f_serial_id}}</nobr>
684
+ </td>
685
+ <td style="text-align: center;">
686
+ <nobr>{{row.f_bill_number}}</nobr>
687
+ </td>
688
+ <td style="text-align: center;">
689
+ <nobr>{{row.f_serial_number}}</nobr>
690
+ </td>
691
+ <td style="text-align: center;">
692
+ <nobr>{{row.f_invoice_num}}</nobr>
693
+ </td>
694
+ <td style="text-align: center;">
695
+ <nobr>{{row.f_invoice_type}}</nobr>
696
+ </td>
697
+ <td style="text-align: center;">
698
+ <nobr>{{row.f_invoiceuse_operator}}</nobr>
699
+ </td>
700
+ <td style="text-align: center;">
701
+ <nobr>{{row.f_invoice_date}}</nobr>
702
+ </td>
703
+ <td style="text-align: center;">
704
+ <nobr>{{row.f_tax_logotype}}</nobr>
705
+ </td>
706
+ <td style="text-align: center;">
707
+ <nobr>{{row.f_write_totalgas}}</nobr>
708
+ </td>
709
+ <td style="text-align: center;">
710
+ <nobr>{{row.f_write_money}}</nobr>
711
+ </td>
712
+ <td style="text-align: center;">
713
+ <nobr>{{row.f_corr_operator}}</nobr>
714
+ </td>
715
+ <td style="text-align: center;">
716
+ <nobr>{{row.f_corr_operate_date}}</nobr>
717
+ </td>
718
+ <td style="text-align: center;">
719
+ <nobr>{{row.f_stairamount1}}</nobr>
720
+ </td>
721
+ <td style="text-align: center;">
722
+ <nobr>{{row.f_stair1price}}</nobr>
723
+ </td>
724
+ <td style="text-align: center;">
725
+ <nobr>{{(row.f_stair1fee - 0).toFixed(2)}}</nobr>
726
+ </td>
727
+ <td style="text-align: center;">
728
+ <nobr>{{row.f_stair2amount}}</nobr>
729
+ </td>
730
+ <td style="text-align: center;">
731
+ <nobr>{{row.f_stair2price}}</nobr>
732
+ </td>
733
+ <td style="text-align: center;">
734
+ <nobr>{{(row.f_stair2fee - 0).toFixed(2)}}</nobr>
735
+ </td>
736
+ <td style="text-align: center;">
737
+ <nobr>{{row.f_stair3amount}}</nobr>
738
+ </td>
739
+ <td style="text-align: center;">
740
+ <nobr>{{row.f_stair3price}}</nobr>
741
+ </td>
742
+ <td style="text-align: center;">
743
+ <nobr>{{(row.f_stair3fee - 0).toFixed(2)}}</nobr>
744
+ </td>
745
+ <td style="text-align: center;">
746
+ <nobr>{{row.isbgl}}</nobr>
747
+ </td>
748
+ <td style="text-align: center;"><nobr>
749
+ <button style=" height: 28px;line-height: 16px;" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
750
+ </nobr></td>
751
+ </template>
752
+ <template partial='foot'></template>
753
+ </data-grid>
754
+ </criteria-paged>
755
+ <table class="table-hover">
756
+ <tr style="position: relative" class="table-bordered">
757
+ <td
758
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
759
+ 汇总信息
760
+ </td>
761
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
762
+ 气量合计:&emsp;{{sumsmodel.f_pregas}}
763
+ </td>
764
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
765
+ 气费金额合计:&emsp;{{sumsmodel.fee}}
766
+ </td>
767
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
768
+ 违约金合计:&emsp;{{sumsmodel.f_delaypay}}
769
+ </td>
770
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
771
+ 应交金额合计:&emsp;{{sumsmodel.f_preamount}}
772
+ </td>
773
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
774
+ 预存金额合计:&emsp;{{sumsmodel.f_yucun}}
775
+ </td>
776
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
777
+ 实际收款合计:&emsp;{{sumsmodel.f_collection}}
778
+ </td>
779
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
780
+ 优惠合计:&emsp;{{sumsmodel.f_privilege_money}}
781
+ </td>
782
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
783
+ 一阶气量合计:&emsp;{{sumsmodel.f_stairamount1}}
784
+ </td>
785
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
786
+ 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
787
+ </td>
788
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
789
+ 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}
790
+ </td>
791
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
792
+ 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
793
+ </td>
794
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
795
+ 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}
796
+ </td>
797
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
798
+ 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
799
+ </td>
800
+ </tr>
801
+ </table>
802
+ </div>
803
+ </div>
804
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
805
+ <article slot="modal-body">
806
+ <upload :blodid="selected.f_userinfo_id" :businessid="selected.id" v-ref:upload isupload="false" takeimg="false" fusetype="%收费" :isremark="false" style="width:auto" ></upload>
807
+ </article>
808
+ <footer slot="modal-footer" class="modal-footer">
809
+ </footer>
810
+ </modal>
811
+ <modal :show.sync="serialNumberModelShow" v-if="serialNumberModelShow" style="width:auto;" v-ref:modal middle backdrop="false">
812
+ <article slot="modal-body">
813
+ <div style="text-align: center" class="row">
814
+
815
+ <file-upload style="margin-left:100px;padding-top:20px" class="my-file-uploader" :name="'myFile' + uuid"
816
+ action="rs/file/uploadFile" tagname="文件上传"
817
+ accept=".doc, .docx, .xls, .xlsx, .jpg, .png, .gif, .bmp, .avi, .mp4, .wmv, .rmvb, .mov, .pdf"
818
+ :headers="{'username': this.$login.f.name, 'blodid': uuid,'businessid':uuid, 'fremarks': '','defname':'','fusetype':'收费'}"
819
+ v-ref:file></file-upload>
820
+ <div class="col-sm-8 form-group" style="margin-left:150px;padding-top:10px" :class="[!f_serial_number ? 'has-error' : '']">
821
+ <label class="font_normal_body">银行流水号</label>
822
+ <input type="text" style="width:60%" class="input_search" v-model="f_serial_number" placeholder='银行流水号'>
823
+ </div>
824
+ </div>
825
+ </article>
826
+ <footer slot="modal-footer" class="modal-footer">
827
+ <button type="button" class="btn btn-primary" :disabled="!f_serial_number" @click="serialNumberConfirm">确定</button>
828
+ </footer>
829
+ </modal>
830
+ </div>
831
+ <high-meter-idcard :show.sync="false" v-ref:highcard ></high-meter-idcard>
832
+ </template>
833
+
834
+ <script>
835
+ import {HttpResetClass, PagedList} from 'vue-client'
836
+ import exportConfig from './config/exportConfig'
837
+ let cardBtnGen = async function (self, val) {
838
+ self.cardInfo = val.data
839
+
840
+ // 判断读卡是否需要卡密码
841
+ console.log('读卡上的信息', self.cardInfo)
842
+
843
+ if (self.cardInfo.NewParam) {
844
+ if (self.cardInfo.NewParam.error) {
845
+ if (self.cardInfo.NewParam.error === '0001') {
846
+ // 需要重新读卡并传卡密码
847
+ if (self.model.rows.length == 1 && self.model.rows[0].f_alias === self.cardInfo.Factory) {
848
+ self.readCardParam = self.model.rows[0].f_card_password
849
+ self.cardInfo = await self.$refs.paged.$refs.cri.$refs.readcard.readCard2(self.model.rows[0].f_card_password)
850
+ } else {
851
+ self.$showAlert('此卡需要先获取客户信息。请通过条件查询该客户信息之后进行读卡!!', 'warning', 2000)
852
+ return
853
+ }
854
+ }
855
+ }
856
+ }
857
+ self.card=self.cardInfo.CardID
858
+ self.search()
859
+ }
860
+ let readySomething = async function (self) {
861
+ //加载抄表册
862
+ self.initmeterbook();
863
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
864
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
865
+ // self.$refs.paged.$refs.cri.model.f_state=['有效'];
866
+ // self.$refs.paged.$refs.cri.search()
867
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
868
+ await self.$MagLoadParams.loadParam()
869
+ self.initParams()
870
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
871
+ }
872
+ export default {
873
+ props:['data'],
874
+ title: '收费查询',
875
+ data() {
876
+ return {
877
+ IdCardInfo:'',
878
+ serialNumberShow : false,
879
+ serialNumberModelShow : false,
880
+ // 随机数uuid
881
+ uuid: '',
882
+ f_serial_number: '',
883
+ card:'',
884
+ isSingleUser: null,
885
+ startDate1:'',
886
+ endDate1:'',
887
+ resshow:['company','department','operator','slicearea'],
888
+ other:[],
889
+ pcdslist:[],
890
+
891
+ footer:[],
892
+ config: {
893
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_pregas', 'f_collection', 'f_stairamount1', 'f_stair2amount', 'f_stair3amount','f_operate_date']
894
+ },
895
+ //排序
896
+ orderitem:'f_operate_date desc',
897
+ orderFields: {
898
+ f_operate_date: 'no'
899
+ },
900
+ //f_price_name:[],
901
+ gasproperties:[],
902
+ // papertype: this.$appdata.getParam('票据类型') ? [{
903
+ // label: '全部',
904
+ // value: ''
905
+ // }, ...this.$appdata.getParam('票据类型')] : [],
906
+ gaspropertiessecond: this.$appdata.getParam('二级用气性质') ? [{
907
+ label: '全部',
908
+ value: ''
909
+ }, ...this.$appdata.getParam('二级用气性质')] : [],
910
+ showinfo: false,
911
+ data: {},
912
+ getstart:'',
913
+ show:false,
914
+ rowdata:{},
915
+ initres: {
916
+ org:[this.$login.f.orgid],
917
+ dep:[],
918
+ user:[]
919
+ },
920
+ operatornames: [],
921
+ model: new PagedList('api/af-revenue/sql/chargeQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`},{
922
+ f_pregas: 0,
923
+ f_preamount: 0,
924
+ f_delaypay: 0,
925
+ fee:0,
926
+ f_yucun:0,
927
+ f_privilege_money: 0,
928
+ f_collection: 0,
929
+ f_stairamount1:0,
930
+ f_stair1fee:0,
931
+ f_stair2amount:0,
932
+ f_stair2fee:0,
933
+ f_stair3amount:0,
934
+ f_stair3fee:0,
935
+ }),
936
+ criteriaShow: false,
937
+ orgCondtionStr: '',
938
+ // 下拉框
939
+ meterbrands: [],
940
+ pricenames: [],
941
+ prices: [],
942
+ area: [],
943
+ //默认打印列
944
+ defaultfield: [],
945
+ //小区
946
+ residentialArea: [],
947
+ //街道列表
948
+ streetList: [],
949
+ sumsmodel: {},
950
+ f_filialeid: this.$login.f.orgid,
951
+ wxstate:[
952
+ {label: '全部', value: ''},
953
+ {label: '已退款', value: `= '3'`},
954
+ {label: '未退款', value: `!= '3'`}
955
+ ],
956
+ privilege_money:[
957
+ {label: '全部', value: ''},
958
+ {label: '已优惠', value: '> 0'},
959
+ {label: '未优惠', value: '= 0'}
960
+ ],
961
+ showupload:false,
962
+ selected:{},
963
+ meterbooks:[{label: '全部',value: ''}], //抄表册
964
+ inputtores:[{label: '全部',value: ''}],
965
+ writecard:[{label: '全部',value: ''},{label: '已写卡',value: '已写卡'},{label: '未写卡',value: '未写卡'},{label: '写卡失败',value: '写卡失败'}],
966
+ bluetoothpackage:[{label: '全部',value: ''},{label: '发送成功',value: '发送成功'},{label: '执行成功',value: '执行成功'}],
967
+ allorgid:[],
968
+ ishaisnumberoption:[{label: '全部', value: ''},{label: '是', value: ' f_serial_number is not null '},{label: '否', value: ' f_serial_number is null '}],
969
+ tempfalg :false,
970
+ lastorgstr:'',
971
+ // pos设备列表
972
+ posEquipment: [{label: '全部',value: ''}],
973
+ showbottomsum:false, //页面下方是否有合计: 默认为false, 在watch修改
974
+ bgl:[{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
975
+ }
976
+ },
977
+ ready() {
978
+ this.$refs.paged.$refs.cri.model.f_state=['有效']
979
+ this.getaddress()
980
+ this.getEquipment()
981
+ //加载抄表册
982
+ this.$MagGetSaleParam.initinputtor();
983
+ this.getinputtores();
984
+ // this.initres.dep.push(this.$login.f.depids)
985
+ readySomething(this).then(() => {
986
+ this.$emit('ready')
987
+ }).catch((error) => {
988
+ this.$emit('error', error)
989
+ })
990
+ },
991
+ methods: {
992
+ async serialNumber (){
993
+ if (!this.serialNumberShow){
994
+ this.$showAlert('仅当查询自己的现金缴费操作时才可以进行流水号补录', 'warning', 3000)
995
+ return
996
+ }
997
+ this.serialNumberModelShow = true
998
+ this.f_serial_number = ''
999
+ this.uuid = this.guid()
1000
+ },
1001
+ serialNumberConfirm() {
1002
+ let param = {
1003
+ uuid: this.uuid,
1004
+ f_serial_number: this.f_serial_number,
1005
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
1006
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
1007
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
1008
+ orderitem: this.orderitem ? `${this.orderitem}` : " f_operate_date desc"
1009
+ }
1010
+ let http = new HttpResetClass()
1011
+ http.load('POST', 'api/af-revenue/logic/serialNumberUpdate', param,
1012
+ {resolveMsg: '操作成功', rejectMsg: null}).then((res) => {
1013
+ this.serialNumberModelShow=false;
1014
+ this.row = res.data[0]
1015
+ this.search()
1016
+ }).catch((error) => {
1017
+ this.serialNumberModelShow=false
1018
+ this.$showAlert('操作失败', 'error', 3000)
1019
+ this.search()
1020
+ })
1021
+ },
1022
+ guid() {
1023
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1024
+ let r = Math.random() * 16 | 0,
1025
+ v = c == 'x' ? r : (r & 0x3 | 0x8)
1026
+ return v.toString(16)
1027
+ })
1028
+ },
1029
+ // 获取设备下拉选
1030
+ async getEquipment () {
1031
+ let HttpReset = new HttpResetClass()
1032
+ let param = {
1033
+ items: 'f_terminal_name',
1034
+ tablename: 't_equipment',
1035
+ condition: `f_equipment_type = 'POS' and f_state = '正常'`,
1036
+ orderitem: 'id'
1037
+ }
1038
+ var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_singleTable', {data: param}, {resolveMsg: null, rejectMsg: '获取设备列表失败!'})
1039
+ for (let row of data.data) {
1040
+ this.posEquipment.push({label: row.f_terminal_name, value: row.f_terminal_name})
1041
+ }
1042
+ },
1043
+ ReadIDCard(){
1044
+ this.$refs.highcard.sendMsg(this.$refs.highcard.CLT_MSG.READ_IDCARD, (msg) => {
1045
+ console.log('======',msg)
1046
+ if(msg.err !== 0){ return}
1047
+ this.IdCardInfo=msg.strID
1048
+ })
1049
+ if(this.IdCardInfo) {
1050
+ this.search()
1051
+ }else{
1052
+ alert("读取失败,找不到用户信息")
1053
+ }
1054
+ },
1055
+ cardBtn (val) {
1056
+ // this.clear()
1057
+ cardBtnGen(this, val)
1058
+ },
1059
+ async initmeterbook(orgstr){
1060
+ if(orgstr == null ){
1061
+ orgstr = this.f_filialeid;
1062
+ }
1063
+ // 检查 $GetSaleParam 和 $LoadParams 是否存在
1064
+ if (!this.$GetSaleParam || !this.$LoadParams) {
1065
+ console.warn('$GetSaleParam 或 $LoadParams 未定义,跳过抄表册初始化')
1066
+ this.meterbooks = [{label: '全部', value: ''}]
1067
+ return
1068
+ }
1069
+ //获取新的抄表册,先去清理所有的抄表册
1070
+ this.$GetSaleParam.meterbooks = [];
1071
+ //开始加载新的抄表册
1072
+ await this.$LoadParams.loadMeterBook(orgstr)
1073
+ // 检查 getMeterBooks 方法是否存在
1074
+ if (this.$GetSaleParam.getMeterBooks && typeof this.$GetSaleParam.getMeterBooks === 'function') {
1075
+ this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
1076
+ } else {
1077
+ console.warn('$GetSaleParam.getMeterBooks 方法不存在')
1078
+ this.meterbooks = [{label: '全部', value: ''}]
1079
+ }
1080
+ },
1081
+ async getinputtores () {
1082
+ // 获取抄表员
1083
+ let rs = []
1084
+ if (this.$login.f.f_gasman.length > 0) {
1085
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
1086
+ let temp = {
1087
+ label: this.$login.f.f_gasman[i].name,
1088
+ value: this.$login.f.f_gasman[i].name
1089
+ }
1090
+ rs.push(temp)
1091
+ }
1092
+ }
1093
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
1094
+ },
1095
+ //显示附件
1096
+ view(row){
1097
+ this.showupload = true
1098
+ this.selected= row
1099
+ },
1100
+ getotherfooter () {
1101
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
1102
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
1103
+ this.other = [];
1104
+ this.footer = [];
1105
+ let exportdata = this.getCondition;
1106
+ let otherInData = [];
1107
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
1108
+ let footerData = [], exportfield = this.getfield;
1109
+ footerData.push("合计");
1110
+ let self = this;
1111
+ for (var field in self.sumsmodel) {
1112
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
1113
+ }
1114
+ this.footer.push(footerData);
1115
+ this.other.push(otherInData);
1116
+ },
1117
+ async getaddress(){
1118
+ let HttpReset = new HttpResetClass()
1119
+ var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
1120
+ data: {
1121
+ // condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
1122
+ condition: `1=1`
1123
+ }
1124
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
1125
+ console.log('小区',data)
1126
+ let house = [{label: '全部', value: ''}]
1127
+ for (let row of data.data){
1128
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
1129
+ }
1130
+ console.log('开始获取区域')
1131
+ var req = await HttpReset.load('POST','api/af-revenue/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
1132
+ data: {
1133
+ items: '*',
1134
+ tablename: 't_pcd',
1135
+ orderitem: 'id',
1136
+ condition: `1=1`
1137
+ }
1138
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
1139
+ this.residentialArea = house
1140
+ let redata = []
1141
+ console.log('区域是:',req)
1142
+ req.data.forEach((row, n) => {
1143
+ redata[n] = {
1144
+ label: row.f_pcd,
1145
+ value: row.id,
1146
+ data: row,
1147
+ id: row.id
1148
+ }
1149
+ })
1150
+ console.log('获取到的小区',redata)
1151
+ this.pcdslist = redata
1152
+ // 获取街道列表
1153
+ await this.getStreetList()
1154
+ },
1155
+ // 获取街道列表
1156
+ async getStreetList () {
1157
+ let HttpReset = new HttpResetClass()
1158
+ try {
1159
+ // 构建查询条件
1160
+ let condition = `f_street is not null and f_street != ''`
1161
+
1162
+ // 如果有选中的公司,添加公司过滤条件
1163
+ if (this.allorgid && this.allorgid.length > 0) {
1164
+ // 将公司ID数组转换为SQL in条件格式:'id1','id2','id3'
1165
+ let orgidStr = this.allorgid.map(id => `'${id}'`).join(',')
1166
+ condition += ` and f_orgid in (${orgidStr})`
1167
+ console.log('街道列表查询条件(含公司过滤):', condition)
1168
+ } else {
1169
+ console.log('街道列表查询条件(无公司过滤):', condition)
1170
+ }
1171
+
1172
+ var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_singleTable', {
1173
+ data: {
1174
+ items: 'distinct f_street',
1175
+ tablename: 't_street',
1176
+ condition: condition,
1177
+ orderitem: 'f_street'
1178
+ }
1179
+ }, {resolveMsg: null, rejectMsg: '获取街道列表失败!'})
1180
+ let streetData = [{label: '全部', value: ''}]
1181
+ if (data && data.data) {
1182
+ for (let row of data.data) {
1183
+ if (row.f_street) {
1184
+ streetData.push({label: row.f_street, value: row.f_street})
1185
+ }
1186
+ }
1187
+ }
1188
+ console.log('获取到的街道列表:', streetData)
1189
+ this.streetList = streetData
1190
+ } catch (error) {
1191
+ console.error('获取街道列表失败:', error)
1192
+ this.streetList = [{label: '全部', value: ''}]
1193
+ }
1194
+ },
1195
+ //把数据库查询数据转换为下拉数据
1196
+ calculate(rows){
1197
+ let data = []
1198
+ rows.forEach((row, n) => {
1199
+ data[n] = {label: row.f_residential_area, value: row.id}
1200
+ })
1201
+ return data
1202
+ },
1203
+
1204
+ search(){
1205
+
1206
+ this.$refs.paged.$refs.cri.search()
1207
+ },
1208
+ cancel() {
1209
+ this.show = false
1210
+ },
1211
+ showmsg(obj){
1212
+ this.rowdata=obj
1213
+ this.show=true
1214
+ },
1215
+ userTypeChange () {
1216
+ this.gasproperties=[]
1217
+ if(this.$refs.paged.$refs.cri.model !==null) {
1218
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
1219
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
1220
+ }
1221
+ else{
1222
+ this.gasproperties =[{label: '全部', value: ''}]
1223
+ }
1224
+ },
1225
+ initParams() {
1226
+ // 初始化气表品牌
1227
+ let brandArr = []
1228
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
1229
+ let temp = {}
1230
+ temp.label = item.label
1231
+ temp.value = item.value.f_meter_brand
1232
+ brandArr.push(temp)
1233
+ })
1234
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
1235
+ //初始化气表价格
1236
+ this.prices = this.$MagGetSaleParam.getPrices();
1237
+ },
1238
+ selfSearch(args) {
1239
+ if (this.data) {
1240
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
1241
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
1242
+ }
1243
+
1244
+ let f_orgstr = this.orgCondtionStr
1245
+ args.condition = `${args.condition} ` + f_orgstr
1246
+ if(this.card!=''){
1247
+ args.condition+=` and f_card_id='${this.card}'`
1248
+ }
1249
+ if(this.IdCardInfo!=''){
1250
+ args.condition +=` and f_idnumber='${this.IdCardInfo}'`
1251
+ }
1252
+ this.model.search(args.condition, args.model)
1253
+ let condition1 = this.operatornames.length && this.operatornames[0] === this.$login.f.id
1254
+ let condition2 = this.$refs.paged.$refs.cri.model.f_payment.length && this.$refs.paged.$refs.cri.model.f_payment[0].indexOf('现金') > -1
1255
+ console.log("========condition1",condition1)
1256
+ console.log("========condition2",condition2)
1257
+ this.serialNumberShow = condition1 && condition2
1258
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
1259
+ this.card=''
1260
+ this.IdCardInfo=''
1261
+ },
1262
+ clear() {
1263
+ //清空部门和人员
1264
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
1265
+ //部门和人员变为全选
1266
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
1267
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
1268
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
1269
+ this.$refs.paged.$refs.cri.model[key] = []
1270
+ })
1271
+
1272
+ },
1273
+ dealmsg(val,startDate,endDate) {
1274
+ val.model = this.model.model
1275
+ startDate=this.startDate1
1276
+ endDate=this.endDate1
1277
+ this.$dispatch('deal-msg', val,startDate,endDate)
1278
+ },
1279
+ show() {
1280
+ this.criteriaShow = true
1281
+ },
1282
+ hidden() {
1283
+ this.criteriaShow = !this.criteriaShow
1284
+ },
1285
+ async getRes(condition,obj) {
1286
+ this.orgCondtionStr = condition
1287
+ this.orgname = obj.orgnames[0]
1288
+ this.depname = obj.depnames[0]
1289
+ this.operatornames = obj.operatornames
1290
+ },
1291
+ async updateParams() {
1292
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
1293
+ this.inputtores = [];
1294
+ this.inputtores.push({label: "全部", value: ""})
1295
+ if(this.allorgid!=null){
1296
+ this.allorgid.forEach((res)=>{
1297
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
1298
+ })
1299
+ }
1300
+ this.initParams()
1301
+ },
1302
+ sort (field, rule) {
1303
+ // 将所有排序方式设为不排序,实现相互排斥
1304
+ for (let key in this.orderFields) {
1305
+ if (key === field) {
1306
+ this.orderFields[key] = rule
1307
+ } else {
1308
+ this.orderFields[key] = 'no'
1309
+ }
1310
+ }
1311
+ // 如果新规则不排序,还原为默认排序
1312
+ if (rule === 'no') {
1313
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
1314
+ } else {
1315
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
1316
+ }
1317
+
1318
+ this.search()
1319
+ }
1320
+
1321
+ },
1322
+ events:{
1323
+ 'getidcard'(IdCard){
1324
+ // console.log(param)
1325
+ this.$refs.paged.$refs.cri.model.f_info_idnumber=IdCard.strID
1326
+ },
1327
+ 'onFileUpload'(files,res){
1328
+ if(res && res.id ){
1329
+ let msg = '上传成功'
1330
+ if(!this.f_serial_number){
1331
+ msg = '上传成功,请填写流水号之后进行确认'
1332
+ }
1333
+ this.$showAlert(msg, 'success', 2000)
1334
+ }else{
1335
+ this.$showAlert('上传失败,请检查文件类型', 'warning', 2000)
1336
+ }
1337
+ }
1338
+ },
1339
+ watch: {
1340
+ 'model.rows'(val) {
1341
+ //如果有合计 这里为true, 其他为false ,反正相反
1342
+ this.showbottomsum=true;
1343
+ if(val.length === 0){
1344
+ this.sumsmodel = {}
1345
+ this.showbottomsum=false;
1346
+ }
1347
+ },
1348
+ 'model.rows.length' () {
1349
+ this.isSingleUser = this.model.rows
1350
+ },
1351
+ async 'orgCondtionStr'(val) {
1352
+ //更新抄表册
1353
+ this.$refs.paged.$refs.cri.model.f_inputtor=[]
1354
+ this.$refs.paged.$refs.cri.model.f_meter_book = []
1355
+ this.meterbooks = [{label: '全部',value: ''}];
1356
+ if(this.lastorgstr != val){
1357
+ this.tempfalg = true;
1358
+ this.lastorgstr = val;
1359
+ }
1360
+ if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
1361
+ this.tempfalg = false;
1362
+ let a = val.substring(val.indexOf("(")+2)
1363
+ await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
1364
+ }
1365
+ let res = val.match(/'(.*?)'/)
1366
+ console.log('正则提取:', res && res[1])
1367
+ // 先清空 allorgid,避免使用旧值
1368
+ this.allorgid = []
1369
+ if (res) {
1370
+ this.f_filialeid = res[1]
1371
+ if(res.input !=null){
1372
+ let resorgid = res.input.substring(res.input.indexOf("'"));
1373
+ if(resorgid!= null && resorgid!=''){
1374
+ resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
1375
+ // resorgid = resorgid.replaceAll("'","");
1376
+ resorgid = resorgid.replace(/'/g,"");
1377
+ this.allorgid = resorgid.split(",")
1378
+ console.log('解析到的公司ID列表:', this.allorgid)
1379
+ }
1380
+ }
1381
+ await this.updateParams()
1382
+ }
1383
+ // 无论是否有匹配,都重新加载街道列表(公司选择改变时)
1384
+ console.log('公司选择改变,重新加载街道列表,当前allorgid:', this.allorgid)
1385
+ await this.getStreetList()
1386
+ },
1387
+ sumsmodel:{
1388
+ handler: function(val) {
1389
+ this.getotherfooter();
1390
+ },
1391
+ deep: true
1392
+ }
1393
+ },
1394
+ computed: {
1395
+ getstart(){
1396
+ return `开始时间:${this.$refs.paged.$refs.cri.model.startDate} 结束时间:${this.$refs.paged.$refs.cri.model.endDate}`
1397
+ },
1398
+ chooserow(){
1399
+ let aaa= true
1400
+ if(this.$login.r && this.$login.r.includes('打印项选择')){
1401
+ aaa = false
1402
+ }
1403
+ return aaa
1404
+ },
1405
+ getPricenames() {
1406
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
1407
+ let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
1408
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
1409
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
1410
+ if(this.$refs.paged.$refs.cri.model !==null) {
1411
+ let rs = []
1412
+ let priceArr = []
1413
+ if ( pricetype.length >0) {
1414
+ let params = {
1415
+ f_price_type: pricetype[0],
1416
+ filter: this.f_filialeid,
1417
+ prices: this.prices
1418
+ }
1419
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
1420
+ let temp = {}
1421
+ temp.label = item.label
1422
+ temp.value = item.value.f_price_name
1423
+ priceArr.push(temp)
1424
+ })
1425
+ rs = [{label: '全部', value: ''}, ...priceArr]
1426
+ }
1427
+ if (rs.length === 0) {
1428
+ console.log('rs读出来是空')
1429
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
1430
+ }
1431
+ return rs
1432
+ }
1433
+ },
1434
+ getCondition() {
1435
+ return {
1436
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
1437
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
1438
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
1439
+ orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"
1440
+ }
1441
+ },
1442
+ getfield() {
1443
+ return exportConfig.chargeConfig
1444
+ },
1445
+ defaultexport() {
1446
+ return exportConfig.chargeexportConfig
1447
+ },
1448
+ pricetypes() {
1449
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
1450
+ },
1451
+
1452
+ invoiceType() {
1453
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('发票类型查询')]
1454
+ },
1455
+ usertypes() {
1456
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
1457
+ },
1458
+ metertypes() {
1459
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
1460
+ },
1461
+
1462
+ tablestate() {
1463
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表状态')]
1464
+ },
1465
+ chargetype() {
1466
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收费类型')]
1467
+ },
1468
+ payment() {
1469
+ return [...this.$appdata.getParam('付款方式查询')]
1470
+ },
1471
+ banktype() {
1472
+ return [...this.$appdata.getParam('支付渠道查询')]
1473
+ },
1474
+ charge_state() {
1475
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
1476
+ },
1477
+ bank(){
1478
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('银行名称')]
1479
+ }
1480
+ }
1481
+ }
1482
+ </script>
1483
+ <style scoped>
1484
+ .showbottom{
1485
+ height:95%
1486
+ }
1487
+ </style>