diff --git a/ui/src/router/modules/document.ts b/ui/src/router/modules/document.ts index 0f87e81bb..d0bf78da8 100644 --- a/ui/src/router/modules/document.ts +++ b/ui/src/router/modules/document.ts @@ -1,6 +1,6 @@ import role from '@/api/system/role' import { ChatUserResourceEnum } from '@/enums/workspaceChatUser' - +import {get_next_route} from "@/utils/permission" import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data' const DocumentRouter = { path: '/knowledge/:id/:folderId', @@ -19,6 +19,17 @@ const DocumentRouter = { active: 'document', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', + permission: [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + () => { + const to: any = get_next_route() + return PermissionConst.KNOWLEDGE_DOCUMENT_READ.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + }, + PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole, + ], }, component: () => import('@/views/document/index.vue'), }, @@ -32,6 +43,17 @@ const DocumentRouter = { active: 'problem', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', + permission: [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + () => { + const to: any = get_next_route() + return PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + }, + PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermissionWorkspaceManageRole + ], }, component: () => import('@/views/problem/index.vue'), }, @@ -58,6 +80,17 @@ const DocumentRouter = { parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', resourceType: ChatUserResourceEnum.KNOWLEDGE, + permission: [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + () => { + const to: any = get_next_route() + return PermissionConst.WORKSPACE_CHAT_USER_READ.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + }, + PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole + ], }, component: () => import('@/views/chat-user/index.vue'), }, @@ -71,6 +104,18 @@ const DocumentRouter = { active: 'setting', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', + permission: [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + () => { + const to: any = get_next_route() + return PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + }, + PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole + ] + }, component: () => import('@/views/knowledge/KnowledgeSetting.vue'), },