manage-client 3.2.115 → 3.2.116

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.2.115",
3
+ "version": "3.2.116",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -185,22 +185,22 @@
185
185
  汇总信息
186
186
  </td>
187
187
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
188
- 卡费:&emsp;{{sumsmodel.cardfee}}
188
+ 卡费:&emsp;{{sumsmodel.cardfee.toFixed(1)}}
189
189
  </td>
190
190
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
191
- 合计方量:&emsp;{{sumsmodel.f_pregas}}
191
+ 合计方量:&emsp;{{sumsmodel.f_pregas.toFixed(1)}}
192
192
  </td>
193
193
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
194
- 小计:{{sumsmodel.xiaoji}}
194
+ 小计:{{sumsmodel.xiaoji.toFixed(1)}}
195
195
  </td>
196
196
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
197
- 现金收入:&emsp;{{sumsmodel.xianjin-sumsmodel.cardfee}}
197
+ 现金收入:&emsp;{{(sumsmodel.xianjin-sumsmodel.cardfee).toFixed(1)}}
198
198
  </td>
199
199
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
200
- 转账收入:&emsp;{{sumsmodel.zhuanzhang}}&emsp;
200
+ 转账收入:&emsp;{{sumsmodel.zhuanzhang.toFixed(1)}}&emsp;
201
201
  </td>
202
202
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
203
- 合计金额:&emsp;{{sumsmodel.f_preamount-sumsmodel.cardfee}}
203
+ 合计金额:&emsp;{{(sumsmodel.f_preamount-sumsmodel.cardfee).toFixed(1)}}
204
204
  </td>
205
205
  </tr>
206
206
  </table>
@@ -19,6 +19,9 @@
19
19
  <tabs header="其他收费查询" v-if="permission('其他收费查询')">
20
20
  <other-charge-query v-if="show.includes('其他收费查询')" @deal-msg="dealMsg" :data="data"></other-charge-query>
21
21
  </tabs>
22
+ <tabs header="其他收费欠费查询" v-if="permission('其他收费欠费查询')">
23
+ <other-charge-nopay-query v-if="show.includes('其他收费欠费查询')" @deal-msg="dealMsg" :data="data"></other-charge-nopay-query>
24
+ </tabs>
22
25
  <tabs header="冲正查询" v-if="permission('冲正查询')">
23
26
  <reverse-query v-if="show.includes('冲正查询')" @deal-msg="dealMsg" :data="data"></reverse-query>
24
27
  </tabs>
