manage-client 3.3.178 → 3.3.179

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 (42) hide show
  1. package/build/dev-server.js +7 -11
  2. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  3. package/gradlew +234 -234
  4. package/gradlew.bat +89 -89
  5. package/package.json +2 -2
  6. package/src/components/SellReport/BusinessClassify.vue +292 -292
  7. package/src/components/SellReport/GasMoneyPublicConReport.vue +258 -258
  8. package/src/components/handReport/WebGastypeMonthReport.vue +190 -190
  9. package/src/components/sale/businessquery/BusinessManage.vue +212 -212
  10. package/src/components/sale/businessquery/CardHandplanQuery.vue +546 -546
  11. package/src/components/sale/businessquery/FMYGasQuery.vue +813 -813
  12. package/src/components/sale/businessquery/TransferQuery.vue +502 -502
  13. package/src/components/sale/businessquery/WebMeterMonthUserGasQuery.vue +471 -471
  14. package/src/components/sale/config/exportConfig.js +1245 -1245
  15. package/src/components/sale/filesquery/RecordInfoQuery.vue +1443 -1443
  16. package/src/components/webmeter/gasStatistics/GasStatistics.vue +525 -525
  17. package/src/components/webmeter/gasStatistics/NewGasStatistics.vue +541 -541
  18. package/src/filiale/WEINAN/InspectListGas.vue +616 -616
  19. package/src/filiale/jingyang/RechargeList.vue +346 -346
  20. package/src/filiale/jingyang/sale.js +6 -6
  21. package/src/filiale/liaoyuan/HandplanQuery.vue +1289 -1289
  22. package/src/filiale/meihekou/CardHandplanQuery.vue +664 -664
  23. package/src/filiale/meihekou/ChargeQuery.vue +1274 -1274
  24. package/src/filiale/meihekou/HandplanQuery.vue +1248 -1248
  25. package/src/filiale/ningjin/UserLostContactAnalysis.vue +623 -623
  26. package/src/filiale/qianneng/exportConfig.js +232 -232
  27. package/src/filiale/shaoguan/errorHandplanQuery.vue +386 -386
  28. package/src/filiale/taizhoukesi/ChangeMeterQuery.vue +683 -683
  29. package/src/filiale/taizhoukesi/config/exportConfig.js +2379 -2379
  30. package/src/filiale/taizhoukesi/sale.js +11 -11
  31. package/src/filiale/tongchuan/InspectListGas.vue +700 -700
  32. package/src/filiale/tongchuan/ResSelectGroupNew.vue +188 -188
  33. package/src/filiale/yangchun/ManageBusSummaryNew.vue +239 -239
  34. package/src/filiale/yangchun/UserQuery.vue +980 -980
  35. package/src/filiale/yangchun/config/DefaultPrint.js +6 -6
  36. package/src/filiale/yangchun/config/exportConfig.js +1231 -1231
  37. package/src/filiale/yangchun/config/tableConfig.js +58 -58
  38. package/src/filiale/yangchun/reportManage.js +6 -6
  39. package/src/filiale/yangchun/sale.js +8 -8
  40. package/src/filiale/yangchun/webmeterManage.js +5 -5
  41. package/src/reportManage.js +768 -768
  42. package/src/saleManage.js +689 -689
