...
|
...
|
@@ -80,15 +80,25 @@ export default { |
|
|
|
|
|
const handleClick = (tab, event) => {
|
|
|
let name = tab.paneName;
|
|
|
var arr = [];
|
|
|
if (name == 'user') {
|
|
|
getAllUser();
|
|
|
arr = selectedData.value.user
|
|
|
} else if (name == 'role') {
|
|
|
getAllRole();
|
|
|
arr = selectedData.value.role;
|
|
|
} else if (name == 'org') {
|
|
|
getAllOrg();
|
|
|
arr = selectedData.value.org;
|
|
|
} else if (name == 'userGroup') {
|
|
|
getAllGroup();
|
|
|
arr = selectedData.value.userGroup;
|
|
|
}
|
|
|
|
|
|
setTimeout(function (){
|
|
|
allArr.value = arr;
|
|
|
},200)
|
|
|
|
|
|
}
|
|
|
|
|
|
const getAllUser = () => {
|
...
|
...
|
@@ -212,48 +222,41 @@ export default { |
|
|
emit('hideDialog', false);
|
|
|
}
|
|
|
|
|
|
let selectedData = Vue.ref({
|
|
|
user: [],
|
|
|
role: [],
|
|
|
org: [],
|
|
|
userGroup: []
|
|
|
})
|
|
|
let getUser = () => {
|
|
|
let arr = allArr.value;
|
|
|
// Start Wang 2021/12/28 19:46 删除非空验证,考虑授权时,取消授权,需要清空授权数据
|
|
|
// if (!arr || arr.length == 0) {
|
|
|
// proxy.$global.showMsg("您没有选择用户!", "warning")
|
|
|
// return;
|
|
|
// }
|
|
|
// End Wang 2021/12/28 19:46
|
|
|
|
|
|
let user = [];
|
|
|
let role = [];
|
|
|
let org = [];
|
|
|
let userGroup = [];
|
|
|
|
|
|
let getVal = (v) => {
|
|
|
if (arr.indexOf(v.value) != -1) {
|
|
|
if (v.type == 'ROLE') {
|
|
|
role.push(v.props);
|
|
|
} else if (v.type == 'ORG') {
|
|
|
org.push(v.props);
|
|
|
} else if (v.type == 'USERGROUP') {
|
|
|
userGroup.push(v.props);
|
|
|
} else {
|
|
|
user.push(v.props);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// 筛选用户
|
|
|
userArr.value.filter(function (v) {
|
|
|
getVal(v);
|
|
|
if(selectedData.value.user.includes(v.value)){
|
|
|
user.push(v.props);
|
|
|
}
|
|
|
})
|
|
|
// 筛选角色
|
|
|
roleArr.value.filter(function (v) {
|
|
|
getVal(v);
|
|
|
if(selectedData.value.role.includes(v.value)){
|
|
|
role.push(v.props);
|
|
|
}
|
|
|
})
|
|
|
// 筛选机构
|
|
|
orgArr.value.filter(function (v) {
|
|
|
getVal(v);
|
|
|
if(selectedData.value.org.includes(v.value)){
|
|
|
org.push(v.props);
|
|
|
}
|
|
|
})
|
|
|
// 筛选组
|
|
|
groupArr.value.filter(function (v) {
|
|
|
getVal(v);
|
|
|
if(selectedData.value.userGroup.includes(v.value)){
|
|
|
userGroup.push(v.props);
|
|
|
}
|
|
|
})
|
|
|
|
|
|
let data = {
|
...
|
...
|
@@ -316,7 +319,20 @@ export default { |
|
|
);
|
|
|
Vue.watch(
|
|
|
() => props.selectedArr, (newValue, oldVlaue) => {
|
|
|
allArr.value = newValue;
|
|
|
//allArr.value = newValue;
|
|
|
selectedData.value.user = newValue.USER;
|
|
|
selectedData.value.role = newValue.ROLE;
|
|
|
selectedData.value.org = newValue.ORG;
|
|
|
selectedData.value.userGroup = newValue.USERGROUP;
|
|
|
|
|
|
let name = activeName.value;
|
|
|
allArr.value = selectedData.value[name];
|
|
|
}
|
|
|
);
|
|
|
Vue.watch(
|
|
|
() => allArr.value, (newValue, oldVlaue) => {
|
|
|
let name = activeName.value;
|
|
|
selectedData.value[name] = newValue;
|
|
|
}
|
|
|
);
|
|
|
|
...
|
...
|
|