UnisKB/ui/src/router/modules/application-detail.ts

150 lines
5.6 KiB
TypeScript
Raw Normal View History

2025-06-26 12:25:24 +00:00
import { SourceTypeEnum } from '@/enums/common'
2025-06-25 11:04:02 +00:00
import { get_next_route } from '@/utils/permission'
2025-06-16 12:14:36 +00:00
2025-06-26 02:26:22 +00:00
import { PermissionConst, RoleConst } from '@/utils/permission/data'
import { ComplexPermission } from '@/utils/permission/type'
2025-06-16 09:02:36 +00:00
2025-06-03 09:29:33 +00:00
const ApplicationDetailRouter = {
path: '/application/:id/:type',
name: 'ApplicationDetail',
2025-06-03 11:03:25 +00:00
meta: { title: 'views.applicationOverview.title', activeMenu: '/application', breadcrumb: true },
2025-06-03 09:29:33 +00:00
component: () => import('@/layout/layout-template/MainLayout.vue'),
hidden: true,
children: [
{
path: 'overview',
name: 'AppOverview',
meta: {
icon: 'app-all-menu',
iconActive: 'app-all-menu-active',
title: 'views.applicationOverview.title',
active: 'overview',
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
2025-06-25 11:04:02 +00:00
permission: [
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
2025-06-25 11:04:02 +00:00
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
const to: any = get_next_route()
return PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
]
2025-06-03 09:29:33 +00:00
},
component: () => import('@/views/application-overview/index.vue'),
},
{
path: 'setting',
name: 'AppSetting',
meta: {
icon: 'app-setting',
iconActive: 'app-setting-active',
title: 'common.setting',
active: 'setting',
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
2025-06-25 11:04:02 +00:00
permission: [
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
2025-06-25 11:04:02 +00:00
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
() => {
const to: any = get_next_route()
return PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
]
2025-06-03 09:29:33 +00:00
},
component: () => import('@/views/application/ApplicationSetting.vue'),
},
{
path: 'access',
name: 'AppAccess',
meta: {
icon: 'app-access',
iconActive: 'app-access-active',
title: 'views.application.applicationAccess.title',
active: 'access',
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
2025-06-25 11:04:02 +00:00
permission: [
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
2025-06-25 11:04:02 +00:00
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
const to: any = get_next_route()
return PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
]
2025-06-03 09:29:33 +00:00
},
component: () => import('@/views/application/ApplicationAccess.vue'),
},
2025-06-16 12:14:36 +00:00
{
path: 'chat-user',
name: 'applicationChatUser',
meta: {
2025-07-01 13:22:21 +00:00
icon: 'app-user-chat',
iconActive: 'app-user-chat',
2025-06-16 12:14:36 +00:00
title: 'views.chatUser.title',
2025-07-01 13:22:21 +00:00
active: 'chat-user',
2025-06-16 12:14:36 +00:00
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
2025-06-26 12:25:24 +00:00
resourceType: SourceTypeEnum.APPLICATION,
2025-06-25 11:04:02 +00:00
permission: [
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
2025-06-25 11:04:02 +00:00
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
const to: any = get_next_route()
return PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
]
2025-06-16 12:14:36 +00:00
},
2025-06-17 12:35:24 +00:00
component: () => import('@/views/chat-user/index.vue'),
2025-06-16 12:14:36 +00:00
},
2025-06-11 05:13:10 +00:00
{
path: 'chat-log',
name: 'ChatLog',
meta: {
icon: 'app-document',
iconActive: 'app-document-active',
title: 'views.chatLog.title',
2025-06-11 06:45:12 +00:00
active: 'chat-log',
2025-06-11 05:13:10 +00:00
parentPath: '/application/:id/:type',
2025-06-16 09:02:36 +00:00
parentName: 'ApplicationDetail',
2025-06-25 11:04:02 +00:00
permission: [
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
2025-06-25 11:04:02 +00:00
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
const to: any = get_next_route()
return PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
]
2025-06-11 05:13:10 +00:00
},
2025-06-16 09:02:36 +00:00
component: () => import('@/views/chat-log/index.vue'),
},
2025-06-03 09:29:33 +00:00
],
}
export default ApplicationDetailRouter