From 41d9daf134e8f096eca81278967a2683f81ae03c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 08 十二月 2025 10:39:06 +0800
Subject: [PATCH] fix: bug
---
src/views/Permission/RoleManage.vue | 32 +++++++++++++++++++++++++++-----
1 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 887b4f1..2e32a69 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -52,27 +52,44 @@
import { EnumUserType } from '@/constants';
import DialogAuthorizeV2 from './components/dialogAuthorizeV2.vue';
import * as roleServices from '@/services/api/role';
+import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
name: 'RoleManage',
});
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),
},
},
};
@@ -169,6 +186,8 @@
},
});
+const queryClient = useQueryClient();
+
async function handleAddOrEdit() {
try {
const isEdit = editForm.id;
@@ -193,6 +212,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(isEdit ? paginationState.pageIndex : 1);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
}
} catch (error) {}
}
@@ -207,6 +227,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
}
} catch (error) {}
}
@@ -221,6 +242,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
return !!res;
}
} catch (error) {}
--
Gitblit v1.9.1