2025-08-20 14:39:30 +08:00
|
|
|
|
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: (route) => '新建'+(route.query.formName||'流程')
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'approveFlow',
|
|
|
|
|
|
name: 'ApproveFlow',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/approveFlowPage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '审批'+(route.query.formName||'流程')
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}, {
|
|
|
|
|
|
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: '我发起的'
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'done',
|
|
|
|
|
|
name: 'FlowListPage4',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/processTasksPage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: '已办'
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}, {
|
|
|
|
|
|
path: '/form/:module/:id',
|
|
|
|
|
|
name: 'SimpleForm',
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: '表单'
|
|
|
|
|
|
},
|
|
|
|
|
|
component: LAYOUT,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'createForm',
|
|
|
|
|
|
name: 'createForm',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/formCreatePage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '新建'+(route.query.formName||'表单')
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'updateForm',
|
|
|
|
|
|
name: 'updateForm',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/formCreatePage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '更新'+(route.query.formName||'表单')
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'viewForm',
|
|
|
|
|
|
name: 'viewForm',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/formCreatePage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '查看'+(route.query.formName||'表单')
|
|
|
|
|
|
}
|
2025-11-21 16:38:17 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'createFormCustomer',
|
|
|
|
|
|
name: 'createFormCustomer',
|
|
|
|
|
|
component: () => import('/@/views/sales/Customer/formCreatePage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '新建'+(route.query.formName||'表单')
|
|
|
|
|
|
}
|
2025-08-20 14:39:30 +08:00
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}];
|
2025-10-13 11:53:54 +08:00
|
|
|
|
export const PROCESS_MONITORING: AppRouteRecordRaw[] = [{
|
|
|
|
|
|
path: '/processMonitoring/:arg1/:arg2',
|
|
|
|
|
|
name: 'ProcessMonitoring',
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: '流程监控'
|
|
|
|
|
|
},
|
|
|
|
|
|
component: LAYOUT,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
{
|
|
|
|
|
|
path: 'processMonitoringFlow',
|
|
|
|
|
|
name: 'ProcessMonitoringFlow',
|
|
|
|
|
|
component: () => import('/@/views/secondDev/processMonitoringPage.vue'),
|
|
|
|
|
|
meta: {
|
|
|
|
|
|
title: (route) => '流程监控'
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
]
|
|
|
|
|
|
}]
|