From 203b0609cd93d98f2e303b642d8bd30aee782f3b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 26 五月 2026 11:25:37 +0800
Subject: [PATCH] 英泽 1.角色管理配置页面报错

---
 src/views/system/role/index.vue |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 85ecf28..de6ed7f 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -429,17 +429,18 @@
 function handleUpdate(row) {
   reset()
   const roleId = row.roleId || ids.value
-  const roleMenu = getRoleMenuTreeselect(roleId)
   getRole(roleId).then(response => {
     form.value = response.data
     form.value.roleSort = Number(form.value.roleSort)
     open.value = true
-    nextTick(() => {
-      roleMenu.then((res) => {
-        let checkedKeys = res.checkedKeys
+    // 鍏堣幏鍙栬鑹茶彍鍗曟爲锛岀劧鍚庡湪 nextTick 涓缃�変腑鐘舵��
+    getRoleMenuTreeselect(roleId).then((res) => {
+      nextTick(() => {
+        // 鑾峰彇鍚庣杩斿洖鐨� checkedKeys锛屽鏋滄病鏈夊垯榛樿涓虹┖鏁扮粍
+        let checkedKeys = res.checkedKeys || []
         checkedKeys.forEach((v) => {
           nextTick(() => {
-            menuRef.value.setChecked(v, true, false)
+            menuRef.value?.setChecked(v, true, false)
           })
         })
       })
@@ -451,8 +452,10 @@
 /** 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戠粨鏋� */
 function getRoleMenuTreeselect(roleId) {
   return roleMenuTreeselect(roleId).then(response => {
-    menuOptions.value = response.menus
-    return response
+    // 鍚庣杩斿洖鐨勬暟鎹湪 response.data 涓�
+    const data = response.data || {}
+    menuOptions.value = data.menus || []
+    return data
   })
 }
 

--
Gitblit v1.9.3