system-clients 3.2.1-25 → 3.2.1-28
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/SystemClient.iml +9 -2
- package/package.json +1 -1
- package/src/components/Main.vue +771 -650
- package/src/components/addressManage/AddressCascadingMenu.vue +145 -0
- package/src/components/equipment/PhoneAdd.vue +25 -12
- package/src/components/equipment/PhoneList.vue +30 -20
- package/src/components/server/Login.vue +27 -20
- package/src/filiale/rizhao/Login.vue +791 -791
- package/.gradle/4.4/fileChanges/last-build.bin +0 -0
- package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
- package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
@@ -0,0 +1,145 @@
|
|
1
|
+
<template>
|
2
|
+
<div :class="style">
|
3
|
+
<label :class="font_style">小  区</label>
|
4
|
+
<v-select :value.sync="initres.f_residential_area"
|
5
|
+
v-model="initres.f_residential_area"
|
6
|
+
class="input-font"
|
7
|
+
:options='residentialAreaOptions'
|
8
|
+
placeholder='小区名称'
|
9
|
+
@change="getbuilds"
|
10
|
+
close-on-select :valueSingle=true>
|
11
|
+
</v-select>
|
12
|
+
</div>
|
13
|
+
<div :class="style">
|
14
|
+
<label :class="font_style">楼  栋</label>
|
15
|
+
<v-select :value.sync="initres.f_building"
|
16
|
+
v-model="initres.f_building"
|
17
|
+
class="input-font"
|
18
|
+
:options='buildOptions'
|
19
|
+
placeholder='楼栋'
|
20
|
+
@change="getUnits"
|
21
|
+
close-on-select :valueSingle="true">
|
22
|
+
</v-select>
|
23
|
+
</div>
|
24
|
+
<div :class="style">
|
25
|
+
<label :class="font_style">单  元</label>
|
26
|
+
<v-select :value.sync="initres.f_unit"
|
27
|
+
v-model="initres.f_unit"
|
28
|
+
class="input-font"
|
29
|
+
:options='unitOptions'
|
30
|
+
placeholder='单元'
|
31
|
+
close-on-select :valueSingle="true">
|
32
|
+
</v-select>
|
33
|
+
</div>
|
34
|
+
</template>
|
35
|
+
<script>
|
36
|
+
import {HttpResetClass} from "vue-client";
|
37
|
+
/**
|
38
|
+
*档案管理查询列表
|
39
|
+
*/
|
40
|
+
export default {
|
41
|
+
title: '小区查询',
|
42
|
+
props: {
|
43
|
+
style: {
|
44
|
+
type: String,
|
45
|
+
default: 'col-sm-2 form-group'
|
46
|
+
},
|
47
|
+
font_style: {
|
48
|
+
type: String,
|
49
|
+
default: 'font_normal_body'
|
50
|
+
},
|
51
|
+
mul: {
|
52
|
+
type: Boolean,
|
53
|
+
default: true
|
54
|
+
},
|
55
|
+
//初始值
|
56
|
+
initres: {
|
57
|
+
type: Object,
|
58
|
+
default: null,
|
59
|
+
},
|
60
|
+
conditions: {
|
61
|
+
type: Object,
|
62
|
+
default: null,
|
63
|
+
},
|
64
|
+
f_unit: {
|
65
|
+
type: String,
|
66
|
+
default: "f_unit = '{}'",
|
67
|
+
},
|
68
|
+
f_residential_area: {
|
69
|
+
type: String,
|
70
|
+
default: "f_residential_area = '{}'",
|
71
|
+
},
|
72
|
+
f_building: {
|
73
|
+
type: String,
|
74
|
+
default: "f_building = '{}'",
|
75
|
+
}
|
76
|
+
},
|
77
|
+
data () {
|
78
|
+
return {
|
79
|
+
residentialAreaOptions:[],
|
80
|
+
buildOptions:[],
|
81
|
+
unitOptions:[],
|
82
|
+
http:new HttpResetClass()
|
83
|
+
}
|
84
|
+
},
|
85
|
+
ready(){
|
86
|
+
this.getAllArea()
|
87
|
+
this.conditions=Object.assign({},this.conditions,{f_unit:this.f_unit,f_residential_area:this.f_residential_area,f_building:this.f_building})
|
88
|
+
},
|
89
|
+
methods: {
|
90
|
+
getAllArea(){
|
91
|
+
this.residentialAreaOptions = []
|
92
|
+
this.buildOptions = []
|
93
|
+
this.unitOptions = []
|
94
|
+
this.initres.f_residential_area = ''
|
95
|
+
this.initres.f_building = ''
|
96
|
+
this.initres.f_unit = ''
|
97
|
+
this.http.load('POST',"rs/sql/address_getarealist",{data:{condition: `s.f_filialeid = ${this.$login.f.orgid}`}},{resolveMsg: null, rejectMsg: null}).then(result =>{
|
98
|
+
if(result.data.length>0){
|
99
|
+
result.data.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
|
100
|
+
}
|
101
|
+
})
|
102
|
+
},
|
103
|
+
getbuilds(f_residential_area){
|
104
|
+
console.log('f_residential_area ===> ' + JSON.stringify(f_residential_area))
|
105
|
+
this.buildOptions = []
|
106
|
+
this.initres.f_building = ''
|
107
|
+
this.unitOptions = []
|
108
|
+
this.initres.f_unit = ''
|
109
|
+
if(f_residential_area.length<=0){
|
110
|
+
return
|
111
|
+
}
|
112
|
+
let criteria = {
|
113
|
+
condition: `f_building IS NOT NULL AND f_residential_area = '${f_residential_area}'`,
|
114
|
+
groupitem: 'f_building',
|
115
|
+
orderitem: 'f_building'
|
116
|
+
}
|
117
|
+
this.http.load('POST',"rs/sql/getUseraddressByCon",{'data': criteria},{resolveMsg: null, rejectMsg: null}).then(result =>{
|
118
|
+
if(result.data.length>0){
|
119
|
+
result.data.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
|
120
|
+
}
|
121
|
+
})
|
122
|
+
|
123
|
+
},
|
124
|
+
getUnits(f_building){
|
125
|
+
f_building = f_building[0]
|
126
|
+
this.unitOptions = []
|
127
|
+
this.initres.f_unit = ''
|
128
|
+
if(!f_building){
|
129
|
+
return
|
130
|
+
}
|
131
|
+
let criteria = {
|
132
|
+
condition: `f_unit IS NOT NULL AND f_unit != '' AND f_residential_area = '${this.initres.f_residential_area}' AND f_building = '${this.initres.f_building}'`,
|
133
|
+
orderitem: 'f_unit',
|
134
|
+
groupitem: 'f_unit'
|
135
|
+
}
|
136
|
+
this.http.load('POST',"rs/sql/getUseraddressByCon",{'data': criteria},{resolveMsg: null, rejectMsg: null}).then(result=>{
|
137
|
+
if(result.data.length>0){
|
138
|
+
result.data.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
|
139
|
+
}
|
140
|
+
})
|
141
|
+
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
145
|
+
</script>
|
@@ -6,18 +6,23 @@
|
|
6
6
|
</ul>
|
7
7
|
<form class="form-horizontal">
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
9
|
+
<div class="col-sm-6 form-group">
|
10
|
+
<label class="font_normal_body">使用人员</label>
|
11
|
+
<input type="text" style="width: 60%" class="input_search" v-model="model.f_username" placeholder="使用人员" >
|
12
|
+
</div>
|
13
|
+
<div class="col-sm-6 form-group">
|
14
|
+
<label class="font_normal_body">设备号</label>
|
15
|
+
<input type="text" style="width: 60%" class="input_search" v-model="model.f_terminal_number" placeholder="设备号" >
|
16
|
+
</div>
|
17
|
+
<div class="col-sm-6 form-group">
|
18
|
+
<label class="font_normal_body">使用公司</label>
|
19
|
+
<!--<right-tree :userid.sync='userid' :source.sync='source' @re-res="getRes"></right-tree>-->
|
20
|
+
<res-select restype='organization'
|
21
|
+
is-mul="false"
|
22
|
+
@res-select="getorg"
|
23
|
+
:initresid="curorgid">
|
24
|
+
</res-select>
|
25
|
+
</div>
|
21
26
|
|
22
27
|
</form>
|
23
28
|
<div style="text-align:right;height:auto;">
|
@@ -42,6 +47,8 @@
|
|
42
47
|
filialeCodeStr: this.$login.f.f_orgids,
|
43
48
|
userid: this.$login.f.id,
|
44
49
|
source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
|
50
|
+
curorgid: this.$login.f.orgid,
|
51
|
+
f_orgid: ''
|
45
52
|
}
|
46
53
|
},
|
47
54
|
props: ['data'],
|
@@ -64,6 +71,7 @@
|
|
64
71
|
confirm () {
|
65
72
|
this.model.f_operator = this.$login.f.name
|
66
73
|
this.model.f_filialeids = this.filialeCodeStr
|
74
|
+
this.model.f_orgid = this.f_orgid
|
67
75
|
console.log('保存', this.model)
|
68
76
|
this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
|
69
77
|
this.$dispatch('refresh')
|
@@ -77,6 +85,8 @@
|
|
77
85
|
this.model.f_terminal_number = row.f_terminal_number
|
78
86
|
this.model.id = row.id
|
79
87
|
this.filialeCodeStr = row.f_filialeids
|
88
|
+
this.f_orgid = row.f_orgid
|
89
|
+
this.curorgid= [row.f_orgid]
|
80
90
|
},
|
81
91
|
initModel () {
|
82
92
|
delete this.model.id
|
@@ -89,6 +99,9 @@
|
|
89
99
|
getRes(obj) {
|
90
100
|
this.filialeCodeStr = obj.resids
|
91
101
|
},
|
102
|
+
getorg (val) {
|
103
|
+
this.f_orgid = val[0]
|
104
|
+
}
|
92
105
|
}
|
93
106
|
}
|
94
107
|
</script>
|
@@ -4,27 +4,32 @@
|
|
4
4
|
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
5
5
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
6
6
|
<div class="row">
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
<div class="col-sm-3 form-group">
|
8
|
+
<label class="font_normal_body">使用公司</label>
|
9
|
+
<!--<right-tree :userid.sync='$parent.$parent.userid' :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes" > </right-tree>-->
|
10
|
+
<res-select restype='organization'
|
11
|
+
is-mul="false"
|
12
|
+
@res-select="$parent.$parent.getorg"
|
13
|
+
:initresid="$parent.$parent.curorgid">
|
14
|
+
</res-select>
|
15
|
+
</div>
|
11
16
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
<div class="col-sm-3 form-group" >
|
18
|
+
<label class="font_normal_body">使用人员</label>
|
19
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_username"
|
20
|
+
condition="f_username like '%{}%'" placeholder="使用人员">
|
21
|
+
</div>
|
22
|
+
<div class="col-sm-3 form-group" >
|
23
|
+
<label class="font_normal_body">设备号</label>
|
24
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
|
25
|
+
condition="f_terminal_number like '%{}%'" placeholder="设备号">
|
26
|
+
</div>
|
27
|
+
<div class="span" style="float:right;">
|
28
|
+
<button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
29
|
+
<button class="button_search" @click="$parent.$parent.add()" v-el:cx>新增</button>
|
30
|
+
</div>
|
25
31
|
</div>
|
26
32
|
</div>
|
27
|
-
</div>
|
28
33
|
</criteria>
|
29
34
|
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
|
30
35
|
<template partial='head'>
|
@@ -62,7 +67,9 @@
|
|
62
67
|
filialeNameStr: this.$login.f.f_fengongsi,
|
63
68
|
filialeCodeStr: this.$login.f.f_orgids,
|
64
69
|
userid:this.$login.f.id,
|
65
|
-
|
70
|
+
curorgid: [this.$login.f.orgid],
|
71
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
|
72
|
+
f_orgid:''
|
66
73
|
}
|
67
74
|
},
|
68
75
|
ready () {
|
@@ -75,7 +82,7 @@
|
|
75
82
|
},
|
76
83
|
|
77
84
|
selfSearch (args) {
|
78
|
-
args.condition = `${args.condition} and f_equipment_type = 'PHONE' and f_state = '正常' and f_orgid
|
85
|
+
args.condition = `${args.condition} and f_equipment_type = 'PHONE' and f_state = '正常' and f_orgid = '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
|
79
86
|
this.model.search(args.condition, this.model)
|
80
87
|
},
|
81
88
|
add () {
|
@@ -94,6 +101,9 @@
|
|
94
101
|
this.filialeNameStr = obj.res
|
95
102
|
this.filialeCodeStr = obj.resids
|
96
103
|
},
|
104
|
+
getorg (val) {
|
105
|
+
this.f_orgid = val[0]
|
106
|
+
}
|
97
107
|
},
|
98
108
|
computed: {
|
99
109
|
|
@@ -204,7 +204,7 @@ let saveGen = function *(self) {
|
|
204
204
|
self.getDaiBan()
|
205
205
|
}
|
206
206
|
} else {
|
207
|
-
self.$goto('home-page', {functions: self.$login.f})
|
207
|
+
self.$goto('home-page', {functions: self.$login.f,config: self.config})
|
208
208
|
// if (self.otherLogin){
|
209
209
|
// window.history.pushState(null,null,'')
|
210
210
|
// }
|
@@ -289,7 +289,13 @@ export default {
|
|
289
289
|
depPrompt: false,
|
290
290
|
weakPassword: false,
|
291
291
|
title: '燃气客服系统',
|
292
|
-
distanceLogin: false
|
292
|
+
distanceLogin: false,
|
293
|
+
// 那些角色可以定时获取预约提示
|
294
|
+
isTip : false,
|
295
|
+
// 那些角色可以定时获取预约提示
|
296
|
+
msgRole : '预约处理人员',
|
297
|
+
// 定时获取提示间隔 单位:分钟
|
298
|
+
times: 25,
|
293
299
|
},
|
294
300
|
otherLogin:false,
|
295
301
|
login: false,
|
@@ -314,6 +320,24 @@ export default {
|
|
314
320
|
methods: {
|
315
321
|
async getDaiBan(){
|
316
322
|
let http = new HttpResetClass()
|
323
|
+
await http.load('POST', '/rs/sql/singleTable', {data: {
|
324
|
+
tablename:'t_order_center',
|
325
|
+
condition:` f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and ( f_orderstate != '预约失败' or f_orderstate is null ) `
|
326
|
+
|
327
|
+
}}, {
|
328
|
+
resolveMsg: null,
|
329
|
+
rejectMsg: null
|
330
|
+
}).then((res) => {
|
331
|
+
let OrderDaiBan = {}
|
332
|
+
res.data.forEach(item=>{
|
333
|
+
OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
|
334
|
+
OrderDaiBan[item.f_ordertype].push(item)
|
335
|
+
})
|
336
|
+
this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
|
337
|
+
if (res.data.length> 0){
|
338
|
+
this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
|
339
|
+
}
|
340
|
+
})
|
317
341
|
let data = {
|
318
342
|
condition: '1 = 1',
|
319
343
|
data: {
|
@@ -335,24 +359,7 @@ export default {
|
|
335
359
|
this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
|
336
360
|
}
|
337
361
|
})
|
338
|
-
await http.load('POST', '/rs/sql/singleTable', {data: {
|
339
|
-
tablename:'t_order_center',
|
340
|
-
condition:` f_orderstate != '预约成功' and f_orderstate != '预约失败' or f_orderstate is null `
|
341
362
|
|
342
|
-
}}, {
|
343
|
-
resolveMsg: null,
|
344
|
-
rejectMsg: null
|
345
|
-
}).then((res) => {
|
346
|
-
let OrderDaiBan = {}
|
347
|
-
res.data.forEach(item=>{
|
348
|
-
OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
|
349
|
-
OrderDaiBan[item.f_ordertype].push(item)
|
350
|
-
})
|
351
|
-
this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
|
352
|
-
if (res.data.length> 0){
|
353
|
-
this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
|
354
|
-
}
|
355
|
-
})
|
356
363
|
},
|
357
364
|
async loginother(){
|
358
365
|
if (this.config.distanceLogin) {
|
@@ -431,7 +438,7 @@ export default {
|
|
431
438
|
|
432
439
|
async depPromptConfirm () {
|
433
440
|
this.depPromptShow = false
|
434
|
-
return this.$goto('home-page', {functions: this.$login.f})
|
441
|
+
return this.$goto('home-page', {functions: this.$login.f,config: this.config})
|
435
442
|
},
|
436
443
|
|
437
444
|
depPromptCancel () {
|