@@ -0,0 +1,643 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show">
5
+
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date <= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
39
+ </div>
40
+
41
+ <div class="span" style="float:right;">
42
+ <button class="button_search button_spacing" @click="search()">查询</button>
43
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
45
+
46
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
47
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
48
+ sqlurl="rs/logic/exportfile" sql-name="otherChargeNopayQuery" template-name='其他收费欠费查询导出'
49
+ :choose-col="true"></export-excel>
50
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
51
+ :defaultfield="$parent.$parent.defaultfield"
52
+ titletable="其他收费欠费记录"
53
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
54
+ <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>
55
+ </div>
56
+ </div>
57
+
58
+ <div class="row" v-show="$parent.$parent.criteriaShow">
59
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">客户名称</label>
62
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
63
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
64
+ </div>
65
+ <div class="col-sm-2 form-group">
66
+ <label class="font_normal_body">客户地址</label>
67
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
68
+ condition="f_address like '%{}%'" placeholder='客户地址'>
69
+ </div>
70
+ <div class="col-sm-2 form-group">
71
+ <label class="font_normal_body">收费类型</label>
72
+ <v-select v-model="model.f_brand_spec"
73
+ placeholder='请选择'
74
+ condition="f_brand_spec in {}"
75
+ :value.sync="model.f_brand_spec" multiple
76
+ :options='$parent.$parent.chargetype'
77
+ @change="$parent.$parent.setTypename"
78
+ close-on-select clear-button></v-select>
79
+ </div>
80
+ <div class="col-sm-2 form-group">
81
+ <label class="font_normal_body">品名规格</label>
82
+ <v-select v-model="model.f_typename"
83
+ placeholder='请选择'
84
+ condition="f_typename in {}"
85
+ :value.sync="model.f_typename" multiple
86
+ :options='$parent.$parent.typeNameList'
87
+ @change="$parent.$parent.setTypenumber"
88
+ close-on-select clear-button>
89
+ </v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body">型&emsp;&emsp;号</label>
93
+ <v-select v-model="model.f_typenumber"
94
+ placeholder='请选择'
95
+ condition="f_typenumber = '{}'"
96
+ :value.sync="model.f_typenumber"
97
+ :options='$parent.$parent.typenumberList'
98
+ close-on-select clear-button>
99
+ </v-select>
100
+ </div>
101
+ <div class="col-sm-2 form-group">
102
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
103
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
104
+ condition="f_meternumber = '{}'" placeholder='表号'>
105
+ </div>
106
+ <div class="col-sm-2 form-group">
107
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
108
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
109
+ condition="f_card_id = '{}'" placeholder='卡号'>
110
+ </div>
111
+ <div class="col-sm-2 form-group">
112
+ <label class="font_normal_body">用户类型</label>
113
+ <v-select id="f_user_type"
114
+ v-model="model.f_user_type"
115
+ placeholder='请选择'
116
+ condition="f_user_type ='{}'"
117
+ :value.sync="model.f_user_type"
118
+ @change="$parent.$parent.userTypeChange(model.f_user_type)"
119
+ :options='$parent.$parent.userTypes'
120
+ close-on-select clear-button></v-select>
121
+ </div>
122
+ <div class="col-sm-2 form-group">
123
+ <label class="font_normal_body">用气性质</label>
124
+ <v-select id="f_gasproperties"
125
+ v-model="model.f_gasproperties"
126
+ placeholder='请选择'
127
+ condition="f_gasproperties ='{}'"
128
+ :value.sync="model.f_gasproperties"
129
+ :options='$parent.$parent.gasproperties'
130
+ close-on-select clear-button></v-select>
131
+ </div>
132
+ <div class="col-sm-2 form-group">
133
+ <label class="font_normal_body">收费状态</label>
134
+ <v-select id="f_state"
135
+ v-model="model.f_state"
136
+ placeholder='请选择'
137
+ condition="f_state in {}"
138
+ multiple="true"
139
+ :value.sync="model.f_state"
140
+ :options='$parent.$parent.chargeState'
141
+ close-on-select clear-button>
142
+ </v-select>
143
+ </div>
144
+
145
+ <div class="col-sm-2 form-group">
146
+ <label class="font_normal_body">付款方式</label>
147
+ <v-select id="f_payment"
148
+ v-model="model.f_payment"
149
+ placeholder='请选择'
150
+ condition="f_payment in {}"
151
+ multiple="true"
152
+ :value.sync="model.f_payment"
153
+ :options='$parent.$parent.payments'
154
+ close-on-select clear-button>
155
+ </v-select>
156
+ </div>
157
+ <div class="col-sm-2 form-group">
158
+ <label class="font_normal_body">服务人员</label>
159
+ <v-select id="f_service_person"
160
+ v-model="model.f_service_person"
161
+ placeholder='请选择'
162
+ condition="f_service_person ='{}'"
163
+ :value.sync="model.f_service_person"
164
+ :options='$parent.$parent.service_person'
165
+ close-on-select clear-button>
166
+ </v-select>
167
+ </div>
168
+ <div class="col-sm-2 form-group">
169
+ <label class="font_normal_body">气表类型</label>
170
+ <v-select :value.sync="model.f_meter_classify" multiple
171
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_classify"
172
+ condition="f_meter_classify in {}"
173
+ close-on-select></v-select>
174
+ </div>
175
+ <div class="col-sm-2 form-group">
176
+ <label class="font_normal_body">气表品牌</label>
177
+ <v-select :value.sync="model.f_meter_brand" multiple
178
+ v-model="model.f_meter_brand"
179
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
180
+ condition="f_meter_brand in {}"
181
+ close-on-select></v-select>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </criteria>
186
+
187
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
188
+ <template partial='head'>
189
+ <tr>
190
+ <th>
191
+ <data-order field="f_userinfo_code" name="客户编号"
192
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code">
193
+ </data-order>
194
+ </th>
195
+ <th>
196
+ <nobr>档案编号</nobr>
197
+ </th>
198
+ <th>
199
+ <nobr>收费编号</nobr>
200
+ </th>
201
+ <th>
202
+ <nobr>客户名称</nobr>
203
+ </th>
204
+ <th>
205
+ <data-order field="f_address" name="客户地址"
206
+ :order.sync="$parent.$parent.$parent.orderFields.f_address">
207
+ </data-order>
208
+ </th>
209
+ <th>
210
+ <nobr>表号</nobr>
211
+ </th>
212
+ <th>
213
+ <nobr>客户电话</nobr>
214
+ </th>
215
+ <th>
216
+ <nobr>气表类型</nobr>
217
+ </th>
218
+ <th>
219
+ <nobr>气表品牌</nobr>
220
+ </th>
221
+ <th>
222
+ <nobr>卡号</nobr>
223
+ </th>
224
+ <th>
225
+ <nobr>收据票号</nobr>
226
+ </th>
227
+ <th>
228
+ <nobr>收费类型</nobr>
229
+ </th>
230
+ <th>
231
+ <nobr>品名规格</nobr>
232
+ </th>
233
+ <th>
234
+ <nobr>型号</nobr>
235
+ </th>
236
+ <th>
237
+ <nobr>单价</nobr>
238
+ </th>
239
+ <th>
240
+ <nobr>数量</nobr>
241
+ </th>
242
+ <th>
243
+ <nobr>收款</nobr>
244
+ </th>
245
+ <th>
246
+ <nobr>付款方式</nobr>
247
+ </th>
248
+ <th>
249
+ <nobr>状态</nobr>
250
+ </th>
251
+ <th>
252
+ <data-order field="f_operate_date" name="收费日期"
253
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date">
254
+ </data-order>
255
+ </th>
256
+ <th>
257
+ <nobr>服务人员</nobr>
258
+ </th>
259
+ <th>
260
+ <nobr>备注</nobr>
261
+ </th>
262
+ <th>
263
+ <nobr>人员</nobr>
264
+ </th>
265
+ <th>
266
+ <nobr>部门</nobr>
267
+ </th>
268
+ <th>
269
+ <nobr>公司</nobr>
270
+ </th>
271
+ </tr>
272
+ </template>
273
+ <template partial='body'>
274
+ <td style="text-align: center;">
275
+ <nobr>
276
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
277
+ </nobr>
278
+ </td>
279
+ <td style="text-align: center;">
280
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
281
+ </td>
282
+ <td style="text-align: center;">
283
+ <nobr>{{row.id}}</nobr>
284
+ </td>
285
+ <td style="text-align: center;">
286
+ <nobr>{{row.f_user_name}}</nobr>
287
+ </td>
288
+ <td style="text-align: center;">
289
+ <nobr>{{row.f_address}}</nobr>
290
+ </td>
291
+ <td style="text-align: center;">
292
+ <nobr>{{row.f_meternumber}}</nobr>
293
+ </td>
294
+ <td style="text-align: center;">
295
+ <nobr>{{row.f_user_phone}}</nobr>
296
+ </td>
297
+ <td style="text-align: center;">
298
+ <nobr>{{row.f_meter_classify}}</nobr>
299
+ </td>
300
+ <td style="text-align: center;">
301
+ <nobr>{{row.f_meter_brand}}</nobr>
302
+ </td>
303
+ <td style="text-align: center;">
304
+ <nobr>{{row.f_card_id}}</nobr>
305
+ </td>
306
+ <td style="text-align: center;">
307
+ <nobr>{{row.f_bill_number}}</nobr>
308
+ </td>
309
+ <td style="text-align: center;">
310
+ <nobr>{{row.f_brand_spec}}</nobr>
311
+ </td>
312
+ <td style="text-align: center;">
313
+ <nobr>{{row.f_typename}}</nobr>
314
+ </td>
315
+ <td style="text-align: center;">
316
+ <nobr>{{row.f_typenumber}}</nobr>
317
+ </td>
318
+ <td style="text-align: center;">
319
+ <nobr>{{row.f_unitprice}}</nobr>
320
+ </td>
321
+ <td style="text-align: center;">
322
+ <nobr>{{row.f_number}}</nobr>
323
+ </td>
324
+ <td style="text-align: center;">
325
+ <nobr>{{row.f_money}}</nobr>
326
+ </td>
327
+ <td style="text-align: center;">
328
+ <nobr>{{row.f_payment}}</nobr>
329
+ </td>
330
+ <td style="text-align: center;">
331
+ <nobr>{{row.f_state}}</nobr>
332
+ </td>
333
+ <td style="text-align: center;">
334
+ <nobr>{{row.f_operate_date}}</nobr>
335
+ </td>
336
+ <td style="text-align: center;">
337
+ <nobr>{{row.f_service_person}}</nobr>
338
+ </td>
339
+ <td style="text-align: center;">
340
+ <nobr>{{row.f_comments}}</nobr>
341
+ </td>
342
+ <td style="text-align: center;">
343
+ <nobr>{{row.f_operator}}</nobr>
344
+ </td>
345
+ <td style="text-align: center;">
346
+ <nobr>{{row.f_depname}}</nobr>
347
+ </td>
348
+ <td style="text-align: center;">
349
+ <nobr>{{row.f_orgname}}</nobr>
350
+ </td>
351
+ </template>
352
+ <template partial='foot'></template>
353
+ </data-grid>
354
+
355
+ </criteria-paged>
356
+
357
+ <table class="table-hover">
358
+ <tr style="position: relative" class="table-bordered">
359
+ <td
360
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
361
+ 汇总信息
362
+ </td>
363
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
364
+ 欠费合计:&emsp;{{sumsmodel.f_money}}
365
+ </td>
366
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
367
+ 户数合计:&emsp;{{sumsmodel.hushu}}
368
+ </td>
369
+ </tr>
370
+ </table>
371
+
372
+ </div>
373
+ <div class="flex" v-if="show">
374
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
375
+ </div>
376
+ </div>
377
+ </div>
378
+ </template>
379
+
380
+ <script>
381
+ import {PagedList} from 'vue-client'
382
+ import defaultPrint from '../config/DefaultPrint'
383
+ import exportConfig from '../config/exportConfig'
384
+
385
+ let readySomething = async function (self) {
386
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
387
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
388
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
389
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
390
+ // await self.$refs.paged.$refs.cri.search()
391
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
392
+ await self.$MagLoadParams.loadParam()
393
+
394
+ self.initParams()
395
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
396
+ }
397
+ export default {
398
+ components: {
399
+ },
400
+ props:['data'],
401
+ title: '其他收费欠费查询',
402
+ data() {
403
+ return {
404
+ data: {},
405
+ other:[],
406
+ footer:[],
407
+ model: new PagedList('rs/sql/otherChargeNopayQuery', 20, {orderitem: this.orderitem?`${this.orderitem}`: " 'f_operate_date desc'"}, {f_money: 0,hushu:0}),
408
+ criteriaShow: false,
409
+ orgCondtionStr: '',
410
+ modelval: [],
411
+ printshow: false,
412
+ all: false,
413
+ fields: {},
414
+ config: {
415
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_brand_spec', 'f_typename', 'f_typenumber', 'f_unitprice', 'f_number', 'f_money','f_operate_date', 'f_operator']
416
+ },
417
+ //排序
418
+ orderitem:'f_operate_date desc',
419
+ orderFields: {
420
+ f_operate_date: 'no'
421
+ },
422
+ //默认打印列
423
+ defaultfield: [],
424
+ thead: '',
425
+ tfoot: '',
426
+ initres: {
427
+ org:[this.$login.f.orgid],
428
+ dep:[],
429
+ user:[],
430
+ },
431
+ show:false,
432
+ rowdata:{},
433
+ meterbrands: [],
434
+ //合计数据
435
+ sumsmodel: {},
436
+ // 用气性质
437
+ gasproperties: [],
438
+ // 品名规格
439
+ typeNameList: [],
440
+ // 型号
441
+ typenumberList: []
442
+ }
443
+ },
444
+ ready() {
445
+ readySomething(this).then(() => {
446
+ this.$emit('ready')
447
+ }).catch((error) => {
448
+ this.$emit('error', error)
449
+ })
450
+ },
451
+ methods: {
452
+ initParams() {
453
+ // 初始化气表品牌
454
+ let brandArr = []
455
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
456
+ let temp = {}
457
+ temp.label = item.label
458
+ temp.value = item.value.f_meter_brand
459
+ brandArr.push(temp)
460
+ })
461
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
462
+ },
463
+ getotherfooter(){
464
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
465
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
466
+ this.other=[];
467
+ this.footer=[];
468
+ let exportdata = this.getCondition;
469
+ let otherInData=[];
470
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
471
+ let footerData=[],exportfield=this.getfield;
472
+ footerData.push("合计");
473
+ let self = this;
474
+ for(var field in self.sumsmodel){
475
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
476
+ }
477
+ this.footer.push(footerData);
478
+ this.other.push(otherInData);
479
+ },
480
+ search(){
481
+ this.$refs.paged.$refs.cri.search()
482
+ },
483
+ async selfSearch(args) {
484
+ if (this.data) {
485
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
486
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
487
+ }
488
+ args.condition = `${args.condition}` + this.orgCondtionStr
489
+ await this.model.search(args.condition, args.model)
490
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
491
+ this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
492
+
493
+ },
494
+ clear() {
495
+ //清空部门和人员
496
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
497
+ //部门和人员变为全选
498
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
499
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
500
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
501
+ this.$refs.paged.$refs.cri.model[key] = []
502
+ })
503
+ },
504
+ show() {
505
+ this.criteriaShow = true
506
+ },
507
+ hidden() {
508
+ this.criteriaShow = !this.criteriaShow
509
+ },
510
+ getRes(obj) {
511
+ this.orgCondtionStr = obj
512
+ },
513
+ cancel() {
514
+ this.show = false
515
+ },
516
+ dealmsg(val) {
517
+ console.log('---------------dealmsg')
518
+ this.rowdata=val
519
+ this.show=true
520
+ val.model = this.model.model
521
+ this.$dispatch('deal-msg', val)
522
+ },
523
+ stamp() {
524
+ this.all = false
525
+ //默认选择要打印的列
526
+ this.modelval = defaultPrint.config
527
+ this.fields = this.getfield
528
+ console.log('所有打印字段', this.fields)
529
+ this.printshow = true
530
+ this.put()
531
+ },
532
+ put() {
533
+ // 对Modelval进行排序
534
+ this.sortModelval()
535
+ this.thead = `<tr><th colspan=${this.modelval.length}>其他收费欠费查询统计报表</th></tr><tr>`
536
+ for (let key of this.modelval) {
537
+ this.thead += '<th>' + this.fields[key] + '</th>'
538
+ }
539
+ this.thead += '</tr>'
540
+ },
541
+ print() {
542
+ this.$refs.print.PrintAsFile()
543
+ this.printshow = false
544
+ },
545
+ close() {
546
+ this.printshow = false
547
+ this.all = false
548
+ },
549
+ // 对选择的列进行排序
550
+ sortModelval() {
551
+ let sortModel = []
552
+ Object.keys(this.fields).forEach((key) => {
553
+ if (this.modelval.includes(key)) {
554
+ sortModel.push(key)
555
+ }
556
+ })
557
+ this.modelval = sortModel
558
+ console.log('选择的打印的字段', this.modelval)
559
+ },
560
+ userTypeChange (f_user_type) {
561
+ this.gasproperties = []
562
+ if (f_user_type) {
563
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
564
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
565
+ } else {
566
+ this.gasproperties = [{label: '全部', value: ''}]
567
+ }
568
+ },
569
+ setTypename (val) {
570
+ this.typenumberList = []
571
+ this.typeNameList = this.$appdata.getParam(val)
572
+ },
573
+ setTypenumber (val) {
574
+ this.typenumberList = this.$appdata.getParam(val)
575
+ },
576
+ sort (field, rule) {
577
+ // 将所有排序方式设为不排序,实现相互排斥
578
+ for (let key in this.orderFields) {
579
+ if (key === field) {
580
+ this.orderFields[key] = rule
581
+ } else {
582
+ this.orderFields[key] = 'no'
583
+ }
584
+ }
585
+ // 如果新规则不排序,还原为默认排序
586
+ if (rule === 'no') {
587
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
588
+ } else {
589
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
590
+ }
591
+
592
+ this.search()
593
+ }
594
+ },
595
+ watch: {
596
+ 'all'(val) {
597
+ if (val) {
598
+ this.modelval = this.bodyData
599
+ } else {
600
+ this.modelval = defaultPrint.config
601
+ this.put()
602
+ }
603
+ },
604
+ 'modelval.length'() {
605
+ this.put()
606
+ },
607
+ sumsmodel:{
608
+ handler: function(val) {
609
+ this.getotherfooter();
610
+ },
611
+ deep: true
612
+ }
613
+ },
614
+ computed: {
615
+ getCondition() {
616
+ return {
617
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
618
+ orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"}
619
+ },
620
+ service_person() {
621
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
622
+ },
623
+ getfield() {
624
+ return exportConfig.otherchargenopayConfig
625
+ },
626
+ chargetype() {
627
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('品名及规格')]
628
+ },
629
+ userTypes() {
630
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
631
+ },
632
+ chargeState() {
633
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
634
+ },
635
+ metertypes() {
636
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
637
+ },
638
+ payments() {
639
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
640
+ }
641
+ }
642
+ }
643
+ </script>
@@ -276,6 +276,17 @@ export default{
276
276
  'f_service_person': '服务人员', 'f_comments': '备注',
277
277
  'f_operator': '操作员', 'f_depname': '部门', 'f_orgname': '公司', 'f_meternumber': '表号'
278
278
  },
