diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index 637f627fe..be78b2aa2 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -20,7 +20,10 @@ const share = { doc_sync: () => false, doc_delete: () => false, doc_export: () => false, - + + problem_create: () => false, + problem_relate: () => false, + problem_delete: () => false, } export default share diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index f153af801..87b6b1996 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -173,6 +173,36 @@ const workspace = { ], 'OR', ), + problem_create: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + problem_relate: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + problem_delete: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), } export default workspace diff --git a/ui/src/views/problem/index.vue b/ui/src/views/problem/index.vue index f51ebb6ce..051b38a01 100644 --- a/ui/src/views/problem/index.vue +++ b/ui/src/views/problem/index.vue @@ -7,24 +7,18 @@
+ v-if="permissionPrecise.problem_create(id)" + > {{ $t('views.problem.createProblem') }} + v-if="permissionPrecise.problem_relate(id)" + > {{ $t('views.problem.relateParagraph.title') }} + v-if="permissionPrecise.problem_delete(id)" + > {{ $t('views.problem.setting.batchDelete') }}
@@ -43,8 +37,7 @@ class="mt-16" :data="problemData" :pagination-config="paginationConfig" - :quick-create="permissionPrecise.doc_create(id)"" - + :quick-create="permissionPrecise.doc_create(id)" :quickCreateName="$t('views.problem.quickCreateName')" :quickCreatePlaceholder="$t('views.problem.quickCreateProblem')" :quickCreateMaxlength="256" @@ -114,10 +107,7 @@ placement="top" > + v-if="permissionPrecise.problem_relate(id)" > @@ -125,10 +115,7 @@ + v-if="permissionPrecise.problem_delete(id)" >