From ac3ad638949e4d560ddf69320a5f9bb28ca5aaca Mon Sep 17 00:00:00 2001
From: ahaos <8406649+lhailgl@user.noreply.gitee.com>
Date: 星期三, 19 七月 2023 22:48:30 +0800
Subject: [PATCH] !29 修改列表打开对话框和接口请求顺序 Merge pull request !29 from ahaos/tspr

---
 src/views/system/role/index.vue |   42 ++++++++++++++----------------------------
 1 files changed, 14 insertions(+), 28 deletions(-)

diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index bcc893f..ffbd67c 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -265,12 +265,10 @@
 })
 const { form, queryParams, rules } = toRefs(data)
 
-
 const dialog = reactive<DialogOption>({
   visible: false,
   title: ''
 });
-
 
 /**
  * 鏌ヨ瑙掕壊鍒楄〃
@@ -367,34 +365,27 @@
 
 /** 娣诲姞瑙掕壊 */
 const handleAdd = () => {
+  reset();
+  getMenuTreeselect();
   dialog.visible = true;
   dialog.title = "娣诲姞瑙掕壊";
-  nextTick(() => {
-    reset();
-    getMenuTreeselect();
-  })
 }
 /** 淇敼瑙掕壊 */
 const handleUpdate = async (row?: RoleVO) => {
+  reset();
   const roleId = row?.roleId || ids.value[0]
-  const roleMenu = getRoleMenuTreeselect(roleId)
   const { data } = await getRole(roleId);
-  dialog.visible = true;
+  Object.assign(form.value, data);
+  form.value.roleSort = Number(form.value.roleSort);
+  const res = await getRoleMenuTreeselect(roleId);
   dialog.title = "淇敼瑙掕壊";
-  await nextTick(() => {
-    reset();
-    Object.assign(form.value, data);
-    form.value.roleSort = Number(form.value.roleSort);
-    nextTick(async () => {
-      const res = await roleMenu;
-      let checkedKeys = res.checkedKeys;
-      checkedKeys.forEach((v) => {
-        nextTick(() => {
-          menuRef.value?.setChecked(v, true, false);
-        })
-      })
+  dialog.visible = true;
+  res.checkedKeys.forEach((v) => {
+    nextTick(() => {
+      menuRef.value?.setChecked(v, true, false);
     })
   })
+
 }
 /** 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戠粨鏋� */
 const getRoleMenuTreeselect = (roleId: string | number) => {
@@ -479,18 +470,13 @@
 }
 /** 鍒嗛厤鏁版嵁鏉冮檺鎿嶄綔 */
 const handleDataScope = async (row: RoleVO) => {
-  const roleDeptTreeselect = getRoleDeptTreeSelect(row.roleId);
   const response = await getRole(row.roleId);
   Object.assign(form.value, response.data);
+  const res = await getRoleDeptTreeSelect(row.roleId);
   openDataScope.value = true;
   dialog.title = "鍒嗛厤鏁版嵁鏉冮檺";
-  await nextTick(async () => {
-    const res = await roleDeptTreeselect;
-    await nextTick(() => {
-      if (deptRef.value) {
-        deptRef.value.setCheckedKeys(res.checkedKeys);
-      }
-    })
+  await nextTick(() => {
+    deptRef.value?.setCheckedKeys(res.checkedKeys);
   })
 }
 /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */

--
Gitblit v1.9.3