system-clients 3.1.108-aode → 3.1.109-aode
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
CHANGED
@@ -0,0 +1,211 @@
|
|
1
|
+
<template>
|
2
|
+
<div :class="style" v-show="companyshow">
|
3
|
+
<label class="font_normal_body">公  司</label>
|
4
|
+
<right-tree @re-res="getorg"
|
5
|
+
:mustselect="mustselect"
|
6
|
+
:initresid='initres.org'></right-tree>
|
7
|
+
</div>
|
8
|
+
<div :class="style" v-show="departmentshow">
|
9
|
+
<label class="font_normal_body">部  门</label>
|
10
|
+
<res-select restype='department' v-ref:department
|
11
|
+
@res-select="getdep"
|
12
|
+
:parentresid="depresid"
|
13
|
+
:specialquery="specialquery"
|
14
|
+
:initresid='initres.dep'
|
15
|
+
:mustselect="mustselect"
|
16
|
+
:is-mul="mul">
|
17
|
+
</res-select>
|
18
|
+
</div>
|
19
|
+
<div :class="style" v-show="operatorshow && (!cascade)">
|
20
|
+
<label class="font_normal_body">人  员</label>
|
21
|
+
<res-select restype='user'
|
22
|
+
@res-select="getuser"
|
23
|
+
:parentresid="depresid"
|
24
|
+
:initresid='initres.user'
|
25
|
+
:mustselect="mustselect"
|
26
|
+
:is-mul="mul">
|
27
|
+
</res-select>
|
28
|
+
</div>
|
29
|
+
<div :class="style" v-show="operatorshow && cascade">
|
30
|
+
<label class="font_normal_body">人  员</label>
|
31
|
+
<res-select restype='user'
|
32
|
+
@res-select="getuser"
|
33
|
+
:parentresid="userresid"
|
34
|
+
:initresid='initres.user'
|
35
|
+
:mustselect="mustselect"
|
36
|
+
:is-mul="mul">
|
37
|
+
</res-select>
|
38
|
+
</div>
|
39
|
+
<div :class="style " v-if="sliceareashow" >
|
40
|
+
<label class="font_normal_body">片  区</label>
|
41
|
+
<v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
|
42
|
+
:options='sliceArea' placeholder='片区/管理站' filer-key="name"
|
43
|
+
close-on-select v-ref:slice>
|
44
|
+
</v-select>
|
45
|
+
</div>
|
46
|
+
</template>
|
47
|
+
<script>
|
48
|
+
import plugin from '../../plugins/GetLoginInfoService'
|
49
|
+
import { HttpResetClass } from 'vue-client'
|
50
|
+
export default {
|
51
|
+
title: '资源选择测试',
|
52
|
+
props: {
|
53
|
+
style: {
|
54
|
+
type: String,
|
55
|
+
default: 'col-sm-2 form-group'
|
56
|
+
},
|
57
|
+
mul: {
|
58
|
+
type: Boolean,
|
59
|
+
default: true
|
60
|
+
},
|
61
|
+
//是否只查询营业厅
|
62
|
+
specialquery: {
|
63
|
+
type: Boolean,
|
64
|
+
default: false
|
65
|
+
},
|
66
|
+
//初始值
|
67
|
+
initres: {
|
68
|
+
type: Object,
|
69
|
+
default: null,
|
70
|
+
},
|
71
|
+
showComponent:{
|
72
|
+
default:['company','department','operator','slicearea']
|
73
|
+
},
|
74
|
+
//人员是否和部门关联
|
75
|
+
cascade: {
|
76
|
+
type: Boolean,
|
77
|
+
default: true
|
78
|
+
},
|
79
|
+
selectin: {
|
80
|
+
type: Boolean,
|
81
|
+
default: true
|
82
|
+
}
|
83
|
+
},
|
84
|
+
data () {
|
85
|
+
return {
|
86
|
+
orgresid:[this.$login.f.orgid],
|
87
|
+
depresid:[],
|
88
|
+
userresid:[],
|
89
|
+
operatorsid: [],
|
90
|
+
sliceArea: [],
|
91
|
+
slice_area:[],
|
92
|
+
companyshow:false,
|
93
|
+
departmentshow:false,
|
94
|
+
operatorshow:false,
|
95
|
+
sliceareashow:false,
|
96
|
+
mustselect:false,
|
97
|
+
obj:{
|
98
|
+
orgnames:[],
|
99
|
+
depnames:[],
|
100
|
+
operatornames:[]
|
101
|
+
}
|
102
|
+
}
|
103
|
+
},
|
104
|
+
ready () {
|
105
|
+
if(this.$login.r.includes('部门默认选中')&& this.selectin){
|
106
|
+
this.initres.dep = [this.$login.f.depids]
|
107
|
+
}
|
108
|
+
if(this.$login.r.includes('人员默认选中')&& this.selectin){
|
109
|
+
this.initres.user = [this.$login.f.id]
|
110
|
+
if(this.$login.r.includes('人员强制选中')){
|
111
|
+
this.mustselect = true
|
112
|
+
}
|
113
|
+
}
|
114
|
+
this.initComponent();
|
115
|
+
this.initAreas(this.$login.f.orgid)
|
116
|
+
},
|
117
|
+
methods:{
|
118
|
+
initComponent(){
|
119
|
+
let self=this;
|
120
|
+
this.showComponent.find((item)=>{
|
121
|
+
switch(item){
|
122
|
+
case 'company': self.companyshow=true; break;
|
123
|
+
case 'department': self.departmentshow=true; break;
|
124
|
+
case 'operator': self.operatorshow=true; break;
|
125
|
+
case 'slicearea': self.sliceareashow=true; break;
|
126
|
+
}
|
127
|
+
})
|
128
|
+
},
|
129
|
+
// 初始化片区
|
130
|
+
async initAreas (val) {
|
131
|
+
if (val) {
|
132
|
+
let http = new HttpResetClass()
|
133
|
+
let getAllArea = await http.load('POST', '/rs/search', {
|
134
|
+
source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
|
135
|
+
userid: this.$login.f.id
|
136
|
+
}, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
|
137
|
+
let arr = getAllArea.data.filter((res) => {
|
138
|
+
if(Array.isArray(val)){
|
139
|
+
for (let i = 0; i <val.length ; i++) {
|
140
|
+
if(res.parentid == val[i]){
|
141
|
+
return true
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
145
|
+
return res.parentid == val
|
146
|
+
})
|
147
|
+
this.sliceArea = []
|
148
|
+
this.slice_area = []
|
149
|
+
arr.forEach((res) => {
|
150
|
+
this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
|
151
|
+
})
|
152
|
+
}
|
153
|
+
},
|
154
|
+
returnOrg(ids){
|
155
|
+
let limit = this.$login.r.includes('数据授权限定')
|
156
|
+
|
157
|
+
let condition;
|
158
|
+
if(this.depresid.length > 0)
|
159
|
+
condition = plugin.convertToIn(this.depresid);
|
160
|
+
else
|
161
|
+
condition = this.$login.f.orgid;
|
162
|
+
if(this.userresid.length > 0){
|
163
|
+
condition += plugin.convertToIn(this.userresid);
|
164
|
+
} else {
|
165
|
+
if (limit) {
|
166
|
+
let depids = []
|
167
|
+
for (let row of this.$refs.department.resoptions) {
|
168
|
+
depids.push(row.value)
|
169
|
+
}
|
170
|
+
let depid = depids.length ? plugin.convertToIn(depids) : `('')`
|
171
|
+
condition += depid;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
if(ids && ids.length > 0){
|
175
|
+
condition += plugin.convertToIn(ids);
|
176
|
+
}
|
177
|
+
if(this.slice_area.length>0){
|
178
|
+
condition += "'" + this.slice_area[0].name+"'"
|
179
|
+
}
|
180
|
+
this.$dispatch('re-res',condition,this.obj)
|
181
|
+
},
|
182
|
+
getorg (obj) {
|
183
|
+
this.depresid=obj.resids
|
184
|
+
this.obj.orgnames = obj.res
|
185
|
+
this.initAreas(obj.resids)
|
186
|
+
this.returnOrg();
|
187
|
+
},
|
188
|
+
getdep(obj,val) {
|
189
|
+
this.obj.depnames = val
|
190
|
+
this.userresid=obj
|
191
|
+
this.returnOrg();
|
192
|
+
},
|
193
|
+
getuser(obj,val) {
|
194
|
+
this.obj.operatornames = val
|
195
|
+
this.operatorsid = obj
|
196
|
+
this.returnOrg(obj);
|
197
|
+
},
|
198
|
+
getarea(val) {
|
199
|
+
this.slice_area=val
|
200
|
+
if(this.operatorsid){
|
201
|
+
this.returnOrg(this.operatorsid);
|
202
|
+
}else{
|
203
|
+
this.returnOrg();
|
204
|
+
}
|
205
|
+
}
|
206
|
+
},
|
207
|
+
watch: {
|
208
|
+
|
209
|
+
}
|
210
|
+
}
|
211
|
+
</script>
|
package/src/system.js
CHANGED
@@ -26,6 +26,7 @@ import ResSelectGroup from './components/server/ResSelectGroup'
|
|
26
26
|
//资源选择测试
|
27
27
|
import TestResSelect from './components/server/TestResSelect'
|
28
28
|
import RoleSelector from "./components/server/RoleSelector";
|
29
|
+
import NewResSelectGroup from "./components/server/NewResSelectGroup.vue";
|
29
30
|
export default function (val) {
|
30
31
|
//验证码开关赋值
|
31
32
|
if(val!=null){
|
@@ -50,6 +51,7 @@ export default function (val) {
|
|
50
51
|
//资源选择
|
51
52
|
Vue.component('res-select', ResSelect)
|
52
53
|
Vue.component('res-select-group', ResSelectGroup)
|
54
|
+
Vue.component('new-select-group', NewResSelectGroup)
|
53
55
|
//资源选择测试
|
54
56
|
Vue.component('test-res-select', TestResSelect)
|
55
57
|
|