diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts index 0ec4ef06c..442919e55 100644 --- a/ui/src/permission/knowledge/system-manage.ts +++ b/ui/src/permission/knowledge/system-manage.ts @@ -109,7 +109,12 @@ const systemManage = { PermissionConst.RESOURCE_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE ],'OR' ), - + doc_tag: () => hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.RESOURCE_KNOWLEDGE_DOCUMENT_TAG + ],'OR' + ), knowledge_chat_user_read: () => hasPermission([ RoleConst.ADMIN, @@ -150,7 +155,31 @@ const systemManage = { PermissionConst.RESOURCE_KNOWLEDGE_PROBLEM_EDIT ],'OR' ), - chat_user_edit: () =>false, + tag_read: () => + hasPermission([ + RoleConst.ADMIN, + PermissionConst.RESOURCE_KNOWLEDGE_TAG_READ + ],'OR' + ), + tag_create: () => + hasPermission([ + RoleConst.ADMIN, + PermissionConst.RESOURCE_KNOWLEDGE_TAG_CREATE + ],'OR' + ), + tag_edit: () => + hasPermission([ + RoleConst.ADMIN, + PermissionConst.RESOURCE_KNOWLEDGE_TAG_EDIT + ],'OR' + ), + tag_delete: () => + hasPermission([ + RoleConst.ADMIN, + PermissionConst.RESOURCE_KNOWLEDGE_TAG_DELETE + ],'OR' + ), + chat_user_edit: () =>false, auth: () => diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index 5818212f1..56a17c05b 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -133,6 +133,14 @@ const share = { ], 'OR' ), + doc_tag: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_TAG + ], + 'OR' + ), problem_create: () => hasPermission ( [ @@ -182,6 +190,39 @@ const share = { ], 'OR' ), + tag_read: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_TAG_READ + ], + 'OR', + ), + tag_create: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_TAG_CREATE + ], + 'OR', + ), + tag_edit: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_TAG_EDIT + ], + 'OR', + ), + tag_delete: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_TAG_DELETE + ], + 'OR', + ), + chat_user_edit: () =>false, auth: () => false, diff --git a/ui/src/permission/knowledge/workspace-share.ts b/ui/src/permission/knowledge/workspace-share.ts index 8c5360939..40a607f09 100644 --- a/ui/src/permission/knowledge/workspace-share.ts +++ b/ui/src/permission/knowledge/workspace-share.ts @@ -22,10 +22,16 @@ const workspaceShare = { doc_delete: () => false, doc_export: () => false, doc_download: () => false, + doc_tag: () => false, knowledge_chat_user_read: () => false, knowledge_chat_user_edit: () => false, + tag_read: () => false, + tag_create: () => false, + tag_delete: () => false, + tag_edit: () => false, + problem_read: () => false, problem_create: () => false, problem_relate: () => false, diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index 065ee9544..836e0b01f 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -232,6 +232,16 @@ const workspace = { ], 'OR', ), + doc_tag: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_TAG.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_TAG.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), knowledge_chat_user_read: (source_id:string) => false, knowledge_chat_user_edit: (source_id:string) => hasPermission( @@ -293,6 +303,46 @@ const workspace = { ], 'OR', ), + tag_read: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_TAG_READ.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_TAG_READ.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + tag_create: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_TAG_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_TAG_CREATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + tag_edit: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_TAG_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_TAG_EDIT.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + tag_delete: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_TAG_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_TAG_DELETE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), chat_user_edit: (source_id:string) => hasPermission( [ diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index 586e5962d..9165facb6 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -120,6 +120,12 @@ const PermissionConst = { KNOWLEDGE_DOCUMENT_GENERATE: new Permission('KNOWLEDGE_DOCUMENT:READ+GENERATE'), KNOWLEDGE_DOCUMENT_EXPORT: new Permission('KNOWLEDGE_DOCUMENT:READ+EXPORT'), KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE: new Permission('KNOWLEDGE_DOCUMENT:READ+DOWNLOAD'), + KNOWLEDGE_DOCUMENT_TAG: new Permission('KNOWLEDGE_DOCUMENT:READ+TAG'), + + KNOWLEDGE_TAG_READ: new Permission('KNOWLEDGE_TAG:READ'), + KNOWLEDGE_TAG_CREATE: new Permission('KNOWLEDGE_TAG:READ+CREATE'), + KNOWLEDGE_TAG_EDIT: new Permission('KNOWLEDGE_TAG:READ+EDIT'), + KNOWLEDGE_TAG_DELETE: new Permission('KNOWLEDGE_TAG:READ+DELETE'), KNOWLEDGE_PROBLEM_READ: new Permission('KNOWLEDGE_PROBLEM:READ'), KNOWLEDGE_PROBLEM_CREATE: new Permission('KNOWLEDGE_PROBLEM:READ+CREATE'), @@ -194,7 +200,13 @@ const PermissionConst = { SHARED_KNOWLEDGE_DOCUMENT_MIGRATE: new Permission('SYSTEM_KNOWLEDGE_DOCUMENT:READ+MIGRATE'), SHARED_KNOWLEDGE_DOCUMENT_EXPORT: new Permission('SYSTEM_KNOWLEDGE_DOCUMENT:READ+EXPORT'), SHARED_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE: new Permission('SYSTEM_KNOWLEDGE_DOCUMENT:READ+DOWNLOAD'), + SHARED_KNOWLEDGE_DOCUMENT_TAG: new Permission('SYSTEM_KNOWLEDGE_DOCUMENT:READ+TAG'), + SHARED_KNOWLEDGE_TAG_READ: new Permission('SYSTEM_KNOWLEDGE_TAG:READ'), + SHARED_KNOWLEDGE_TAG_EDIT: new Permission('SYSTEM_KNOWLEDGE_TAG:READ+EDIT'), + SHARED_KNOWLEDGE_TAG_CREATE: new Permission('SYSTEM_KNOWLEDGE_TAG:READ+CREATE'), + SHARED_KNOWLEDGE_TAG_DELETE: new Permission('SYSTEM_KNOWLEDGE_TAG:READ+DELETE'), + SHARED_KNOWLEDGE_PROBLEM_READ: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ'), SHARED_KNOWLEDGE_PROBLEM_CREATE: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+CREATE'), SHARED_KNOWLEDGE_PROBLEM_EDIT: new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+EDIT'), @@ -240,7 +252,13 @@ const PermissionConst = { RESOURCE_KNOWLEDGE_DOCUMENT_GENERATE: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_DOCUMENT:READ+GENERATE'), RESOURCE_KNOWLEDGE_DOCUMENT_EXPORT: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_DOCUMENT:READ+EXPORT'), RESOURCE_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_DOCUMENT:READ+DOWNLOAD'), + RESOURCE_KNOWLEDGE_DOCUMENT_TAG: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_DOCUMENT:READ+TAG'), + RESOURCE_KNOWLEDGE_TAG_READ: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ'), + RESOURCE_KNOWLEDGE_TAG_CREATE: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ+CREATE'), + RESOURCE_KNOWLEDGE_TAG_EDIT: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ+EDIT'), + RESOURCE_KNOWLEDGE_TAG_DELETE: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ+DELETE'), + RESOURCE_KNOWLEDGE_PROBLEM_READ: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ'), RESOURCE_KNOWLEDGE_PROBLEM_CREATE: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ+CREATE'), RESOURCE_KNOWLEDGE_PROBLEM_EDIT: new Permission('SYSTEM_RESOURCE_KNOWLEDGE_PROBLEM:READ+EDIT'), diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue index e913e9df3..450ab018f 100644 --- a/ui/src/views/document/index.vue +++ b/ui/src/views/document/index.vue @@ -74,7 +74,7 @@ {{ $t('views.document.tag.addTag') }} - + {{ $t('views.document.tag.label') }} @@ -479,7 +481,9 @@ > {{ $t('views.document.generateQuestion.title') }} - + {{ $t('views.document.tag.setting') }} @@ -771,7 +775,7 @@ const MoreFilledPermission0 = (id: string) => { permissionPrecise.value.doc_migrate(id) || (knowledgeDetail?.value.type === 1 && permissionPrecise.value.doc_sync(id)) || (knowledgeDetail?.value.type === 2 && permissionPrecise.value.doc_sync(id)) || - permissionPrecise.value.doc_delete(id) + permissionPrecise.value.doc_delete(id) || permissionPrecise.value.doc_tag(id) ) } @@ -781,7 +785,8 @@ const MoreFilledPermission1 = (id: string) => { permissionPrecise.value.doc_migrate(id) || permissionPrecise.value.doc_export(id) || permissionPrecise.value.doc_download(id) || - permissionPrecise.value.doc_delete(id) + permissionPrecise.value.doc_delete(id) || + permissionPrecise.value.doc_tag(id) ) } diff --git a/ui/src/views/document/tag/TagDrawer.vue b/ui/src/views/document/tag/TagDrawer.vue index 879af1063..fd8c79ea5 100644 --- a/ui/src/views/document/tag/TagDrawer.vue +++ b/ui/src/views/document/tag/TagDrawer.vue @@ -6,9 +6,12 @@
{{ $t('views.document.tag.create') }} - + {{ $t('common.delete') }}
@@ -37,20 +40,26 @@
- + - + - + @@ -69,13 +78,17 @@