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;
             }
         );