279
+
280
+ otherchargenopayConfig: {
281
+ 'f_userinfo_code': '客户编号', 'f_olduserinfo_code': '档案编号', 'f_user_name': '客户名称', 'f_address': '客户地址', 'f_user_phone': '客户电话', 'f_meter_classify': '气表类型',
282
+ 'f_meter_brand': '气表品牌',
283
+ 'f_bill_number': '收据票号', 'f_brand_spec': '收费类型', 'f_typename': '品名规格',
284
+ 'f_typenumber': '型号', 'f_unitprice': '单价', 'f_number': '数量',
285
+ 'f_money': '收款', 'f_payment': '付款方式', 'f_state': '状态', 'f_operate_date': '收费日期',
286
+ 'f_service_person': '服务人员', 'f_comments': '备注',
287
+ 'f_operator': '操作员', 'f_depname': '部门', 'f_orgname': '公司', 'f_meternumber': '表号'
288
+ },
289
+
279
290
  otherchargePrintConfig: {
280
291
  'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_address': '客户地址',
281
292
  'f_money': '收款', 'f_payment': '付款方式', 'f_state': '状态', 'f_operate_date': '收费日期'
@@ -701,12 +701,7 @@
701
701
  tfoot: '',
702
702
  defaultfield: [],
703
703
  //排序
704
- orderitem: 'f_residential_area',
705
- orderitem1: 'f_unit',
706
- orderitem2: 'f_building',
707
- orderitem3: 'f_floor',
708
- orderitem4: 'f_room',
709
-
704
+ orderitem: 'f_residential_area desc,f_building desc,f_unit desc,f_floor desc,f_room desc',
710
705
  orderFields: {
711
706
  f_operate_date: 'no'
712
707
  },
@@ -793,7 +788,6 @@
793
788
  // this.footer.push(footerData);
794
789
  this.other.push(otherInData);
795
790
  },
