diff --git a/ui/src/router/modules/system.ts b/ui/src/router/modules/system.ts index dae055281..28a62f26e 100644 --- a/ui/src/router/modules/system.ts +++ b/ui/src/router/modules/system.ts @@ -171,7 +171,19 @@ const systemRouter = { parentPath: '/system', parentName: 'system', sameRoute: 'authorization', - permission: [RoleConst.ADMIN], + permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + ], }, children: [ @@ -184,14 +196,11 @@ const systemRouter = { parentPath: '/system', parentName: 'system', resource: 'APPLICATION', + sameRoute: 'authorization', + permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),] }, - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE, - PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ, - PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ - .getWorkspacePermissionWorkspaceManageRole, - ], component: () => import('@/views/system/resource-authorization/index.vue'), }, { @@ -203,13 +212,10 @@ const systemRouter = { parentPath: '/system', parentName: 'system', resource: 'KNOWLEDGE', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE, - PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ, - PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ - .getWorkspacePermissionWorkspaceManageRole, - ], + sameRoute: 'authorization', + permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),] }, component: () => import('@/views/system/resource-authorization/index.vue'), }, @@ -222,13 +228,10 @@ const systemRouter = { parentPath: '/system', parentName: 'system', resource: 'TOOL', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE, - PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, - PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ - .getWorkspacePermissionWorkspaceManageRole, - ], + sameRoute: 'authorization', + permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),] }, component: () => import('@/views/system/resource-authorization/index.vue'), }, @@ -241,13 +244,10 @@ const systemRouter = { parentPath: '/system', parentName: 'system', resource: 'MODEL', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE, - PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, - PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ - .getWorkspacePermissionWorkspaceManageRole, - ], + sameRoute: 'authorization', + permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ, + PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),] }, component: () => import('@/views/system/resource-authorization/index.vue'), }, diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index 51ea33837..d92c4d65d 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -237,16 +237,16 @@ const PermissionConst = { 'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ', ), APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission( - 'APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT', + 'APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT', ), KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission( - 'KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT', + 'KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT', ), TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission( - 'TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT', + 'TOOL_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT', ), MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission( - 'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT', + 'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT', ), } const RoleConst = { diff --git a/ui/src/views/system/resource-authorization/index.vue b/ui/src/views/system/resource-authorization/index.vue index 632e01abc..96be14bf2 100644 --- a/ui/src/views/system/resource-authorization/index.vue +++ b/ui/src/views/system/resource-authorization/index.vue @@ -81,7 +81,9 @@
- {{ $t('common.save') }} + {{ $t('common.save') }}
@@ -99,10 +101,12 @@ import { AuthorizationEnum } from '@/enums/system' import { t } from '@/locales' import useStore from '@/stores' import { cloneDeep } from 'lodash' -import { EditionConst } from '@/utils/permission/data' +import { EditionConst, RoleConst, PermissionConst } from '@/utils/permission/data' import { hasPermission } from '@/utils/permission/index' import WorkspaceApi from '@/api/workspace/workspace.ts' import type { WorkspaceItem } from '@/api/type/workspace' +import { ComplexPermission } from '@/utils/permission/type' + const route = useRoute() const { user } = useStore() const loading = ref(false) @@ -114,6 +118,21 @@ const currentType = ref('') const filterText = ref('') const tableHeight = ref(0) +const permissionObj=ref({ + "APPLICATION":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT, + PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + "KNOWLEDGE":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT, + PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + "TOOL":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT, + PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'), + "MODEL":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], + [PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT, + PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR') +}) +console.log(route.meta.resource||'APPLICATION') const settingTags = reactive([ { label: t('views.knowledge.title'),