manage-client 3.3.268 → 3.3.269

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