manage-client 3.3.270 → 3.3.272

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,450 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show">
5
+
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date <= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
39
+ </div>
40
+
41
+ <div class="span" style="float:right;">
42
+ <button class="button_search button_spacing" @click="search()">查询</button>
43
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
45
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
46
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
47
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="reverseQuery" template-name='冲正查询导出'
48
+ :choose-col="true"></export-excel>
49
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
50
+
51
+ titletable="冲正记录" :defaultfield="$parent.$parent.defaultfield"
52
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
53
+ <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>
54
+ </div>
55
+ </div>
56
+
57
+ <div class="row" v-show="$parent.$parent.criteriaShow">
58
+ <res-select-group :initres="$parent.$parent.initres" :cascade =true @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
59
+ <div class="col-sm-2 form-group">
60
+ <label class="font_normal_body">客户名称</label>
61
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
62
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
63
+ </div>
64
+ <div class="col-sm-2 form-group">
65
+ <label class="font_normal_body">客户地址</label>
66
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
67
+ condition="f_address like '%{}%'" placeholder='客户地址'>
68
+ </div>
69
+ <div class="col-sm-2 form-group">
70
+ <label class="font_normal_body">冲正类型</label>
71
+ <v-select :value.sync="model.f_type"
72
+ v-model="model.f_type"
73
+ :options='$parent.$parent.correctTypes' placeholder='请选择'
74
+ condition="f_type = '{}'"
75
+ close-on-select></v-select>
76
+ </div>
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">客户类型</label>
79
+ <v-select :value.sync="model.f_user_type"
80
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
81
+ condition="f_user_type = '{}'"
82
+ close-on-select></v-select>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
86
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
87
+ condition="f_meternumber = '{}'" placeholder='表号'>
88
+ </div>
89
+ <div class="col-sm-2 form-group">
90
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
91
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
92
+ condition="f_card_id = '{}'" placeholder='卡号'>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </criteria>
97
+
98
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
99
+ <template partial='head'>
100
+ <tr>
101
+ <th>
102
+ <!-- <nobr>客户编号</nobr>-->
103
+ <data-order field="f_userinfo_code" name="客户编号"
104
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
105
+ </th>
106
+ <th>
107
+ <nobr>客户名称</nobr>
108
+ </th>
109
+ <th>
110
+ <nobr>档案编号</nobr>
111
+ </th>
112
+ <th>
113
+ <!-- <nobr>客户地址</nobr>-->
114
+ <data-order field="f_address" name="客户地址"
115
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
116
+ </th>
117
+ <th>
118
+ <nobr>表号</nobr>
119
+ </th>
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
+ <data-order field="f_operate_date" name="冲正日期"
135
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
136
+ </th>
137
+ <th>
138
+ <nobr>人员</nobr>
139
+ </th>
140
+ <th>
141
+ <nobr>部门</nobr>
142
+ </th>
143
+ <th>
144
+ <nobr>公司</nobr>
145
+ </th>
146
+ <th><nobr>附件</nobr></th>
147
+ </tr>
148
+ </template>
149
+ <template partial='body'>
150
+ <td style="text-align: center;">
151
+ <nobr>
152
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
153
+ </td>
154
+ <td style="text-align: center;">
155
+ <nobr>{{row.f_user_name}}</nobr>
156
+ </td>
157
+ <td style="text-align: center;">
158
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
159
+ </td>
160
+ <td style="text-align: center;">
161
+ <nobr>{{row.f_address}}</nobr>
162
+ </td>
163
+ <td style="text-align: center;">
164
+ <nobr>{{row.f_meternumber}}</nobr>
165
+ </td>
166
+ <td style="text-align: center;">
167
+ <nobr>{{row.f_type}}</nobr>
168
+ </td>
169
+ <td style="text-align: center;">
170
+ <nobr>{{row.f_pregas}}</nobr>
171
+ </td>
172
+ <td style="text-align: center;">
173
+ <nobr>{{row.f_preamount}}</nobr>
174
+ </td>
175
+ <td style="text-align: center;">
176
+ <nobr>{{row.f_collection}}</nobr>
177
+ </td>
178
+ <td style="text-align: center;">
179
+ <nobr>{{row.f_operate_date}}</nobr>
180
+ </td>
181
+ <td style="text-align: center;">
182
+ <nobr>{{row.f_operator}}</nobr>
183
+ </td>
184
+ <td style="text-align: center;">
185
+ <nobr>{{row.f_depname}}</nobr>
186
+ </td>
187
+ <td style="text-align: center;">
188
+ <nobr>{{row.f_orgname}}</nobr>
189
+ </td>
190
+ <td style="text-align: center;"><nobr>
191
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
192
+ </nobr></td>
193
+ </template>
194
+ <template partial='foot'></template>
195
+ </data-grid>
196
+
197
+ </criteria-paged>
198
+
199
+ <table class="table-hover">
200
+ <tr style="position: relative" class="table-bordered">
201
+ <td
202
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
203
+ 汇总信息
204
+ </td>
205
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
206
+ 冲正气量合计:&emsp;{{sumsmodel.f_pregas}}
207
+ </td>
208
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
209
+ 冲正金额合计:&emsp;{{sumsmodel.f_preamount}}
210
+ </td>
211
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
212
+ 收款合计:&emsp;{{sumsmodel.f_collection}}
213
+ </td>
214
+ </tr>
215
+ </table>
216
+
217
+ </div>
218
+ <div class="flex" v-if="show">
219
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
220
+ </div>
221
+ </div>
222
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
223
+ <article slot="modal-body">
224
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="冲正" :isremark="false" style="width:auto" ></upload>
225
+ </article>
226
+ <footer slot="modal-footer" class="modal-footer">
227
+ </footer>
228
+ </modal>
229
+ </div>
230
+ </template>
231
+
232
+ <script>
233
+ import {PagedList} from 'vue-client'
234
+ import defaultPrint from '../../components/sale/config/DefaultPrint'
235
+ import exportConfig from '../../components/sale/config/exportConfig'
236
+
237
+ let readySomething = async function (self) {
238
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
239
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
240
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
241
+ // await self.$refs.paged.$refs.cri.search()
242
+ await self.$MagLoadParams.loadParam(self.$login.f)
243
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
244
+ }
245
+ export default {
246
+ props:['data'],
247
+ title: '冲正查询',
248
+ data() {
249
+ return {
250
+ data: {},
251
+ other:[],
252
+ footer:[],
253
+ model: new PagedList('api/af-revenue/sql/reverseQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_pregas: 0, f_preamount: 0, f_collection: 0}),
254
+ criteriaShow: false,
255
+ orgCondtionStr: '',
256
+ initres: {
257
+ org:[this.$login.f.orgid],
258
+ dep:[],
259
+ user:[],
260
+ },
261
+ //排序
262
+ orderitem:'f_operate_date desc',
263
+ orderFields: {
264
+ f_operate_date: 'no'
265
+ },
266
+ show:false,
267
+ rowdata:{},
268
+ modelval: [],
269
+ printshow: false,
270
+ all: false,
271
+ fields: {},
272
+ thead: '',
273
+ //默认打印列
274
+ defaultfield: [],
275
+ config: {
276
+ defaultPrint: ['f_userinfo_code','f_user_name', 'f_address']
277
+ },
278
+ showupload:false,
279
+ selected:{},
280
+ tfoot: '',
281
+ //合计数据
282
+ sumsmodel: {}
283
+ }
284
+ },
285
+ ready() {
286
+ readySomething(this).then(() => {
287
+ this.$emit('ready')
288
+ }).catch((error) => {
289
+ this.$emit('error', error)
290
+ })
291
+ },
292
+ methods: {
293
+ view(row){
294
+ this.showupload = true
295
+ this.selected= row
296
+ },
297
+ getotherfooter(){
298
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
299
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
300
+ this.other=[];
301
+ this.footer=[];
302
+ let exportdata = this.getCondition;
303
+ let otherInData=[];
304
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
305
+ let footerData=[],exportfield=this.getfield;
306
+ footerData.push("合计");
307
+ let self = this;
308
+ for(var field in self.sumsmodel){
309
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
310
+ }
311
+ this.footer.push(footerData);
312
+ this.other.push(otherInData);
313
+ },
314
+ search(){
315
+ this.$refs.paged.$refs.cri.search()
316
+ },
317
+ cancel() {
318
+ this.show = false
319
+ },
320
+ selfSearch(args) {
321
+ if (this.data) {
322
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
323
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
324
+ }
325
+ args.condition = `${args.condition}` + this.orgCondtionStr
326
+ this.model.search(args.condition, args.model)
327
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
328
+ },
329
+ clear() {
330
+ //清空部门和人员
331
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
332
+ //部门和人员变为全选
333
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
334
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
335
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
336
+ this.$refs.paged.$refs.cri.model[key] = []
337
+ })
338
+ },
339
+ show() {
340
+ this.criteriaShow = true
341
+ },
342
+ hidden() {
343
+ this.criteriaShow = !this.criteriaShow
344
+ },
345
+ getRes(obj) {
346
+ this.orgCondtionStr = obj
347
+ },
348
+ stamp() {
349
+ this.all = false
350
+ //默认选择要打印的列
351
+ this.modelval = defaultPrint.config
352
+ this.fields = this.getfield
353
+ console.log('所有打印字段', this.fields)
354
+ this.printshow = true
355
+ this.put()
356
+ },
357
+ dealmsg(val) {
358
+ console.log('---------------dealmsg')
359
+ this.rowdata=val
360
+ this.show=true
361
+ val.model = this.model.model
362
+ this.$dispatch('deal-msg', val)
363
+ },
364
+ put() {
365
+ // 对Modelval进行排序
366
+ this.sortModelval()
367
+ this.thead = `<tr><th colspan=${this.modelval.length}>冲正查询统计报表</th></tr><tr>`
368
+ for (let key of this.modelval) {
369
+ this.thead += '<th>' + this.fields[key] + '</th>'
370
+ }
371
+ this.thead += '</tr>'
372
+ },
373
+ print() {
374
+ this.$refs.print.PrintAsFile()
375
+ this.printshow = false
376
+ },
377
+ close() {
378
+ this.printshow = false
379
+ this.all = false
380
+ },
381
+ // 对选择的列进行排序
382
+ sortModelval() {
383
+ let sortModel = []
384
+ Object.keys(this.fields).forEach((key) => {
385
+ if (this.modelval.includes(key)) {
386
+ sortModel.push(key)
387
+ }
388
+ })
389
+ this.modelval = sortModel
390
+ console.log('选择的打印的字段', this.modelval)
391
+ },
392
+ sort (field, rule) {
393
+ // 将所有排序方式设为不排序,实现相互排斥
394
+ for (let key in this.orderFields) {
395
+ if (key === field) {
396
+ this.orderFields[key] = rule
397
+ } else {
398
+ this.orderFields[key] = 'no'
399
+ }
400
+ }
401
+ // 如果新规则不排序,还原为默认排序
402
+ if (rule === 'no') {
403
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
404
+ } else {
405
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
406
+ }
407
+
408
+ this.search()
409
+ }
410
+ },
411
+ watch: {
412
+ 'all'(val) {
413
+ if (val) {
414
+ this.modelval = this.bodyData
415
+ } else {
416
+ this.modelval = defaultPrint.config
417
+ this.put()
418
+ }
419
+ },
420
+ sumsmodel:{
421
+ handler: function(val) {
422
+ this.getotherfooter();
423
+ },
424
+ deep: true
425
+ },
426
+ 'modelval.length'() {
427
+ this.put()
428
+ },
429
+ },
430
+ computed: {
431
+ getCondition() {
432
+ return {
433
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
434
+ orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"}
435
+ },
436
+ getfield() {
437
+ return exportConfig.reverseConfig
438
+ },
439
+ defaultexport() {
440
+ return exportConfig.reverseexportConfig
441
+ },
442
+ usertypes() {
443
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
444
+ },
445
+ correctTypes() {
446
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('冲正类型')]
447
+ }
448
+ }
449
+ }
450
+ </script>
@@ -990,7 +990,7 @@
990
990
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('发卡状态')]
991
991
  },
