manage-client 3.3.257 → 3.3.258
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/sale/businessquery/InspectListGas.vue +3 -3
- package/src/filiale/hantou/MeterExceptionList.vue +14 -3
- package/src/filiale/hantou/NewGasStatistics.vue +2 -1
- package/src/filiale/hantou/RecordInfoQuery.vue +7 -0
- package/src/filiale/qianneng/ChargeQuery.vue +2 -2
- package/src/filiale/qianneng/HandplanQuery.vue +2 -2
- package/src/filiale/qianneng/WebHandplanQuery.vue +2 -2
- package/src/filiale/wuhai/UserGasAll.vue +679 -0
- package/src/filiale/wuhai/UserGasEcharts.vue +240 -0
- package/src/filiale/wuhai/webmeterManage.js +3 -0
package/package.json
CHANGED
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
if(val == '卡表') {
|
|
338
338
|
this.url = 'api/af-revenue/sql/inspectList_sellinggas'
|
|
339
339
|
this.sqlName = 'inspectList_sellinggas'
|
|
340
|
-
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
340
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_user_phone":"客户电话","f_meternumber":"表号",
|
|
341
341
|
"f_user_name":"客户名称","f_user_state":"客户状态","f_address":"地址","f_user_type":"用户类型",
|
|
342
342
|
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
343
343
|
"delivery_date":"最后购气日期",
|
|
@@ -345,7 +345,7 @@
|
|
|
345
345
|
}if(val == '物联网表'){
|
|
346
346
|
this.url = 'api/af-revenue/sql/getwulw_listgas'
|
|
347
347
|
this.sqlName = 'getwulw_listgas'
|
|
348
|
-
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
348
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_user_phone":"客户电话","f_meternumber":"表号",
|
|
349
349
|
"f_user_name":"客户名称","f_user_state":"客户状态","f_address":"地址","f_user_type":"用户类型",
|
|
350
350
|
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
351
351
|
"delivery_date":"最后购气日期",
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
if(val == '机表'){
|
|
355
355
|
this.url = 'api/af-revenue/sql/handinspectList_sellinggas'
|
|
356
356
|
this.sqlName = 'handinspectList_sellinggas'
|
|
357
|
-
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
357
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_user_phone":"客户电话","f_meternumber":"表号",
|
|
358
358
|
"f_user_name":"客户名称","f_user_state":"客户状态","f_address":"地址","f_user_type":"用户类型",
|
|
359
359
|
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
360
360
|
"delivery_date":"最后抄表日期",
|
|
@@ -140,6 +140,13 @@
|
|
|
140
140
|
close-on-select>
|
|
141
141
|
</v-select>
|
|
142
142
|
</div>
|
|
143
|
+
<div class="col-sm-2 form-group">
|
|
144
|
+
<label class="font_normal_body">表内单价</label>
|
|
145
|
+
<input type="number" style="width:30%" class="input_search" title="大于等于" v-model="model.f_price_small"
|
|
146
|
+
condition="f_price >= '{}' " placeholder="大于等于">
|
|
147
|
+
<input type="number" style="width:30%" class="input_search" title="小于等于" v-model="model.f_price_big"
|
|
148
|
+
condition="f_price <= '{}' " placeholder="小于等于">
|
|
149
|
+
</div>
|
|
143
150
|
</div>
|
|
144
151
|
</div>
|
|
145
152
|
</criteria>
|
|
@@ -173,6 +180,9 @@
|
|
|
173
180
|
<th style="text-align:center">
|
|
174
181
|
<nobr>气表品牌</nobr>
|
|
175
182
|
</th>
|
|
183
|
+
<th style="text-align:center">
|
|
184
|
+
<nobr>表内单价</nobr>
|
|
185
|
+
</th>
|
|
176
186
|
<th style="text-align:center">
|
|
177
187
|
<nobr>抄表日期</nobr>
|
|
178
188
|
</th>
|
|
@@ -225,6 +235,9 @@
|
|
|
225
235
|
<td style="text-align:center">
|
|
226
236
|
<nobr>{{row.f_meter_brand}}</nobr>
|
|
227
237
|
</td>
|
|
238
|
+
<td style="text-align:center">
|
|
239
|
+
<nobr>{{row.f_price}}</nobr>
|
|
240
|
+
</td>
|
|
228
241
|
<td style="text-align:center">
|
|
229
242
|
<nobr>{{row.f_hand_date}}</nobr>
|
|
230
243
|
</td>
|
|
@@ -376,11 +389,9 @@
|
|
|
376
389
|
let arr = []
|
|
377
390
|
this.$MagGetSaleParam.getGasbrand().forEach((item) => {
|
|
378
391
|
let temp = {}
|
|
379
|
-
if(item.value.f_meter_type==='物联网表'){
|
|
380
392
|
temp.label = item.label
|
|
381
393
|
temp.value = item.value.f_meter_brand
|
|
382
|
-
arr.push(temp
|
|
383
|
-
}
|
|
394
|
+
arr.push(temp)
|
|
384
395
|
|
|
385
396
|
})
|
|
386
397
|
this.meterbrands = [{label: '全部', value: ''}, ...arr]
|
|
@@ -201,6 +201,7 @@
|
|
|
201
201
|
<th><nobr>表具类型</nobr></th>
|
|
202
202
|
<th><nobr>表描述</nobr></th>
|
|
203
203
|
<th><nobr>气价名称</nobr></th>
|
|
204
|
+
<th><nobr>表内单价</nobr></th>
|
|
204
205
|
|
|
205
206
|
<th><nobr>用气性质</nobr></th>
|
|
206
207
|
<th><nobr>期初余额</nobr></th>
|
|
@@ -233,7 +234,7 @@
|
|
|
233
234
|
<th style="text-align:center"><nobr>{{row.f_meter_title}}</nobr></th>
|
|
234
235
|
<th style="text-align:center"><nobr>{{row.f_price_name}}</nobr></th>
|
|
235
236
|
|
|
236
|
-
|
|
237
|
+
<th style="text-align:center"><nobr>{{row.f_price}}</nobr></th>
|
|
237
238
|
<th style="text-align:center"><nobr>{{row.f_gasproperties}}</nobr></th>
|
|
238
239
|
|
|
239
240
|
|
|
@@ -489,6 +489,13 @@
|
|
|
489
489
|
condition="f_network_valve='{}'">
|
|
490
490
|
</v-select>
|
|
491
491
|
</div>
|
|
492
|
+
<div class="col-sm-2 form-group">
|
|
493
|
+
<label class="font_normal_body">年龄区间</label>
|
|
494
|
+
<input type="number" style="width:30%" class="input_search" title="大于等于" v-model="model.f_age_small"
|
|
495
|
+
condition="f_age >= '{}' and f_credentials = '身份证' " placeholder="大于等于">
|
|
496
|
+
<input type="number" style="width:30%" class="input_search" title="小于等于" v-model="model.f_age_big"
|
|
497
|
+
condition="f_age <= '{}' and f_credentials = '身份证'" placeholder="小于等于">
|
|
498
|
+
</div>
|
|
492
499
|
</div>
|
|
493
500
|
</div>
|
|
494
501
|
</criteria>
|
|
@@ -1215,14 +1215,14 @@
|
|
|
1215
1215
|
let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
|
|
1216
1216
|
let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
|
|
1217
1217
|
let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
|
|
1218
|
-
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.
|
|
1218
|
+
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.$login.f.orgid,this.prices)
|
|
1219
1219
|
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
1220
1220
|
let rs = []
|
|
1221
1221
|
let priceArr = []
|
|
1222
1222
|
if ( pricetype.length >0) {
|
|
1223
1223
|
let params = {
|
|
1224
1224
|
f_price_type: pricetype[0],
|
|
1225
|
-
filter: this.
|
|
1225
|
+
filter: this.$login.f.orgid,
|
|
1226
1226
|
prices: this.prices
|
|
1227
1227
|
}
|
|
1228
1228
|
this.$MagGetSaleParam.getPrice(params).forEach((item) => {
|
|
@@ -1285,14 +1285,14 @@
|
|
|
1285
1285
|
let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
|
|
1286
1286
|
let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
|
|
1287
1287
|
let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
|
|
1288
|
-
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.
|
|
1288
|
+
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.$login.f.orgid,this.prices)
|
|
1289
1289
|
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
1290
1290
|
let rs = []
|
|
1291
1291
|
let priceArr = []
|
|
1292
1292
|
if ( pricetype.length >0) {
|
|
1293
1293
|
let params = {
|
|
1294
1294
|
f_price_type: pricetype[0],
|
|
1295
|
-
filter: this.
|
|
1295
|
+
filter: this.$login.f.orgid,
|
|
1296
1296
|
prices: this.prices
|
|
1297
1297
|
}
|
|
1298
1298
|
this.$MagGetSaleParam.getPrice(params).forEach((item) => {
|
|
@@ -971,14 +971,14 @@
|
|
|
971
971
|
let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
|
|
972
972
|
let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
|
|
973
973
|
let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
|
|
974
|
-
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.
|
|
974
|
+
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.$login.f.orgid,this.prices)
|
|
975
975
|
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
976
976
|
let rs = []
|
|
977
977
|
let priceArr = []
|
|
978
978
|
if ( pricetype.length >0) {
|
|
979
979
|
let params = {
|
|
980
980
|
f_price_type: pricetype[0],
|
|
981
|
-
filter: this.
|
|
981
|
+
filter: this.$login.f.orgid,
|
|
982
982
|
prices: this.prices
|
|
983
983
|
}
|
|
984
984
|
this.$MagGetSaleParam.getPrice(params).forEach((item) => {
|
|
@@ -0,0 +1,679 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row" id="unit" v-show="(!echarts)&&(!isActiveTotalForm)">
|
|
3
|
+
<div class="basic-main" @keyup.enter="search">
|
|
4
|
+
<div class="flex">
|
|
5
|
+
<div class="flex" style="flex:1;">
|
|
6
|
+
<criteria-paged :model="model" :pager='true' v-ref:paged>
|
|
7
|
+
<criteria @condition-changed='$parent.search' partial='criteria' v-ref:cri>
|
|
8
|
+
<div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
|
|
9
|
+
<div class="row" width="100%">
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label class="font_normal_body">客户编号</label>
|
|
12
|
+
<input style="width:60%" class="input_search" condition="f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
|
|
13
|
+
v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
|
|
14
|
+
>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="col-sm-2 form-group">
|
|
17
|
+
<label class="font_normal_body">客户名称</label>
|
|
18
|
+
<input style="width:60%" class="input_search" condition="f_user_name like '%{}%'" placeholder='客户名称' type="text"
|
|
19
|
+
v-el:username v-model="model.f_username" v-next-el='userid'>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label class="font_normal_body"> 小区 </label>
|
|
23
|
+
<v-select :value.sync="model.f_residential_area"
|
|
24
|
+
class="select_list select"
|
|
25
|
+
v-model="model.f_residential_area"
|
|
26
|
+
style="width: 60%"
|
|
27
|
+
multiple
|
|
28
|
+
condition="f_residential_area in {}"
|
|
29
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
30
|
+
close-on-select>
|
|
31
|
+
|
|
32
|
+
</v-select>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-sm-2 form-group">
|
|
35
|
+
<label class="font_normal_body">用气地址</label>
|
|
36
|
+
<input style="width:60%" class="input_search" condition="f_address like '%{}%'" placeholder='用气地址' type="text"
|
|
37
|
+
v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
|
|
38
|
+
>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="col-sm-4 form-group button-range">
|
|
41
|
+
<button @click="search()" class="button_search button_spacing">查询</button>
|
|
42
|
+
<button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
|
|
43
|
+
<export-excel :data="$parent.$parent.getCondition()"
|
|
44
|
+
:field="$parent.$parent.getfield"
|
|
45
|
+
sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="webmeter_getUserGasList" template-name='未用气分析'
|
|
46
|
+
v-ref:exports
|
|
47
|
+
:choose-col="true"></export-excel>
|
|
48
|
+
<button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
|
|
49
|
+
<button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
|
|
50
|
+
<div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
54
|
+
<div class="col-sm-2 form-group">
|
|
55
|
+
<label class="font_normal_body">表  号</label>
|
|
56
|
+
<input style="width:60%" class="input_search" condition="f_meternumber like '%{}'" placeholder='表号' type="text"
|
|
57
|
+
v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
|
|
58
|
+
>
|
|
59
|
+
</div>
|
|
60
|
+
<res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
|
|
61
|
+
<div class="col-sm-2 form-group">
|
|
62
|
+
<label class="font_normal_body">客户类型</label>
|
|
63
|
+
<v-select :options='$parent.$parent.Gasusertype'
|
|
64
|
+
:value.sync="model.f_user_type"
|
|
65
|
+
close-on-select
|
|
66
|
+
style="width:60%"
|
|
67
|
+
condition="f_user_type = '{}'"
|
|
68
|
+
id="f_user_type"
|
|
69
|
+
placeholder='客户类型'
|
|
70
|
+
@change="$parent.$parent.userTypeChange()"
|
|
71
|
+
v-model="model.f_user_type"
|
|
72
|
+
value-single="true">
|
|
73
|
+
</v-select>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="col-sm-2 form-group">
|
|
76
|
+
<label class="font_normal_body">用气性质</label>
|
|
77
|
+
<v-select :options='$parent.$parent.gasproperties'
|
|
78
|
+
:value.sync="model.f_gasproperties"
|
|
79
|
+
close-on-select
|
|
80
|
+
condition="f_gasproperties = '{}'"
|
|
81
|
+
id="f_gasproperties"
|
|
82
|
+
placeholder='用气性质'
|
|
83
|
+
style="width:60%"
|
|
84
|
+
v-model="model.f_gasproperties"
|
|
85
|
+
value-single="true">
|
|
86
|
+
</v-select>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="col-sm-2 form-group">
|
|
89
|
+
<label class="font_normal_body">气价类型</label>
|
|
90
|
+
<v-select :value.sync="model.pricetype" v-model="model.pricetype"
|
|
91
|
+
@change="$parent.$parent.pricetypechanged"
|
|
92
|
+
placeholder='气价类型' :options="$parent.$parent.pricetypes"
|
|
93
|
+
close-on-select v-ref:type>
|
|
94
|
+
</v-select>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="col-sm-2 form-group">
|
|
97
|
+
<label class="font_normal_body">气价名称</label>
|
|
98
|
+
<v-select :value.sync="model.f_price_name"
|
|
99
|
+
v-model="model.f_price_name"
|
|
100
|
+
:multiple="true"
|
|
101
|
+
:options="$parent.$parent.getPricenames"
|
|
102
|
+
condition="f_price_name in {}"
|
|
103
|
+
></v-select>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="col-sm-2 form-group">
|
|
106
|
+
<label class="font_normal_body">气表品牌</label>
|
|
107
|
+
<v-select :value.sync="model.f_meter_brand"
|
|
108
|
+
v-model="model.f_meter_brand"
|
|
109
|
+
:options='$parent.$parent.meterbrands' placeholder='请选择'
|
|
110
|
+
condition="f_meter_brand = '{}'"
|
|
111
|
+
close-on-select></v-select>
|
|
112
|
+
</div>
|
|
113
|
+
<div class="col-sm-2 form-group">
|
|
114
|
+
<label class="font_normal_body">时间区间</label>
|
|
115
|
+
<datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
|
|
116
|
+
:show-reset-button="reset"
|
|
117
|
+
:value.sync="model.startDate"
|
|
118
|
+
id="startDate"
|
|
119
|
+
style="width:60%"
|
|
120
|
+
placeholder="开始时间"
|
|
121
|
+
v-model="model.startDate">
|
|
122
|
+
</datepicker>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="col-sm-2 form-group">
|
|
125
|
+
<label class="font_normal_body" style="word-break:keep-all;"> 至 </label>
|
|
126
|
+
<datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
|
|
127
|
+
:show-reset-button="reset"
|
|
128
|
+
:value.sync="model.endDate"
|
|
129
|
+
style="width:60%"
|
|
130
|
+
id="endDate"
|
|
131
|
+
style="width:60%"
|
|
132
|
+
placeholder="结束日期"
|
|
133
|
+
v-model="model.endDate">
|
|
134
|
+
</datepicker>
|
|
135
|
+
</div>
|
|
136
|
+
<div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
|
|
137
|
+
<label class="font_normal_body"> 用气量 </label>
|
|
138
|
+
<div class="row">
|
|
139
|
+
<input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
|
|
140
|
+
condition="f_oughtamount >= {} " placeholder="">
|
|
141
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
142
|
+
<input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
|
|
143
|
+
condition="f_oughtamount <= {} " placeholder="">
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
<!--<div class="col-sm-2 form-group">
|
|
147
|
+
<label class="font_normal_body">用 气 量 </label>
|
|
148
|
+
<input type="text" style="width:60%" class="input_search"
|
|
149
|
+
v-model="model.f_start_oughtamount" placeholder='起始气量'
|
|
150
|
+
>
|
|
151
|
+
</div>
|
|
152
|
+
<div class="col-sm-2 form-group">
|
|
153
|
+
<label class="font_normal_body"> 至 </label>
|
|
154
|
+
<input type="text" style="width:60%" class="input_search"
|
|
155
|
+
v-model="model.f_end_oughtamount" placeholder='结束气量'
|
|
156
|
+
>
|
|
157
|
+
</div>-->
|
|
158
|
+
<div class="col-sm-2 form-group">
|
|
159
|
+
<label class="font_normal_body">壁 挂 炉</label>
|
|
160
|
+
<v-select id="f_meter_brand"
|
|
161
|
+
v-model="model.f_usetype"
|
|
162
|
+
placeholder=''
|
|
163
|
+
:value.sync="model.f_usetype"
|
|
164
|
+
:options='$parent.$parent.usetypes'
|
|
165
|
+
condition="f_usetype {}" :search="false"
|
|
166
|
+
close-on-select style="width: 60%">
|
|
167
|
+
</v-select>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="col-sm-2 form-group">
|
|
170
|
+
<label class="font_normal_body">房屋类型</label>
|
|
171
|
+
<v-select :value.sync="model.f_house_type" v-model="model.f_house_type"
|
|
172
|
+
:options='$parent.$parent.houseTypes' placeholder='请选择'
|
|
173
|
+
close-on-select
|
|
174
|
+
condition="f_house_type = '{}'"></v-select>
|
|
175
|
+
</div>
|
|
176
|
+
<div class="col-sm-2 form-group">
|
|
177
|
+
<label class="font_normal_body">安装位置</label>
|
|
178
|
+
<v-select :value.sync="model.f_position" v-model="model.f_position"
|
|
179
|
+
:options='$parent.$parent.positions' placeholder='请选择'
|
|
180
|
+
condition="f_position = '{}'"
|
|
181
|
+
close-on-select></v-select>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
|
|
184
|
+
<label class="font_normal_body">期末结余</label>
|
|
185
|
+
<div class="row">
|
|
186
|
+
<input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance1"
|
|
187
|
+
condition="f_curbalance >= {} " placeholder="">
|
|
188
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
189
|
+
<input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance2"
|
|
190
|
+
condition="f_curbalance <= {} " placeholder="">
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</criteria>
|
|
196
|
+
<data-grid :model="model" id="usergasall" partial='list' class="list_area table_sy" v-ref:grid>
|
|
197
|
+
<template partial='head'>
|
|
198
|
+
<tr>
|
|
199
|
+
<th style="text-align:center">
|
|
200
|
+
<nobr>客户编号</nobr>
|
|
201
|
+
</th>
|
|
202
|
+
<th style="text-align:center">
|
|
203
|
+
<nobr>客户类型</nobr>
|
|
204
|
+
</th>
|
|
205
|
+
<th style="text-align:center">
|
|
206
|
+
<nobr>用气性质</nobr>
|
|
207
|
+
</th>
|
|
208
|
+
<th style="text-align:center">
|
|
209
|
+
<nobr>用户电话</nobr>
|
|
210
|
+
</th>
|
|
211
|
+
<!--<th style="text-align:center"><nobr>用气属性</nobr></th>-->
|
|
212
|
+
<th style="text-align:center">
|
|
213
|
+
<nobr>客户名称</nobr>
|
|
214
|
+
</th>
|
|
215
|
+
<th style="text-align:center">
|
|
216
|
+
<nobr>小区</nobr>
|
|
217
|
+
</th>
|
|
218
|
+
<th style="text-align:center">
|
|
219
|
+
<nobr>用气单价</nobr>
|
|
220
|
+
</th>
|
|
221
|
+
<th style="text-align:center">
|
|
222
|
+
<nobr>累购气量</nobr>
|
|
223
|
+
</th>
|
|
224
|
+
<th style="text-align:center">
|
|
225
|
+
<nobr>累购金额</nobr>
|
|
226
|
+
</th>
|
|
227
|
+
<th style="text-align:center">
|
|
228
|
+
<nobr>账号结余</nobr>
|
|
229
|
+
</th>
|
|
230
|
+
<th style="text-align:center">
|
|
231
|
+
<nobr>气表名称</nobr>
|
|
232
|
+
</th>
|
|
233
|
+
<th style="text-align:center">
|
|
234
|
+
<nobr>用气地址</nobr>
|
|
235
|
+
</th>
|
|
236
|
+
<th style="text-align:center">
|
|
237
|
+
<nobr>表号</nobr>
|
|
238
|
+
</th>
|
|
239
|
+
<th style="text-align:center">
|
|
240
|
+
<nobr>期初余额(元)</nobr>
|
|
241
|
+
</th>
|
|
242
|
+
<th style="text-align:center">
|
|
243
|
+
<nobr>上期底数</nobr>
|
|
244
|
+
</th>
|
|
245
|
+
<th style="text-align:center">
|
|
246
|
+
<nobr>本期底数</nobr>
|
|
247
|
+
</th>
|
|
248
|
+
<!-- <th style="text-align:center"><nobr>气价(元/m³)</nobr></th>-->
|
|
249
|
+
<th style="text-align:center">
|
|
250
|
+
<nobr>气价名称</nobr>
|
|
251
|
+
</th>
|
|
252
|
+
<th style="text-align:center">
|
|
253
|
+
<nobr>一阶用气量(m³)</nobr>
|
|
254
|
+
</th>
|
|
255
|
+
<th style="text-align:center">
|
|
256
|
+
<nobr>二阶用气量(m³)</nobr>
|
|
257
|
+
</th>
|
|
258
|
+
<th style="text-align:center">
|
|
259
|
+
<nobr>三阶用气量(m³)</nobr>
|
|
260
|
+
</th>
|
|
261
|
+
<th style="text-align:center">
|
|
262
|
+
<nobr>用气量(m³)</nobr>
|
|
263
|
+
</th>
|
|
264
|
+
<th style="text-align:center">
|
|
265
|
+
<nobr>用气金额(元)</nobr>
|
|
266
|
+
</th>
|
|
267
|
+
<!-- <th style="text-align:center">-->
|
|
268
|
+
<!-- <nobr>充值金额(元)</nobr>-->
|
|
269
|
+
<!-- </th>-->
|
|
270
|
+
<th style="text-align:center">
|
|
271
|
+
<nobr>期末结余(元)</nobr>
|
|
272
|
+
</th>
|
|
273
|
+
</tr>
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
</template>
|
|
277
|
+
<template partial='body'>
|
|
278
|
+
<td>{{row.f_userinfo_code}}</td>
|
|
279
|
+
<td style="text-align:center">{{row.f_user_type}}</td>
|
|
280
|
+
<td style="text-align:center">{{row.f_gasproperties}}</td>
|
|
281
|
+
<td style="text-align:center">{{row.f_user_phone}}</td>
|
|
282
|
+
|
|
283
|
+
<td style="text-align:center">
|
|
284
|
+
<nobr>{{row.f_user_name}}</nobr>
|
|
285
|
+
</td>
|
|
286
|
+
<td style="text-align:center">
|
|
287
|
+
<nobr>{{row.f_residential_area}}</nobr>
|
|
288
|
+
</td>
|
|
289
|
+
<td style="text-align:center">
|
|
290
|
+
<nobr>{{row.f_price}}</nobr>
|
|
291
|
+
</td>
|
|
292
|
+
<td style="text-align:center">{{row.f_total_gas}}</td>
|
|
293
|
+
<td style="text-align:center">{{row.f_total_fee}}</td>
|
|
294
|
+
<td style="text-align:center">{{row.f_balance_amount}}</td>
|
|
295
|
+
<td style="text-align:center">{{row.f_meter_brand}}</td>
|
|
296
|
+
<td>
|
|
297
|
+
<nobr>{{row.f_address}}</nobr>
|
|
298
|
+
</td>
|
|
299
|
+
<td>{{row.f_meternumber}}</td>
|
|
300
|
+
<td style="text-align:center">{{row.f_balance}}</td>
|
|
301
|
+
<td style="text-align:center">{{row.f_last_tablebase}}</td>
|
|
302
|
+
<td style="text-align:center">{{row.f_tablebase}}</td>
|
|
303
|
+
<!--<td style="text-align:center">{{row.f_avg_price}}</td>-->
|
|
304
|
+
<td style="text-align:center">{{row.f_price_name}}</td>
|
|
305
|
+
<td style="text-align:center">{{row.f_stair_gas1}}</td>
|
|
306
|
+
<td style="text-align:center">{{row.f_stair_gas2}}</td>
|
|
307
|
+
<td style="text-align:center">{{row.f_stair_gas3}}</td>
|
|
308
|
+
<td style="text-align:center">{{row.f_oughtamount}}</td>
|
|
309
|
+
<td style="text-align:center">{{row.f_oughtfee}}</td>
|
|
310
|
+
<!-- <td style="text-align:center">{{row.f_collection}}</td>-->
|
|
311
|
+
<td style="text-align:center">{{row.f_curbalance}}</td>
|
|
312
|
+
</template>
|
|
313
|
+
</data-grid>
|
|
314
|
+
</criteria-paged>
|
|
315
|
+
<table class="table-hover">
|
|
316
|
+
<tr style="position: relative" class="table-bordered">
|
|
317
|
+
<td
|
|
318
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
|
|
319
|
+
汇总信息
|
|
320
|
+
</td>
|
|
321
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
322
|
+
总累购气量: {{model.sums.f_total_gas}}
|
|
323
|
+
</td>
|
|
324
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
325
|
+
总累购金额: {{model.sums.f_total_fee}}
|
|
326
|
+
</td>
|
|
327
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
328
|
+
总账户结余: {{model.sums.f_balance_amount}}
|
|
329
|
+
</td>
|
|
330
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
331
|
+
一阶用气量合计: {{model.sums.f_stair_gas1}}
|
|
332
|
+
</td>
|
|
333
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
334
|
+
二阶用气量合计: {{model.sums.f_stair_gas2}}
|
|
335
|
+
</td>
|
|
336
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
337
|
+
三阶用气量合计: {{model.sums.f_stair_gas3}}
|
|
338
|
+
</td>
|
|
339
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
340
|
+
本期用气量合计: {{model.sums.f_oughtamount}}
|
|
341
|
+
</td>
|
|
342
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
343
|
+
本期用气金额合计: {{model.sums.f_oughtfee}}
|
|
344
|
+
</td>
|
|
345
|
+
</tr>
|
|
346
|
+
</table>
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
349
|
+
</div>
|
|
350
|
+
</div>
|
|
351
|
+
<div class="flex-row" v-if="echarts">
|
|
352
|
+
<user-gas-echarts :condition="condition" :echarts="echarts" :enddate="endDate"
|
|
353
|
+
:groupname="groupname[0]" :startdate="startDate"></user-gas-echarts>
|
|
354
|
+
</div>
|
|
355
|
+
<!--汇总表显示模板-->
|
|
356
|
+
<div class="flex-row" v-if="isActiveTotalForm">
|
|
357
|
+
<user-gas-eform :condition="condition" :enddate="endDate" :startdate="startDate"></user-gas-eform>
|
|
358
|
+
</div>
|
|
359
|
+
</template>
|
|
360
|
+
|
|
361
|
+
<script>
|
|
362
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
363
|
+
import UserGasEcharts from './UserGasEcharts'
|
|
364
|
+
import * as Util from '../../Util'
|
|
365
|
+
import getLodop from '../../plugins/LodopFuncs'
|
|
366
|
+
import plugin from 'src/plugins/GetLoginInfoService'
|
|
367
|
+
let readyGen = async function (self) {
|
|
368
|
+
await self.$MagLoadParams.loadParam()
|
|
369
|
+
self.initParams()
|
|
370
|
+
self.getaddress()
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
export default {
|
|
374
|
+
title: '用气分析',
|
|
375
|
+
props: ['data'],
|
|
376
|
+
components: {UserGasEcharts},
|
|
377
|
+
data() {
|
|
378
|
+
return {
|
|
379
|
+
resshow:['company','slicearea'],
|
|
380
|
+
model: new PagedList('api/af-revenue/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
|
|
381
|
+
f_stair_gas1: 0,
|
|
382
|
+
f_stair_gas2: 0,
|
|
383
|
+
f_stair_gas3: 0,
|
|
384
|
+
f_oughtamount: 0,
|
|
385
|
+
f_oughtfee: 0,
|
|
386
|
+
f_total_gas: 0,
|
|
387
|
+
f_total_fee: 0,
|
|
388
|
+
f_balance_amount: 0
|
|
389
|
+
}),
|
|
390
|
+
getGroupNameByDate: [
|
|
391
|
+
{label: '年份', value: 'year'},
|
|
392
|
+
{label: '月份', value: 'month'},
|
|
393
|
+
{label: '周', value: 'week'}
|
|
394
|
+
],
|
|
395
|
+
gasproperties:[],
|
|
396
|
+
meterbrands: [],
|
|
397
|
+
residentialArea: [],
|
|
398
|
+
prices: [],
|
|
399
|
+
criteriaShow: false,
|
|
400
|
+
reportStr: null,
|
|
401
|
+
show: false,
|
|
402
|
+
initres: {
|
|
403
|
+
org:[this.$login.f.orgid],
|
|
404
|
+
dep:[],
|
|
405
|
+
user:[]
|
|
406
|
+
},
|
|
407
|
+
outlets: [],
|
|
408
|
+
operator: [],
|
|
409
|
+
filename: '',
|
|
410
|
+
searchshow: true,
|
|
411
|
+
startDate: '',
|
|
412
|
+
endDate: '',
|
|
413
|
+
echarts: false,
|
|
414
|
+
isActiveTotalForm: false,
|
|
415
|
+
condition: '1=1',
|
|
416
|
+
getfield: {},
|
|
417
|
+
config: {
|
|
418
|
+
excelHeaders: {
|
|
419
|
+
'f_userinfo_code':'客户编号',
|
|
420
|
+
'f_user_type':'客户类型',
|
|
421
|
+
'f_gasproperties': '用气性质',
|
|
422
|
+
'f_user_name': '客户名称',
|
|
423
|
+
'f_user_phone':'客户电话',
|
|
424
|
+
'f_residential_area': '小区',
|
|
425
|
+
'f_price':'用气单价',
|
|
426
|
+
'f_address':'用气地址',
|
|
427
|
+
'f_meternumber': '表号',
|
|
428
|
+
'f_meter_brand':'气表品牌',
|
|
429
|
+
'f_balance':'期初余额(元)',
|
|
430
|
+
'f_last_tablebase': '上期底数',
|
|
431
|
+
'f_price_name':'气价名称',
|
|
432
|
+
'f_stair_gas1':'一阶用气量(m³)',
|
|
433
|
+
'f_stair_gas2':'二阶用气量(m³)',
|
|
434
|
+
'f_stair_gas3':'三阶用气量(m³)',
|
|
435
|
+
'f_tablebase':'本期底数',
|
|
436
|
+
'f_oughtamount':'用气量(m³)',
|
|
437
|
+
'f_oughtfee':'用气金额(元)',
|
|
438
|
+
'f_curbalance':'期末结余(元)'
|
|
439
|
+
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
groupname: ['day'],
|
|
443
|
+
getgroupname: [
|
|
444
|
+
{label: '年份', value: 'year'},
|
|
445
|
+
{label: '月份', value: 'month'},
|
|
446
|
+
{label: '周', value: 'week'},
|
|
447
|
+
{label: '日', value: 'day'}
|
|
448
|
+
],
|
|
449
|
+
// orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
|
|
450
|
+
orgCondtionStr: '(' + this.$login.f.orgid + ')',
|
|
451
|
+
orgid:[this.$login.f.orgid],
|
|
452
|
+
f_filialeid: this.$login.f.orgid,
|
|
453
|
+
usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}],
|
|
454
|
+
zonesdata:''
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
ready() {
|
|
458
|
+
readyGen(this)
|
|
459
|
+
console.log('444444444', Util.addDate(new Date(),-6).substring(0,10))
|
|
460
|
+
this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-4).substring(0,10) + ' 00:00:00'
|
|
461
|
+
this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
|
|
462
|
+
// this.$refs.paged.$refs.cri.search()
|
|
463
|
+
this.getfield = this.config.excelHeaders
|
|
464
|
+
},
|
|
465
|
+
methods: {
|
|
466
|
+
// 查询开关
|
|
467
|
+
hidden() {
|
|
468
|
+
this.criteriaShow = !this.criteriaShow
|
|
469
|
+
},
|
|
470
|
+
async getaddress(){
|
|
471
|
+
let HttpReset = new HttpResetClass()
|
|
472
|
+
var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
|
|
473
|
+
data: {
|
|
474
|
+
condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
|
|
475
|
+
}
|
|
476
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
477
|
+
console.log('小区',data)
|
|
478
|
+
let house = [{label: '全部', value: ''}]
|
|
479
|
+
for (let row of data.data){
|
|
480
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
481
|
+
}
|
|
482
|
+
this.residentialArea = house
|
|
483
|
+
},
|
|
484
|
+
userTypeChange () {
|
|
485
|
+
this.gasproperties=[]
|
|
486
|
+
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
487
|
+
this.$refs.paged.$refs.cri.model.f_gasproperties=''
|
|
488
|
+
this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
|
|
489
|
+
}
|
|
490
|
+
else{
|
|
491
|
+
this.gasproperties =[{label: '全部', value: ''}]
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
SaveAsFile(str) {
|
|
495
|
+
this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
|
|
496
|
+
if (res === 'confirm') {
|
|
497
|
+
let style = '<style>' +
|
|
498
|
+
'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
|
|
499
|
+
let strHtml = style + document.getElementById(str).innerHTML;
|
|
500
|
+
console.log(strHtml);
|
|
501
|
+
let LODOP = getLodop();
|
|
502
|
+
LODOP.PRINT_INIT('');
|
|
503
|
+
LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
|
|
504
|
+
LODOP.SAVE_TO_FILE('用气分析.xls')
|
|
505
|
+
}
|
|
506
|
+
})
|
|
507
|
+
},
|
|
508
|
+
clearmsg() {
|
|
509
|
+
// this.$refs.paged.$refs.cri.model = {}
|
|
510
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
511
|
+
console.log(this.$refs.paged.$refs.cri.model[key])
|
|
512
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
513
|
+
})
|
|
514
|
+
},
|
|
515
|
+
pricetypechanged(){
|
|
516
|
+
this.$refs.paged.$refs.cri.model.f_price_name = []
|
|
517
|
+
},
|
|
518
|
+
initParams() {
|
|
519
|
+
// 初始化气表品牌
|
|
520
|
+
let brandArr = []
|
|
521
|
+
this.$MagGetSaleParam.getGasbrand().forEach((item) => {
|
|
522
|
+
if (item.value.f_meter_type == '物联网表') {
|
|
523
|
+
let temp = {}
|
|
524
|
+
temp.label = item.label
|
|
525
|
+
temp.value = item.value.f_meter_brand
|
|
526
|
+
brandArr.push(temp)
|
|
527
|
+
}
|
|
528
|
+
})
|
|
529
|
+
this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
|
|
530
|
+
//初始化气表价格
|
|
531
|
+
this.prices = this.$MagGetSaleParam.getPrices();
|
|
532
|
+
},
|
|
533
|
+
search(args) {
|
|
534
|
+
this.startDate = this.$refs.paged.$refs.cri.model.startDate
|
|
535
|
+
this.endDate = this.$refs.paged.$refs.cri.model.endDate
|
|
536
|
+
if (this.endDate == '' || this.startDate == '') {
|
|
537
|
+
return this.$showMessage("时间区间的开始和结束时间不能为空!")
|
|
538
|
+
}
|
|
539
|
+
// this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
|
|
540
|
+
if (this.orgCondtionStr)
|
|
541
|
+
this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
|
|
542
|
+
else
|
|
543
|
+
this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
|
|
544
|
+
if(this.zonesdata){
|
|
545
|
+
this.condition = this.$refs.paged.$refs.cri.condition + ` and ${this.zonesdata}`
|
|
546
|
+
}
|
|
547
|
+
args.condition = this.condition
|
|
548
|
+
this.model.search(args.condition, args.model)
|
|
549
|
+
},
|
|
550
|
+
// 显示柱状图
|
|
551
|
+
showEcharts() {
|
|
552
|
+
this.echarts = true
|
|
553
|
+
this.isActiveTotalForm = false
|
|
554
|
+
},
|
|
555
|
+
notShowTotalForm() {
|
|
556
|
+
this.echarts = false
|
|
557
|
+
this.isActiveTotalForm = false
|
|
558
|
+
},
|
|
559
|
+
// 不显示柱状图
|
|
560
|
+
notShowEcharts() {
|
|
561
|
+
this.echarts = false
|
|
562
|
+
this.isActiveTotalForm = false
|
|
563
|
+
},
|
|
564
|
+
// 显示汇总数据表格
|
|
565
|
+
showTotalForm() {
|
|
566
|
+
this.echarts = false
|
|
567
|
+
this.isActiveTotalForm = true
|
|
568
|
+
},
|
|
569
|
+
close() {
|
|
570
|
+
this.show = false
|
|
571
|
+
},
|
|
572
|
+
getRes(obj) {
|
|
573
|
+
this.orgCondtionStr = plugin.convertToIn(obj)
|
|
574
|
+
if(obj.indexOf("f_zones = ")>0){
|
|
575
|
+
this.zonesdata = obj.substring(obj.indexOf("f_zones = "))
|
|
576
|
+
}else{
|
|
577
|
+
this.zonesdata='';
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
getorg(obj) {
|
|
581
|
+
this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
|
|
582
|
+
},
|
|
583
|
+
getCondition () {
|
|
584
|
+
return {
|
|
585
|
+
condition: this.condition,
|
|
586
|
+
startDate: this.startDate,
|
|
587
|
+
endDate: this.endDate
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
// getRes(condition,obj) {
|
|
591
|
+
// this.orgCondtionStr = condition
|
|
592
|
+
// this.orgname = obj.orgnames[0]
|
|
593
|
+
// this.depname = obj.depnames[0]
|
|
594
|
+
// }
|
|
595
|
+
},
|
|
596
|
+
watch: {
|
|
597
|
+
'data'(val) {
|
|
598
|
+
if (val.f_files_path) {
|
|
599
|
+
this.getFileContent(val.f_files_path)
|
|
600
|
+
} else {
|
|
601
|
+
this.reportStr = null
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
computed: {
|
|
606
|
+
getPricenames() {
|
|
607
|
+
let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
|
|
608
|
+
let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
|
|
609
|
+
let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
|
|
610
|
+
console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
|
|
611
|
+
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
612
|
+
let rs = []
|
|
613
|
+
let priceArr = []
|
|
614
|
+
if ( pricetype.length >0) {
|
|
615
|
+
let params = {
|
|
616
|
+
f_price_type: pricetype[0],
|
|
617
|
+
filter: this.f_filialeid,
|
|
618
|
+
prices: this.prices
|
|
619
|
+
}
|
|
620
|
+
this.$MagGetSaleParam.getPrice(params).forEach((item) => {
|
|
621
|
+
let temp = {}
|
|
622
|
+
temp.label = item.label
|
|
623
|
+
temp.value = item.value.f_price_name
|
|
624
|
+
priceArr.push(temp)
|
|
625
|
+
})
|
|
626
|
+
rs = [{label: '全部', value: ''}, ...priceArr]
|
|
627
|
+
}
|
|
628
|
+
if (rs.length === 0) {
|
|
629
|
+
console.log('rs读出来是空')
|
|
630
|
+
this.$refs.paged.$refs.cri.model.f_price_name = ''
|
|
631
|
+
}
|
|
632
|
+
return rs
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
houseTypes() {
|
|
636
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
|
|
637
|
+
},
|
|
638
|
+
positions() {
|
|
639
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
|
|
640
|
+
},
|
|
641
|
+
Gasusertype() {
|
|
642
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
643
|
+
},
|
|
644
|
+
pricetypes() {
|
|
645
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
|
|
646
|
+
},
|
|
647
|
+
valveStatus() {
|
|
648
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
</script>
|
|
653
|
+
<style>
|
|
654
|
+
.mystyle {
|
|
655
|
+
float: right;
|
|
656
|
+
padding-right: 10%;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
.mystyle1 {
|
|
660
|
+
padding-top: 10px;
|
|
661
|
+
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
.mystyle2 {
|
|
665
|
+
width: 100%;
|
|
666
|
+
height: 35px;
|
|
667
|
+
/*background: #00A3F0;*/
|
|
668
|
+
padding-left: 15px;
|
|
669
|
+
float: left;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.datapanel {
|
|
673
|
+
color: #333;
|
|
674
|
+
background-color: white;
|
|
675
|
+
box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
|
|
676
|
+
padding: 10px 10px 10px 10px;
|
|
677
|
+
border-radius: 15px;
|
|
678
|
+
}
|
|
679
|
+
</style>
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
<template lang="html">
|
|
2
|
+
<div class="basic-main" style="height: 100%;">
|
|
3
|
+
<div class="row" style="height: 15%;width: 100%;" v-show="echarts">
|
|
4
|
+
<div class="col-sm-2" style="display: inline-block;">
|
|
5
|
+
<button @click="$parent.notShowEcharts()" class="button_clear button_spacing">隐藏图表</button>
|
|
6
|
+
</div>
|
|
7
|
+
<!--图显示模板-->
|
|
8
|
+
<div class="row col-sm-3 mystyle" style="display: inline-block;">
|
|
9
|
+
<label class="font_normal_body">图表统计项</label>
|
|
10
|
+
<v-select :options='$parent.getgroupname' :value.sync="groupname"
|
|
11
|
+
close-on-select
|
|
12
|
+
id="groupname"
|
|
13
|
+
placeholder='分组项'
|
|
14
|
+
v-model="groupname"
|
|
15
|
+
value-single="true"></v-select>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div style="height: 80%;width: 98%;">
|
|
19
|
+
<div id="info"></div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</template>
|
|
23
|
+
|
|
24
|
+
<script>
|
|
25
|
+
import * as Util from '../../Util'
|
|
26
|
+
import co from 'co'
|
|
27
|
+
import { HttpResetClass } from 'vue-client'
|
|
28
|
+
|
|
29
|
+
let getData = function * (self, condition) {
|
|
30
|
+
let load = new HttpResetClass()
|
|
31
|
+
load.load('POST', 'api/af-revenue/sql/webmeter_getUserGasGroup',
|
|
32
|
+
{data: {condition: condition, groupname: self.groupname[0], startDate: self.startdate,
|
|
33
|
+
endDate: self.enddate}},
|
|
34
|
+
{resolveMsg: null, rejectMsg: null})
|
|
35
|
+
.then((res) => {
|
|
36
|
+
let arrparams = []
|
|
37
|
+
let gasdata1 = []
|
|
38
|
+
let gasdata2 = []
|
|
39
|
+
let gasdata3 = []
|
|
40
|
+
for (var i = 0; i < res.data.length; i++) {
|
|
41
|
+
arrparams[i] = res.data[i].f_type
|
|
42
|
+
gasdata1[i] = res.data[i].f_oughtamount1
|
|
43
|
+
gasdata2[i] = res.data[i].f_oughtamount2
|
|
44
|
+
gasdata3[i] = res.data[i].f_oughtamount3
|
|
45
|
+
}
|
|
46
|
+
self.set(arrparams, gasdata1, gasdata2, gasdata3)
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
export default {
|
|
50
|
+
props: {
|
|
51
|
+
echarts:{
|
|
52
|
+
type:Boolean,
|
|
53
|
+
default:false
|
|
54
|
+
},
|
|
55
|
+
startdate: {
|
|
56
|
+
type: String,
|
|
57
|
+
default: Util.toStandardDateString()
|
|
58
|
+
},
|
|
59
|
+
enddate: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: Util.toStandardDateString()
|
|
62
|
+
},
|
|
63
|
+
condition: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: '1=1'
|
|
66
|
+
},
|
|
67
|
+
groupname: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: 'year'
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
data () {
|
|
73
|
+
title: '业务类型'
|
|
74
|
+
return {
|
|
75
|
+
xc: ''
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
ready(){
|
|
79
|
+
console.log(this.echarts)
|
|
80
|
+
},
|
|
81
|
+
methods: {
|
|
82
|
+
set (arrparams, gasdata1, gasdata2, gasdata3) {
|
|
83
|
+
console.log('--------->>>>>>>>>>>>',arrparams,gasdata1,gasdata3)
|
|
84
|
+
console.log("ec:"+this.echarts)
|
|
85
|
+
let name = ''
|
|
86
|
+
if (this.groupname === 'year')
|
|
87
|
+
{
|
|
88
|
+
name = '年'
|
|
89
|
+
} else if (this.groupname === 'month'){
|
|
90
|
+
name = '月'
|
|
91
|
+
} else if (this.groupname === 'week'){
|
|
92
|
+
name = '周'
|
|
93
|
+
} else {
|
|
94
|
+
name = '日'
|
|
95
|
+
}
|
|
96
|
+
const statInfo = document.getElementById('info') // 获取图表元素
|
|
97
|
+
statInfo.style.width = window.innerWidth - 200 + "px"; //初始化echarts图表宽度
|
|
98
|
+
statInfo.style.height = window.innerHeight - 200 + "px"; //初始化echarts图表宽度
|
|
99
|
+
this.xc = this.$echarts.init(statInfo)
|
|
100
|
+
// 设置宽度自适应
|
|
101
|
+
window.addEventListener('resize', () => {
|
|
102
|
+
statInfo.style.width = window.innerWidth - 200 + "px";
|
|
103
|
+
statInfo.style.height = window.innerHeight - 200 + "px";
|
|
104
|
+
this.xc.resize();
|
|
105
|
+
})
|
|
106
|
+
// this.xc.resize({height: '100%',width: '100%'})
|
|
107
|
+
this.xc.setOption({
|
|
108
|
+
title: {
|
|
109
|
+
text: '用气' + name + '分析图',
|
|
110
|
+
left: 'center',
|
|
111
|
+
y: '10',
|
|
112
|
+
textStyle: {
|
|
113
|
+
color: '#000',
|
|
114
|
+
fontSize: 20
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
color: ['#0070c0', '#00b050','#e1a822'],
|
|
118
|
+
tooltip: {
|
|
119
|
+
trigger: 'axis',
|
|
120
|
+
extraCssText: 'width: auto;height: auto;'
|
|
121
|
+
},
|
|
122
|
+
grid:{
|
|
123
|
+
top:'20%',
|
|
124
|
+
},
|
|
125
|
+
legend: {
|
|
126
|
+
y: '50',
|
|
127
|
+
data: ['用气量(民用)(m³)', '用气量(商业)(m³)', '用气量(工业)(m³)']
|
|
128
|
+
},
|
|
129
|
+
toolbox: {
|
|
130
|
+
y: '50',
|
|
131
|
+
show: true,
|
|
132
|
+
right:'2%',
|
|
133
|
+
feature: {
|
|
134
|
+
mark: {show: true},
|
|
135
|
+
dataView: {show: true, readOnly: false},
|
|
136
|
+
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
|
|
137
|
+
restore: {show: true},
|
|
138
|
+
saveAsImage: {show: true}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
calculable: true,
|
|
142
|
+
xAxis: [
|
|
143
|
+
{ name: '日期',
|
|
144
|
+
nameTextStyle: {
|
|
145
|
+
fontSize: 15
|
|
146
|
+
},
|
|
147
|
+
type: 'category',
|
|
148
|
+
data: arrparams
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
yAxis : [
|
|
152
|
+
{
|
|
153
|
+
type : 'value',
|
|
154
|
+
name: '用气量(m³)',
|
|
155
|
+
nameTextStyle: {
|
|
156
|
+
fontSize: 15
|
|
157
|
+
},
|
|
158
|
+
axisLabel: {
|
|
159
|
+
show: true,
|
|
160
|
+
textStyle: {
|
|
161
|
+
fontSize: 15,
|
|
162
|
+
'color': '#7d8000'
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
series : [
|
|
168
|
+
{
|
|
169
|
+
name: '用气量(民用)(m³)',
|
|
170
|
+
type: 'bar',
|
|
171
|
+
smooth: true,
|
|
172
|
+
itemStyle: {normal: {areaStyle: {type: 'default'}}},
|
|
173
|
+
data: gasdata1,
|
|
174
|
+
markPoint: {
|
|
175
|
+
data: [
|
|
176
|
+
{type: 'max', name: '最大值'},
|
|
177
|
+
{type: 'min', name: '最小值'}
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
markLine: {
|
|
181
|
+
data: [
|
|
182
|
+
{type: 'average', name: '平均值'}
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: '用气量(商业)(m³)',
|
|
188
|
+
type: 'bar',
|
|
189
|
+
smooth: true,
|
|
190
|
+
itemStyle: {normal: {areaStyle: {type: 'default'}}},
|
|
191
|
+
data: gasdata2,
|
|
192
|
+
markPoint: {
|
|
193
|
+
data: [
|
|
194
|
+
{type: 'max', name: '最大值'},
|
|
195
|
+
{type: 'min', name: '最小值'}
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
markLine: {
|
|
199
|
+
data: [
|
|
200
|
+
{type: 'average', name: '平均值'}
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: '用气量(工业)(m³)',
|
|
206
|
+
type: 'bar',
|
|
207
|
+
smooth: true,
|
|
208
|
+
itemStyle: {normal: {areaStyle: {type: 'default'}}},
|
|
209
|
+
data: gasdata3,
|
|
210
|
+
markPoint: {
|
|
211
|
+
data: [
|
|
212
|
+
{type: 'max', name: '最大值'},
|
|
213
|
+
{type: 'min', name: '最小值'}
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
markLine: {
|
|
217
|
+
data: [
|
|
218
|
+
{type: 'average', name: '平均值'}
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
})
|
|
224
|
+
},
|
|
225
|
+
searchdata (condition) {
|
|
226
|
+
console.log("ec:"+this.echarts)
|
|
227
|
+
let getGen = getData(this, condition)
|
|
228
|
+
co(getGen)
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
watch: {
|
|
232
|
+
'echarts' (val) {
|
|
233
|
+
this.searchdata(this.condition)
|
|
234
|
+
},
|
|
235
|
+
'groupname' (val) {
|
|
236
|
+
this.searchdata(this.condition)
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
</script>
|
|
@@ -4,4 +4,7 @@ import Vue from 'vue'
|
|
|
4
4
|
export default function () {
|
|
5
5
|
// 上报查询
|
|
6
6
|
Vue.component('report-list', (resolve) => { require(['./reportList'], resolve) })
|
|
7
|
+
// 用气分析明细查询
|
|
8
|
+
Vue.component('new-webmeter-user-gas-all', (resolve) => { require(['./UserGasAll'], resolve) })
|
|
9
|
+
Vue.component('user-gas-echarts', (resolve) => { require(['./UserGasEcharts.vue'], resolve) })
|
|
7
10
|
}
|