manage-client 3.2.29 → 3.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  2. package/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  3. package/.gradle/5.4.1/gc.properties +0 -0
  4. package/build/dev-server.js +28 -9
  5. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  6. package/package.json +1 -1
  7. package/src/.idea/misc.xml +9 -0
  8. package/src/.idea/modules.xml +8 -0
  9. package/src/.idea/src.iml +9 -0
  10. package/src/.idea/vcs.xml +6 -0
  11. package/src/.idea/workspace.xml +93 -0
  12. package/src/components/sale/businessquery/BusinesQuery.vue +358 -348
  13. package/src/components/sale/businessquery/ChangeMeterQuery.vue +632 -632
  14. package/src/components/sale/businessquery/ChangeUserQuery.vue +357 -348
  15. package/src/components/sale/businessquery/ChargeQuery.vue +1245 -1235
  16. package/src/components/sale/businessquery/DisableQuery.vue +451 -441
  17. package/src/components/sale/businessquery/EnableQuery.vue +408 -398
  18. package/src/components/sale/businessquery/FillCardQuery.vue +486 -481
  19. package/src/components/sale/businessquery/FillGasQuery.vue +511 -506
  20. package/src/components/sale/businessquery/InspectListUser.vue +433 -433
  21. package/src/components/sale/businessquery/OtherChargeQuery.vue +634 -624
  22. package/src/components/sale/businessquery/ReverseQuery.vue +402 -392
  23. package/src/components/sale/businessquery/SalesGasClassification.vue +168 -168
  24. package/src/components/sale/businessquery/TransferQuery.vue +418 -408
  25. package/src/components/sale/businessquery/iotStateSearch/iotStateQuery.vue +308 -308
  26. package/src/components/sale/filesquery/ArchivesManage.vue +57 -57
  27. package/src/components/sale/filesquery/DeviceQuery.vue +534 -524
  28. package/src/components/sale/filesquery/FireQuery.vue +477 -477
  29. package/src/components/sale/filesquery/RecordInfoQuery.vue +1260 -1250
  30. package/src/components/sale/report/aode/YearByUserType.vue +272 -272
  31. package/src/filiale/WEINAN/OtherChargeQuery.vue +521 -521
  32. package/src/filiale/WEINAN/config/tableConfig.js +20 -20
  33. package/src/filiale/jingwei/RecordInfoQuery.vue +1142 -1142
  34. package/src/filiale/liaoyuan/ReportList.vue +421 -421
  35. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  36. package/src/filiale/meihekou/CardHandplanQuery.vue +612 -612
  37. package/src/filiale/meihekou/RecordInfoQuery.vue +1158 -1158
  38. package/src/filiale/pingxiang/sale.js +9 -9
  39. package/src/filiale/qingtongxia/sale.js +13 -13
  40. package/src/filiale/rongcheng/UserQuery.vue +827 -827
  41. package/src/filiale/shaoguan/HandplanQuery.vue +1314 -1314
  42. package/src/filiale/shaoguan/TransferQuery.vue +403 -403
  43. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  44. package/src/filiale/shaoguan/errorHandplanQuery.vue +366 -366
  45. package/src/filiale/shaoguan/sale/businessquery/ExemptQuery.vue +314 -314
  46. package/src/filiale/shaoguan/sale/businessquery/FMYGasQuery.vue +687 -687
  47. package/src/filiale/shaoguan/sale/businessquery/PaymentChangeQuery.vue +338 -338
  48. package/src/filiale/shaoguan/sale/businessquery/ReconcileQuery.vue +426 -426
  49. package/src/filiale/tongchuan/ChargeQuery.vue +1270 -1270
  50. package/src/filiale/tongchuan/FillGasQuery.vue +523 -523
  51. package/src/filiale/tongchuan/config/exportConfig.js +857 -857
  52. package/src/main.js +11 -11
  53. package/src/saleManage.js +529 -529