@@ -1,546 +1,546 @@
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
- <criteria-paged :model="model" v-ref:paged @sort="sort">
6
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
- <div class="row">
9
- <div class="col-sm-2 form-group">
10
- <label for="startDate" class="font_normal_body">开始日期</label>
11
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
- v-model="model.startDate"
13
- :value.sync="model.startDate"
14
- :format="'yyyy-MM-dd HH:mm:ss'"
15
- :show-reset-button="true"
16
- condition="f_hand_date >= '{}'">
17
- </datepicker>
18
- </div>
19
- <div class="col-sm-2 form-group">
20
- <label for="endDate" class="font_normal_body">结束日期</label>
21
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
- v-model="model.endDate"
23
- :value.sync="model.endDate"
24
- :format="'yyyy-MM-dd HH:mm:ss'"
25
- :show-reset-button="true"
26
- condition="f_hand_date <= '{}'">
27
- </datepicker>
28
- </div>
29
- <div class="col-sm-2 form-group">
30
- <label class="font_normal_body">客户编号</label>
31
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
33
- </div>
34
- <div class="col-sm-2 form-group">
35
- <label class="font_normal_body" title="旧客户编号">档案编号</label>
36
- <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
37
- condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
38
- </div>
39
-
40
- <div class="span" style="float:right;">
41
- <button class="button_search button_spacing" @click="search()">查询</button>
42
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
- <export-excel :data="$parent.$parent.getCondition"
44
- :field="$parent.$parent.getfield"
45
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="cardhandplanQuery" template-name='卡表抄表查询导出'
46
- :choose-col="true"></export-excel>
47
- <print-data :model="$parent.model" :field="$parent.$parent.getfield"
48
- :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
49
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
50
-
51
- <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>
52
- </div>
53
- </div>
54
- <div class="row" v-show="$parent.$parent.criteriaShow">
55
- <div class="col-sm-2 form-group">
56
- <label class="font_normal_body">客户名称</label>
57
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
58
- condition=" f_user_name like '%{}%'" placeholder="客户名称">
59
- </div>
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_meter_state"
68
- v-model="model.f_meter_state"
69
- :options='$parent.$parent.meterstate' placeholder='请选择'
70
- condition="f_meter_state = '{}'"
71
- close-on-select></v-select>
72
- </div>
73
- <!--<div class="col-sm-2 form-group">
74
- <label class="font_normal_body">表单状态</label>
75
- <v-select :value.sync="model.f_hand_state"
76
- v-model="model.f_hand_state"
77
- :options='$parent.$parent.handstate' placeholder='请选择'
78
- condition="f_hand_state = '{}'"
79
- close-on-select></v-select>
80
- </div>-->
81
- <div class="col-sm-2 form-group">
82
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;抄表员</label>
83
- <v-select :value.sync="model.f_inputtor"
84
- v-model="model.f_inputtor"
85
- condition="f_inputtor in {}"
86
- :options='$parent.$parent.inputtor' placeholder='请选择'
87
- multiple = "true"
88
- close-on-select></v-select>
89
- </div>
90
- <div class="col-sm-2 form-group">
91
- <label class="font_normal_body">客户类型</label>
92
- <v-select :value.sync="model.f_user_type"
93
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
94
- condition="f_user_type = '{}'"
95
- close-on-select></v-select>
96
- </div>
97
- <!--<div class="col-sm-2 form-group">
98
- <label class="font_normal_body">是否缴费</label>
99
- <v-select :value.sync="model.f_whether_pay"
100
- :options='$parent.$parent.accountsState' placeholder='请选择' v-model="model.f_whether_pay"
101
- condition="f_whether_pay = '{}'"
102
- close-on-select></v-select>
103
- </div>-->
104
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
105
- <div class="col-sm-2 form-group">
106
- <label class="font_normal_body">气价类型</label>
107
- <v-select :value.sync="model.pricetype" v-model="model.pricetype"
108
- @change="$parent.$parent.pricetypechanged"
109
- placeholder='气价类型' :options="$parent.$parent.pricetypes"
110
- close-on-select v-ref:type>
111
- </v-select>
112
- </div>
113
- <div class="col-sm-2 form-group">
114
- <label class="font_normal_body">气价名称</label>
115
- <v-select :value.sync="model.f_price_name"
116
- v-model="model.f_price_name"
117
- multiple
118
- :options="$parent.$parent.getPricenames"
119
- condition="f_price_name in {}"
120
- ></v-select>
121
- </div>
122
- </div>
123
- </div>
124
- </criteria>
125
-
126
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
127
- <template partial='head'>
128
- <tr>
129
- <th>
130
- <!-- <nobr>客户编号</nobr>-->
131
- <data-order field="f_userinfo_code" name="客户编号"
132
- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
133
- </th>
134
- <th>
135
- <nobr>客户名称</nobr>
136
- </th>
137
- <th>
138
- <data-order field="f_address" name="客户地址"
139
- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
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>
166
- <!-- <nobr>录入日期</nobr>-->
167
- <data-order field="f_hand_date" name="录入日期"
168
- :order.sync="$parent.$parent.$parent.orderFields.f_hand_date"></data-order>
169
- </th>
170
- <th>
171
- <nobr>抄表员</nobr>
172
- </th>
173
-
174
- <th>
175
- <nobr>抄表状态</nobr>
176
- </th>
177
- <th>
178
- <nobr>人员</nobr>
179
- </th>
180
- <th>
181
- <nobr>部门</nobr>
182
- </th>
183
- <!-- <th>-->
184
- <!-- <nobr>公司</nobr>-->
185
- <!-- </th>-->
186
- </tr>
187
- </template>
188
- <template partial='body'>
189
- <td style="text-align: center;">
190
- <nobr>
191
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
192
- </td>
193
- <td style="text-align: center;">
194
- <nobr>{{row.f_user_name}}</nobr>
195
- </td>
196
- <td style="text-align: center;">
197
- <nobr>{{row.f_address}}</nobr>
198
- </td>
199
- <td style="text-align: center;">
200
- <nobr>{{row.f_olduserinfo_code}}</nobr>
201
- </td>
202
- <td style="text-align: center;">
203
- <nobr>{{row.f_meternumber}}</nobr>
204
- </td>
205
- <td style="text-align: center;">
206
- <nobr>{{row.f_last_tablebase}}</nobr>
207
- </td>
208
- <td style="text-align: center;">
209
- <nobr>{{row.f_tablebase}}</nobr>
210
- </td>
211
- <td style="text-align:center">
212
- <img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="100" :height="100"></img-self>
213
- <img-self :src="`rs/image/file/${row.f_notified_path}`" v-if="row.f_notified_path" :width="100" :height="100"></img-self>
214
- </td>
215
- <td style="text-align: center;">
216
- <nobr>{{row.f_real_amount}}</nobr>
217
- </td>
218
- <td style="text-align: center;">
219
- <nobr>{{row.totalgas}}</nobr>
220
- </td>
221
- <td style="text-align: center;">
222
- <nobr>{{row.f_yuliang}}</nobr>
223
- </td>
224
- <td style="text-align: center;">
225
- <nobr>{{row.f_hand_date}}</nobr>
226
- </td>
227
- <td style="text-align: center;">
228
- <nobr>{{row.f_inputtor}}</nobr>
229
- </td>
230
-
231
- <td style="text-align: center;">
232
- <nobr>{{row.f_meter_state}}</nobr>
233
- </td>
234
- <td style="text-align: center;">
235
- <nobr>{{row.f_operator}}</nobr>
236
- </td>
237
- <td style="text-align: center;">
238
- <nobr>{{row.f_depname}}</nobr>
239
- </td>
240
- <!-- <td style="text-align: center;">-->
241
- <!-- <nobr>{{row.f_orgname}}</nobr>-->
242
- <!-- </td>-->
243
- </template>
244
- <template partial='foot'></template>
245
- </data-grid>
246
- </criteria-paged>
247
-
248
- </div>
249
- <modal :show.sync="batchmoneyShow" width="500px" title="反盘导入" v-ref:modal large backdrop="false">
250
- <article slot="modal-body" class="modal-body">
251
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
252
- </article>
253
- <footer slot="modal-footer" class="modal-footer">
254
- </footer>
255
- </modal>
256
- <div class="flex" v-if="show">
257
- <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
258
- </div>
259
- </div>
260
- </div>
261
- </template>
262
-
263
- <script>
264
- import {PagedList, HttpResetClass} from 'vue-client'
265
- import defaultPrint from '../config/DefaultPrint'
266
- import exportConfig from '../config/exportConfig'
267
-
268
- let readySomething = async function (self) {
269
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
270
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
271
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
272
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
273
- // await self.$refs.paged.$refs.cri.search()
274
- await self.$getConfig(self, 'CardHandplanQuery')
275
- console.log('抄表查询获取默认配置', self.config)
276
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
277
- console.log('开始初始化参数', self.defaultfield)
278
- await self.$MagLoadParams.loadParam()
279
- // await self.$MagLoadParams.loadParam()
280
- // self.initParams()
281
- console.log('开始查询')
282
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
283
- }
284
- export default {
285
- props:['data'],
286
- title: '卡表抄表查询',
287
- data() {
288
- return {
289
- data: {},
290
- //排序
291
- orderitem:'f_input_date desc',
292
- orderFields: {
293
- f_input_date : 'no'
294
- },
295
- model: new PagedList('api/af-revenue/sql/cardhandplanQuery', 20, {orderitem: this.orderitem?`${this.orderitem}`: " 'f_input_date desc ' "}, {
296
- f_real_amount: 0
297
- }),
298
- initres: {
299
- org:[this.$login.f.orgid],
300
- dep:[],
301
- user:[],
302
- },
303
- f_filialeid: this.$login.f.orgid,
304
- show:false,
305
- rowdata:{},
306
- criteriaShow: false,
307
- orgCondtionStr: '',
308
- modelval: [],
309
- inputtouPerson: [],
310
- printshow: false,
311
- all: false,
312
- fields: {},
313
- thead: '',
314
- tfoot: '',
315
-
316
- // 下拉框
317
-
318
- //合计数据
319
- sumsmodel: {},
320
- defaultfield: [],
321
- config: {
322
- defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
323
- },
324
- batchmoneyShow:false
325
- }
326
- },
327
- ready() {
328
- readySomething(this).then(() => {
329
- this.$emit('ready')
330
- }).catch((error) => {
331
- this.$emit('error', error)
332
- })
333
- },
334
- methods: {
335
- pricetypechanged(){
336
- this.$refs.paged.$refs.cri.model.f_price_name = []
337
- },
338
- Fileinput(){
339
- this.batchmoneyShow=true;
340
- },
341
- search(){
342
- this.$refs.paged.$refs.cri.search()
343
- },
344
- cancel() {
345
- this.show = false
346
- },
347
- selfSearch(args) {
348
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
349
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
350
- //抄表员查询条件
351
- // this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
352
- // if(this.inputtouPerson.length !== 0){
353
- // let str = JSON.stringify(this.inputtouPerson)
354
- // str = str.replace(/"/g,`'`)
355
- // str = str.replace(/\[/g,``)
356
- // str = str.replace(/\]/g,``)
357
- // //查询多个抄表员时条件
358
- // this.orgCondtionStr += ` and f_inputtor in ( ${str} )`
359
- // }
360
-
361
- args.condition = `${args.condition} ` + this.orgCondtionStr
362
- this.model.search(args.condition, args.model)
363
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
364
- },
365
- clear() {
366
- //清空部门和人员
367
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
368
- //部门和人员变为全选
369
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
370
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
371
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
372
- this.$refs.paged.$refs.cri.model[key] = []
373
- })
374
- },
375
- show() {
376
- this.criteriaShow = true
377
- },
378
- hidden() {
379
- this.criteriaShow = !this.criteriaShow
380
- },
381
- getRes(obj) {
382
- this.orgCondtionStr = obj
383
- },
384
- stamp() {
385
- this.all = false
386
- //默认选择要打印的列
387
- this.modelval = defaultPrint.config
388
- this.fields = this.getfield
389
- console.log('所有打印字段', this.fields)
390
- this.printshow = true
391
- this.put()
392
- },
393
- put() {
394
- // 对Modelval进行排序
395
- this.sortModelval()
396
- this.thead = `<tr><th colspan=${this.modelval.length}>收费查询统计报表</th></tr><tr>`
397
- for (let key of this.modelval) {
398
- this.thead += '<th>' + this.fields[key] + '</th>'
399
- }
400
- this.thead += '</tr>'
401
- },
402
- print() {
403
- this.$refs.print.PrintAsFile()
404
- this.printshow = false
405
- },
406
- dealmsg(val) {
407
- console.log('---------------dealmsg')
408
- this.rowdata=val
409
- this.show=true
410
- val.model = this.model.model
411
- this.$dispatch('deal-msg', val)
412
- },
413
- close() {
414
- this.printshow = false
415
- this.all = false
416
- },
417
- // 对选择的列进行排序
418
- sortModelval() {
419
- let sortModel = []
420
- Object.keys(this.fields).forEach((key) => {
421
- if (this.modelval.includes(key)) {
422
- sortModel.push(key)
423
- }
424
- })
425
- this.modelval = sortModel
426
- console.log('选择的打印的字段', this.modelval)
427
- },
428
- sort (field, rule) {
429
- // 将所有排序方式设为不排序,实现相互排斥
430
- for (let key in this.orderFields) {
431
- if (key === field) {
432
- this.orderFields[key] = rule
433
- } else {
434
- this.orderFields[key] = 'no'
435
- }
436
- }
437
- // 如果新规则不排序,还原为默认排序
438
- if (rule === 'no') {
439
- this.model.paramSource.orderitem = `'${this.orderitem}'`
440
- } else {
441
- this.model.paramSource.orderitem = `'${field} ${rule}'`
442
- }
443
-
444
- this.search()
445
- }
446
- },
447
- watch: {
448
- 'all'(val) {
449
- if (val) {
450
- this.modelval = this.bodyData
451
- } else {
452
- this.modelval = defaultPrint.config
453
- this.put()
454
- }
455
- },
456
- 'modelval.length'() {
457
- this.put()
458
- },
459
- },
460
- computed: {
461
- getPricenames() {
462
- let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
463
- let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
464
- console.log("打印一下:",f_user_type,pricetype,this.f_filialeid)
465
- if(this.$refs.paged.$refs.cri.model !==null) {
466
- let rs = []
467
- let priceArr = []
468
- if ( pricetype.length >0) {
469
- let params = {
470
- f_price_type: pricetype[0],
471
- filter: this.f_filialeid,
472
- prices: this.prices
473
- }
474
- this.$MagGetSaleParam.getPrice(params).forEach((item) => {
475
- let temp = {}
476
- temp.label = item.label
477
- temp.value = item.value.f_price_name
478
- priceArr.push(temp)
479
- })
480
- if(priceArr.length == 0 ){
481
- rs= [{label: '全部', value: ''}]
482
- }else{
483
- rs = [ ...priceArr]
484
- }
485
- }
486
- if (rs.length === 0) {
487
- console.log('rs读出来是空')
488
- this.$refs.paged.$refs.cri.model.f_price_name = ''
489
- }
490
- return rs
491
- }
492
- },
493
- getCondition() {
494
- return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
495
- orderitem: this.orderitem?`${this.orderitem}`: " f_input_date desc "}
496
- },
497
- getfield() {
498
- return exportConfig.cardhandplanConfig
499
- },
500
- getBankfield(){
501
- return exportConfig.batchBankConfig
502
- },
503
- usertypes() {
504
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
505
- },
506
- accountsState() {
507
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('下账状态')]
508
- },
509
- meterstate() {
510
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
511
- },
512
- handstate() {
513
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
514
- },
515
- inputtor() {
516
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
517
- },
518
- whetherPay() {
519
- return [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
520
- },
521
- pricetypes() {
522
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
523
- },
524
- },
525
- events:{
526
- 'onFileUpload': function (file, res) {
527
- if (this.batchmoneyShow) {
528
- let param = {
529
- filepath: res.f_downloadpath,
530
- f_operator: this.$login.f.name,
531
- f_operatorid: this.$login.f.id,
532
- f_orgid: this.$login.f.orgid,
533
- f_orgname: this.$login.f.orgs,
534
- f_depid: this.$login.f.depids,
535
- f_depname: this.$login.f.deps
536
- }
537
- let http = new HttpResetClass();
538
- http.load('POST', 'rs/logic/SumSettleFileImport', {data: param}, {
539
- resolveMsg: null,
540
- rejectMsg: '上传失败'
541
- });
542
- }
543
- }
544
- }
545
- }
546
- </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
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group">
10
+ <label for="startDate" class="font_normal_body">开始日期</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :format="'yyyy-MM-dd HH:mm:ss'"
15
+ :show-reset-button="true"
16
+ condition="f_hand_date >= '{}'">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label for="endDate" class="font_normal_body">结束日期</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :format="'yyyy-MM-dd HH:mm:ss'"
25
+ :show-reset-button="true"
26
+ condition="f_hand_date <= '{}'">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">客户编号</label>
31
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
36
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
37
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
38
+ </div>
39
+
40
+ <div class="span" style="float:right;">
41
+ <button class="button_search button_spacing" @click="search()">查询</button>
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
+ <export-excel :data="$parent.$parent.getCondition"
44
+ :field="$parent.$parent.getfield"
45
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="cardhandplanQuery" template-name='卡表抄表查询导出'
46
+ :choose-col="true"></export-excel>
47
+ <print-data :model="$parent.model" :field="$parent.$parent.getfield"
48
+ :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
49
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
50
+
51
+ <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>
52
+ </div>
53
+ </div>
54
+ <div class="row" v-show="$parent.$parent.criteriaShow">
55
+ <div class="col-sm-2 form-group">
56
+ <label class="font_normal_body">客户名称</label>
57
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
58
+ condition=" f_user_name like '%{}%'" placeholder="客户名称">
59
+ </div>
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_meter_state"
68
+ v-model="model.f_meter_state"
69
+ :options='$parent.$parent.meterstate' placeholder='请选择'
70
+ condition="f_meter_state = '{}'"
71
+ close-on-select></v-select>
72
+ </div>
73
+ <!--<div class="col-sm-2 form-group">
74
+ <label class="font_normal_body">表单状态</label>
75
+ <v-select :value.sync="model.f_hand_state"
76
+ v-model="model.f_hand_state"
77
+ :options='$parent.$parent.handstate' placeholder='请选择'
78
+ condition="f_hand_state = '{}'"
79
+ close-on-select></v-select>
80
+ </div>-->
81
+ <div class="col-sm-2 form-group">
82
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;抄表员</label>
83
+ <v-select :value.sync="model.f_inputtor"
84
+ v-model="model.f_inputtor"
85
+ condition="f_inputtor in {}"
86
+ :options='$parent.$parent.inputtor' placeholder='请选择'
87
+ multiple = "true"
88
+ close-on-select></v-select>
89
+ </div>
90
+ <div class="col-sm-2 form-group">
91
+ <label class="font_normal_body">客户类型</label>
92
+ <v-select :value.sync="model.f_user_type"
93
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
94
+ condition="f_user_type = '{}'"
95
+ close-on-select></v-select>
96
+ </div>
97
+ <!--<div class="col-sm-2 form-group">
98
+ <label class="font_normal_body">是否缴费</label>
99
+ <v-select :value.sync="model.f_whether_pay"
100
+ :options='$parent.$parent.accountsState' placeholder='请选择' v-model="model.f_whether_pay"
101
+ condition="f_whether_pay = '{}'"
102
+ close-on-select></v-select>
103
+ </div>-->
104
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
105
+ <div class="col-sm-2 form-group">
106
+ <label class="font_normal_body">气价类型</label>
107
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype"
108
+ @change="$parent.$parent.pricetypechanged"
109
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
110
+ close-on-select v-ref:type>
111
+ </v-select>
112
+ </div>
113
+ <div class="col-sm-2 form-group">
114
+ <label class="font_normal_body">气价名称</label>
115
+ <v-select :value.sync="model.f_price_name"
116
+ v-model="model.f_price_name"
117
+ multiple
118
+ :options="$parent.$parent.getPricenames"
119
+ condition="f_price_name in {}"
120
+ ></v-select>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </criteria>
125
+
126
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
127
+ <template partial='head'>
128
+ <tr>
129
+ <th>
130
+ <!-- <nobr>客户编号</nobr>-->
131
+ <data-order field="f_userinfo_code" name="客户编号"
132
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
133
+ </th>
134
+ <th>
135
+ <nobr>客户名称</nobr>
136
+ </th>
137
+ <th>
138
+ <data-order field="f_address" name="客户地址"
139
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
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>
166
+ <!-- <nobr>录入日期</nobr>-->
167
+ <data-order field="f_hand_date" name="录入日期"
168
+ :order.sync="$parent.$parent.$parent.orderFields.f_hand_date"></data-order>
169
+ </th>
170
+ <th>
171
+ <nobr>抄表员</nobr>
172
+ </th>
173
+
174
+ <th>
175
+ <nobr>抄表状态</nobr>
176
+ </th>
177
+ <th>
178
+ <nobr>人员</nobr>
179
+ </th>
180
+ <th>
181
+ <nobr>部门</nobr>
182
+ </th>
183
+ <!-- <th>-->
184
+ <!-- <nobr>公司</nobr>-->
185
+ <!-- </th>-->
186
+ </tr>
187
+ </template>
188
+ <template partial='body'>
189
+ <td style="text-align: center;">
190
+ <nobr>
191
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
192
+ </td>
193
+ <td style="text-align: center;">
194
+ <nobr>{{row.f_user_name}}</nobr>
195
+ </td>
196
+ <td style="text-align: center;">
197
+ <nobr>{{row.f_address}}</nobr>
198
+ </td>
199
+ <td style="text-align: center;">
200
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
201
+ </td>
202
+ <td style="text-align: center;">
203
+ <nobr>{{row.f_meternumber}}</nobr>
204
+ </td>
205
+ <td style="text-align: center;">
206
+ <nobr>{{row.f_last_tablebase}}</nobr>
207
+ </td>
208
+ <td style="text-align: center;">
209
+ <nobr>{{row.f_tablebase}}</nobr>
210
+ </td>
211
+ <td style="text-align:center">
212
+ <img-self :src="row.f_handplan_image" v-if="row.f_handplan_image" :width="100" :height="100"></img-self>
213
+ <img-self :src="`rs/image/file/${row.f_notified_path}`" v-if="row.f_notified_path" :width="100" :height="100"></img-self>
214
+ </td>
215
+ <td style="text-align: center;">
216
+ <nobr>{{row.f_real_amount}}</nobr>
217
+ </td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.totalgas}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_yuliang}}</nobr>
223
+ </td>
224
+ <td style="text-align: center;">
225
+ <nobr>{{row.f_hand_date}}</nobr>
226
+ </td>
227
+ <td style="text-align: center;">
228
+ <nobr>{{row.f_inputtor}}</nobr>
229
+ </td>
230
+
231
+ <td style="text-align: center;">
232
+ <nobr>{{row.f_meter_state}}</nobr>
233
+ </td>
234
+ <td style="text-align: center;">
235
+ <nobr>{{row.f_operator}}</nobr>
236
+ </td>
237
+ <td style="text-align: center;">
238
+ <nobr>{{row.f_depname}}</nobr>
239
+ </td>
240
+ <!-- <td style="text-align: center;">-->
241
+ <!-- <nobr>{{row.f_orgname}}</nobr>-->
242
+ <!-- </td>-->
243
+ </template>
244
+ <template partial='foot'></template>
245
+ </data-grid>
246
+ </criteria-paged>
247
+
248
+ </div>
249
+ <modal :show.sync="batchmoneyShow" width="500px" title="反盘导入" v-ref:modal large backdrop="false">
250
+ <article slot="modal-body" class="modal-body">
251
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
252
+ </article>
253
+ <footer slot="modal-footer" class="modal-footer">
254
+ </footer>
255
+ </modal>
256
+ <div class="flex" v-if="show">
257
+ <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ </template>
262
+
263
+ <script>
264
+ import {PagedList, HttpResetClass} from 'vue-client'
265
+ import defaultPrint from '../config/DefaultPrint'
266
+ import exportConfig from '../config/exportConfig'
267
+
268
+ let readySomething = async function (self) {
269
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
270
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
271
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
272
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
273
+ // await self.$refs.paged.$refs.cri.search()
274
+ await self.$getConfig(self, 'CardHandplanQuery')
275
+ console.log('抄表查询获取默认配置', self.config)
276
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
277
+ console.log('开始初始化参数', self.defaultfield)
278
+ await self.$MagLoadParams.loadParam()
279
+ // await self.$MagLoadParams.loadParam()
280
+ // self.initParams()
281
+ console.log('开始查询')
282
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
283
+ }
284
+ export default {
285
+ props:['data'],
286
+ title: '卡表抄表查询',
287
+ data() {
288
+ return {
289
+ data: {},
290
+ //排序
291
+ orderitem:'f_input_date desc',
292
+ orderFields: {
293
+ f_input_date : 'no'
294
+ },
295
+ model: new PagedList('api/af-revenue/sql/cardhandplanQuery', 20, {orderitem: this.orderitem?`${this.orderitem}`: " 'f_input_date desc ' "}, {
296
+ f_real_amount: 0
297
+ }),
298
+ initres: {
299
+ org:[this.$login.f.orgid],
300
+ dep:[],
301
+ user:[],
302
+ },
303
+ f_filialeid: this.$login.f.orgid,
304
+ show:false,
305
+ rowdata:{},
306
+ criteriaShow: false,
307
+ orgCondtionStr: '',
308
+ modelval: [],
309
+ inputtouPerson: [],
310
+ printshow: false,
311
+ all: false,
312
+ fields: {},
313
+ thead: '',
314
+ tfoot: '',
315
+
316
+ // 下拉框
317
+
318
+ //合计数据
319
+ sumsmodel: {},
320
+ defaultfield: [],
321
+ config: {
322
+ defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
323
+ },
324
+ batchmoneyShow:false
325
+ }
326
+ },
327
+ ready() {
328
+ readySomething(this).then(() => {
329
+ this.$emit('ready')
330
+ }).catch((error) => {
331
+ this.$emit('error', error)
332
+ })
333
+ },
334
+ methods: {
335
+ pricetypechanged(){
336
+ this.$refs.paged.$refs.cri.model.f_price_name = []
337
+ },
338
+ Fileinput(){
339
+ this.batchmoneyShow=true;
340
+ },
341
+ search(){
342
+ this.$refs.paged.$refs.cri.search()
343
+ },
344
+ cancel() {
345
+ this.show = false
346
+ },
347
+ selfSearch(args) {
348
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
349
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
350
+ //抄表员查询条件
351
+ // this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
352
+ // if(this.inputtouPerson.length !== 0){
353
+ // let str = JSON.stringify(this.inputtouPerson)
354
+ // str = str.replace(/"/g,`'`)
355
+ // str = str.replace(/\[/g,``)
356
+ // str = str.replace(/\]/g,``)
357
+ // //查询多个抄表员时条件
358
+ // this.orgCondtionStr += ` and f_inputtor in ( ${str} )`
359
+ // }
360
+
361
+ args.condition = `${args.condition} ` + this.orgCondtionStr
362
+ this.model.search(args.condition, args.model)
363
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
364
+ },
365
+ clear() {
366
+ //清空部门和人员
367
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
368
+ //部门和人员变为全选
369
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
370
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
371
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
372
+ this.$refs.paged.$refs.cri.model[key] = []
373
+ })
374
+ },
375
+ show() {
376
+ this.criteriaShow = true
377
+ },
378
+ hidden() {
379
+ this.criteriaShow = !this.criteriaShow
380
+ },
381
+ getRes(obj) {
382
+ this.orgCondtionStr = obj
383
+ },
384
+ stamp() {
385
+ this.all = false
386
+ //默认选择要打印的列
387
+ this.modelval = defaultPrint.config
388
+ this.fields = this.getfield
389
+ console.log('所有打印字段', this.fields)
390
+ this.printshow = true
391
+ this.put()
392
+ },
393
+ put() {
394
+ // 对Modelval进行排序
395
+ this.sortModelval()
396
+ this.thead = `<tr><th colspan=${this.modelval.length}>收费查询统计报表</th></tr><tr>`
397
+ for (let key of this.modelval) {
398
+ this.thead += '<th>' + this.fields[key] + '</th>'
399
+ }
400
+ this.thead += '</tr>'
401
+ },
402
+ print() {
403
+ this.$refs.print.PrintAsFile()
404
+ this.printshow = false
405
+ },
406
+ dealmsg(val) {
407
+ console.log('---------------dealmsg')
408
+ this.rowdata=val
409
+ this.show=true
410
+ val.model = this.model.model
411
+ this.$dispatch('deal-msg', val)
412
+ },
413
+ close() {
414
+ this.printshow = false
415
+ this.all = false
416
+ },
417
+ // 对选择的列进行排序
418
+ sortModelval() {
419
+ let sortModel = []
420
+ Object.keys(this.fields).forEach((key) => {
421
+ if (this.modelval.includes(key)) {
422
+ sortModel.push(key)
423
+ }
424
+ })
425
+ this.modelval = sortModel
426
+ console.log('选择的打印的字段', this.modelval)
427
+ },
428
+ sort (field, rule) {
429
+ // 将所有排序方式设为不排序,实现相互排斥
430
+ for (let key in this.orderFields) {
431
+ if (key === field) {
432
+ this.orderFields[key] = rule
433
+ } else {
434
+ this.orderFields[key] = 'no'
435
+ }
436
+ }
437
+ // 如果新规则不排序,还原为默认排序
438
+ if (rule === 'no') {
439
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
440
+ } else {
441
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
442
+ }
443
+
444
+ this.search()
445
+ }
446
+ },
447
+ watch: {
448
+ 'all'(val) {
449
+ if (val) {
450
+ this.modelval = this.bodyData
451
+ } else {
452
+ this.modelval = defaultPrint.config
453
+ this.put()
454
+ }
455
+ },
456
+ 'modelval.length'() {
457
+ this.put()
458
+ },
459
+ },
460
+ computed: {
461
+ getPricenames() {
462
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
463
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
464
+ console.log("打印一下:",f_user_type,pricetype,this.f_filialeid)
465
+ if(this.$refs.paged.$refs.cri.model !==null) {
466
+ let rs = []
467
+ let priceArr = []
468
+ if ( pricetype.length >0) {
469
+ let params = {
470
+ f_price_type: pricetype[0],
471
+ filter: this.f_filialeid,
472
+ prices: this.prices
473
+ }
474
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
475
+ let temp = {}
476
+ temp.label = item.label
477
+ temp.value = item.value.f_price_name
478
+ priceArr.push(temp)
479
+ })
480
+ if(priceArr.length == 0 ){
481
+ rs= [{label: '全部', value: ''}]
482
+ }else{
483
+ rs = [ ...priceArr]
484
+ }
485
+ }
486
+ if (rs.length === 0) {
487
+ console.log('rs读出来是空')
488
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
489
+ }
490
+ return rs
491
+ }
492
+ },
493
+ getCondition() {
494
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
495
+ orderitem: this.orderitem?`${this.orderitem}`: " f_input_date desc "}
496
+ },
497
+ getfield() {
498
+ return exportConfig.cardhandplanConfig
499
+ },
500
+ getBankfield(){
501
+ return exportConfig.batchBankConfig
502
+ },
503
+ usertypes() {
504
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
505
+ },
506
+ accountsState() {
507
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('下账状态')]
508
+ },
509
+ meterstate() {
510
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
511
+ },
512
+ handstate() {
513
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
514
+ },
515
+ inputtor() {
516
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
517
+ },
518
+ whetherPay() {
519
+ return [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}]
520
+ },
521
+ pricetypes() {
522
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
523
+ },
524
+ },
525
+ events:{
526
+ 'onFileUpload': function (file, res) {
527
+ if (this.batchmoneyShow) {
528
+ let param = {
529
+ filepath: res.f_downloadpath,
530
+ f_operator: this.$login.f.name,
531
+ f_operatorid: this.$login.f.id,
532
+ f_orgid: this.$login.f.orgid,
533
+ f_orgname: this.$login.f.orgs,
534
+ f_depid: this.$login.f.depids,
535
+ f_depname: this.$login.f.deps
536
+ }
537
+ let http = new HttpResetClass();
538
+ http.load('POST', 'rs/logic/SumSettleFileImport', {data: param}, {
539
+ resolveMsg: null,
540
+ rejectMsg: '上传失败'
541
+ });
542
+ }
543
+ }
544
+ }
545
+ }
546
+ </script>