From 2952cb2c4fd1c51e28c6a6d6728f505155d4ee47 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期日, 21 八月 2022 22:54:25 +0800
Subject: [PATCH] 优化多角色数据权限匹配规则

---
 src/views/system/user/index.vue |   37 ++++++++++++++-----------------------
 1 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 7b97284..8326e6f 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -19,6 +19,7 @@
                   :expand-on-click-node="false"
                   :filter-node-method="filterNode"
                   ref="deptTreeRef"
+                  highlight-current
                   default-expand-all
                   @node-click="handleNodeClick"
                />
@@ -207,11 +208,13 @@
                </el-col>
                <el-col :span="12">
                   <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
-                     <tree-select
-                        v-model:value="form.deptId"
-                        :options="deptOptions"
+                     <el-tree-select
+                        v-model="form.deptId"
+                        :data="deptOptions"
+                        :props="{ value: 'id', label: 'label', children: 'children' }"
+                        value-key="id"
                         placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬"
-                        :objMap="{ value: 'id', label: 'label', children: 'children' }"
+                        check-strictly
                      />
                   </el-form-item>
                </el-col>
@@ -347,8 +350,7 @@
 
 <script setup name="User">
 import { getToken } from "@/utils/auth";
-import { treeselect } from "@/api/system/dept";
-import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser } from "@/api/system/user";
+import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user";
 
 const router = useRouter();
 const { proxy } = getCurrentInstance();
@@ -382,7 +384,7 @@
   // 璁剧疆涓婁紶鐨勮姹傚ご閮�
   headers: { Authorization: "Bearer " + getToken() },
   // 涓婁紶鐨勫湴鍧�
-  url: import.meta.env.VITE_APP_BASE_API + "system/user/importData"
+  url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData"
 });
 // 鍒楁樉闅愪俊鎭�
 const columns = ref([
@@ -426,8 +428,8 @@
   proxy.$refs["deptTreeRef"].filter(val);
 });
 /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-function getTreeselect() {
-  treeselect().then(response => {
+function getDeptTree() {
+  deptTreeSelect().then(response => {
     deptOptions.value = response.data;
   });
 };
@@ -539,22 +541,13 @@
 const handleFileSuccess = (response, file, fileList) => {
   upload.open = false;
   upload.isUploading = false;
-  proxy.$refs["uploadRef"].clearFiles();
+  proxy.$refs["uploadRef"].handleRemove(file);
   proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
   getList();
 };
 /** 鎻愪氦涓婁紶鏂囦欢 */
 function submitFileForm() {
   proxy.$refs["uploadRef"].submit();
-};
-/** 鍒濆鍖栭儴闂ㄦ暟鎹� */
-function initTreeData() {
-  // 鍒ゆ柇閮ㄩ棬鐨勬暟鎹槸鍚﹀瓨鍦紝瀛樺湪涓嶈幏鍙栵紝涓嶅瓨鍦ㄥ垯鑾峰彇
-  if (deptOptions.value === undefined) {
-    treeselect().then(response => {
-      deptOptions.value = response.data;
-    });
-  }
 };
 /** 閲嶇疆鎿嶄綔琛ㄥ崟 */
 function reset() {
@@ -582,19 +575,17 @@
 /** 鏂板鎸夐挳鎿嶄綔 */
 function handleAdd() {
   reset();
-  initTreeData();
   getUser().then(response => {
     postOptions.value = response.posts;
     roleOptions.value = response.roles;
     open.value = true;
     title.value = "娣诲姞鐢ㄦ埛";
-    form.password.value = initPassword.value;
+    form.value.password = initPassword.value;
   });
 };
 /** 淇敼鎸夐挳鎿嶄綔 */
 function handleUpdate(row) {
   reset();
-  initTreeData();
   const userId = row.userId || ids.value;
   getUser(userId).then(response => {
     form.value = response.data;
@@ -628,6 +619,6 @@
   });
 };
 
-getTreeselect();
+getDeptTree();
 getList();
 </script>

--
Gitblit v1.9.3