manage-client 4.0.73 → 4.0.74-2
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/build/dev-server.js +5 -5
- package/package.json +6 -4
- package/src/App.vue +53 -22
- package/src/components/SellReport/ManageSellType.vue +3 -3
- package/src/components/webmeter/newwebmeter/NewException/MeterExceptionList.vue +7 -1
- package/src/filiale/bayan/businessquery/weChatBind.vue +423 -0
- package/src/filiale/bayan/sale.js +3 -0
- package/src/filiale/jinbin/exportConfig.js +1110 -0
- package/src/filiale/jinbin/sale/businessquery/ChargeQuery.vue +1372 -0
- package/src/filiale/jinbin/sale.js +7 -0
- package/src/main.js +3 -0
- package/.gradle/8.5/checksums/checksums.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.5/fileChanges/last-build.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.5/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/.gradle/file-system.probe +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
package/build/dev-server.js
CHANGED
|
@@ -11,17 +11,17 @@ var compiler = webpack(config)
|
|
|
11
11
|
// Define HTTP proxies to your custom API backend
|
|
12
12
|
// https://github.com/chimurai/http-proxy-middleware
|
|
13
13
|
// var bendi = 'http://127.0.0.1:8089/manage', fuwu = 'http://36.103.224.217:6300/'
|
|
14
|
-
var shaoguan = '
|
|
15
|
-
var qtx = '
|
|
14
|
+
var shaoguan = 'https://www.rcenergy.cn:8401/'
|
|
15
|
+
var qtx = 'https://www.rcenergy.cn:8401/'
|
|
16
16
|
// var bendi = 'http://220.194.141.253:8600/'
|
|
17
17
|
// var bendi = 'http://203.57.101.233:9001'
|
|
18
18
|
// var bendi = 'http://172.168.1.11:9001/'
|
|
19
19
|
// var bendi = 'http://203.57.101.233:9001/'
|
|
20
20
|
// var bendi = 'http://121.36.106.17:8400/'
|
|
21
21
|
// var fuwu = 'http://203.57.101.233:9001'
|
|
22
|
-
var bendi = '
|
|
22
|
+
var bendi = 'https://www.rcenergy.cn:8401/'
|
|
23
23
|
// var bendi = 'http://119.187.112.234:8400/'
|
|
24
|
-
var wode = '
|
|
24
|
+
var wode = 'https://www.rcenergy.cn:8401/'
|
|
25
25
|
// 192.168.
|
|
26
26
|
// var str = 'http://127.0.0.1:8080/manage', str2 = 'http://192.168.50.199:8300'
|
|
27
27
|
// var str = 'http://192.168.10.233:8300', str2 = 'http://192.168.10.14:8300'
|
|
@@ -40,7 +40,7 @@ var proxyTable = {
|
|
|
40
40
|
target: 'http://127.0.0.1:9026/'
|
|
41
41
|
},
|
|
42
42
|
'/api': {
|
|
43
|
-
target:
|
|
43
|
+
target: bendi
|
|
44
44
|
|
|
45
45
|
},
|
|
46
46
|
'/rs/sql/chargeQuery_by_gasproperties': {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "manage-client",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.74-2",
|
|
4
4
|
"description": "经营管控模块前台组件",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"directories": {
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"crypto-js": "^4.1.1",
|
|
11
|
-
"swiper": "^5.4.5"
|
|
11
|
+
"swiper": "^5.4.5",
|
|
12
|
+
"system-clients": "3.2.76",
|
|
13
|
+
"vue-client": "1.24.112"
|
|
12
14
|
},
|
|
13
15
|
"devDependencies": {
|
|
14
16
|
"axios": "0.15.3",
|
|
@@ -67,11 +69,11 @@
|
|
|
67
69
|
"style": "0.0.3",
|
|
68
70
|
"style-loader": "^0.20.3",
|
|
69
71
|
"swiper": "^5.4.5",
|
|
70
|
-
|
|
72
|
+
|
|
71
73
|
"ldap-clients": "3.0.96",
|
|
72
74
|
"url-loader": "^0.5.7",
|
|
73
75
|
"vue-amap": "0.5.10",
|
|
74
|
-
|
|
76
|
+
|
|
75
77
|
"vue-hot-reload-api": "^1.2.0",
|
|
76
78
|
"vue-html-loader": "^1.0.0",
|
|
77
79
|
"vue-loader": "8.2.1",
|
package/src/App.vue
CHANGED
|
@@ -1,29 +1,60 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<!--<route :comp="{name: 'vender-management'}"></route>-->
|
|
10
|
-
<!--<route :comp="{name: 'malfunction-home'}"></route>-->
|
|
11
|
-
<route :comp="{name: 'login'}"></route>
|
|
12
|
-
<!-- <route :comp="{name: 'call-report-main-page'}"></route>-->
|
|
13
|
-
<!-- <route :comp="{name: 'load-data'}"></route> -->
|
|
14
|
-
<!--<route :comp="{name: 'load-params', props: {componentName: 'login'}}"></route>-->
|
|
15
|
-
<!-- <route :comp="{name: 'load-params', props: {dataUrl: ['api/af-revenue/sql/getMeterBrand','api/af-revenue/sql/getPriceType','api/af-revenue/sql/getMeterStyle'], componentName: 'login'}}"></route> -->
|
|
16
|
-
</article>
|
|
17
|
-
</div>
|
|
18
|
-
</app-base>
|
|
19
|
-
</div>
|
|
2
|
+
<app-base class="bg" @click="isTimeOut">
|
|
3
|
+
<div class='flex'>
|
|
4
|
+
<article>
|
|
5
|
+
<route :comp="{name: 'login'}"></route>
|
|
6
|
+
</article>
|
|
7
|
+
</div>
|
|
8
|
+
</app-base>
|
|
20
9
|
</template>
|
|
21
10
|
|
|
22
11
|
<script>
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
import Vue from 'vue'
|
|
25
13
|
export default {
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
data () {
|
|
15
|
+
return {
|
|
16
|
+
lastTime: null, // 最后一次点击的时间
|
|
17
|
+
currentTime: null, // 当前点击的时间
|
|
18
|
+
// 获取一次不在获取控制
|
|
19
|
+
getConfig: false,
|
|
20
|
+
config: {
|
|
21
|
+
timeOut: 0, // 单位: 分钟
|
|
22
|
+
exitPrompt: '因您长时间未操作, 请重新登陆!'
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
ready() {
|
|
27
|
+
Vue.mmType = 'nginx'
|
|
28
|
+
Vue.HWQMM = [51, 150, 231, 300, 565, 708, 721, 952, 738, 560, 935, 912, 1274, 1148, 840, 1440]
|
|
29
|
+
},
|
|
30
|
+
created () {
|
|
31
|
+
this.lastTime = new Date().getTime()
|
|
32
|
+
},
|
|
33
|
+
methods: {
|
|
34
|
+
async isTimeOut () {
|
|
35
|
+
// 获取config配置
|
|
36
|
+
if (!this.getConfig && this.$login.f && this.$login.f.dir) {
|
|
37
|
+
await this.$getConfig(this, 'App')
|
|
38
|
+
this.getConfig = true
|
|
39
|
+
}
|
|
40
|
+
// 无配置,不开启
|
|
41
|
+
if (this.config.timeOut <= 0) return
|
|
42
|
+
// 记录这次点击的时间
|
|
43
|
+
this.currentTime = new Date().getTime()
|
|
44
|
+
// 判断上次最后一次点击的时间和这次点击的时间间隔是否大于超时时间
|
|
45
|
+
if (this.currentTime - this.lastTime > (this.config.timeOut * 60 * 1000)) {
|
|
46
|
+
// 如果是登录状态
|
|
47
|
+
if (this.$login.f.id) {
|
|
48
|
+
await this.$showMessage(this.config.exitPrompt)
|
|
49
|
+
window.location.reload()
|
|
50
|
+
} else {
|
|
51
|
+
this.lastTime = new Date().getTime()
|
|
52
|
+
}
|
|
53
|
+
} else {
|
|
54
|
+
// 如果在超时时间内点击,则把这次点击的时间记录覆盖掉之前存的最后一次点击的时间
|
|
55
|
+
this.lastTime = new Date().getTime()
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
28
59
|
}
|
|
29
60
|
</script>
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
</div>
|
|
53
53
|
<div class="col-sm-2 form-group">
|
|
54
54
|
<label class="font_normal_body">用户类型</label>
|
|
55
|
-
<v-select :value.sync="
|
|
56
|
-
v-model="
|
|
55
|
+
<v-select :value.sync="model.f_user_type"
|
|
56
|
+
v-model="model.f_user_type"
|
|
57
57
|
:options='$parent.$parent.user_type' placeholder='请选择'
|
|
58
|
-
condition="f_user_type
|
|
58
|
+
condition="f_user_type = '{}'"
|
|
59
59
|
close-on-select></v-select>
|
|
60
60
|
</div>
|
|
61
61
|
<div class="col-sm-2 form-group">
|
|
@@ -220,6 +220,9 @@
|
|
|
220
220
|
<th style="text-align:center">
|
|
221
221
|
<nobr>抄表日期</nobr>
|
|
222
222
|
</th>
|
|
223
|
+
<th style="text-align:center">
|
|
224
|
+
<nobr>上报日期</nobr>
|
|
225
|
+
</th>
|
|
223
226
|
<th style="text-align:center">
|
|
224
227
|
<nobr>最后一次通讯时间</nobr>
|
|
225
228
|
</th>
|
|
@@ -284,6 +287,9 @@
|
|
|
284
287
|
<td style="text-align:center">
|
|
285
288
|
<nobr>{{row.f_insert_date}}</nobr>
|
|
286
289
|
</td>
|
|
290
|
+
<td style="text-align:center">
|
|
291
|
+
<nobr>{{row.f_insert_enddate}}</nobr>
|
|
292
|
+
</td>
|
|
287
293
|
<td style="text-align:center">
|
|
288
294
|
<nobr>{{row.f_electricity}}</nobr>
|
|
289
295
|
</td>
|
|
@@ -388,7 +394,7 @@
|
|
|
388
394
|
],
|
|
389
395
|
getfield:{
|
|
390
396
|
"f_userinfo_code":"客户编号", "f_user_name":"客户名称","f_residential_area":"小区", "address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质","f_balance_amount":"账户余额","f_user_phone":"联系电话",
|
|
391
|
-
"f_meternumber":"表号","f_meter_brand":"气表品牌","f_hand_date":"抄表日期","f_insert_date":"最后一次通讯时间","f_electricity":"电池电量","f_batterylevel":"电池电压",
|
|
397
|
+
"f_meternumber":"表号","f_meter_brand":"气表品牌","f_hand_date":"抄表日期","f_insert_date":"上报日期","f_insert_enddate":"最后一次通讯时间","f_electricity":"电池电量","f_batterylevel":"电池电压",
|
|
392
398
|
"f_signal":"信号强度","f_magneticInterference":"磁干扰异常","f_valvestate":"阀门状态","f_error_type":"异常类型","f_error_level":"异常级别","f_is_read":"处理状态","f_error_reason":"备注信息","f_orgname":"分公司"
|
|
393
399
|
},
|
|
394
400
|
outlets: [],
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main" @keyup.enter="search">
|
|
4
|
+
<div class="flex">
|
|
5
|
+
<div style="flex:1;" class="flex" v-if="!show">
|
|
6
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
7
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
8
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label for="startDate" class="font_normal_body">开始日期</label>
|
|
12
|
+
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
13
|
+
v-model="model.startDate"
|
|
14
|
+
:value.sync="model.startDate"
|
|
15
|
+
:format="'yyyy-MM-dd'"
|
|
16
|
+
:show-reset-button="true"
|
|
17
|
+
condition="f_band_time >= '{}'">
|
|
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'"
|
|
26
|
+
:show-reset-button="true"
|
|
27
|
+
condition="f_band_time <= '{}'">
|
|
28
|
+
</datepicker>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="col-sm-2 form-group">
|
|
31
|
+
<label class="font_normal_body">客户编号</label>
|
|
32
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
33
|
+
condition="f_userinfo_code = '{}' " placeholder="客户编号">
|
|
34
|
+
</div>
|
|
35
|
+
<div class="col-sm-2 form-group">
|
|
36
|
+
<label class="font_normal_body">客户名称</label>
|
|
37
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
38
|
+
condition="f_user_name like '%{}%'" placeholder="客户名称">
|
|
39
|
+
</div>
|
|
40
|
+
<div class="span" style="float:right;">
|
|
41
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
42
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
43
|
+
<!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
|
|
44
|
+
|
|
45
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
46
|
+
:field="$parent.$parent.getExportField"
|
|
47
|
+
sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="wechatQuery" template-name='微信查询导出'
|
|
48
|
+
:choose-col="true"></export-excel>
|
|
49
|
+
|
|
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
|
+
<res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
|
|
55
|
+
<div class="col-sm-2 form-group">
|
|
56
|
+
<label class="font_normal_body">客户电话</label>
|
|
57
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
|
|
58
|
+
condition="f_user_phone like '%{}%'" placeholder="客户电话">
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-2 form-group">
|
|
61
|
+
<label class="font_normal_body">客户地址</label>
|
|
62
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
63
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="col-sm-2 form-group" >
|
|
66
|
+
<label class="font_normal_body">气表品牌</label>
|
|
67
|
+
<v-select :value.sync="model.gasbrand" v-model="model.gasbrand"
|
|
68
|
+
:options='$parent.$parent.meterbrands' placeholder='气表品牌' close-on-select
|
|
69
|
+
v-model='$parent.$parent.gasbrand'
|
|
70
|
+
condition="f_meter_brand = '{}'"
|
|
71
|
+
></v-select>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="col-sm-2 form-group">
|
|
74
|
+
<label class="font_normal_body"> 小区 </label>
|
|
75
|
+
<v-select :value.sync="model.f_residential_area"
|
|
76
|
+
class="select_list select"
|
|
77
|
+
v-model="model.f_residential_area"
|
|
78
|
+
style="width: 60%"
|
|
79
|
+
multiple
|
|
80
|
+
condition="f_residential_area in {}"
|
|
81
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
82
|
+
close-on-select>
|
|
83
|
+
|
|
84
|
+
</v-select>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="col-sm-2 form-group">
|
|
87
|
+
<label class="font_normal_body">区期</label>
|
|
88
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_area_period"
|
|
89
|
+
condition="f_area_period = '{}'" placeholder='区期'>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="col-sm-2 form-group">
|
|
92
|
+
<label class="font_normal_body">楼号</label>
|
|
93
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_building"
|
|
94
|
+
condition="f_building = '{}'" placeholder='楼号'>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="col-sm-2 form-group">
|
|
97
|
+
<label class="font_normal_body">单元</label>
|
|
98
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_unit"
|
|
99
|
+
condition="f_unit = '{}'" placeholder='单元'>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="col-sm-2 form-group">
|
|
102
|
+
<label class="font_normal_body">楼层</label>
|
|
103
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_floor"
|
|
104
|
+
condition="f_floor = '{}'" placeholder='楼层'>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="col-sm-2 form-group">
|
|
107
|
+
<label class="font_normal_body">房间号</label>
|
|
108
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_room"
|
|
109
|
+
condition="f_room = '{}'" placeholder='房间号'>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</criteria>
|
|
114
|
+
|
|
115
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" @dblclick="$parent.dblclick" v-ref:grid>
|
|
116
|
+
<template partial='head'>
|
|
117
|
+
<tr>
|
|
118
|
+
<th>
|
|
119
|
+
<nobr>客户编号</nobr>
|
|
120
|
+
</th>
|
|
121
|
+
<th>
|
|
122
|
+
<nobr>客户名称</nobr>
|
|
123
|
+
</th>
|
|
124
|
+
<th>
|
|
125
|
+
<nobr>气表品牌</nobr>
|
|
126
|
+
</th>
|
|
127
|
+
<th>
|
|
128
|
+
<nobr>气表类型</nobr>
|
|
129
|
+
</th>
|
|
130
|
+
<th>
|
|
131
|
+
<nobr>客户电话</nobr>
|
|
132
|
+
</th>
|
|
133
|
+
<th>
|
|
134
|
+
<nobr>微信标识</nobr>
|
|
135
|
+
</th>
|
|
136
|
+
<th>
|
|
137
|
+
<nobr>绑定状态</nobr>
|
|
138
|
+
</th>
|
|
139
|
+
<th>
|
|
140
|
+
<nobr>小区</nobr>
|
|
141
|
+
</th>
|
|
142
|
+
<th>
|
|
143
|
+
<nobr>客户地址</nobr>
|
|
144
|
+
</th>
|
|
145
|
+
<th>
|
|
146
|
+
<nobr>操作</nobr>
|
|
147
|
+
</th>
|
|
148
|
+
</tr>
|
|
149
|
+
</template>
|
|
150
|
+
<template partial='body'>
|
|
151
|
+
<td :class="'back-blue'" style="text-align: center;" >
|
|
152
|
+
<nobr>
|
|
153
|
+
{{row.f_userinfo_code}}
|
|
154
|
+
</nobr> </td>
|
|
155
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
156
|
+
<nobr>{{row.f_user_name}}</nobr>
|
|
157
|
+
</td>
|
|
158
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
159
|
+
<nobr>{{row.f_meter_brand}}</nobr>
|
|
160
|
+
</td>
|
|
161
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
162
|
+
<nobr>{{row.f_meter_type}}</nobr>
|
|
163
|
+
</td>
|
|
164
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
165
|
+
<nobr>{{row.f_user_phone}}</nobr>
|
|
166
|
+
</td>
|
|
167
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
168
|
+
<nobr>{{row.f_open_id}}</nobr>
|
|
169
|
+
</td>
|
|
170
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
171
|
+
<nobr>{{row.f_band_state}}</nobr>
|
|
172
|
+
</td>
|
|
173
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
174
|
+
<nobr>{{row.f_residential_area}}</nobr>
|
|
175
|
+
</td>
|
|
176
|
+
<td :class="'back-blue'" style="text-align: center;">
|
|
177
|
+
<nobr>{{row.f_address}}</nobr>
|
|
178
|
+
</td>
|
|
179
|
+
<td style="text-align: center;">
|
|
180
|
+
<button type="button" name="button" class="btn btn-link"
|
|
181
|
+
@click="$parent.$parent.$parent.wechatbing(row)">解绑
|
|
182
|
+
</button>
|
|
183
|
+
</td>
|
|
184
|
+
</template>
|
|
185
|
+
</data-grid>
|
|
186
|
+
</criteria-paged>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</template>
|
|
192
|
+
|
|
193
|
+
<script>
|
|
194
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
195
|
+
import defaultPrint from '../config/DefaultPrint'
|
|
196
|
+
import exportConfig from '../config/exportConfig'
|
|
197
|
+
|
|
198
|
+
let readySomething = async function (self) {
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
await self.$MagLoadParams.loadParam()
|
|
202
|
+
await self.$LoadParams.loadParam(self.f_filialeid)
|
|
203
|
+
self.loadMeterBooks()
|
|
204
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
|
|
205
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
|
|
206
|
+
await self.$refs.paged.$refs.cri.search()
|
|
207
|
+
// self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
208
|
+
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export default {
|
|
212
|
+
title: '微信绑定查询',
|
|
213
|
+
data() {
|
|
214
|
+
return {
|
|
215
|
+
model: new PagedList('api/af-revenue/sql/wechatQuery', 20, {}),
|
|
216
|
+
criteriaShow: false,
|
|
217
|
+
orgCondtionStr: '',
|
|
218
|
+
modelval: [],
|
|
219
|
+
residentialArea: [],
|
|
220
|
+
printshow: false,
|
|
221
|
+
all: false,
|
|
222
|
+
fields: {},
|
|
223
|
+
meterbrands:[{label: '全部',value: ''}],
|
|
224
|
+
thead: '',
|
|
225
|
+
tfoot: '',
|
|
226
|
+
area: [],
|
|
227
|
+
//合计数据
|
|
228
|
+
// sumsmodel: {},
|
|
229
|
+
initres: {
|
|
230
|
+
org:[this.$login.f.orgid],
|
|
231
|
+
dep:[],
|
|
232
|
+
user:[],
|
|
233
|
+
},
|
|
234
|
+
userdetail: {
|
|
235
|
+
show: false,
|
|
236
|
+
f_userinfo_code: '',
|
|
237
|
+
f_filialeids: ''
|
|
238
|
+
},
|
|
239
|
+
show:false,
|
|
240
|
+
rowdata:{},
|
|
241
|
+
sliceArea: []
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
ready() {
|
|
245
|
+
this.getaddress()
|
|
246
|
+
readySomething(this).then(() => {
|
|
247
|
+
this.$emit('ready')
|
|
248
|
+
}).catch((error) => {
|
|
249
|
+
this.$emit('error', error)
|
|
250
|
+
})
|
|
251
|
+
this.initAreas(this.$login.f.orgid)
|
|
252
|
+
},
|
|
253
|
+
methods: {
|
|
254
|
+
loadMeterBooks(){
|
|
255
|
+
let meterbrand = this.$GetSaleParam.getGasbrand()
|
|
256
|
+
for(let row of meterbrand){
|
|
257
|
+
this.meterbrands.push({label: row.label,value: row.value.f_meter_brand})
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
async getaddress(){
|
|
261
|
+
console.log('开始获取小区')
|
|
262
|
+
let HttpReset = new HttpResetClass()
|
|
263
|
+
var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
|
|
264
|
+
data: {
|
|
265
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
266
|
+
}
|
|
267
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
268
|
+
console.log('小区',data)
|
|
269
|
+
let house = []
|
|
270
|
+
for (let row of data.data){
|
|
271
|
+
console.log('开始保存小区')
|
|
272
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
273
|
+
}
|
|
274
|
+
this.residentialArea = house
|
|
275
|
+
},
|
|
276
|
+
//把数据库查询数据转换为下拉数据
|
|
277
|
+
calculate(rows){
|
|
278
|
+
let data = []
|
|
279
|
+
rows.forEach((row, n) => {
|
|
280
|
+
data[n] = {label: row.f_residential_area, value: row.id}
|
|
281
|
+
})
|
|
282
|
+
return data
|
|
283
|
+
},
|
|
284
|
+
search(){
|
|
285
|
+
this.$refs.paged.$refs.cri.search()
|
|
286
|
+
},
|
|
287
|
+
wechatbing(row) {
|
|
288
|
+
console.log('微信解绑用户', row)
|
|
289
|
+
let param = {
|
|
290
|
+
id: row.id
|
|
291
|
+
}
|
|
292
|
+
this.$resetpost('api/af-revenue/logic/wechatbind', {data: param}, {warnMsg: '确定对这条记录进行解绑吗?'}).then(() => {
|
|
293
|
+
this.$refs.paged.$refs.cri.search()
|
|
294
|
+
})
|
|
295
|
+
},
|
|
296
|
+
cancel(obj) {
|
|
297
|
+
this.show = false
|
|
298
|
+
},
|
|
299
|
+
async initAreas (val) {
|
|
300
|
+
|
|
301
|
+
if (val) {
|
|
302
|
+
let getAllArea = await this.$resetpost('/rs/search', {
|
|
303
|
+
source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
|
|
304
|
+
userid: this.$login.f.id
|
|
305
|
+
}, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
|
|
306
|
+
|
|
307
|
+
let arr = getAllArea.data.filter((res) => {
|
|
308
|
+
return res.parentid == val
|
|
309
|
+
})
|
|
310
|
+
console.log('过滤之后的片区', arr)
|
|
311
|
+
this.sliceArea = []
|
|
312
|
+
this.sliceArea.push({label: "全部", value: ""})
|
|
313
|
+
arr.forEach((res) => {
|
|
314
|
+
this.sliceArea.push({label: res.name, value: res.name})
|
|
315
|
+
})
|
|
316
|
+
console.log(this.sliceArea)
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
selfSearch(args) {
|
|
320
|
+
if (!this.orgCondtionStr) {
|
|
321
|
+
args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
|
|
322
|
+
} else {
|
|
323
|
+
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
324
|
+
}
|
|
325
|
+
this.model.search(args.condition, args.model)
|
|
326
|
+
},
|
|
327
|
+
clear() {
|
|
328
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
329
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
330
|
+
})
|
|
331
|
+
},
|
|
332
|
+
hidden() {
|
|
333
|
+
this.criteriaShow = !this.criteriaShow
|
|
334
|
+
},
|
|
335
|
+
getRes(obj) {
|
|
336
|
+
this.orgCondtionStr = obj
|
|
337
|
+
},
|
|
338
|
+
stamp() {
|
|
339
|
+
this.all = false
|
|
340
|
+
//默认选择要打印的列
|
|
341
|
+
this.modelval = defaultPrint.config
|
|
342
|
+
this.fields = this.getfield
|
|
343
|
+
console.log('所有打印字段', this.fields)
|
|
344
|
+
this.printshow = true
|
|
345
|
+
this.put()
|
|
346
|
+
},
|
|
347
|
+
put() {
|
|
348
|
+
// 对Modelval进行排序
|
|
349
|
+
this.sortModelval()
|
|
350
|
+
this.thead = `<tr><th colspan=${this.modelval.length}>用户查询统计报表</th></tr><tr>`
|
|
351
|
+
for (let key of this.modelval) {
|
|
352
|
+
this.thead += '<th>' + this.fields[key] + '</th>'
|
|
353
|
+
}
|
|
354
|
+
this.thead += '</tr>'
|
|
355
|
+
},
|
|
356
|
+
print() {
|
|
357
|
+
this.$refs.print.PrintAsFile()
|
|
358
|
+
this.printshow = false
|
|
359
|
+
},
|
|
360
|
+
close() {
|
|
361
|
+
this.printshow = false
|
|
362
|
+
},
|
|
363
|
+
// 对选择的列进行排序
|
|
364
|
+
sortModelval() {
|
|
365
|
+
let sortModel = []
|
|
366
|
+
Object.keys(this.fields).forEach((key) => {
|
|
367
|
+
if (this.modelval.includes(key)) {
|
|
368
|
+
sortModel.push(key)
|
|
369
|
+
}
|
|
370
|
+
})
|
|
371
|
+
this.modelval = sortModel
|
|
372
|
+
console.log('选择的打印的字段', this.modelval)
|
|
373
|
+
},
|
|
374
|
+
dblclick(row, index) {
|
|
375
|
+
console.log('双击之后数据', row, index)
|
|
376
|
+
this.userdetail.show = true
|
|
377
|
+
this.userdetail.f_userinfo_code = row.f_userinfo_code
|
|
378
|
+
this.userdetail.f_filialeids = row.f_filialeids
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
watch: {
|
|
382
|
+
'all'(val) {
|
|
383
|
+
if (val) {
|
|
384
|
+
this.modelval = this.bodyData
|
|
385
|
+
} else {
|
|
386
|
+
this.modelval = defaultPrint.config
|
|
387
|
+
this.put()
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
'modelval.length'() {
|
|
391
|
+
this.put()
|
|
392
|
+
},
|
|
393
|
+
},
|
|
394
|
+
computed: {
|
|
395
|
+
authArr () {
|
|
396
|
+
return this.$login.r ? this.$login.r : []
|
|
397
|
+
},
|
|
398
|
+
|
|
399
|
+
getCondition() {
|
|
400
|
+
return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
|
|
401
|
+
},
|
|
402
|
+
getfield() {
|
|
403
|
+
let data = {}
|
|
404
|
+
this.bodyData.forEach((value, index) => {
|
|
405
|
+
data[this.bodyData[index]] = this.headData[index]
|
|
406
|
+
})
|
|
407
|
+
return data
|
|
408
|
+
},
|
|
409
|
+
getExportField() {
|
|
410
|
+
return exportConfig.wechatConfig
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
</script>
|
|
415
|
+
<style>
|
|
416
|
+
.back-red{ /* 红色背景 */
|
|
417
|
+
background-color: #F6C6CE;
|
|
418
|
+
}
|
|
419
|
+
.back-blue{ /* 蓝色背景 */
|
|
420
|
+
|
|
421
|
+
}
|
|
422
|
+
</style>
|
|
423
|
+
|