From aaf8a50511d77dbc209ca93bbba308c21179a8bc Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 31 三月 2026 15:38:47 +0800
Subject: [PATCH] #前端

---
 rsf-design/src/views/system/role/modules/role-permission-dialog.vue |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/rsf-design/src/views/system/role/modules/role-permission-dialog.vue b/rsf-design/src/views/system/role/modules/role-permission-dialog.vue
index 779b85f..c7c58ec 100644
--- a/rsf-design/src/views/system/role/modules/role-permission-dialog.vue
+++ b/rsf-design/src/views/system/role/modules/role-permission-dialog.vue
@@ -78,6 +78,7 @@
   } from '../rolePage.helpers'
   import { fetchGetRoleScopeList, fetchGetRoleScopeTree, fetchUpdateRoleScope } from '@/api/system-manage'
   import { resolveBackendMenuTitle } from '@/utils/backend-menu-title'
+  import { guardRequestWithMessage } from '@/utils/sys/requestGuard'
   import { ElMessage } from 'element-plus'
 
   const props = defineProps({
@@ -128,7 +129,21 @@
         requests.unshift(fetchGetRoleScopeList(config.scopeType, props.roleData.id))
       }
 
-      const [checkedIds, treeData] = reloadSelection ? await Promise.all(requests) : [state.checkedKeys, await requests[0]]
+      const guardedResult = await guardRequestWithMessage(
+        reloadSelection ? Promise.all(requests) : Promise.resolve([state.checkedKeys, await requests[0]]),
+        null,
+        {
+          timeoutMessage: `${config.title}鍔犺浇瓒呮椂锛屽凡鍋滄绛夊緟`
+        }
+      )
+      if (!guardedResult) {
+        state.treeData = []
+        state.checkedKeys = []
+        state.halfCheckedKeys = []
+        state.loaded = true
+        return
+      }
+      const [checkedIds, treeData] = guardedResult
       state.treeData = normalizeRoleScopeTreeData(config.scopeType, treeData)
       state.checkedKeys = normalizeScopeKeys(checkedIds)
       state.halfCheckedKeys = []

--
Gitblit v1.9.1