diff --git a/ui/src/permission/application/system-manage.ts b/ui/src/permission/application/system-manage.ts index fccb4568f..0a4cf363f 100644 --- a/ui/src/permission/application/system-manage.ts +++ b/ui/src/permission/application/system-manage.ts @@ -102,5 +102,34 @@ const systemManage = { ], 'OR' ), + overview_read: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.RESOURCE_APPLICATION_OVERVIEW_READ + ], + 'OR' + ), + access_read: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.RESOURCE_APPLICATION_ACCESS_READ + ],'OR' + ), + chat_user_read: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.RESOURCE_APPLICATION_CHAT_USER_READ + ],'OR' + ), + chat_log_read: () => + hasPermission( + [ + RoleConst.ADMIN, + PermissionConst.RESOURCE_APPLICATION_CHAT_LOG_READ + ], + 'OR') } export default systemManage diff --git a/ui/src/permission/application/workspace.ts b/ui/src/permission/application/workspace.ts index 7ba795cdb..42744b26f 100644 --- a/ui/src/permission/application/workspace.ts +++ b/ui/src/permission/application/workspace.ts @@ -164,6 +164,10 @@ const workspace = { ], 'OR' ), + overview_read: () => false, + access_read: () => false, + chat_user_read: () => false, + chat_log_read: () => false } diff --git a/ui/src/router/modules/application-detail.ts b/ui/src/router/modules/application-detail.ts index f253bb2e6..009526e37 100644 --- a/ui/src/router/modules/application-detail.ts +++ b/ui/src/router/modules/application-detail.ts @@ -33,7 +33,16 @@ const ApplicationDetailRouter = { return PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission( to ? to.params.id : '', ) - } + }, + () => { + const to: any = get_next_route() + if (to.path.includes('resource-management')) {return RoleConst.ADMIN} + }, + () => { + const to: any = get_next_route() + console.log('ss',to) + if (to.path.includes('resource-management')) { return PermissionConst.RESOURCE_APPLICATION_OVERVIEW_READ} + }, ] }, component: () => import('@/views/application-overview/index.vue'), @@ -59,7 +68,15 @@ const ApplicationDetailRouter = { return PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission( to ? to.params.id : '', ) - } + }, + () => { + const to: any = get_next_route() + if (to.path.includes('resource-management')) {return RoleConst.ADMIN} + }, + ()=>{ + const to: any = get_next_route() + if (to.path.includes('resource-management')) { return PermissionConst.RESOURCE_APPLICATION_EDIT} + }, ] }, component: () => import('@/views/application/ApplicationSetting.vue'), @@ -84,6 +101,14 @@ const ApplicationDetailRouter = { return PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',) }],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'), + () => { + const to: any = get_next_route() + if (to.path.includes('resource-management')) {return RoleConst.ADMIN} + }, + ()=>{ + const to: any = get_next_route() + if (to.path.includes('resource-management')) { return PermissionConst.RESOURCE_APPLICATION_ACCESS_READ} + }, ] }, component: () => import('@/views/application/ApplicationAccess.vue'), @@ -109,7 +134,15 @@ const ApplicationDetailRouter = { const to: any = get_next_route() return new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR') - } + }, + () => { + const to: any = get_next_route() + if (to.path.includes('resource-management')) {return RoleConst.ADMIN} + }, + ()=>{ + const to: any = get_next_route() + if (to.path.includes('resource-management')) { return PermissionConst.RESOURCE_APPLICATION_CHAT_USER_READ} + }, ] }, component: () => import('@/views/chat-user/index.vue'), @@ -135,7 +168,15 @@ const ApplicationDetailRouter = { return PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission( to ? to.params.id : '', ) - } + }, + () => { + const to: any = get_next_route() + if (to.path.includes('resource-management')) {return RoleConst.ADMIN} + }, + ()=>{ + const to: any = get_next_route() + if (to.path.includes('resource-management')) { return PermissionConst.RESOURCE_APPLICATION_CHAT_LOG_READ} + }, ] }, component: () => import('@/views/chat-log/index.vue'), diff --git a/ui/src/views/chat-user/index.vue b/ui/src/views/chat-user/index.vue index 1f2b84ec8..6f880838e 100644 --- a/ui/src/views/chat-user/index.vue +++ b/ui/src/views/chat-user/index.vue @@ -259,7 +259,7 @@ const permissionObj = ref({ [], 'OR', ), - APPLICATION_KNOWLEDGE: [RoleConst.ADMIN, PermissionConst.RESOURCE_APPLICATION_CHAT_USER_EDIT], + RESOURCE_APPLICATION: [RoleConst.ADMIN, PermissionConst.RESOURCE_APPLICATION_CHAT_USER_EDIT], RESOURCE_KNOWLEDGE: [RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_CHAT_USER_EDIT], SHAREDKNOWLEDGE: new ComplexPermission( [RoleConst.ADMIN], diff --git a/ui/src/views/system-resource-management/ApplicationResourceIndex.vue b/ui/src/views/system-resource-management/ApplicationResourceIndex.vue index 1b747bee2..fd257d055 100644 --- a/ui/src/views/system-resource-management/ApplicationResourceIndex.vue +++ b/ui/src/views/system-resource-management/ApplicationResourceIndex.vue @@ -241,19 +241,26 @@ effect="dark" :content="$t('views.system.resource_management.management')" placement="top" + v-if="managePermission()" > - + @@ -295,9 +302,6 @@ import { datetimeFormat } from '@/utils/time' import { loadPermissionApi } from '@/utils/dynamics-api/permission-api.ts' import { isWorkFlow } from '@/utils/application.ts' import UserApi from '@/api/user/user.ts' -import { hasPermission } from '@/utils/permission' -import { ComplexPermission } from '@/utils/permission/type' -import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' import permissionMap from '@/permission' import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message' @@ -309,6 +313,19 @@ const permissionPrecise = computed(() => { return permissionMap['application']['systemManage'] }) +const managePermission = () => { + return permissionPrecise.value.overview_read() || + permissionPrecise.value.access_read() || + permissionPrecise.value.edit() || + permissionPrecise.value.chat_log_read() || + permissionPrecise.value.chat_user_read() +} + +const MoreFilledPermission = () => { + return permissionPrecise.value.export() || + permissionPrecise.value.delete() +} + const apiInputParams = ref([]) function toChat(row: any) { row?.work_flow?.nodes @@ -396,131 +413,6 @@ const paginationConfig = reactive({ total: 0, }) -const goApp = (item: any) => { - router.push({ path: get_route(item) }) -} - -const get_route = (item: any) => { - if ( - hasPermission( - [ - new ComplexPermission( - [RoleConst.USER], - [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], - [], - 'AND', - ), - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole, - PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission( - item.id, - ), - ], - 'OR', - ) - ) { - return `/application/resource-management/${item.id}/${item.type}/overview` - } else if ( - hasPermission( - [ - new ComplexPermission( - [RoleConst.USER], - [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], - [], - 'AND', - ), - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole, - PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(item.id), - ], - 'OR', - ) - ) { - if (item.type == 'WORK_FLOW') { - return `/application/resource-management/${item.id}/workflow` - } else { - return `/application/resource-management/${item.id}/${item.type}/setting` - } - } else if ( - hasPermission( - [ - new ComplexPermission( - [RoleConst.USER], - [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'AND', - ), - new ComplexPermission( - [RoleConst.WORKSPACE_MANAGE.getWorkspaceRole], - [PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'OR', - ), - new ComplexPermission( - [], - [ - PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission( - item.id, - ), - ], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'OR', - ), - ], - 'OR', - ) - ) { - return `/application/resource-management/${item.id}/${item.type}/access` - } else if ( - hasPermission( - [ - new ComplexPermission( - [RoleConst.USER], - [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'AND', - ), - new ComplexPermission( - [RoleConst.WORKSPACE_MANAGE.getWorkspaceRole], - [PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'OR', - ), - new ComplexPermission( - [], - [ - PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission( - item.id, - ), - ], - [EditionConst.IS_EE, EditionConst.IS_PE], - 'OR', - ), - ], - 'OR', - ) - ) { - return `/application/resource-management/${item.id}/${item.type}/chat-user` - } else if ( - hasPermission( - [ - new ComplexPermission( - [RoleConst.USER], - [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], - [], - 'AND', - ), - PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole, - PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission( - item.id, - ), - ], - 'OR', - ) - ) { - return `/application/resource-management/${item.id}/${item.type}/chat-log` - } else return `/system/resource-management/application/` -} const workspaceOptions = ref([]) const workspaceVisible = ref(false)