From 7d0199cc57aecbc88b19ec8bab2db49ca2be31bb Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 13 十一月 2025 16:13:20 +0800
Subject: [PATCH] fix: bug

---
 src/views/Permission/RoleManage.vue |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 4472bf3..dfd95e2 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -59,21 +59,37 @@
 });
 
 const operationBtnMap: Record<string, OperationBtnType> = {
-  editBtn: { emits: { onClick: (role) => openDialog(role) } },
-  delBtn: { emits: { onClick: (role) => handleDeleteRole(role) }, props: { type: 'danger' } },
-  authorize: { emits: { onClick: (role) => openAuthorizeDialog(role) } },
+  editBtn: {
+    emits: { onClick: (role) => openDialog(role) },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
+  delBtn: {
+    emits: { onClick: (role) => handleDeleteRole(role) },
+    props: { type: 'danger' },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
+  authorize: {
+    emits: { onClick: (role) => openAuthorizeDialog(role) },
+    extraProps: {
+      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
+    },
+  },
   // member: { emits: { onClick: (role) => openMemberDialog(role) } },
   disabledBtn: {
     emits: { onClick: (role) => roleEnableOrForbid(role) },
     props: { type: 'danger' },
     extraProps: {
-      hide: (row) => row.isDisabled,
+      hide: (row: API.GetRolesQueryResultItem) => !(!row.isPublic && !row.isDisabled),
     },
   },
   enableBtn: {
     emits: { onClick: (role) => roleEnableOrForbid(role) },
     extraProps: {
-      hide: (row) => !row.isDisabled,
+      hide: (row: API.GetRolesQueryResultItem) => !(row.isDisabled && !row.isPublic),
     },
   },
 };

--
Gitblit v1.9.1