992
992
  addressstate() {
993
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
993
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('通气状态')]
994
994
  }
995
995
  }
996
996
  }
@@ -8,4 +8,8 @@ export default function () {
8
8
  Vue.component('charge-query', (resolve) => {
9
9
  require(['./ChargeQuery'], resolve)
10
10
  })
11
+ // 冲正查询
12
+ Vue.component('reverse-query', (resolve) => {
13
+ require(['./ReverseQuery'], resolve)
14
+ })
11
15
  }
@@ -758,6 +758,10 @@ export default function () {
758
758
  Vue.component('public-gas-price-report', (resolve) => {
759
759
  require(['./components/SellReport/PublicGasPriceReport'], resolve)
760
760
  })
761
+ // 气价分布通用报表2
762
+ Vue.component('public-gas-price2-report', (resolve) => {
763
+ require(['./components/SellReport/PublicGasPrice2Report'], resolve)
764
+ })
761
765
  // 运城 居民用户各项数据统计表(月报)
762
766
  Vue.component('yc-month-summary', (resolve) => {
763
767
  require(['./components/SellReport/YCMonthSummary'], resolve)
@@ -778,6 +782,18 @@ export default function () {
778
782
  Vue.component('xh-manage-summary', (resolve) => {
779
783
  require(['./components/SellReport/xihu/XHManageSummary'], resolve)
780
784
  })
785
+ // 西户新收费结账报表
786
+ Vue.component('xh-new-manage-summary', (resolve) => {
787
+ require(['./components/SellReport/xihu/XHNewManageSummary'], resolve)
788
+ })
789
+ // 西户客户部操作报表
790
+ Vue.component('xh-kf-report', (resolve) => {
791
+ require(['./components/SellReport/xihu/XHKFReport'], resolve)
792
+ })
793
+ // 西户其他收费
794
+ Vue.component('xh-other-charge-summary', (resolve) => {
795
+ require(['./components/SellReport/xihu/XHOtherChargeSummary'], resolve)
796
+ })
781
797
  // 发票汇总报表
782
798
  Vue.component('eticket-summary', (resolve) => {
783
799
  require(['./components/SellReport/EticketSummary'], resolve)