diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts
index 44a1d755e..45b1fdfcc 100644
--- a/ui/src/utils/permission/data.ts
+++ b/ui/src/utils/permission/data.ts
@@ -72,6 +72,11 @@ const PermissionConst = {
CHAT_USER_GROUP: new Permission('CHAT_USER:READ+USER_GROUP'),
USER_GROUP_READ: new Permission('USER_GROUP:READ'),
+ USER_GROUP_CREATE: new Permission('USER_GROUP:READ+CREATE'),
+ USER_GROUP_EDIT: new Permission('USER_GROUP:READ+EDIT'),
+ USER_GROUP_DELETE: new Permission('USER_GROUP:READ+DELETE'),
+ USER_GROUP_ADD_MEMBER: new Permission('USER_GROUP:READ+ADD_MEMBER'),
+ USER_GROUP_REMOVE_MEMBER: new Permission('USER_GROUP:READ+REMOVE_MEMBER'),
ROLE_READ: new Permission('ROLE:READ'),
diff --git a/ui/src/views/system-chat-user/chat-user/index.vue b/ui/src/views/system-chat-user/chat-user/index.vue
index b060ed588..002412317 100644
--- a/ui/src/views/system-chat-user/chat-user/index.vue
+++ b/ui/src/views/system-chat-user/chat-user/index.vue
@@ -14,20 +14,19 @@
@click="createUser()"
v-hasPermission="
new ComplexPermission(
- [
- RoleConst.ADMIN,
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
- ],
- [PermissionConst.WORKSPACE_CHAT_USER_CREATE.getWorkspacePermission],
- [],
- 'OR',
- )
- "
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.CHAT_USER_CREATE, PermissionConst.WORKSPACE_CHAT_USER_CREATE],
+ [],'OR',)"
>
{{ t('views.userManage.createUser') }}
-
+
{{ $t('views.chatUser.syncUsers') }}
{{ $t('views.chatUser.setUserGroups') }}
@@ -53,16 +45,9 @@
@click="handleBatchDelete"
v-hasPermission="
new ComplexPermission(
- [
- RoleConst.ADMIN,
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
- ],
- [PermissionConst.WORKSPACE_CHAT_USER_DELETE.getWorkspacePermission],
- [],
- 'OR',
- )
- "
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.WORKSPACE_CHAT_USER_DELETE, PermissionConst.CHAT_USER_DELETE],
+ [],'OR',)"
>
{{ $t('common.delete') }}
@@ -186,6 +171,10 @@
size="small"
v-model="row.is_active"
:before-change="() => changeState(row)"
+ v-if="hasPermission(new ComplexPermission(
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
+ [],'OR'),'OR')"
/>
@@ -195,18 +184,10 @@
text
@click.stop="editUser(row)"
:title="$t('common.edit')"
- v-hasPermission="
- new ComplexPermission(
- [
- RoleConst.ADMIN,
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
- ],
- [PermissionConst.WORKSPACE_CHAT_USER_EDIT.getWorkspacePermission],
- [],
- 'OR',
- )
- "
+ v-if="hasPermission(new ComplexPermission(
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
+ [],'OR'),'OR')"
>
@@ -220,18 +201,10 @@
text
@click.stop="editPwdUser(row)"
:title="$t('views.userManage.setting.updatePwd')"
- v-hasPermission="
- new ComplexPermission(
- [
- RoleConst.ADMIN,
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
- ],
- [PermissionConst.WORKSPACE_CHAT_USER_EDIT.getWorkspacePermission],
- [],
- 'OR',
- )
- "
+ v-if="hasPermission(new ComplexPermission(
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
+ [],'OR'),'OR')"
>
@@ -245,18 +218,10 @@
text
@click.stop="deleteUserManage(row)"
:title="$t('common.delete')"
- v-hasPermission="
- new ComplexPermission(
- [
- RoleConst.ADMIN,
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
- ],
- [PermissionConst.WORKSPACE_CHAT_USER_DELETE.getWorkspacePermission],
- [],
- 'OR',
- )
- "
+ v-if="hasPermission(new ComplexPermission(
+ [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
+ [PermissionConst.CHAT_USER_DELETE, PermissionConst.WORKSPACE_CHAT_USER_DELETE],
+ [],'OR'),'OR')"
>
@@ -301,6 +266,7 @@ import SystemGroupApi from '@/api/system/user-group'
import type { ListItem } from '@/api/type/common'
import { PermissionConst, RoleConst } from '@/utils/permission/data'
import { ComplexPermission } from '@/utils/permission/type'
+import { hasPermission } from '@/utils/permission'
const search_type = ref('username')
const search_form = ref<{