manage-client 3.3.246 → 3.3.248
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/SellReport/xihu/XHManageSummary.vue +179 -0
- package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +2 -2
- package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +2 -2
- package/src/filiale/WEINAN/UserLostContactAnalysis.vue +40 -3
- package/src/filiale/qingtongxia/NewWebMeterHandPlan.vue +1 -1
- package/src/filiale/zhongyi/CollectManage.vue +164 -0
- package/src/filiale/zhongyi/HandPeopleQuery.vue +461 -0
- package/src/filiale/zhongyi/exportConfig.js +7 -0
- package/src/filiale/zhongyi/sale.js +3 -0
- package/src/reportManage.js +4 -0
package/package.json
CHANGED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 100%">
|
|
3
|
+
<criteria-paged :model="model" :pager='false' v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-sm-2 form-group" >
|
|
8
|
+
<label class="font_normal_body" for="startDate">开始日期:</label>
|
|
9
|
+
<datepicker id="startDate" placeholder="开始日期" style="width: 60%"
|
|
10
|
+
v-model="model.startDate"
|
|
11
|
+
:value.sync="model.startDate"
|
|
12
|
+
:disabled-days-of-Week="[]"
|
|
13
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
14
|
+
:show-reset-button="reset">
|
|
15
|
+
</datepicker>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="col-sm-2 form-group" >
|
|
18
|
+
<label class="font_normal_body" for="endDate">结束日期:</label>
|
|
19
|
+
<datepicker id="endDate" placeholder="结束日期" style="width: 60%"
|
|
20
|
+
v-model="model.endDate"
|
|
21
|
+
:value.sync="model.endDate"
|
|
22
|
+
:disabled-days-of-Week="[]"
|
|
23
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
24
|
+
:show-reset-button="reset">
|
|
25
|
+
</datepicker>
|
|
26
|
+
</div>
|
|
27
|
+
<res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" :cascade =true @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="span" style = "float:right;">
|
|
30
|
+
<button class="button_search" @click="$parent.$parent.searchData()">查询</button>
|
|
31
|
+
<report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
|
|
32
|
+
<report-excel id='gasprice'></report-excel>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</criteria>
|
|
36
|
+
<div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
|
|
37
|
+
<table class='tableprint' style="margin: 0px auto">
|
|
38
|
+
<thead>
|
|
39
|
+
<tr>
|
|
40
|
+
<th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
|
|
41
|
+
<h3 style="text-align: center">收费结账报表</h3>
|
|
42
|
+
</th>
|
|
43
|
+
</tr>
|
|
44
|
+
<tr>
|
|
45
|
+
<th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
|
|
46
|
+
开始时间:{{model.model.startDate}}
|
|
47
|
+
结束时间:{{ model.model.endDate }} <br/>
|
|
48
|
+
<!--打印时间:{{{$parent.printTime}}}-->
|
|
49
|
+
打印时间:{{$parent.printTime}}
|
|
50
|
+
<!--收费员:{{// $parent.operatorname}}-->
|
|
51
|
+
</th>
|
|
52
|
+
</tr>
|
|
53
|
+
<tr>
|
|
54
|
+
<th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
|
|
55
|
+
<div>
|
|
56
|
+
<span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname">公司:{{$parent.orgname}}</span>
|
|
57
|
+
<span v-show="$parent.depname"> 部门:{{$parent.depname}}</span>
|
|
58
|
+
<span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname">人员:{{$parent.operatorname}}</span>
|
|
59
|
+
</div>
|
|
60
|
+
</th>
|
|
61
|
+
</tr>
|
|
62
|
+
</thead>
|
|
63
|
+
<tr>
|
|
64
|
+
<td :colspan='$parent.spans' class="noborder">
|
|
65
|
+
{{{ model.data.substring(26,model.data.length-8) }}}
|
|
66
|
+
</td>
|
|
67
|
+
</tr>
|
|
68
|
+
<tfoot>
|
|
69
|
+
<!-- <tr style="text-align: left">-->
|
|
70
|
+
<!-- <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>-->
|
|
71
|
+
<!-- <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>-->
|
|
72
|
+
<!-- <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>-->
|
|
73
|
+
<!-- </tr>-->
|
|
74
|
+
</tfoot>
|
|
75
|
+
</table>
|
|
76
|
+
{{{ $parent.reportStr}}}
|
|
77
|
+
</div>
|
|
78
|
+
</criteria-paged>
|
|
79
|
+
</div>
|
|
80
|
+
</template>
|
|
81
|
+
|
|
82
|
+
<script>
|
|
83
|
+
import { DataModel } from 'vue-client'
|
|
84
|
+
import co from 'co'
|
|
85
|
+
export default {
|
|
86
|
+
title: '收费结账报表',
|
|
87
|
+
props: ['data'],
|
|
88
|
+
data () {
|
|
89
|
+
return {
|
|
90
|
+
printTime: this.$login.toStandardTimeString(),
|
|
91
|
+
depresid: [],
|
|
92
|
+
userresid: [],
|
|
93
|
+
f_orgid: this.$login.f.orgid,
|
|
94
|
+
f_depid: this.$login.f.depids,
|
|
95
|
+
// f_operatorid: this.$login.f.id,
|
|
96
|
+
operatorid: [],
|
|
97
|
+
depid: [],
|
|
98
|
+
orgname: '',
|
|
99
|
+
depname: '',
|
|
100
|
+
criteriaShow: false,
|
|
101
|
+
operatorname: '',
|
|
102
|
+
orgCondtionStr: '1=1',
|
|
103
|
+
f_user_type: '',
|
|
104
|
+
f_state: ['有效'],
|
|
105
|
+
model: new DataModel('api/af-revenue/report/xh_sell_report', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
|
|
106
|
+
f_orgid: 'this.model.f_orgid'}),
|
|
107
|
+
reportStr: null,
|
|
108
|
+
resshow: ['company', 'department', 'operator'],
|
|
109
|
+
spans: 0,
|
|
110
|
+
initres: {
|
|
111
|
+
org: [this.$login.f.orgid],
|
|
112
|
+
dep: [],
|
|
113
|
+
user: []
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
ready () {
|
|
118
|
+
this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
|
|
119
|
+
this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
120
|
+
},
|
|
121
|
+
methods: {
|
|
122
|
+
searchData () {
|
|
123
|
+
this.$refs.paged.$refs.criteria.search()
|
|
124
|
+
},
|
|
125
|
+
selfSearch (args) {
|
|
126
|
+
this.printTime = this.$login.toStandardTimeString()
|
|
127
|
+
let orgcondition = '1=1'
|
|
128
|
+
let orgstr = this.orgCondtionStr
|
|
129
|
+
orgcondition = orgcondition + orgstr
|
|
130
|
+
this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
|
|
131
|
+
this.$refs.paged.search(args)
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
hidden () {
|
|
135
|
+
this.criteriaShow = !this.criteriaShow
|
|
136
|
+
},
|
|
137
|
+
getRes (condition, obj) {
|
|
138
|
+
this.orgCondtionStr = condition
|
|
139
|
+
this.orgname = obj.orgnames[0]
|
|
140
|
+
this.depname = obj.depnames[0]
|
|
141
|
+
this.operatorname = obj.operatornames[0]
|
|
142
|
+
},
|
|
143
|
+
getdep (obj, val) {
|
|
144
|
+
this.depname = val[0]
|
|
145
|
+
this.userresid = obj
|
|
146
|
+
this.f_depid = obj
|
|
147
|
+
},
|
|
148
|
+
getuser ( obj, val) {
|
|
149
|
+
this.operatorname = val[0]
|
|
150
|
+
this.f_operatorid = obj
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
watch: {
|
|
154
|
+
'model.data' (val) {
|
|
155
|
+
let len=0
|
|
156
|
+
let a=val.split('</tr>')
|
|
157
|
+
for(let i=0;i<a.length;i++){
|
|
158
|
+
if(a[i].split('</td>').length-1>len){
|
|
159
|
+
len=a[i].split('</td>').length-1
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
this.spans = len
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
computed: {
|
|
166
|
+
charge_state () {
|
|
167
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
|
|
168
|
+
},
|
|
169
|
+
user_type () {
|
|
170
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
</script>
|
|
175
|
+
<style scoped>
|
|
176
|
+
.noborder{
|
|
177
|
+
border: none;
|
|
178
|
+
}
|
|
179
|
+
</style>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
:value.sync="model.startDate"
|
|
15
15
|
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
16
16
|
:show-reset-button="true"
|
|
17
|
-
condition="
|
|
17
|
+
condition="f_input_date >= '{}'">
|
|
18
18
|
</datepicker>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="col-sm-2 form-group">
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
:value.sync="model.endDate"
|
|
25
25
|
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
26
26
|
:show-reset-button="true"
|
|
27
|
-
condition="
|
|
27
|
+
condition="f_input_date <= '{}'">
|
|
28
28
|
</datepicker>
|
|
29
29
|
</div>
|
|
30
30
|
<div class="col-sm-2 form-group ">
|
|
@@ -367,8 +367,8 @@
|
|
|
367
367
|
user:[]
|
|
368
368
|
},
|
|
369
369
|
condition: '1=1',
|
|
370
|
-
org
|
|
371
|
-
orgCondtionStr: ` and
|
|
370
|
+
org:`${[this.$login.f.orgid]}`,
|
|
371
|
+
orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`
|
|
372
372
|
}
|
|
373
373
|
},
|
|
374
374
|
ready() {
|
|
@@ -60,6 +60,16 @@
|
|
|
60
60
|
<right-tree @re-res="$parent.$parent.getorg"
|
|
61
61
|
:initresid='$parent.$parent.org'></right-tree>
|
|
62
62
|
</div>
|
|
63
|
+
<div class="col-sm-2 form-group">
|
|
64
|
+
<label class="font_normal_body" for="dep" >部  门</label>
|
|
65
|
+
<res-select id="dep" restype='department' style="width: 60%"
|
|
66
|
+
is-mul="false"
|
|
67
|
+
@res-select="$parent.$parent.getdep"
|
|
68
|
+
:parentresid="$parent.$parent.depresid"
|
|
69
|
+
:initresid='$parent.$parent.depid' >
|
|
70
|
+
</res-select>
|
|
71
|
+
|
|
72
|
+
</div>
|
|
63
73
|
<div class="col-sm-2 form-group">
|
|
64
74
|
<label class="font_normal_body">客户类型</label>
|
|
65
75
|
<v-select style="width:60%" id="f_user_type"
|
|
@@ -379,6 +389,14 @@
|
|
|
379
389
|
Warningstyles: [
|
|
380
390
|
{label: '全部', value: ''}
|
|
381
391
|
],
|
|
392
|
+
depid: [],
|
|
393
|
+
depresid: [],
|
|
394
|
+
queryData: {
|
|
395
|
+
f_orgid: [],
|
|
396
|
+
f_depid: [],
|
|
397
|
+
f_operatorid: [],
|
|
398
|
+
f_payment: []
|
|
399
|
+
},
|
|
382
400
|
styles:false,
|
|
383
401
|
org:[this.$login.f.orgid],
|
|
384
402
|
orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
|
|
@@ -401,6 +419,23 @@
|
|
|
401
419
|
},
|
|
402
420
|
|
|
403
421
|
methods: {
|
|
422
|
+
getdep(obj, val) {
|
|
423
|
+
this.orgCondtionStr = ""
|
|
424
|
+
this.depname = val[0]
|
|
425
|
+
this.userresid = obj
|
|
426
|
+
this.queryData.f_depid = obj
|
|
427
|
+
console.log(this.queryData.f_depid)
|
|
428
|
+
if (obj.length > 0) {
|
|
429
|
+
this.orgCondtionStr += " and f_depid in " + plugin.convertToIn(obj)
|
|
430
|
+
}
|
|
431
|
+
if (this.depresid && this.depresid.length > 0) {
|
|
432
|
+
this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(this.depresid) + this.orgCondtionStr
|
|
433
|
+
} else {
|
|
434
|
+
this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid + this.orgCondtionStr
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
console.log(this.orgCondtionStr);
|
|
438
|
+
},
|
|
404
439
|
userUseInstitutionChange () {
|
|
405
440
|
this.userusenatures = []
|
|
406
441
|
this.$refs.paged.$refs.cri.model.f_user_usenature = ''
|
|
@@ -485,12 +520,14 @@
|
|
|
485
520
|
this.model.search(args.condition, args.model)
|
|
486
521
|
},
|
|
487
522
|
getorg(obj) {
|
|
488
|
-
if (obj.resids.length>0) {
|
|
523
|
+
if (obj.resids.length > 0) {
|
|
524
|
+
this.depresid = obj.resids
|
|
489
525
|
this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
|
|
490
|
-
}else
|
|
491
|
-
|
|
526
|
+
} else {
|
|
527
|
+
this.depresid = obj.resids
|
|
492
528
|
this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
|
|
493
529
|
}
|
|
530
|
+
console.log(this.orgCondtionStr);
|
|
494
531
|
},
|
|
495
532
|
clearmsg() {
|
|
496
533
|
this.$refs.paged.$refs.cri.model = {}
|
|
@@ -665,7 +665,7 @@
|
|
|
665
665
|
},
|
|
666
666
|
computed: {
|
|
667
667
|
getCondition() {
|
|
668
|
-
let condition=this.$refs.paged.$refs.criteria.condition + this.orgCondtionStr
|
|
668
|
+
let condition=this.$refs.paged.$refs.criteria.condition + `and ui.f_orgid in ${this.orgCondtionStr}`
|
|
669
669
|
return {
|
|
670
670
|
condition: condition
|
|
671
671
|
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tab-button v-ref:list :active="-1">
|
|
3
|
+
<tabs header="欠费查询" v-if="permission('欠费查询')">
|
|
4
|
+
<arrears-query v-if="show.includes('欠费查询')"></arrears-query>
|
|
5
|
+
</tabs>
|
|
6
|
+
<tabs header="非收费业务查询" v-if="permission('非收费业务查询')">
|
|
7
|
+
<no-business-query v-if="show.includes('非收费业务查询')" @deal-msg="dealMsg"></no-business-query>
|
|
8
|
+
</tabs>
|
|
9
|
+
<tabs header="小区综合查询" v-if="!newWebHand&&permission('小区综合查询')">
|
|
10
|
+
<area-general-query v-if="show.includes('小区综合查询')" @deal-msg="dealMsg"></area-general-query>
|
|
11
|
+
</tabs>
|
|
12
|
+
<tabs header="小区综合查询" v-if="newWebHand&&permission('小区综合查询')">
|
|
13
|
+
<new-area-general-query v-if="show.includes('小区综合查询')" @deal-msg="dealMsg"></new-area-general-query>
|
|
14
|
+
</tabs>
|
|
15
|
+
<tabs header="小区收费查询" v-if="permission('小区收费查询')">
|
|
16
|
+
<area-charge-query v-if="show.includes('小区收费查询')" @deal-msg="dealMsg"></area-charge-query>
|
|
17
|
+
</tabs>
|
|
18
|
+
<tabs header="小区汇总(机表)" v-if="permission('小区汇总(机表)')">
|
|
19
|
+
<residential-query v-if="show.includes('小区汇总(机表)')" @deal-msg="dealMsg"></residential-query>
|
|
20
|
+
</tabs>
|
|
21
|
+
<tabs header="小区汇总(卡表)" v-if="permission('小区汇总(卡表)')">
|
|
22
|
+
<residential-card-query v-if="show.includes('小区汇总(卡表)')" @deal-msg="dealMsg" ></residential-card-query>
|
|
23
|
+
</tabs>
|
|
24
|
+
<!--<tabs header="小区欠费汇总(机表)" v-if="permission('小区欠费汇总(机表)')">-->
|
|
25
|
+
<!--<residential-arrears-query v-if="show.includes('小区欠费汇总(机表)')" @deal-msg="dealMsg"></residential-arrears-query>-->
|
|
26
|
+
<!--</tabs>-->
|
|
27
|
+
<tabs header="收费员汇总表" v-if="permission('收费员汇总表')">
|
|
28
|
+
<sell-people-query v-if="show.includes('收费员汇总表')" @deal-msg="dealMsg"></sell-people-query>
|
|
29
|
+
</tabs>
|
|
30
|
+
<tabs header="分公司汇总表" v-if="permission('分公司汇总表')">
|
|
31
|
+
<sell-orgname-query v-if="show.includes('分公司汇总表')" @deal-msg="dealMsg"></sell-orgname-query>
|
|
32
|
+
</tabs>
|
|
33
|
+
<tabs header="抄表员统计" v-if="permission('抄表员统计')">
|
|
34
|
+
<hand-people-query v-if="show.includes('抄表员统计')" @deal-msg="dealMsg"></hand-people-query>
|
|
35
|
+
</tabs>
|
|
36
|
+
<!--<tabs header="开户查询" v-if="permission('开户查询')">-->
|
|
37
|
+
<!--<new-account-query v-if="show == '开户查询'" @deal-msg="dealMsg"></new-account-query>-->
|
|
38
|
+
<!--</tabs>-->
|
|
39
|
+
<tabs header="用气查询" v-if="permission('用气查询')">
|
|
40
|
+
<fmygas-query v-if="show.includes('用气查询')" @deal-msg="dealMsg"></fmygas-query>
|
|
41
|
+
</tabs>
|
|
42
|
+
<tabs header="物联网用气查询" v-if="newWebHand && permission('用气查询')">
|
|
43
|
+
<newfmygas-query v-if="show.includes('物联网用气查询')" @deal-msg="dealMsg"></newfmygas-query>
|
|
44
|
+
</tabs>
|
|
45
|
+
<tabs header="气费回收率" v-if="permission('气费回收率')">
|
|
46
|
+
<hand-rate-query v-if="show.includes('气费回收率')" @deal-msg="dealMsg"></hand-rate-query>
|
|
47
|
+
</tabs>
|
|
48
|
+
<tabs header="收费抄表" v-if="permission('收费抄表')">
|
|
49
|
+
<selling-hand v-if="show.includes('收费抄表')" @deal-msg="dealMsg"></selling-hand>
|
|
50
|
+
</tabs>
|
|
51
|
+
<tabs header="月用气状况" v-if="permission('月用气状况')">
|
|
52
|
+
<month-gas-query v-if="show.includes('月用气状况')" @deal-msg="dealMsg"></month-gas-query>
|
|
53
|
+
</tabs>
|
|
54
|
+
<tabs header="用户余额分析" v-if="permission('用户余额分析')">
|
|
55
|
+
<user-sell-head-detail v-if="show.includes('用户余额分析')" @deal-msg="dealMsg"></user-sell-head-detail>
|
|
56
|
+
</tabs>
|
|
57
|
+
<!--<tabs header="年度月份用量分析" v-if="permission('年度月份用量分析')">-->
|
|
58
|
+
<!--<year-gas-query v-if="show == '年度月份用量分析'" @deal-msg="dealMsg"></year-gas-query>-->
|
|
59
|
+
<!--</tabs>-->
|
|
60
|
+
<!--<tabs header="余额统计查询" v-if="permission('余额统计查询')">-->
|
|
61
|
+
<!--<balance-query v-if="show == '余额统计查询'" @deal-msg="dealMsg"></balance-query>-->
|
|
62
|
+
<!--</tabs>-->
|
|
63
|
+
<tabs header="用户余额表" v-if="permission('用户余额表')">
|
|
64
|
+
<balance-table v-if="show.includes('用户余额表')" @deal-msg="dealMsg"></balance-table>
|
|
65
|
+
</tabs>
|
|
66
|
+
<tabs header="抄表册统计" v-if="permission('抄表册统计')">
|
|
67
|
+
<hand-book-query v-if="show.includes('抄表册统计')" @deal-msg="dealMsg"></hand-book-query>
|
|
68
|
+
</tabs>
|
|
69
|
+
<tabs header="抄表册统计2" v-if="permission('抄表册统计2')">
|
|
70
|
+
<hand-book-two-query v-if="show.includes('抄表册统计2')" @deal-msg="dealMsg"></hand-book-two-query>
|
|
71
|
+
</tabs>
|
|
72
|
+
<tabs header="用气性质抄表率统计" v-if="permission('用气性质抄表率统计')">
|
|
73
|
+
<hand-gas-properties-query v-if="show.includes('用气性质抄表率统计')" @deal-msg="dealMsg"></hand-gas-properties-query>
|
|
74
|
+
</tabs>
|
|
75
|
+
<tabs header="每月应收汇总统计" v-if="permission('每月应收汇总统计')">
|
|
76
|
+
<hand-gas-query v-if="show.includes('每月应收汇总统计')" @deal-msg="dealMsg"></hand-gas-query>
|
|
77
|
+
</tabs>
|
|
78
|
+
<tabs header="小区缴费汇总(机表)" v-if="permission('小区缴费汇总(机表)')">
|
|
79
|
+
<community-paymen v-if="show.includes('小区缴费汇总(机表)')" @deal-msg="dealMsg"></community-paymen>
|
|
80
|
+
</tabs>
|
|
81
|
+
<tabs header="预存明细查询" v-if="permission('预存明细查询')">
|
|
82
|
+
<deposit-detail v-if="show.includes('预存明细查询')" @deal-msg="dealMsg"></deposit-detail>
|
|
83
|
+
</tabs>
|
|
84
|
+
<tabs header="小区用户分布统计" v-if="permission('小区用户分布统计')">
|
|
85
|
+
<plot-summary-query v-if="show.includes('小区用户分布统计')" @deal-msg="dealMsg"></plot-summary-query>
|
|
86
|
+
</tabs>
|
|
87
|
+
<tabs header="用户用气收费情况" v-if="permission('用户用气收费情况')">
|
|
88
|
+
<usergas v-if="show.includes('用户用气收费情况')" @deal-msg="dealMsg"></usergas>
|
|
89
|
+
</tabs>
|
|
90
|
+
<tabs header="卡表用户结余明细" v-if="permission('卡表用户结余明细')">
|
|
91
|
+
<yonghu-jieyu v-if="show.includes('卡表用户结余明细')" @deal-msg="dealMsg"></yonghu-jieyu>
|
|
92
|
+
</tabs>
|
|
93
|
+
<tabs header="应收实收明细" v-if="permission('应收实收明细')">
|
|
94
|
+
<ying-shou-ming-xi v-if="show.includes('应收实收明细')" @deal-msg="dealMsg"></ying-shou-ming-xi>
|
|
95
|
+
</tabs>
|
|
96
|
+
<tabs header="操作员日结列表" v-if="permission('操作员日结列表')">
|
|
97
|
+
<proceeds-oper v-if="show.includes('操作员日结列表')" @deal-msg="dealMsg"></proceeds-oper>
|
|
98
|
+
</tabs>
|
|
99
|
+
<tabs header="抄表情况记录表" v-if="permission('抄表情况记录表')">
|
|
100
|
+
<handplan-info v-if="show.includes('抄表情况记录表')" @deal-msg="dealMsg"></handplan-info>
|
|
101
|
+
</tabs>
|
|
102
|
+
<tabs header="未抄表用户报表" v-if="permission('未抄表用户报表')">
|
|
103
|
+
<unhand-business @deal-msg="dealMsg"></unhand-business>
|
|
104
|
+
</tabs>
|
|
105
|
+
<tabs header="明细报表查询" v-if="permission('明细报表查询')">
|
|
106
|
+
<report-detail ></report-detail>
|
|
107
|
+
</tabs>
|
|
108
|
+
<tabs header="重点用户用气排行查询" v-if="permission('重点用户用气排行查询')">
|
|
109
|
+
<key-user-gas-ranking v-if="show.includes('重点用户用气排行查询')" @deal-msg="dealMsg" ></key-user-gas-ranking>
|
|
110
|
+
</tabs>
|
|
111
|
+
<tabs header="抄表员汇总表" v-if="permission('抄表员汇总表')">
|
|
112
|
+
<hand-people-query1 v-if="show.includes('抄表员汇总表')" @deal-msg="dealMsg" ></hand-people-query1>
|
|
113
|
+
</tabs>
|
|
114
|
+
</tab-button>
|
|
115
|
+
|
|
116
|
+
</template>
|
|
117
|
+
|
|
118
|
+
<script>
|
|
119
|
+
import TabButton from '../../components/sale/common/TabButton'
|
|
120
|
+
import Tabs from '../../components/sale/common/Tabs'
|
|
121
|
+
|
|
122
|
+
export default {
|
|
123
|
+
title: '汇总查询',
|
|
124
|
+
data () {
|
|
125
|
+
return {
|
|
126
|
+
f_start_date: '',
|
|
127
|
+
f_end_date: '',
|
|
128
|
+
listpage: true,
|
|
129
|
+
width: {
|
|
130
|
+
left: '100%',
|
|
131
|
+
right: '0%'
|
|
132
|
+
},
|
|
133
|
+
// searchNumber:'',
|
|
134
|
+
rowData: {},
|
|
135
|
+
newWebHand: this.$appdata.getSingleValue('新抄表'),
|
|
136
|
+
show: []
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
components: {Tabs, TabButton},
|
|
140
|
+
methods: {
|
|
141
|
+
permission (name) {
|
|
142
|
+
console.log(this.$login.r)
|
|
143
|
+
if (!this.$login.r.find(value => value == name)) {
|
|
144
|
+
return false
|
|
145
|
+
} else {
|
|
146
|
+
return true
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
cancel (obj) {
|
|
150
|
+
this.listpage = true
|
|
151
|
+
},
|
|
152
|
+
dealMsg (obj) {
|
|
153
|
+
this.rowData = obj
|
|
154
|
+
this.listpage = false
|
|
155
|
+
console.log(obj.model)
|
|
156
|
+
this.f_start_date = obj.model.startDate
|
|
157
|
+
this.f_end_date = obj.model.endDate
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
</script>
|
|
162
|
+
|
|
163
|
+
<style scoped>
|
|
164
|
+
</style>
|
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div :class="{'basic-main':((!isdetail) && (!usershow)),'binary-left':isdetail||usershow}" @keyup.enter="search">
|
|
4
|
+
<div class="flex" v-if="!show">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
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
|
|
10
|
+
:class="{'col-sm-2 form-group':!$parent.$parent.usershow,'col-sm-3 form-group':$parent.$parent.usershow}">
|
|
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
|
+
>
|
|
18
|
+
</datepicker>
|
|
19
|
+
</div>
|
|
20
|
+
<div
|
|
21
|
+
:class="{'col-sm-2 form-group':!$parent.$parent.usershow,'col-sm-3 form-group':$parent.$parent.usershow}">
|
|
22
|
+
<label for="endDate" class="font_normal_body">结束日期</label>
|
|
23
|
+
<datepicker id="endDate" placeholder="抄表结束日期" style="width:60%"
|
|
24
|
+
v-model="model.endDate"
|
|
25
|
+
:value.sync="model.endDate"
|
|
26
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
27
|
+
:show-reset-button="true"
|
|
28
|
+
>
|
|
29
|
+
</datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
<div
|
|
32
|
+
:class="{'col-sm-2 form-group':!$parent.$parent.usershow,'col-sm-3 form-group':$parent.$parent.usershow}">
|
|
33
|
+
<label class="font_normal_body">小区名称</label>
|
|
34
|
+
<v-select :value.sync="model.f_residential_area"
|
|
35
|
+
class="select_list select"
|
|
36
|
+
enter-push
|
|
37
|
+
multiple="true"
|
|
38
|
+
v-model="model.f_residential_area"
|
|
39
|
+
style="width: 60%"
|
|
40
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
41
|
+
close-on-select>
|
|
42
|
+
</v-select>
|
|
43
|
+
</div>
|
|
44
|
+
<div
|
|
45
|
+
:class="{'col-sm-2 form-group':!$parent.$parent.usershow,'col-sm-3 form-group':$parent.$parent.usershow}">
|
|
46
|
+
<label class="font_normal_body">抄 表 员</label>
|
|
47
|
+
<v-select :value.sync="model.f_inputtor"
|
|
48
|
+
v-model="model.f_inputtor"
|
|
49
|
+
:options='$parent.$parent.inputtores' placeholder='请选择'
|
|
50
|
+
multiple="true"
|
|
51
|
+
close-on-select></v-select>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="span" style="float:right;">
|
|
54
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
55
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
56
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
57
|
+
:field="$parent.$parent.getfield"
|
|
58
|
+
:footer="$parent.$parent.footer"
|
|
59
|
+
:header="$parent.$parent.other"
|
|
60
|
+
sqlurl="api/af-revenue/logic/openapi/exportfile"
|
|
61
|
+
sql-name="handPeopleQuery1"
|
|
62
|
+
template-name='抄表员统计查询导出'
|
|
63
|
+
:choose-col="true"></export-excel>
|
|
64
|
+
<print-data :sum-field="$parent.$parent.getfield" :model="$parent.model"
|
|
65
|
+
:field="$parent.$parent.getfield"
|
|
66
|
+
:defaultfield="$parent.$parent.defaultfield"
|
|
67
|
+
titletable="抄表员统计查询导出"
|
|
68
|
+
:sumsmodel="$parent.$parent.sumsmodel"></print-data>
|
|
69
|
+
<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>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="row">
|
|
73
|
+
<res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</criteria>
|
|
77
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
78
|
+
<template partial='head'>
|
|
79
|
+
<tr>
|
|
80
|
+
<th>
|
|
81
|
+
<nobr>小区名称</nobr>
|
|
82
|
+
</th>
|
|
83
|
+
<th>
|
|
84
|
+
<nobr>抄表员</nobr>
|
|
85
|
+
</th>
|
|
86
|
+
<th>
|
|
87
|
+
<nobr>户数</nobr>
|
|
88
|
+
</th>
|
|
89
|
+
<th>
|
|
90
|
+
<nobr>气量</nobr>
|
|
91
|
+
</th>
|
|
92
|
+
<th>
|
|
93
|
+
<nobr>金额</nobr>
|
|
94
|
+
</th>
|
|
95
|
+
</tr>
|
|
96
|
+
</template>
|
|
97
|
+
<template partial='body'>
|
|
98
|
+
<td style="text-align: center;">
|
|
99
|
+
<nobr>{{ row.f_residential_area }}</nobr>
|
|
100
|
+
</td>
|
|
101
|
+
<td style="text-align: center;">
|
|
102
|
+
<nobr>{{ row.f_inputtor }}</nobr>
|
|
103
|
+
</td>
|
|
104
|
+
<td style="text-align: center">
|
|
105
|
+
<nobr>{{ row.f_user_number }}</nobr>
|
|
106
|
+
</td>
|
|
107
|
+
<td style="text-align: center;">
|
|
108
|
+
<nobr>{{ row.f_oughtamount }}</nobr>
|
|
109
|
+
</td>
|
|
110
|
+
<td style="text-align: center;">
|
|
111
|
+
<nobr>{{ row.f_oughtfee }}</nobr>
|
|
112
|
+
</td>
|
|
113
|
+
</template>
|
|
114
|
+
<template partial='foot'></template>
|
|
115
|
+
</data-grid>
|
|
116
|
+
</criteria-paged>
|
|
117
|
+
<table class="table-hover">
|
|
118
|
+
<tr style="position: relative" class="table-bordered">
|
|
119
|
+
<td
|
|
120
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
|
|
121
|
+
汇总信息
|
|
122
|
+
</td>
|
|
123
|
+
<td
|
|
124
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
125
|
+
户数合计: {{ sumsmodel.f_user_number }}
|
|
126
|
+
</td>
|
|
127
|
+
<td
|
|
128
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
129
|
+
气量合计: {{ sumsmodel.f_oughtamount }}
|
|
130
|
+
</td>
|
|
131
|
+
<td
|
|
132
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
133
|
+
金额合计: {{ sumsmodel.f_oughtfee }}
|
|
134
|
+
</td>
|
|
135
|
+
</tr>
|
|
136
|
+
</table>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
<div class="binary-right" v-if="usershow">
|
|
140
|
+
<handplan-user :start-date.sync="startd"
|
|
141
|
+
:end-date.sync="endd"
|
|
142
|
+
:inputtor.sync="selectinputtor" :f_filialeid="f_filialeid"></handplan-user>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
</template>
|
|
146
|
+
|
|
147
|
+
<script>
|
|
148
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
149
|
+
import exportConfig from './exportConfig'
|
|
150
|
+
|
|
151
|
+
let readySomething = async function (self) {
|
|
152
|
+
self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
|
|
153
|
+
self.$MagGetSaleParam.initinputtor();
|
|
154
|
+
self.getinputtores();
|
|
155
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
|
|
156
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
|
|
157
|
+
self.startd = self.$login.toStandardDateString() + ' 00:00:00'
|
|
158
|
+
self.endd = self.$login.toStandardDateString() + ' 23:59:59'
|
|
159
|
+
await self.$MagLoadParams.loadParam()
|
|
160
|
+
self.initParams()
|
|
161
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
162
|
+
}
|
|
163
|
+
export default {
|
|
164
|
+
title: '抄表员统计',
|
|
165
|
+
data() {
|
|
166
|
+
return {
|
|
167
|
+
defaultfield: [],
|
|
168
|
+
config: {
|
|
169
|
+
defaultPrint: ['f_residential_area', 'f_inputtor', 'f_user_number', 'f_oughtamount', 'f_oughtfee']
|
|
170
|
+
},
|
|
171
|
+
other: [],
|
|
172
|
+
footer: [],
|
|
173
|
+
showinfo: false,
|
|
174
|
+
data: {},
|
|
175
|
+
show: false,
|
|
176
|
+
rowdata: {},
|
|
177
|
+
initres: {
|
|
178
|
+
org: [this.$login.f.orgid],
|
|
179
|
+
dep: [],
|
|
180
|
+
user: []
|
|
181
|
+
},
|
|
182
|
+
model: new PagedList('api/af-revenue/sql/handPeopleQuery1', 20, {
|
|
183
|
+
startDate: 'this.model.startDate',
|
|
184
|
+
endDate: 'this.model.endDate'
|
|
185
|
+
}, {
|
|
186
|
+
f_user_number: 0,
|
|
187
|
+
f_oughtamount: 0,
|
|
188
|
+
f_oughtfee: 0
|
|
189
|
+
}),
|
|
190
|
+
criteriaShow: false,
|
|
191
|
+
orgCondtionStr: '',
|
|
192
|
+
// 下拉框
|
|
193
|
+
meterbrands: [],
|
|
194
|
+
meterbooks: [{label: '全部', value: ''}],
|
|
195
|
+
pricenames: [],
|
|
196
|
+
prices: [],
|
|
197
|
+
area: [],
|
|
198
|
+
//合计数据
|
|
199
|
+
defaultfield: [],
|
|
200
|
+
//小区
|
|
201
|
+
residentialArea: [],
|
|
202
|
+
sumsmodel: {},
|
|
203
|
+
inputtouPerson: [],
|
|
204
|
+
inputtores2: [], // 下发时使用自定义抄表员,
|
|
205
|
+
f_filialeid: this.$login.f.f_orgid,
|
|
206
|
+
f_orgid: this.$login.f.orgid,
|
|
207
|
+
f_depid: this.$login.f.depids,
|
|
208
|
+
f_operatorid: this.$login.f.id,
|
|
209
|
+
inputtores: [{label: '全部', value: ''}], //抄表员
|
|
210
|
+
bookSlice: [{label: '全部', value: ''}], //表册片区
|
|
211
|
+
allorgid: [],
|
|
212
|
+
isdetail: false,
|
|
213
|
+
usershow: false,
|
|
214
|
+
selectinputtor: '',
|
|
215
|
+
startd: '',
|
|
216
|
+
endd: ''
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
ready() {
|
|
220
|
+
this.getaddress()
|
|
221
|
+
readySomething(this).then(() => {
|
|
222
|
+
this.$emit('ready')
|
|
223
|
+
}).catch((error) => {
|
|
224
|
+
this.$emit('error', error)
|
|
225
|
+
})
|
|
226
|
+
},
|
|
227
|
+
methods: {
|
|
228
|
+
//显示抄表户数
|
|
229
|
+
operate(inputtor) {
|
|
230
|
+
if (inputtor != null) {
|
|
231
|
+
this.selectinputtor = inputtor;
|
|
232
|
+
} else {
|
|
233
|
+
this.$showAlert('当前抄表员有误', 'warning', 2000)
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
this.isdetail = true;
|
|
237
|
+
this.usershow = true;
|
|
238
|
+
},
|
|
239
|
+
async getinputtores() {
|
|
240
|
+
// 获取抄表员
|
|
241
|
+
let rs = []
|
|
242
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
243
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
244
|
+
let temp = {
|
|
245
|
+
label: this.$login.f.f_gasman[i].name,
|
|
246
|
+
value: this.$login.f.f_gasman[i].name
|
|
247
|
+
}
|
|
248
|
+
rs.push(temp)
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
this.inputtores = [{label: '全部', value: ''}, ...rs]
|
|
252
|
+
},
|
|
253
|
+
//初始化片区
|
|
254
|
+
async initSlice(val) {
|
|
255
|
+
if (val) {
|
|
256
|
+
let getAllArea = await this.$resetpost('/rs/search', {
|
|
257
|
+
source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
|
|
258
|
+
userid: this.$login.f.id
|
|
259
|
+
}, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
|
|
260
|
+
let arr = getAllArea.data.filter((res) => {
|
|
261
|
+
return res.parentid == val
|
|
262
|
+
})
|
|
263
|
+
this.bookSlice = []
|
|
264
|
+
arr.forEach((res) => {
|
|
265
|
+
this.bookSlice.push({label: res.name, value: res.name})
|
|
266
|
+
})
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
async initmeterbook(orgstr) {
|
|
270
|
+
if (orgstr == null) {
|
|
271
|
+
orgstr = this.f_filialeid;
|
|
272
|
+
}
|
|
273
|
+
//获取新的抄表册,先去清理所有的抄表册
|
|
274
|
+
this.$GetSaleParam.meterbooks = [];
|
|
275
|
+
//开始加载新的抄表册
|
|
276
|
+
await this.$LoadParams.loadMeterBook(orgstr)
|
|
277
|
+
this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
|
|
278
|
+
},
|
|
279
|
+
async updateParams() {
|
|
280
|
+
await this.$MagLoadParams.loadParam(this.f_filialeid)
|
|
281
|
+
this.inputtores = [];
|
|
282
|
+
this.inputtores.push({label: "全部", value: ""})
|
|
283
|
+
this.initSlice(this.f_filialeid)
|
|
284
|
+
if (this.allorgid != null) {
|
|
285
|
+
this.allorgid.forEach((res) => {
|
|
286
|
+
this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
|
|
287
|
+
})
|
|
288
|
+
}
|
|
289
|
+
this.initParams()
|
|
290
|
+
},
|
|
291
|
+
getotherfooter() {
|
|
292
|
+
this.other = [];
|
|
293
|
+
this.footer = [];
|
|
294
|
+
let otherInData = [];
|
|
295
|
+
otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
|
|
296
|
+
let footerData = [], exportfield = this.getfield;
|
|
297
|
+
footerData.push("合计");
|
|
298
|
+
let self = this;
|
|
299
|
+
for (var field in self.sumsmodel) {
|
|
300
|
+
footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
|
|
301
|
+
}
|
|
302
|
+
this.footer.push(footerData);
|
|
303
|
+
this.other.push(otherInData);
|
|
304
|
+
let date = []
|
|
305
|
+
date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
|
|
306
|
+
date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
|
|
307
|
+
this.other.push(date)
|
|
308
|
+
},
|
|
309
|
+
async getaddress() {
|
|
310
|
+
let HttpReset = new HttpResetClass()
|
|
311
|
+
var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
|
|
312
|
+
data: {
|
|
313
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
314
|
+
}
|
|
315
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
316
|
+
let house = [{label: '全部', value: ''}]
|
|
317
|
+
for (let row of data.data) {
|
|
318
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
319
|
+
}
|
|
320
|
+
this.residentialArea = house
|
|
321
|
+
},
|
|
322
|
+
//把数据库查询数据转换为下拉数据
|
|
323
|
+
calculate(rows) {
|
|
324
|
+
let data = []
|
|
325
|
+
rows.forEach((row, n) => {
|
|
326
|
+
data[n] = {label: row.f_residential_area, value: row.id}
|
|
327
|
+
})
|
|
328
|
+
return data
|
|
329
|
+
},
|
|
330
|
+
|
|
331
|
+
search() {
|
|
332
|
+
this.$refs.paged.$refs.cri.search()
|
|
333
|
+
},
|
|
334
|
+
cancel() {
|
|
335
|
+
this.show = false
|
|
336
|
+
},
|
|
337
|
+
showmsg(obj) {
|
|
338
|
+
this.rowdata = obj
|
|
339
|
+
this.show = true
|
|
340
|
+
},
|
|
341
|
+
initParams() {
|
|
342
|
+
// 初始化气表品牌
|
|
343
|
+
let brandArr = []
|
|
344
|
+
this.$MagGetSaleParam.getGasbrand().forEach((item) => {
|
|
345
|
+
let temp = {}
|
|
346
|
+
temp.label = item.label
|
|
347
|
+
temp.value = item.value.f_meter_brand
|
|
348
|
+
brandArr.push(temp)
|
|
349
|
+
})
|
|
350
|
+
this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
|
|
351
|
+
//初始化气表价格
|
|
352
|
+
this.prices = this.$MagGetSaleParam.getPrices();
|
|
353
|
+
},
|
|
354
|
+
selfSearch(args) {
|
|
355
|
+
if (this.$refs.paged.$refs.cri.model.startDate == '' || this.$refs.paged.$refs.cri.model.endDate == '') {
|
|
356
|
+
this.$showAlert('请先选择开始时间、结束时间,再进行查询操作!', 'warning', 3000)
|
|
357
|
+
return
|
|
358
|
+
}
|
|
359
|
+
//抄表员查询条件
|
|
360
|
+
this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
|
|
361
|
+
if (this.inputtouPerson.length !== 0) {
|
|
362
|
+
let str = JSON.stringify(this.inputtouPerson)
|
|
363
|
+
str = str.replace(/"/g, `'`)
|
|
364
|
+
str = str.replace(/\[/g, ``)
|
|
365
|
+
str = str.replace(/\]/g, ``)
|
|
366
|
+
//查询多个抄表员时条件
|
|
367
|
+
args.condition += ` and f_inputtor in ( ${str} )`
|
|
368
|
+
}
|
|
369
|
+
//小区查询条件
|
|
370
|
+
this.area = this.$refs.paged.$refs.cri.model.f_residential_area
|
|
371
|
+
if (this.area.length !== 0) {
|
|
372
|
+
let str = JSON.stringify(this.area)
|
|
373
|
+
str = str.replace(/"/g, `'`)
|
|
374
|
+
str = str.replace(/\[/g, ``)
|
|
375
|
+
str = str.replace(/\]/g, ``)
|
|
376
|
+
//查询多个小区时条件
|
|
377
|
+
args.condition += ` and f_residential_area in ( ${str} )`
|
|
378
|
+
}
|
|
379
|
+
let f_orgstr = this.orgCondtionStr
|
|
380
|
+
args.condition = `${args.condition} ` + f_orgstr
|
|
381
|
+
self.startd = args.model.startDate;
|
|
382
|
+
self.endd = args.model.endDate;
|
|
383
|
+
this.model.search(args.condition, args.model)
|
|
384
|
+
this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
|
|
385
|
+
this.isdetail = false;
|
|
386
|
+
this.usershow = false;
|
|
387
|
+
},
|
|
388
|
+
clear() {
|
|
389
|
+
//清空部门和人员
|
|
390
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
|
|
391
|
+
//部门和人员变为全选
|
|
392
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
|
|
393
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
|
|
394
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
395
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
396
|
+
})
|
|
397
|
+
|
|
398
|
+
},
|
|
399
|
+
dealmsg(val) {
|
|
400
|
+
val.model = this.model.model
|
|
401
|
+
this.$dispatch('deal-msg', val)
|
|
402
|
+
},
|
|
403
|
+
show() {
|
|
404
|
+
this.criteriaShow = true
|
|
405
|
+
},
|
|
406
|
+
hidden() {
|
|
407
|
+
this.criteriaShow = !this.criteriaShow
|
|
408
|
+
},
|
|
409
|
+
getRes(obj) {
|
|
410
|
+
this.orgCondtionStr = obj
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
events: {
|
|
414
|
+
'getidcard'(IdCard) {
|
|
415
|
+
this.$refs.paged.$refs.cri.model.f_info_idnumber = IdCard.strID
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
watch: {
|
|
419
|
+
'model'(val) {
|
|
420
|
+
},
|
|
421
|
+
'orgCondtionStr'(val) {
|
|
422
|
+
this.$refs.paged.$refs.cri.model.f_inputtor = []
|
|
423
|
+
let res = val.match(/'(.*?)'/)
|
|
424
|
+
console.log('正则提取:', res && res[1])
|
|
425
|
+
if (res) {
|
|
426
|
+
this.f_filialeid = res[1]
|
|
427
|
+
if (res.input != null) {
|
|
428
|
+
let resorgid = res.input.substring(res.input.indexOf("'"));
|
|
429
|
+
if (resorgid != null && resorgid != '') {
|
|
430
|
+
resorgid = resorgid.substring(0, resorgid.lastIndexOf("'") + 1);
|
|
431
|
+
resorgid = resorgid.replace(/'/g, "");
|
|
432
|
+
this.allorgid = resorgid.split(",")
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
this.updateParams()
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
sumsmodel: {
|
|
439
|
+
handler: function (val) {
|
|
440
|
+
this.getotherfooter();
|
|
441
|
+
},
|
|
442
|
+
deep: true
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
computed: {
|
|
446
|
+
getCondition() {
|
|
447
|
+
return {
|
|
448
|
+
startDate: this.$refs.paged.$refs.cri.model.startDate,
|
|
449
|
+
endDate: this.$refs.paged.$refs.cri.model.endDate,
|
|
450
|
+
condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
inputtor() {
|
|
454
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
|
|
455
|
+
},
|
|
456
|
+
getfield() {
|
|
457
|
+
return exportConfig.handPeopleConfig1
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
</script>
|
|
@@ -378,6 +378,13 @@ export default {
|
|
|
378
378
|
'f_sell_hand': '已收户数',
|
|
379
379
|
'f_sell_lv': '收费率'
|
|
380
380
|
},
|
|
381
|
+
handPeopleConfig1: {
|
|
382
|
+
'f_residential_area': '小区名称',
|
|
383
|
+
'f_inputtor': '抄表员',
|
|
384
|
+
'f_user_number': '户数',
|
|
385
|
+
'f_oughtamount': '气量',
|
|
386
|
+
'f_oughtfee': '金额'
|
|
387
|
+
},
|
|
381
388
|
handBookConfig: {
|
|
382
389
|
'f_inputtor': '抄表员',
|
|
383
390
|
'f_book_name': '抄表册',
|
|
@@ -30,4 +30,7 @@ export default function () {
|
|
|
30
30
|
Vue.component('fill-card-query', (resolve) => { require(['./FillCardQuery'], resolve) })
|
|
31
31
|
// 收费查询
|
|
32
32
|
Vue.component('charge-query', (resolve) => { require(['./ChargeQuery'], resolve) })
|
|
33
|
+
// 抄表员汇总表
|
|
34
|
+
Vue.component('hand-people-query1', (resolve) => { require(['./HandPeopleQuery'], resolve) })
|
|
35
|
+
Vue.component('collect-manage', (resolve) => { require(['./CollectManage'], resolve) })
|
|
33
36
|
}
|
package/src/reportManage.js
CHANGED
|
@@ -774,4 +774,8 @@ export default function () {
|
|
|
774
774
|
Vue.component('gas-group-summary', (resolve) => {
|
|
775
775
|
require(['./components/SellReport/ManageGasGroupSummary'], resolve)
|
|
776
776
|
})
|
|
777
|
+
// 西户收费结账报表
|
|
778
|
+
Vue.component('xh-manage-summary', (resolve) => {
|
|
779
|
+
require(['./components/SellReport/xihu/XHManageSummary.vue'], resolve)
|
|
780
|
+
})
|
|
777
781
|
}
|