796
-
797
791
  initParams() {
798
792
  // 初始化气表品牌
799
793
  let brandArr = []
@@ -1018,35 +1012,24 @@
1018
1012
  this.meterbooks = [{label: '全部',value: ''}]
1019
1013
  }
1020
1014
  },
1021
- sort (field, rule) {
1022
- console.log('sort',this.orderFields)
1023
- let sortStr = ''
1015
+ sort (field, rule) {
1024
1016
  // 将所有排序方式设为不排序,实现相互排斥
1025
1017
  for (let key in this.orderFields) {
1026
- if (this.orderFields[key] != 'no') {
1027
- if (key == 'f_address') {
1028
- sortStr += `,${this.orderitem} ${this.orderFields[key]}, ${this.orderitem2} ${this.orderFields[key]}, ${this.orderitem1} ${this.orderFields[key]},${this.orderitem3} ${this.orderFields[key]},${this.orderitem4} ${this.orderFields[key]}`
1029
- } else {
1030
- sortStr += `,${key} ${this.orderFields[key]}`
1031
- }
1018
+ if (key === field) {
1019
+ this.orderFields[key] = rule
1020
+ } else {
1021
+ this.orderFields[key] = 'no'
1032
1022
  }
1033
1023
  }
1034
- if (sortStr == '') {
1035
- sortStr += `,f_residential_area desc,f_building desc,f_unit desc,f_floor desc,f_room desc`
1036
- }
1037
- this.model.model.items = sortStr.replace(',','').toString()
1038
- this.model.paramSource.items = 'this.model.items'
1039
-
1040
- // 如果新规则不排序,还原为默认排序
1041
- // if (rule === 'no'|| rule === 'desc') {
1042
- // this.model.paramSource.items= `'${this.orderitem} desc,${this.orderitem2} desc,${this.orderitem1} desc,${this.orderitem3} desc,${this.orderitem4} desc'`
1043
- // } else {
1044
- // this.model.paramSource.items= `'${this.orderitem},${this.orderitem2},${this.orderitem1},${this.orderitem3},${this.orderitem4} ${rule}'`
1045
- // }
1046
- //
1047
- console.log('sortstr',sortStr.replace(',',''))
1048
- this.search()
1024
+ // 如果新规则不排序,还原为默认排序
1025
+ if (rule === 'no') {
1026
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
1027
+ } else {
1028
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
1049
1029
  }
1030
+
1031
+ this.search()
1032
+ }
1050
1033
  },
1051
1034
  watch:{
1052
1035
  'model.rows.length' () {
@@ -7,6 +7,9 @@
7
7
  <tabs header="其他收费查询" v-if="permission('其他收费查询')">
8
8
  <other-charge-query v-if="show.includes('其他收费查询')" @deal-msg="dealMsg" :data="data"></other-charge-query>
9
9
  </tabs>
10
+ <tabs header="其他收费欠费查询" v-if="permission('其他收费欠费查询')">
11
+ <other-charge-nopay-query v-if="show.includes('其他收费欠费查询')" @deal-msg="dealMsg" :data="data"></other-charge-nopay-query>
12
+ </tabs>
10
13
  <tabs header="机表抄表查询" v-if="permission('机表抄表查询')">
11
14
  <handplan-query v-if="show.includes('机表抄表查询')" @deal-msg="dealMsg" :data="data"></handplan-query>
12
15
  </tabs>
@@ -304,6 +304,9 @@
304
304
  <!--<nobr>客户地址</nobr>-->
305
305
  <data-order field="f_address" name="客户地址" :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
306
306
  </th>
307
+ <th>
308
+ <nobr>客户状态</nobr>
309
+ </th>
307
310
  <th>
308
311
  <nobr>表册片区</nobr>
309
312
  </th>
@@ -330,6 +333,9 @@
330
333
  <th>
331
334
  <nobr>气价名称</nobr>
332
335
  </th>
336
+ <th>
337
+ <nobr>气价编码</nobr>
338
+ </th>
333
339
  <th>
334
340
  <nobr>气价详情</nobr>
335
341
  </th>
@@ -356,12 +362,23 @@
356
362
  <th>
357
363
  <nobr>气表状态</nobr>
358
364
  </th>
365
+ <th>
366
+ <nobr>气表分类</nobr>
367
+ </th>
359
368
  <th>
360
369
  <nobr>是否壁挂炉</nobr>
361
370
  </th>
362
371
  <th>
363
372
  <nobr>入户证号</nobr>
364
373
  </th>
374
+
375
+
376
+ <th>
377
+ <nobr>防盗卡号1</nobr>
378
+ </th>
379
+ <th>
380
+ <nobr>防盗卡号2</nobr>
381
+ </th>
365
382
  </tr>
366
383
  </template>
367
384
  <template partial='body'>
@@ -386,6 +403,9 @@
386
403
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
387
404
  <nobr>{{row.f_address}}</nobr>
388
405
  </td>
406
+ <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
407
+ <nobr>{{row.f_user_state}}</nobr>
408
+ </td>
389
409
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
390
410
  <nobr>{{row.f_book_slice_area}}</nobr>
391
411
  </td>
@@ -412,6 +432,9 @@
412
432
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
413
433
  <nobr>{{row.f_price_name}}</nobr>
414
434
  </td>
435
+ <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
436
+ <nobr>{{row.f_price_id}}</nobr>
437
+ </td>
415
438
  <th :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
416
439
  <nobr>{{row.value}}</nobr>
417
440
  </th>
@@ -436,12 +459,22 @@
436
459
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
437
460
  <nobr>{{row.f_table_state}}</nobr>
438
461
  </td>
462
+ <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
463
+ <nobr>{{row.f_meter_classify}}</nobr>
464
+ </td>
439
465
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
440
466
  <nobr>{{row.isbgl}}</nobr>
441
467
  </td>
442
468
  <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
443
469
  <nobr>{{row.f_enter_number}}</nobr>
444
470
  </td>
471
+
472
+ <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
473
+ <nobr>{{row.f_defendcard}}</nobr>
474
+ </td>
475
+ <td :class="row.f_table_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
476
+ <nobr>{{row.f_defendcard_two}}</nobr>
477
+ </td>
445
478
  </template>
446
479
  <template partial='foot'>
447
480
  </template>
@@ -302,6 +302,15 @@
302
302
  <input type="text" style="width:60%" class="input_search" v-model="model.f_stair3price"
303
303
  condition="f_stair3price = {} " placeholder='三阶单价'>
304
304
  </div>
305
+ <div class="col-sm-2 form-group">
306
+ <label class="font_normal_body" >气量阶级</label>
307
+ <v-select :value.sync="model.f_stair_types"
308
+ v-model="model.f_stair_types"
309
+ :options='$parent.$parent.stairtypes' placeholder='请选择'
310
+ condition="f_stair_types = '{}'"
311
+ close-on-select :search="false">
312
+ </v-select>
313
+ </div>
305
314
  </div>
306
315
  </div>
307
316
  </criteria>
@@ -864,6 +873,14 @@
864
873
  inputtores:[{label: '全部',value: ''}],
865
874
  writecard:[{label: '全部',value: ''},{label: '已写卡',value: '已写卡'},{label: '未写卡',value: '未写卡'}],
866
875
  bluetoothpackage:[{label: '全部',value: ''},{label: '发送成功',value: '发送成功'},{label: '执行成功',value: '执行成功'}],
876
+ stairtypes:[
877
+ {label: '一阶',value: '一阶'},
878
+ {label: '二阶',value: '二阶'},
879
+ {label: '三阶',value: '三阶'},
880
+ {label: '二阶三阶',value: '二阶三阶'},
881
+ {label: '一阶二阶',value: '一阶二阶'},
882
+ {label: '一阶二阶三阶',value: '一阶二阶三阶'}
883
+ ],
867
884
  allorgid:[],
868
885
  tempfalg :false,
869
886
  lastorgstr:'',
package/src/saleManage.js CHANGED
@@ -156,6 +156,10 @@ export default function (filiale) {
156
156
  Vue.component('other-charge-query', (resolve) => {
157
157
  require(['./components/sale/businessquery/OtherChargeQuery'], resolve)
158
158
  })
159
+ // 其他收费欠费查询
160
+ Vue.component('other-charge-nopay-query', (resolve) => {
161
+ require(['./components/sale/businessquery/OtherChargeNopayQuery'], resolve)
162
+ })
159
163
  // 冲正查询
160
164
  Vue.component('reverse-query', (resolve) => {
161
165
  require(['./components/sale/businessquery/ReverseQuery'], resolve)