diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js index 31cc32b..4685134 100644 --- a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js +++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/document/index.js @@ -686,8 +686,8 @@ export default { if (res && res.code == 0) { let map = res.map; if (map) { - let all = map.allIds; - userFileRight.value = all; + //let all = map.allIds; + userFileRight.value = map; } } }) diff --git a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/userright/index.js b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/userright/index.js index eb28263..1bd7108 100644 --- a/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/userright/index.js +++ b/hg-monitor-web-base/src/main/resources/static/vue3/src/components/common/userright/index.js @@ -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; } );