manage-client 3.2.32 → 3.2.36

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 (59) 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/AreaChargeQuery.vue +380 -0
  13. package/src/components/sale/businessquery/BusinesQuery.vue +358 -358
  14. package/src/components/sale/businessquery/ChangeMeterQuery.vue +632 -632
  15. package/src/components/sale/businessquery/ChangeUserQuery.vue +357 -357
  16. package/src/components/sale/businessquery/ChargeQuery.vue +8 -3
  17. package/src/components/sale/businessquery/CollectManage.vue +3 -0
  18. package/src/components/sale/businessquery/DisableQuery.vue +451 -451
  19. package/src/components/sale/businessquery/EnableQuery.vue +408 -408
  20. package/src/components/sale/businessquery/FillCardQuery.vue +486 -486
  21. package/src/components/sale/businessquery/FillGasQuery.vue +511 -511
  22. package/src/components/sale/businessquery/InspectListUser.vue +412 -433
  23. package/src/components/sale/businessquery/OtherChargeQuery.vue +634 -634
  24. package/src/components/sale/businessquery/ReverseQuery.vue +402 -402
  25. package/src/components/sale/businessquery/SalesGasClassification.vue +168 -168
  26. package/src/components/sale/businessquery/TransferQuery.vue +418 -418
  27. package/src/components/sale/businessquery/iotStateSearch/iotStateQuery.vue +308 -308
  28. package/src/components/sale/config/exportConfig.js +3 -0
  29. package/src/components/sale/filesquery/ArchivesManage.vue +57 -57
  30. package/src/components/sale/filesquery/DeviceQuery.vue +534 -534
  31. package/src/components/sale/filesquery/FireQuery.vue +477 -477
  32. package/src/components/sale/filesquery/RecordInfoQuery.vue +1260 -1260
  33. package/src/components/sale/report/aode/YearByUserType.vue +272 -272
  34. package/src/components/statistical/DendrogramManage.vue +239 -204
  35. package/src/filiale/WEINAN/OtherChargeQuery.vue +521 -521
  36. package/src/filiale/WEINAN/config/tableConfig.js +20 -20
  37. package/src/filiale/jingwei/RecordInfoQuery.vue +1142 -1142
  38. package/src/filiale/liaoyuan/ReportList.vue +421 -421
  39. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  40. package/src/filiale/meihekou/DeviceQuery.vue +545 -545
  41. package/src/filiale/meihekou/RecordInfoQuery.vue +1168 -1168
  42. package/src/filiale/meihekou/config/exportConfig.js +831 -831
  43. package/src/filiale/meihekou/sale.js +31 -31
  44. package/src/filiale/pingxiang/sale.js +9 -9
  45. package/src/filiale/qingtongxia/sale.js +13 -13
  46. package/src/filiale/rongcheng/UserQuery.vue +827 -827
  47. package/src/filiale/shaoguan/HandplanQuery.vue +1314 -1314
  48. package/src/filiale/shaoguan/TransferQuery.vue +403 -403
  49. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  50. package/src/filiale/shaoguan/errorHandplanQuery.vue +366 -366
  51. package/src/filiale/shaoguan/sale/businessquery/ExemptQuery.vue +314 -314
  52. package/src/filiale/shaoguan/sale/businessquery/FMYGasQuery.vue +687 -687
  53. package/src/filiale/shaoguan/sale/businessquery/PaymentChangeQuery.vue +338 -338
  54. package/src/filiale/shaoguan/sale/businessquery/ReconcileQuery.vue +426 -426
  55. package/src/filiale/tongchuan/ChargeQuery.vue +1270 -1270
  56. package/src/filiale/tongchuan/FillGasQuery.vue +523 -523
  57. package/src/filiale/tongchuan/config/exportConfig.js +857 -857
  58. package/src/main.js +10 -10
  59. package/src/saleManage.js +533 -529