@@ -1,481 +1,486 @@
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>
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">客户名称</label>
37
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
38
- condition="f_user_name like '%{}%'" 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="fillCardQuery" 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_address"
63
- condition="f_address like '%{}%'" placeholder='客户地址'>
64
- </div>
65
- <div class="col-sm-2 form-group">
66
- <label class="font_normal_body">补卡类型</label>
67
- <v-select :value.sync="model.f_type"
68
- v-model="model.f_type"
69
- :value-single="true"
70
- :options='$parent.$parent.fillCardTypes' placeholder='请选择'
71
- condition=" f_type = '{}'"
72
- close-on-select clear-button></v-select>
73
- </div>
74
-
75
- <div class="col-sm-2 form-group">
76
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;卡号&nbsp;&nbsp;&nbsp;</label>
77
- <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
78
- condition="f_card_id like '%{}%'" placeholder='卡号'>
79
- </div>
80
- <div class="col-sm-2 form-group">
81
- <label class="font_normal_body">气表品牌</label>
82
- <v-select :value.sync="model.f_meter_brand"
83
- v-model="model.f_meter_brand"
84
- :options='$parent.$parent.meterbrands' placeholder='请选择'
85
- condition="f_meter_brand = '{}'"
86
- close-on-select></v-select>
87
- </div>
88
- <div class="col-sm-2 form-group">
89
- <label class="font_normal_body">补卡状态</label>
90
- <v-select :value.sync="model.f_state"
91
- v-model="model.f_state"
92
- :options='$parent.$parent.chargeState' placeholder='请选择'
93
- condition="f_state = '{}'"
94
- close-on-select></v-select>
95
- </div>
96
- <div class="col-sm-2 form-group">
97
- <label class="font_normal_body">付款方式</label>
98
- <v-select id="f_payment"
99
- v-model="model.f_payment"
100
- placeholder='请选择'
101
- condition="f_payment ='{}'"
102
- :value.sync="model.f_payment"
103
- :options='$parent.$parent.payments'
104
- close-on-select clear-button>
105
- </v-select>
106
- </div>
107
- </div>
108
-
109
- </div>
110
- </criteria>
111
-
112
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
113
- <template partial='head'>
114
- <tr>
115
- <th>
116
- <nobr>客户编号</nobr>
117
- </th>
118
- <th>
119
- <nobr>客户名称</nobr>
120
- </th>
121
- <th>
122
- <nobr>收据票号</nobr>
123
- </th>
124
- <th>
125
- <nobr>客户地址</nobr>
126
- </th>
127
- <th>
128
- <nobr>卡号</nobr>
129
- </th>
130
- <th>
131
- <nobr>气表品牌</nobr>
132
- </th>
133
- <th>
134
- <nobr>补卡类型</nobr>
135
- </th>
136
- <th>
137
- <nobr>补卡种类</nobr>
138
- </th>
139
- <th>
140
- <nobr>补卡原因</nobr>
141
- </th>
142
- <th>
143
- <nobr>卡费</nobr>
144
- </th>
145
- <th>
146
- <nobr>补卡日期</nobr>
147
- </th>
148
- <th>
149
- <nobr>付款方式</nobr>
150
- </th>
151
- <th>
152
- <nobr>人员</nobr>
153
- </th>
154
- <th>
155
- <nobr>部门</nobr>
156
- </th>
157
- <th>
158
- <nobr>公司</nobr>
159
- </th>
160
- <th><nobr>附件</nobr></th>
161
- </tr>
162
- </template>
163
- <template partial='body'>
164
- <td style="text-align: center;">
165
- <nobr>
166
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
167
- </td>
168
- <td style="text-align: center;">
169
- <nobr>{{row.f_user_name}}</nobr>
170
- </td>
171
- <td style="text-align: center;">
172
- <nobr>{{row.f_bill_number}}</nobr>
173
- </td>
174
- <td style="text-align: center;">
175
- <nobr>{{row.f_address}}</nobr>
176
- </td>
177
- <td style="text-align: center;">
178
- <nobr>{{row.f_card_id}}</nobr>
179
- </td>
180
- <td style="text-align: center;">
181
- <nobr>{{row.f_meter_brand}}</nobr>
182
- </td>
183
- <td style="text-align: center;">
184
- <nobr>{{row. f_type}}</nobr>
185
- </td>
186
- <td style="text-align: center;">
187
- <nobr>{{row. f_fill_type}}</nobr>
188
- </td>
189
- <td style="text-align: center;">
190
- <nobr>{{row.f_comments}}</nobr>
191
- </td>
192
- <td style="text-align: center;">
193
- <nobr>{{row.f_cardfees}}</nobr>
194
- </td>
195
- <td style="text-align: center;">
196
- <nobr>{{row.f_operate_date}}</nobr>
197
- </td>
198
- <td style="text-align: center;">
199
- <nobr>{{row.f_payment}}</nobr>
200
- </td>
201
- <td style="text-align: center;">
202
- <nobr>{{row.f_operator}}</nobr>
203
- </td>
204
- <td style="text-align: center;">
205
- <nobr>{{row.f_depname}}</nobr>
206
- </td>
207
- <td style="text-align: center;">
208
- <nobr>{{row.f_orgname}}</nobr>
209
- </td>
210
- <td style="text-align: center;"><nobr>
211
- <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
212
- </nobr></td>
213
- </template>
214
- <template partial='foot'></template>
215
- </data-grid>
216
-
217
- </criteria-paged>
218
-
219
- <table class="table-hover">
220
- <tr style="position: relative" class="table-bordered">
221
- <td
222
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
223
- 汇总信息
224
- </td>
225
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
226
- 卡费合计:&emsp;{{sumsmodel.f_cardfees}}
227
- </td>
228
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
229
- 户数合计:&emsp;{{sumsmodel.hushu}}
230
- </td>
231
- </tr>
232
- </table>
233
- </div>
234
- <div class="flex" v-if="show">
235
- <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
236
- </div>
237
- </div>
238
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
239
- <article slot="modal-body">
240
- <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="补卡" :isremark="false" style="width:auto" ></upload>
241
- </article>
242
- <footer slot="modal-footer" class="modal-footer">
243
- </footer>
244
- </modal>
245
- </div>
246
- </template>
247
-
248
- <script>
249
- import {PagedList} from 'vue-client'
250
- import defaultPrint from '../config/DefaultPrint'
251
- import exportConfig from '../config/exportConfig'
252
-
253
- let readySomething = async function (self) {
254
-
255
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
256
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
257
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
258
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
259
- // await self.$refs.paged.$refs.cri.search()
260
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
261
- await self.$MagLoadParams.loadParam()
262
- self.initParams()
263
-
264
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
265
- }
266
- export default {
267
- props:['data'],
268
- title: '补卡查询',
269
- data() {
270
- return {
271
- data: {},
272
- other:[],
273
- footer:[],
274
- model: new PagedList('rs/sql/fillCardQuery', 20, {}, {f_cardfees: 0,hushu:0}),
275
- criteriaShow: false,
276
- headData: ["客户编号", "客户名称", "客户电话", "身份证号", "地址", "补卡类型", "表编号", "卡号", "气表品牌", "气表状态", "卡费", "补卡日期", "人员", "部门", "公司"],
277
- bodyData: ["f_userinfo_code", "f_user_name", "f_user_phone", "f_idnumber", "address", " f_type", "f_user_id", "f_card_id", "f_meter_brand", "f_table_state", "f_cardfees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
278
- config: {
279
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_idnumber', 'f_card_id', 'f_meter_brand', 'f_operate_date', 'f_cardfees', 'f_operator']
280
- },
281
- //默认打印列
282
- defaultfield: [],
283
- orgCondtionStr: '',
284
- initres: {
285
- org:[this.$login.f.orgid],
286
- dep:[],
287
- user:[],
288
- },
289
- modelval: [],
290
- printshow: false,
291
- all: false,
292
- fields: {},
293
- thead: '',
294
- tfoot: '',
295
- showupload:false,
296
- selected:{},
297
-
298
- meterbrands: [],
299
- // tablestate: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}],
300
-
301
- show:false,
302
- rowdata:{},
303
- //合计数据
304
- sumsmodel: {}
305
- }
306
- },
307
- ready() {
308
- readySomething(this).then(() => {
309
- this.$emit('ready')
310
- }).catch((error) => {
311
- this.$emit('error', error)
312
- })
313
- },
314
- methods: {
315
- view(row){
316
- this.showupload = true
317
- this.selected= row
318
- },
319
- getotherfooter(){
320
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
321
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
322
- this.other=[];
323
- this.footer=[];
324
- let exportdata = this.getCondition;
325
- let otherInData=[];
326
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
327
- let footerData=[],exportfield=this.getfield;
328
- footerData.push("合计");
329
- let self = this;
330
- for(var field in self.sumsmodel){
331
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
332
- }
333
- this.footer.push(footerData);
334
- this.other.push(otherInData);
335
- },
336
- search(){
337
- this.$refs.paged.$refs.cri.search()
338
- },
339
- cancel() {
340
- this.show = false
341
- },
342
- async selfSearch(args) {
343
- console.log("--------------------?")
344
- if (this.data) {
345
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
346
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
347
- }
348
- args.condition = `${args.condition}` + this.orgCondtionStr
349
- await this.model.search(args.condition, args.model)
350
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
351
- this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
352
- },
353
-
354
- initParams() {
355
- // 初始化气表品牌
356
- let brandArr = []
357
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
358
- let temp = {}
359
- temp.label = item.label
360
- temp.value = item.value.f_meter_brand
361
- brandArr.push(temp)
362
- })
363
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
364
- },
365
-
366
- clear() {
367
- //清空部门和人员
368
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
369
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].selectres = []
370
- this.$refs.paged.$refs.cri.$refs.sel.slice_area = []
371
- //部门和人员变为全选
372
- // this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
373
- // this.$refs.paged.$refs.cri.$refs.sel.$children[3].$children[0].isSelectAll = false
374
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
375
- this.$refs.paged.$refs.cri.model[key] = []
376
- })
377
- },
378
- show() {
379
- this.criteriaShow = true
380
- },
381
- hidden() {
382
- this.criteriaShow = !this.criteriaShow
383
- },
384
- getRes(condition) {
385
- this.orgCondtionStr = condition
386
- },
387
- dealmsg(val) {
388
- console.log('---------------dealmsg')
389
- this.rowdata=val
390
- this.show=true
391
- val.model = this.model.model
392
- this.$dispatch('deal-msg', val)
393
- },
394
- stamp() {
395
- this.all = false
396
- //默认选择要打印的列
397
- this.modelval = defaultPrint.config
398
- this.fields = this.getfield
399
- console.log('所有打印字段', this.fields)
400
- this.printshow = true
401
- this.put()
402
- },
403
- put() {
404
- // 对Modelval进行排序
405
- this.sortModelval()
406
- this.thead = `<tr><th colspan=${this.modelval.length}>补卡查询统计报表</th></tr><tr>`
407
- for (let key of this.modelval) {
408
- this.thead += '<th>' + this.fields[key] + '</th>'
409
- }
410
- this.thead += '</tr>'
411
- },
412
- print() {
413
- this.$refs.print.PrintAsFile()
414
- this.printshow = false
415
- },
416
- close() {
417
- this.printshow = false
418
- this.all = false
419
- },
420
- // 对选择的列进行排序
421
- sortModelval() {
422
- let sortModel = []
423
- Object.keys(this.fields).forEach((key) => {
424
- if (this.modelval.includes(key)) {
425
- sortModel.push(key)
426
- }
427
- })
428
- this.modelval = sortModel
429
- console.log('选择的打印的字段', this.modelval)
430
- },
431
- async updateParams() {
432
- await this.$MagLoadParams.loadParam(this.f_filialeid)
433
- this.initParams()
434
- },
435
- },
436
- watch: {
437
- 'all'(val) {
438
- if (val) {
439
- this.modelval = this.bodyData
440
- } else {
441
- this.modelval = defaultPrint.config
442
- this.put()
443
- }
444
- },
445
- 'modelval.length'() {
446
- this.put()
447
- },
448
- sumsmodel:{
449
- handler: function(val) {
450
- this.getotherfooter();
451
- },
452
- deep: true
453
- },
454
- 'orgCondtionStr'(val) {
455
- let res = val.match(/'(.*?)'/)
456
- console.log('正则提取:',res && res[1])
457
- if (res) {
458
- this.f_filialeid = res[1]
459
- this.updateParams()
460
- }
461
- }
462
- },
463
- computed: {
464
- getCondition() {
465
- return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
466
- },
467
- getfield() {
468
- return exportConfig.fillcardConfig
469
- },
470
- fillCardTypes() {
471
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('补卡类型')]
472
- },
473
- chargeState() {
474
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('补卡状态')]
475
- },
476
- payments() {
477
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
478
- }
479
- }
480
- }
481
- </script>
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>
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">客户名称</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
38
+ condition="f_user_name like '%{}%'" 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="fillCardQuery" 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_address"
63
+ condition="f_address like '%{}%'" placeholder='客户地址'>
64
+ </div>
65
+ <div class="col-sm-2 form-group">
66
+ <label class="font_normal_body">补卡类型</label>
67
+ <v-select :value.sync="model.f_type"
68
+ v-model="model.f_type"
69
+ :value-single="true"
70
+ :options='$parent.$parent.fillCardTypes' placeholder='请选择'
71
+ condition=" f_type = '{}'"
72
+ close-on-select clear-button></v-select>
73
+ </div>
74
+
75
+ <div class="col-sm-2 form-group">
76
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
77
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
78
+ condition="f_card_id like '%{}%'" placeholder='卡号'>
79
+ </div>
80
+ <div class="col-sm-2 form-group">
81
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
82
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
83
+ condition="f_meternumber = '{}'" placeholder='表号'>
84
+ </div>
85
+ <div class="col-sm-2 form-group">
86
+ <label class="font_normal_body">气表品牌</label>
87
+ <v-select :value.sync="model.f_meter_brand"
88
+ v-model="model.f_meter_brand"
89
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
90
+ condition="f_meter_brand = '{}'"
91
+ close-on-select></v-select>
92
+ </div>
93
+ <div class="col-sm-2 form-group">
94
+ <label class="font_normal_body">补卡状态</label>
95
+ <v-select :value.sync="model.f_state"
96
+ v-model="model.f_state"
97
+ :options='$parent.$parent.chargeState' placeholder='请选择'
98
+ condition="f_state = '{}'"
99
+ close-on-select></v-select>
100
+ </div>
101
+ <div class="col-sm-2 form-group">
102
+ <label class="font_normal_body">付款方式</label>
103
+ <v-select id="f_payment"
104
+ v-model="model.f_payment"
105
+ placeholder='请选择'
106
+ condition="f_payment ='{}'"
107
+ :value.sync="model.f_payment"
108
+ :options='$parent.$parent.payments'
109
+ close-on-select clear-button>
110
+ </v-select>
111
+ </div>
112
+ </div>
113
+
114
+ </div>
115
+ </criteria>
116
+
117
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
118
+ <template partial='head'>
119
+ <tr>
120
+ <th>
121
+ <nobr>客户编号</nobr>
122
+ </th>
123
+ <th>
124
+ <nobr>客户名称</nobr>
125
+ </th>
126
+ <th>
127
+ <nobr>收据票号</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>客户地址</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>卡号</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>气表品牌</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>补卡类型</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>补卡种类</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>补卡原因</nobr>
146
+ </th>
147
+ <th>
148
+ <nobr>卡费</nobr>
149
+ </th>
150
+ <th>
151
+ <nobr>补卡日期</nobr>
152
+ </th>
153
+ <th>
154
+ <nobr>付款方式</nobr>
155
+ </th>
156
+ <th>
157
+ <nobr>人员</nobr>
158
+ </th>
159
+ <th>
160
+ <nobr>部门</nobr>
161
+ </th>
162
+ <th>
163
+ <nobr>公司</nobr>
164
+ </th>
165
+ <th><nobr>附件</nobr></th>
166
+ </tr>
167
+ </template>
168
+ <template partial='body'>
169
+ <td style="text-align: center;">
170
+ <nobr>
171
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
172
+ </td>
173
+ <td style="text-align: center;">
174
+ <nobr>{{row.f_user_name}}</nobr>
175
+ </td>
176
+ <td style="text-align: center;">
177
+ <nobr>{{row.f_bill_number}}</nobr>
178
+ </td>
179
+ <td style="text-align: center;">
180
+ <nobr>{{row.f_address}}</nobr>
181
+ </td>
182
+ <td style="text-align: center;">
183
+ <nobr>{{row.f_card_id}}</nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_meter_brand}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <nobr>{{row. f_type}}</nobr>
190
+ </td>
191
+ <td style="text-align: center;">
192
+ <nobr>{{row. f_fill_type}}</nobr>
193
+ </td>
194
+ <td style="text-align: center;">
195
+ <nobr>{{row.f_comments}}</nobr>
196
+ </td>
197
+ <td style="text-align: center;">
198
+ <nobr>{{row.f_cardfees}}</nobr>
199
+ </td>
200
+ <td style="text-align: center;">
201
+ <nobr>{{row.f_operate_date}}</nobr>
202
+ </td>
203
+ <td style="text-align: center;">
204
+ <nobr>{{row.f_payment}}</nobr>
205
+ </td>
206
+ <td style="text-align: center;">
207
+ <nobr>{{row.f_operator}}</nobr>
208
+ </td>
209
+ <td style="text-align: center;">
210
+ <nobr>{{row.f_depname}}</nobr>
211
+ </td>
212
+ <td style="text-align: center;">
213
+ <nobr>{{row.f_orgname}}</nobr>
214
+ </td>
215
+ <td style="text-align: center;"><nobr>
216
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
217
+ </nobr></td>
218
+ </template>
219
+ <template partial='foot'></template>
220
+ </data-grid>
221
+
222
+ </criteria-paged>
223
+
224
+ <table class="table-hover">
225
+ <tr style="position: relative" class="table-bordered">
226
+ <td
227
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
228
+ 汇总信息
229
+ </td>
230
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
231
+ 卡费合计:&emsp;{{sumsmodel.f_cardfees}}
232
+ </td>
233
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
234
+ 户数合计:&emsp;{{sumsmodel.hushu}}
235
+ </td>
236
+ </tr>
237
+ </table>
238
+ </div>
239
+ <div class="flex" v-if="show">
240
+ <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
241
+ </div>
242
+ </div>
243
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
244
+ <article slot="modal-body">
245
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="补卡" :isremark="false" style="width:auto" ></upload>
246
+ </article>
247
+ <footer slot="modal-footer" class="modal-footer">
248
+ </footer>
249
+ </modal>
250
+ </div>
251
+ </template>
252
+
253
+ <script>
254
+ import {PagedList} from 'vue-client'
255
+ import defaultPrint from '../config/DefaultPrint'
256
+ import exportConfig from '../config/exportConfig'
257
+
258
+ let readySomething = async function (self) {
259
+
260
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
261
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
262
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
263
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
264
+ // await self.$refs.paged.$refs.cri.search()
265
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
266
+ await self.$MagLoadParams.loadParam()
267
+ self.initParams()
268
+
269
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
270
+ }
271
+ export default {
272
+ props:['data'],
273
+ title: '补卡查询',
274
+ data() {
275
+ return {
276
+ data: {},
277
+ other:[],
278
+ footer:[],
279
+ model: new PagedList('rs/sql/fillCardQuery', 20, {}, {f_cardfees: 0,hushu:0}),
280
+ criteriaShow: false,
281
+ headData: ["客户编号", "客户名称", "客户电话", "身份证号", "地址", "补卡类型", "表编号", "卡号", "气表品牌", "气表状态", "卡费", "补卡日期", "人员", "部门", "公司"],
282
+ bodyData: ["f_userinfo_code", "f_user_name", "f_user_phone", "f_idnumber", "address", " f_type", "f_user_id", "f_card_id", "f_meter_brand", "f_table_state", "f_cardfees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
283
+ config: {
284
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_idnumber', 'f_card_id', 'f_meter_brand', 'f_operate_date', 'f_cardfees', 'f_operator']
285
+ },
286
+ //默认打印列
287
+ defaultfield: [],
288
+ orgCondtionStr: '',
289
+ initres: {
290
+ org:[this.$login.f.orgid],
291
+ dep:[],
292
+ user:[],
293
+ },
294
+ modelval: [],
295
+ printshow: false,
296
+ all: false,
297
+ fields: {},
298
+ thead: '',
299
+ tfoot: '',
300
+ showupload:false,
301
+ selected:{},
302
+
303
+ meterbrands: [],
304
+ // tablestate: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}],
305
+
306
+ show:false,
307
+ rowdata:{},
308
+ //合计数据
309
+ sumsmodel: {}
310
+ }
311
+ },
312
+ ready() {
313
+ readySomething(this).then(() => {
314
+ this.$emit('ready')
315
+ }).catch((error) => {
316
+ this.$emit('error', error)
317
+ })
318
+ },
319
+ methods: {
320
+ view(row){
321
+ this.showupload = true
322
+ this.selected= row
323
+ },
324
+ getotherfooter(){
325
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
326
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
327
+ this.other=[];
328
+ this.footer=[];
329
+ let exportdata = this.getCondition;
330
+ let otherInData=[];
331
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
332
+ let footerData=[],exportfield=this.getfield;
333
+ footerData.push("合计");
334
+ let self = this;
335
+ for(var field in self.sumsmodel){
336
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
337
+ }
338
+ this.footer.push(footerData);
339
+ this.other.push(otherInData);
340
+ },
341
+ search(){
342
+ this.$refs.paged.$refs.cri.search()
343
+ },
344
+ cancel() {
345
+ this.show = false
346
+ },
347
+ async selfSearch(args) {
348
+ console.log("--------------------?")
349
+ if (this.data) {
350
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
351
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
352
+ }
353
+ args.condition = `${args.condition}` + this.orgCondtionStr
354
+ await this.model.search(args.condition, args.model)
355
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
356
+ this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
357
+ },
358
+
359
+ initParams() {
360
+ // 初始化气表品牌
361
+ let brandArr = []
362
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
363
+ let temp = {}
364
+ temp.label = item.label
365
+ temp.value = item.value.f_meter_brand
366
+ brandArr.push(temp)
367
+ })
368
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
369
+ },
370
+
371
+ clear() {
372
+ //清空部门和人员
373
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
374
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].selectres = []
375
+ this.$refs.paged.$refs.cri.$refs.sel.slice_area = []
376
+ //部门和人员变为全选
377
+ // this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
378
+ // this.$refs.paged.$refs.cri.$refs.sel.$children[3].$children[0].isSelectAll = false
379
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
380
+ this.$refs.paged.$refs.cri.model[key] = []
381
+ })
382
+ },
383
+ show() {
384
+ this.criteriaShow = true
385
+ },
386
+ hidden() {
387
+ this.criteriaShow = !this.criteriaShow
388
+ },
389
+ getRes(condition) {
390
+ this.orgCondtionStr = condition
391
+ },
392
+ dealmsg(val) {
393
+ console.log('---------------dealmsg')
394
+ this.rowdata=val
395
+ this.show=true
396
+ val.model = this.model.model
397
+ this.$dispatch('deal-msg', val)
398
+ },
399
+ stamp() {
400
+ this.all = false
401
+ //默认选择要打印的列
402
+ this.modelval = defaultPrint.config
403
+ this.fields = this.getfield
404
+ console.log('所有打印字段', this.fields)
405
+ this.printshow = true
406
+ this.put()
407
+ },
408
+ put() {
409
+ // 对Modelval进行排序
410
+ this.sortModelval()
411
+ this.thead = `<tr><th colspan=${this.modelval.length}>补卡查询统计报表</th></tr><tr>`
412
+ for (let key of this.modelval) {
413
+ this.thead += '<th>' + this.fields[key] + '</th>'
414
+ }
415
+ this.thead += '</tr>'
416
+ },
417
+ print() {
418
+ this.$refs.print.PrintAsFile()
419
+ this.printshow = false
420
+ },
421
+ close() {
422
+ this.printshow = false
423
+ this.all = false
424
+ },
425
+ // 对选择的列进行排序
426
+ sortModelval() {
427
+ let sortModel = []
428
+ Object.keys(this.fields).forEach((key) => {
429
+ if (this.modelval.includes(key)) {
430
+ sortModel.push(key)
431
+ }
432
+ })
433
+ this.modelval = sortModel
434
+ console.log('选择的打印的字段', this.modelval)
435
+ },
436
+ async updateParams() {
437
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
438
+ this.initParams()
439
+ },
440
+ },
441
+ watch: {
442
+ 'all'(val) {
443
+ if (val) {
444
+ this.modelval = this.bodyData
445
+ } else {
446
+ this.modelval = defaultPrint.config
447
+ this.put()
448
+ }
449
+ },
450
+ 'modelval.length'() {
451
+ this.put()
452
+ },
453
+ sumsmodel:{
454
+ handler: function(val) {
455
+ this.getotherfooter();
456
+ },
457
+ deep: true
458
+ },
459
+ 'orgCondtionStr'(val) {
460
+ let res = val.match(/'(.*?)'/)
461
+ console.log('正则提取:',res && res[1])
462
+ if (res) {
463
+ this.f_filialeid = res[1]
464
+ this.updateParams()
465
+ }
466
+ }
467
+ },
468
+ computed: {
469
+ getCondition() {
470
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
471
+ },
472
+ getfield() {
473
+ return exportConfig.fillcardConfig
474
+ },
475
+ fillCardTypes() {
476
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('补卡类型')]
477
+ },
478
+ chargeState() {
479
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('补卡状态')]
480
+ },
481
+ payments() {
482
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
483
+ }
484
+ }
485
+ }
486
+ </script>