188 lines
4.7 KiB
TypeScript
188 lines
4.7 KiB
TypeScript
import type { AppRouteRecordRaw } from '/@/router/types';
|
||
import { t } from '/@/hooks/web/useI18n';
|
||
import { REDIRECT_NAME, LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME } from '/@/router/constant';
|
||
import { PageEnum } from '/@/enums/pageEnum';
|
||
|
||
// 404 on a page
|
||
export const PAGE_NOT_FOUND_ROUTE: AppRouteRecordRaw = {
|
||
path: '/:path(.*)*',
|
||
name: PAGE_NOT_FOUND_NAME,
|
||
component: LAYOUT,
|
||
meta: {
|
||
title: 'ErrorPage',
|
||
hideBreadcrumb: true,
|
||
hideMenu: true
|
||
},
|
||
children: [
|
||
{
|
||
path: '/:path(.*)*',
|
||
name: PAGE_NOT_FOUND_NAME,
|
||
component: EXCEPTION_COMPONENT,
|
||
meta: {
|
||
title: 'ErrorPage',
|
||
hideBreadcrumb: true,
|
||
hideMenu: true
|
||
}
|
||
}
|
||
]
|
||
};
|
||
|
||
export const REDIRECT_ROUTE: AppRouteRecordRaw = {
|
||
path: '/redirect',
|
||
component: LAYOUT,
|
||
name: 'RedirectTo',
|
||
meta: {
|
||
title: REDIRECT_NAME,
|
||
hideBreadcrumb: true,
|
||
hideMenu: true
|
||
},
|
||
children: [
|
||
{
|
||
path: '/redirect/:path(.*)',
|
||
name: REDIRECT_NAME,
|
||
component: () => import('/@/views/sys/redirect/index.vue'),
|
||
meta: {
|
||
title: REDIRECT_NAME,
|
||
hideBreadcrumb: true
|
||
}
|
||
}
|
||
]
|
||
};
|
||
|
||
export const ERROR_LOG_ROUTE: AppRouteRecordRaw = {
|
||
path: '/error-log',
|
||
name: 'ErrorLog',
|
||
component: LAYOUT,
|
||
redirect: '/error-log/list',
|
||
meta: {
|
||
title: 'ErrorLog',
|
||
hideBreadcrumb: true,
|
||
hideChildrenInMenu: true
|
||
},
|
||
children: [
|
||
{
|
||
path: 'list',
|
||
name: 'ErrorLogList',
|
||
component: () => import('/@/views/sys/error-log/index.vue'),
|
||
meta: {
|
||
title: t('错误日志列表'),
|
||
hideBreadcrumb: true,
|
||
currentActiveMenu: '/error-log'
|
||
}
|
||
}
|
||
]
|
||
};
|
||
|
||
export const SYSTEM_ROUTE: AppRouteRecordRaw = {
|
||
path: '/dashboard',
|
||
name: 'Dashboard',
|
||
component: LAYOUT,
|
||
redirect: '/dashboard/analysis',
|
||
meta: {
|
||
orderNo: 10,
|
||
icon: 'ion:grid-outline',
|
||
title: t('分析页')
|
||
},
|
||
children: [
|
||
{
|
||
path: 'analysis',
|
||
name: 'Analysis',
|
||
component: () => import('/@/views/dashboard/analysis/index.vue'),
|
||
meta: {
|
||
affix: true,
|
||
title: t('分析页')
|
||
}
|
||
},
|
||
{
|
||
path: 'workbench',
|
||
name: 'Workbench',
|
||
component: () => import('/@/views/dashboard/workbench/index.vue'),
|
||
meta: {
|
||
title: t('工作台')
|
||
}
|
||
}
|
||
]
|
||
};
|
||
|
||
export const USERCENTER_ROUTE: AppRouteRecordRaw = {
|
||
path: '/user-center',
|
||
name: 'UserCenter',
|
||
component: LAYOUT,
|
||
redirect: PageEnum.USER_CENTER,
|
||
meta: {
|
||
title: t('用户中心')
|
||
},
|
||
children: [
|
||
{
|
||
path: 'info',
|
||
name: 'UserInfo',
|
||
component: () => import('/@/views/system/setting/index.vue'),
|
||
meta: {
|
||
title: t('用户中心'),
|
||
icon: 'ant-design:user-outlined'
|
||
}
|
||
}
|
||
]
|
||
};
|
||
|
||
export const FLOW_ROUTE: AppRouteRecordRaw[] = [{
|
||
path: '/flow/:arg1/:arg2',
|
||
name: 'Flow',
|
||
meta: {
|
||
title: '流程'
|
||
},
|
||
component: LAYOUT,
|
||
children: [
|
||
{
|
||
path: 'createFlow',
|
||
name: 'CreateFlow',
|
||
component: () => import('/@/views/secondDev/createFlow.vue'),
|
||
meta: {
|
||
title: '新建流程'
|
||
}
|
||
},
|
||
{
|
||
path: 'approveFlow',
|
||
name: 'ApproveFlow',
|
||
component: () => import('/@/views/secondDev/approveFlowPage.vue'),
|
||
meta: {
|
||
title: '审批流程'
|
||
}
|
||
}
|
||
]
|
||
}, {
|
||
path: '/flowList',
|
||
name: 'FlowList',
|
||
meta: {
|
||
title: '流程列表'
|
||
},
|
||
component: LAYOUT,
|
||
children: [
|
||
/* 菜单不支持复用,不同菜单如果path或者name一样会报错 */
|
||
{
|
||
path: 'draft',
|
||
name: 'FlowListPage',
|
||
component: () => import('/@/views/secondDev/processTasksPage.vue'),
|
||
meta: {
|
||
title: '草稿箱'
|
||
}
|
||
},
|
||
{
|
||
path: 'todo',
|
||
name: 'FlowListPage2',
|
||
component: () => import('/@/views/secondDev/processTasksPage.vue'),
|
||
meta: {
|
||
title: '待办列表'
|
||
}
|
||
},
|
||
{
|
||
path: 'myProcess',
|
||
name: 'FlowListPage3',
|
||
component: () => import('/@/views/secondDev/processTasksPage.vue'),
|
||
meta: {
|
||
title: '我发起的'
|
||
}
|
||
}
|
||
]
|
||
}];
|