@@ -1,521 +1,521 @@
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="otherChargeQuery" template-name='其他收费查询导出'
49
- :choose-col="true"></export-excel>
50
- <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>
51
- </div>
52
- </div>
53
-
54
- <div class="row" v-show="$parent.$parent.criteriaShow">
55
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
56
- <div class="col-sm-2 form-group">
57
- <label class="font_normal_body">客户地址</label>
58
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
59
- condition="f_address like '%{}%'" placeholder='客户地址'>
60
- </div>
61
- <div class="col-sm-2 form-group">
62
- <label class="font_normal_body">收费类型</label>
63
- <v-select v-model="model.f_brand_spec"
64
- placeholder='请选择'
65
- condition="f_brand_spec = '{}'"
66
- :value.sync="model.f_brand_spec"
67
- :options='$parent.$parent.chargetype'
68
- @change="$parent.$parent.setTypename"
69
- close-on-select clear-button></v-select>
70
- </div>
71
- <div class="col-sm-2 form-group">
72
- <label class="font_normal_body">品名规格</label>
73
- <v-select v-model="model.f_typename"
74
- placeholder='请选择'
75
- condition="f_typename = '{}'"
76
- :value.sync="model.f_typename"
77
- :options='$parent.$parent.typeNameList'
78
- @change="$parent.$parent.setTypenumber"
79
- close-on-select clear-button>
80
- </v-select>
81
- </div>
82
- <div class="col-sm-2 form-group">
83
- <label class="font_normal_body">型&emsp;&emsp;号</label>
84
- <v-select v-model="model.f_typenumber"
85
- placeholder='请选择'
86
- condition="f_typenumber = '{}'"
87
- :value.sync="model.f_typenumber"
88
- :options='$parent.$parent.typenumberList'
89
- close-on-select clear-button>
90
- </v-select>
91
- </div>
92
- <div class="col-sm-2 form-group">
93
- <label class="font_normal_body">用户类型</label>
94
- <v-select id="f_user_type"
95
- v-model="model.f_user_type"
96
- placeholder='请选择'
97
- condition="f_user_type ='{}'"
98
- :value.sync="model.f_user_type"
99
- @change="$parent.$parent.userTypeChange(model.f_user_type)"
100
- :options='$parent.$parent.userTypes'
101
- close-on-select clear-button></v-select>
102
- </div>
103
- <div class="col-sm-2 form-group">
104
- <label class="font_normal_body">用气性质</label>
105
- <v-select id="f_gasproperties"
106
- v-model="model.f_gasproperties"
107
- placeholder='请选择'
108
- condition="f_gasproperties ='{}'"
109
- :value.sync="model.f_gasproperties"
110
- :options='$parent.$parent.gasproperties'
111
- close-on-select clear-button></v-select>
112
- </div>
113
- <div class="col-sm-2 form-group">
114
- <label class="font_normal_body">收费状态</label>
115
- <v-select id="f_state"
116
- v-model="model.f_state"
117
- placeholder='请选择'
118
- condition="f_state ='{}'"
119
- :value.sync="model.f_state"
120
- :options='$parent.$parent.chargeState'
121
- close-on-select clear-button>
122
- </v-select>
123
- </div>
124
-
125
- <div class="col-sm-2 form-group">
126
- <label class="font_normal_body">付款方式</label>
127
- <v-select id="f_payment"
128
- v-model="model.f_payment"
129
- placeholder='请选择'
130
- condition="f_payment ='{}'"
131
- :value.sync="model.f_payment"
132
- :options='$parent.$parent.payments'
133
- close-on-select clear-button>
134
- </v-select>
135
- </div>
136
- <div class="col-sm-2 form-group">
137
- <label class="font_normal_body">服务人员</label>
138
- <v-select id="f_service_person"
139
- v-model="model.f_service_person"
140
- placeholder='请选择'
141
- condition="f_service_person ='{}'"
142
- :value.sync="model.f_service_person"
143
- :options='$parent.$parent.service_person'
144
- close-on-select clear-button>
145
- </v-select>
146
- </div>
147
- </div>
148
- </div>
149
- </criteria>
150
-
151
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
152
- <template partial='head'>
153
- <tr>
154
- <th>
155
- <nobr>收费类型</nobr>
156
- </th>
157
- <th>
158
- <nobr>状态</nobr>
159
- </th>
160
- <th>
161
- <nobr>备注</nobr>
162
- </th>
163
- <th>
164
- <nobr>补打次数</nobr>
165
- </th>
166
- <th>
167
- <nobr>客户编号</nobr>
168
- </th>
169
- <th>
170
- <nobr>客户名称</nobr>
171
- </th>
172
- <th>
173
- <nobr>客户地址</nobr>
174
- </th>
175
- <th>
176
- <nobr>规格</nobr>
177
- </th>
178
- <th>
179
- <nobr>型号</nobr>
180
- </th>
181
- <th>
182
- <nobr>单价</nobr>
183
- </th>
184
- <th>
185
- <nobr>数量</nobr>
186
- </th>
187
- <th>
188
- <nobr>金额</nobr>
189
- </th>
190
- <th>
191
- <nobr>付款方式</nobr>
192
- </th>
193
- <th>
194
- <nobr>收费日期</nobr>
195
- </th>
196
- <th>
197
- <nobr>部门</nobr>
198
- </th>
199
- </tr>
200
- </template>
201
- <template partial='body'>
202
- <td style="text-align: center;">
203
- <nobr>{{row.f_brand_spec}}</nobr>
204
- </td>
205
- <td style="text-align: center;">
206
- <nobr>{{row.f_state}}</nobr>
207
- </td>
208
- <td style="text-align: center;">
209
- <nobr>{{row.f_comments}}</nobr>
210
- </td>
211
- <td style="text-align: center;">
212
- <nobr>{{row.filltimes}}</nobr>
213
- </td>
214
- <td style="text-align: center;"><nobr>
215
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
216
- </nobr> </td>
217
- <td style="text-align: center;">
218
- <nobr>{{row.f_user_name}}</nobr>
219
- </td>
220
- <td style="text-align: center;">
221
- <nobr>{{row.f_address}}</nobr>
222
- </td>
223
- <td style="text-align: center;">
224
- <nobr>{{row.f_typename}}</nobr>
225
- </td>
226
- <td style="text-align: center;">
227
- <nobr>{{row.f_typenumber}}</nobr>
228
- </td>
229
- <td style="text-align: center;">
230
- <nobr>{{row.f_unitprice}}</nobr>
231
- </td>
232
- <td style="text-align: center;">
233
- <nobr>{{row.f_number}}</nobr>
234
- </td>
235
- <td style="text-align: center;">
236
- <nobr>{{row.f_collection}}</nobr>
237
- </td>
238
- <td style="text-align: center;">
239
- <nobr>{{row.f_payment}}</nobr>
240
- </td>
241
- <td style="text-align: center;">
242
- <nobr>{{row.f_operate_date}}</nobr>
243
- </td>
244
- <td style="text-align: center;">
245
- <nobr>{{row.f_depname}}</nobr>
246
- </td>
247
- </template>
248
- <template partial='foot'></template>
249
- </data-grid>
250
-
251
- </criteria-paged>
252
-
253
- <table class="table-hover">
254
- <tr style="position: relative" class="table-bordered">
255
- <td
256
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
257
- 汇总信息
258
- </td>
259
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
260
- 收款合计:&emsp;{{sumsmodel.f_money}}
261
- </td>
262
- </tr>
263
- </table>
264
-
265
- </div>
266
- <div v-if="show">
267
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
268
- </div>
269
- </div>
270
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
271
- <article slot="modal-body">
272
- <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="收费" :isremark="false" style="width:auto" ></upload>
273
- </article>
274
- <footer slot="modal-footer" class="modal-footer">
275
- </footer>
276
- </modal>
277
- </div>
278
-
279
- <modal v-if="showdetail" :show.sync="showdetail" title="详细记录" v-ref:modal large backdrop="false">
280
- <article slot="modal-body" class="modal-body">
281
- <other-charge-detail-query :otherchargeid="otherchargeid" ></other-charge-detail-query>
282
- </article>
283
- <footer slot="modal-footer" class="modal-footer">
284
- </footer>
285
- </modal>
286
-
287
- </template>
288
-
289
- <script>
290
- import {PagedList} from 'vue-client'
291
- import defaultPrint from '../../components/sale/config/DefaultPrint'
292
- import exportConfig from '../../components/sale/config/exportConfig'
293
- import OtherChargeDetailQuery from "../../components/sale/businessquery/OtherChargeDetailQuery";
294
-
295
- let readySomething = async function (self) {
296
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
297
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
298
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
299
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
300
- // await self.$refs.paged.$refs.cri.search()
301
- await self.$MagLoadParams.loadParam()
302
-
303
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
304
- }
305
- export default {
306
- components: {
307
- OtherChargeDetailQuery
308
- },
309
- props:['data'],
310
- title: '其他收费查询',
311
- data() {
312
- return {
313
- data: {},
314
- other:[],
315
- footer:[],
316
- model: new PagedList('rs/sql/otherChargeQuery', 20, {}, {f_money: 0}),
317
- criteriaShow: false,
318
- orgCondtionStr: '',
319
- modelval: [],
320
- printshow: false,
321
- all: false,
322
- fields: {},
323
- thead: '',
324
- tfoot: '',
325
- initres: {
326
- org:[this.$login.f.orgid],
327
- dep:[],
328
- user:[],
329
- },
330
- show:false,
331
- showdetail:false,
332
- otherchargeid:'',
333
- rowdata:{},
334
- //合计数据
335
- sumsmodel: {},
336
- showupload:false,
337
- selected:{},
338
- // 用气性质
339
- gasproperties: [],
340
- // 品名规格
341
- typeNameList: [],
342
- // 型号
343
- typenumberList: []
344
- }
345
- },
346
- ready() {
347
- readySomething(this).then(() => {
348
- this.$emit('ready')
349
- }).catch((error) => {
350
- this.$emit('error', error)
351
- })
352
- },
353
- methods: {
354
- showmsg(obj){
355
- this.rowdata=obj
356
- this.show=true
357
- },
358
- view(row){
359
- this.showupload = true
360
- this.selected= row
361
- },
362
- getotherfooter(){
363
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
364
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
365
- this.other=[];
366
- this.footer=[];
367
- let exportdata = this.getCondition;
368
- let otherInData=[];
369
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
370
- let footerData=[],exportfield=this.getfield;
371
- footerData.push("合计");
372
- let self = this;
373
- for(var field in self.sumsmodel){
374
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
375
- }
376
- this.footer.push(footerData);
377
- this.other.push(otherInData);
378
- },
379
- search(){
380
- this.$refs.paged.$refs.cri.search()
381
- },
382
- selfSearch(args) {
383
- if (this.data) {
384
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
385
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
386
- }
387
- args.condition = `${args.condition}` + this.orgCondtionStr
388
- this.model.search(args.condition, args.model)
389
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
390
- },
391
- clear() {
392
- //清空部门和人员
393
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
394
- //部门和人员变为全选
395
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
396
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
397
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
398
- this.$refs.paged.$refs.cri.model[key] = []
399
- })
400
- },
401
- show() {
402
- this.criteriaShow = true
403
- },
404
- hidden() {
405
- this.criteriaShow = !this.criteriaShow
406
- },
407
- getRes(obj) {
408
- this.orgCondtionStr = obj
409
- },
410
- cancel() {
411
- this.show = false
412
- },
413
- dealmsg(val) {
414
- console.log('---------------dealmsg')
415
- this.rowdata=val
416
- this.show=true
417
- val.model = this.model.model
418
- this.$dispatch('deal-msg', val)
419
- },
420
- stamp() {
421
- this.all = false
422
- //默认选择要打印的列
423
- this.modelval = defaultPrint.config
424
- this.fields = this.getfield
425
- console.log('所有打印字段', this.fields)
426
- this.printshow = true
427
- this.put()
428
- },
429
- put() {
430
- // 对Modelval进行排序
431
- this.sortModelval()
432
- this.thead = `<tr><th colspan=${this.modelval.length}>其他收费查询统计报表</th></tr><tr>`
433
- for (let key of this.modelval) {
434
- this.thead += '<th>' + this.fields[key] + '</th>'
435
- }
436
- this.thead += '</tr>'
437
- },
438
- print() {
439
- this.$refs.print.PrintAsFile()
440
- this.printshow = false
441
- },
442
- close() {
443
- this.printshow = false
444
- this.all = false
445
- },
446
- // 对选择的列进行排序
447
- sortModelval() {
448
- let sortModel = []
449
- Object.keys(this.fields).forEach((key) => {
450
- if (this.modelval.includes(key)) {
451
- sortModel.push(key)
452
- }
453
- })
454
- this.modelval = sortModel
455
- console.log('选择的打印的字段', this.modelval)
456
- },
457
- showchargedetail(row){
458
- this.showdetail=true
459
- this.otherchargeid=row.id
460
- },
461
- userTypeChange (f_user_type) {
462
- this.gasproperties = []
463
- if (f_user_type) {
464
- this.$refs.paged.$refs.cri.model.f_gasproperties = ''
465
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
466
- } else {
467
- this.gasproperties = [{label: '全部', value: ''}]
468
- }
469
- },
470
- setTypename (val) {
471
- this.typenumberList = []
472
- this.typeNameList = this.$appdata.getParam(val)
473
- },
474
- setTypenumber (val) {
475
- this.typenumberList = this.$appdata.getParam(val)
476
- }
477
- },
478
- watch: {
479
- 'all'(val) {
480
- if (val) {
481
- this.modelval = this.bodyData
482
- } else {
483
- this.modelval = defaultPrint.config
484
- this.put()
485
- }
486
- },
487
- 'modelval.length'() {
488
- this.put()
489
- },
490
- sumsmodel:{
491
- handler: function(val) {
492
- this.getotherfooter();
493
- },
494
- deep: true
495
- }
496
- },
497
- computed: {
498
- getCondition() {
499
- return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
500
- },
501
- service_person() {
502
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
503
- },
504
- getfield() {
505
- return exportConfig.otherchargeConfig
506
- },
507
- chargetype() {
508
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('品名及规格')]
509
- },
510
- userTypes() {
511
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
512
- },
513
- chargeState() {
514
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
515
- },
516
- payments() {
517
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
518
- }
519
- }
520
- }
521
- </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="otherChargeQuery" template-name='其他收费查询导出'
49
+ :choose-col="true"></export-excel>
50
+ <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>
51
+ </div>
52
+ </div>
53
+
54
+ <div class="row" v-show="$parent.$parent.criteriaShow">
55
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
56
+ <div class="col-sm-2 form-group">
57
+ <label class="font_normal_body">客户地址</label>
58
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
59
+ condition="f_address like '%{}%'" placeholder='客户地址'>
60
+ </div>
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">收费类型</label>
63
+ <v-select v-model="model.f_brand_spec"
64
+ placeholder='请选择'
65
+ condition="f_brand_spec = '{}'"
66
+ :value.sync="model.f_brand_spec"
67
+ :options='$parent.$parent.chargetype'
68
+ @change="$parent.$parent.setTypename"
69
+ close-on-select clear-button></v-select>
70
+ </div>
71
+ <div class="col-sm-2 form-group">
72
+ <label class="font_normal_body">品名规格</label>
73
+ <v-select v-model="model.f_typename"
74
+ placeholder='请选择'
75
+ condition="f_typename = '{}'"
76
+ :value.sync="model.f_typename"
77
+ :options='$parent.$parent.typeNameList'
78
+ @change="$parent.$parent.setTypenumber"
79
+ close-on-select clear-button>
80
+ </v-select>
81
+ </div>
82
+ <div class="col-sm-2 form-group">
83
+ <label class="font_normal_body">型&emsp;&emsp;号</label>
84
+ <v-select v-model="model.f_typenumber"
85
+ placeholder='请选择'
86
+ condition="f_typenumber = '{}'"
87
+ :value.sync="model.f_typenumber"
88
+ :options='$parent.$parent.typenumberList'
89
+ close-on-select clear-button>
90
+ </v-select>
91
+ </div>
92
+ <div class="col-sm-2 form-group">
93
+ <label class="font_normal_body">用户类型</label>
94
+ <v-select id="f_user_type"
95
+ v-model="model.f_user_type"
96
+ placeholder='请选择'
97
+ condition="f_user_type ='{}'"
98
+ :value.sync="model.f_user_type"
99
+ @change="$parent.$parent.userTypeChange(model.f_user_type)"
100
+ :options='$parent.$parent.userTypes'
101
+ close-on-select clear-button></v-select>
102
+ </div>
103
+ <div class="col-sm-2 form-group">
104
+ <label class="font_normal_body">用气性质</label>
105
+ <v-select id="f_gasproperties"
106
+ v-model="model.f_gasproperties"
107
+ placeholder='请选择'
108
+ condition="f_gasproperties ='{}'"
109
+ :value.sync="model.f_gasproperties"
110
+ :options='$parent.$parent.gasproperties'
111
+ close-on-select clear-button></v-select>
112
+ </div>
113
+ <div class="col-sm-2 form-group">
114
+ <label class="font_normal_body">收费状态</label>
115
+ <v-select id="f_state"
116
+ v-model="model.f_state"
117
+ placeholder='请选择'
118
+ condition="f_state ='{}'"
119
+ :value.sync="model.f_state"
120
+ :options='$parent.$parent.chargeState'
121
+ close-on-select clear-button>
122
+ </v-select>
123
+ </div>
124
+
125
+ <div class="col-sm-2 form-group">
126
+ <label class="font_normal_body">付款方式</label>
127
+ <v-select id="f_payment"
128
+ v-model="model.f_payment"
129
+ placeholder='请选择'
130
+ condition="f_payment ='{}'"
131
+ :value.sync="model.f_payment"
132
+ :options='$parent.$parent.payments'
133
+ close-on-select clear-button>
134
+ </v-select>
135
+ </div>
136
+ <div class="col-sm-2 form-group">
137
+ <label class="font_normal_body">服务人员</label>
138
+ <v-select id="f_service_person"
139
+ v-model="model.f_service_person"
140
+ placeholder='请选择'
141
+ condition="f_service_person ='{}'"
142
+ :value.sync="model.f_service_person"
143
+ :options='$parent.$parent.service_person'
144
+ close-on-select clear-button>
145
+ </v-select>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </criteria>
150
+
151
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
152
+ <template partial='head'>
153
+ <tr>
154
+ <th>
155
+ <nobr>收费类型</nobr>
156
+ </th>
157
+ <th>
158
+ <nobr>状态</nobr>
159
+ </th>
160
+ <th>
161
+ <nobr>备注</nobr>
162
+ </th>
163
+ <th>
164
+ <nobr>补打次数</nobr>
165
+ </th>
166
+ <th>
167
+ <nobr>客户编号</nobr>
168
+ </th>
169
+ <th>
170
+ <nobr>客户名称</nobr>
171
+ </th>
172
+ <th>
173
+ <nobr>客户地址</nobr>
174
+ </th>
175
+ <th>
176
+ <nobr>规格</nobr>
177
+ </th>
178
+ <th>
179
+ <nobr>型号</nobr>
180
+ </th>
181
+ <th>
182
+ <nobr>单价</nobr>
183
+ </th>
184
+ <th>
185
+ <nobr>数量</nobr>
186
+ </th>
187
+ <th>
188
+ <nobr>金额</nobr>
189
+ </th>
190
+ <th>
191
+ <nobr>付款方式</nobr>
192
+ </th>
193
+ <th>
194
+ <nobr>收费日期</nobr>
195
+ </th>
196
+ <th>
197
+ <nobr>部门</nobr>
198
+ </th>
199
+ </tr>
200
+ </template>
201
+ <template partial='body'>
202
+ <td style="text-align: center;">
203
+ <nobr>{{row.f_brand_spec}}</nobr>
204
+ </td>
205
+ <td style="text-align: center;">
206
+ <nobr>{{row.f_state}}</nobr>
207
+ </td>
208
+ <td style="text-align: center;">
209
+ <nobr>{{row.f_comments}}</nobr>
210
+ </td>
211
+ <td style="text-align: center;">
212
+ <nobr>{{row.filltimes}}</nobr>
213
+ </td>
214
+ <td style="text-align: center;"><nobr>
215
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
216
+ </nobr> </td>
217
+ <td style="text-align: center;">
218
+ <nobr>{{row.f_user_name}}</nobr>
219
+ </td>
220
+ <td style="text-align: center;">
221
+ <nobr>{{row.f_address}}</nobr>
222
+ </td>
223
+ <td style="text-align: center;">
224
+ <nobr>{{row.f_typename}}</nobr>
225
+ </td>
226
+ <td style="text-align: center;">
227
+ <nobr>{{row.f_typenumber}}</nobr>
228
+ </td>
229
+ <td style="text-align: center;">
230
+ <nobr>{{row.f_unitprice}}</nobr>
231
+ </td>
232
+ <td style="text-align: center;">
233
+ <nobr>{{row.f_number}}</nobr>
234
+ </td>
235
+ <td style="text-align: center;">
236
+ <nobr>{{row.f_collection}}</nobr>
237
+ </td>
238
+ <td style="text-align: center;">
239
+ <nobr>{{row.f_payment}}</nobr>
240
+ </td>
241
+ <td style="text-align: center;">
242
+ <nobr>{{row.f_operate_date}}</nobr>
243
+ </td>
244
+ <td style="text-align: center;">
245
+ <nobr>{{row.f_depname}}</nobr>
246
+ </td>
247
+ </template>
248
+ <template partial='foot'></template>
249
+ </data-grid>
250
+
251
+ </criteria-paged>
252
+
253
+ <table class="table-hover">
254
+ <tr style="position: relative" class="table-bordered">
255
+ <td
256
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
257
+ 汇总信息
258
+ </td>
259
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
260
+ 收款合计:&emsp;{{sumsmodel.f_money}}
261
+ </td>
262
+ </tr>
263
+ </table>
264
+
265
+ </div>
266
+ <div v-if="show">
267
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
268
+ </div>
269
+ </div>
270
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
271
+ <article slot="modal-body">
272
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="收费" :isremark="false" style="width:auto" ></upload>
273
+ </article>
274
+ <footer slot="modal-footer" class="modal-footer">
275
+ </footer>
276
+ </modal>
277
+ </div>
278
+
279
+ <modal v-if="showdetail" :show.sync="showdetail" title="详细记录" v-ref:modal large backdrop="false">
280
+ <article slot="modal-body" class="modal-body">
281
+ <other-charge-detail-query :otherchargeid="otherchargeid" ></other-charge-detail-query>
282
+ </article>
283
+ <footer slot="modal-footer" class="modal-footer">
284
+ </footer>
285
+ </modal>
286
+
287
+ </template>
288
+
289
+ <script>
290
+ import {PagedList} from 'vue-client'
291
+ import defaultPrint from '../../components/sale/config/DefaultPrint'
292
+ import exportConfig from '../../components/sale/config/exportConfig'
293
+ import OtherChargeDetailQuery from "../../components/sale/businessquery/OtherChargeDetailQuery";
294
+
295
+ let readySomething = async function (self) {
296
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
297
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
298
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
299
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
300
+ // await self.$refs.paged.$refs.cri.search()
301
+ await self.$MagLoadParams.loadParam()
302
+
303
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
304
+ }
305
+ export default {
306
+ components: {
307
+ OtherChargeDetailQuery
308
+ },
309
+ props:['data'],
310
+ title: '其他收费查询',
311
+ data() {
312
+ return {
313
+ data: {},
314
+ other:[],
315
+ footer:[],
316
+ model: new PagedList('rs/sql/otherChargeQuery', 20, {}, {f_money: 0}),
317
+ criteriaShow: false,
318
+ orgCondtionStr: '',
319
+ modelval: [],
320
+ printshow: false,
321
+ all: false,
322
+ fields: {},
323
+ thead: '',
324
+ tfoot: '',
325
+ initres: {
326
+ org:[this.$login.f.orgid],
327
+ dep:[],
328
+ user:[],
329
+ },
330
+ show:false,
331
+ showdetail:false,
332
+ otherchargeid:'',
333
+ rowdata:{},
334
+ //合计数据
335
+ sumsmodel: {},
336
+ showupload:false,
337
+ selected:{},
338
+ // 用气性质
339
+ gasproperties: [],
340
+ // 品名规格
341
+ typeNameList: [],
342
+ // 型号
343
+ typenumberList: []
344
+ }
345
+ },
346
+ ready() {
347
+ readySomething(this).then(() => {
348
+ this.$emit('ready')
349
+ }).catch((error) => {
350
+ this.$emit('error', error)
351
+ })
352
+ },
353
+ methods: {
354
+ showmsg(obj){
355
+ this.rowdata=obj
356
+ this.show=true
357
+ },
358
+ view(row){
359
+ this.showupload = true
360
+ this.selected= row
361
+ },
362
+ getotherfooter(){
363
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
364
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
365
+ this.other=[];
366
+ this.footer=[];
367
+ let exportdata = this.getCondition;
368
+ let otherInData=[];
369
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
370
+ let footerData=[],exportfield=this.getfield;
371
+ footerData.push("合计");
372
+ let self = this;
373
+ for(var field in self.sumsmodel){
374
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
375
+ }
376
+ this.footer.push(footerData);
377
+ this.other.push(otherInData);
378
+ },
379
+ search(){
380
+ this.$refs.paged.$refs.cri.search()
381
+ },
382
+ selfSearch(args) {
383
+ if (this.data) {
384
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
385
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
386
+ }
387
+ args.condition = `${args.condition}` + this.orgCondtionStr
388
+ this.model.search(args.condition, args.model)
389
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
390
+ },
391
+ clear() {
392
+ //清空部门和人员
393
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
394
+ //部门和人员变为全选
395
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
396
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
397
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
398
+ this.$refs.paged.$refs.cri.model[key] = []
399
+ })
400
+ },
401
+ show() {
402
+ this.criteriaShow = true
403
+ },
404
+ hidden() {
405
+ this.criteriaShow = !this.criteriaShow
406
+ },
407
+ getRes(obj) {
408
+ this.orgCondtionStr = obj
409
+ },
410
+ cancel() {
411
+ this.show = false
412
+ },
413
+ dealmsg(val) {
414
+ console.log('---------------dealmsg')
415
+ this.rowdata=val
416
+ this.show=true
417
+ val.model = this.model.model
418
+ this.$dispatch('deal-msg', val)
419
+ },
420
+ stamp() {
421
+ this.all = false
422
+ //默认选择要打印的列
423
+ this.modelval = defaultPrint.config
424
+ this.fields = this.getfield
425
+ console.log('所有打印字段', this.fields)
426
+ this.printshow = true
427
+ this.put()
428
+ },
429
+ put() {
430
+ // 对Modelval进行排序
431
+ this.sortModelval()
432
+ this.thead = `<tr><th colspan=${this.modelval.length}>其他收费查询统计报表</th></tr><tr>`
433
+ for (let key of this.modelval) {
434
+ this.thead += '<th>' + this.fields[key] + '</th>'
435
+ }
436
+ this.thead += '</tr>'
437
+ },
438
+ print() {
439
+ this.$refs.print.PrintAsFile()
440
+ this.printshow = false
441
+ },
442
+ close() {
443
+ this.printshow = false
444
+ this.all = false
445
+ },
446
+ // 对选择的列进行排序
447
+ sortModelval() {
448
+ let sortModel = []
449
+ Object.keys(this.fields).forEach((key) => {
450
+ if (this.modelval.includes(key)) {
451
+ sortModel.push(key)
452
+ }
453
+ })
454
+ this.modelval = sortModel
455
+ console.log('选择的打印的字段', this.modelval)
456
+ },
457
+ showchargedetail(row){
458
+ this.showdetail=true
459
+ this.otherchargeid=row.id
460
+ },
461
+ userTypeChange (f_user_type) {
462
+ this.gasproperties = []
463
+ if (f_user_type) {
464
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
465
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
466
+ } else {
467
+ this.gasproperties = [{label: '全部', value: ''}]
468
+ }
469
+ },
470
+ setTypename (val) {
471
+ this.typenumberList = []
472
+ this.typeNameList = this.$appdata.getParam(val)
473
+ },
474
+ setTypenumber (val) {
475
+ this.typenumberList = this.$appdata.getParam(val)
476
+ }
477
+ },
478
+ watch: {
479
+ 'all'(val) {
480
+ if (val) {
481
+ this.modelval = this.bodyData
482
+ } else {
483
+ this.modelval = defaultPrint.config
484
+ this.put()
485
+ }
486
+ },
487
+ 'modelval.length'() {
488
+ this.put()
489
+ },
490
+ sumsmodel:{
491
+ handler: function(val) {
492
+ this.getotherfooter();
493
+ },
494
+ deep: true
495
+ }
496
+ },
497
+ computed: {
498
+ getCondition() {
499
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
500
+ },
501
+ service_person() {
502
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
503
+ },
504
+ getfield() {
505
+ return exportConfig.otherchargeConfig
506
+ },
507
+ chargetype() {
508
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('品名及规格')]
509
+ },
510
+ userTypes() {
511
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
512
+ },
513
+ chargeState() {
514
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
515
+ },
516
+ payments() {
517
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
518
+ }
519
+ }
520
+ }
521
+ </script>