diff --git a/frontend/src/views/components/UserManagement/UserManagement.js b/frontend/src/views/components/UserManagement/UserManagement.js index 8ae9156..5a78d34 100644 --- a/frontend/src/views/components/UserManagement/UserManagement.js +++ b/frontend/src/views/components/UserManagement/UserManagement.js @@ -68,6 +68,8 @@ export function usePage() { const canCreateUser = computed(() => globalStatus.hasCapability('user.create')) + const canEditUser = user => canManageUser(globalStatus.role, user?.Role) + const canEditSelectedUser = computed(() => editModel.value === 'create' ? canCreateUser.value && availableRoles.value.length > 0 : canManageUser(globalStatus.role, selectedUser.value?.Role)) @@ -101,6 +103,7 @@ export function usePage() { } const handleEdit = function (idx, row) { + if (!canEditUser(row)) return selectedUser.value = row editUserInfo.account = row.Account editUserInfo.name = row.Name @@ -227,6 +230,7 @@ export function usePage() { title, reflushList, handleEdit, + canEditUser, createUser, submit, roleMeta, diff --git a/frontend/src/views/components/UserManagement/UserManagement.vue b/frontend/src/views/components/UserManagement/UserManagement.vue index 467fb2c..c5e920b 100644 --- a/frontend/src/views/components/UserManagement/UserManagement.vue +++ b/frontend/src/views/components/UserManagement/UserManagement.vue @@ -18,7 +18,14 @@

{{ group.name }}

- @@ -87,6 +94,7 @@ text bg @click="handleEdit(scope.$index, scope.row)" + :disabled="!canEditUser(scope.row)" class="action-btn" > 编辑 @@ -279,6 +287,7 @@ const { saveMembership, createUser, handleEdit, + canEditUser, reflushList, userInfoDialog, title,