mirror of
https://gitee.com/maimengcloud/xm-ui-web.git
synced 2025-12-30 10:12:26 +00:00
975 lines
27 KiB
TypeScript
975 lines
27 KiB
TypeScript
import { Layout } from '@/utils/routerHelper'
|
|
|
|
const { t } = useI18n()
|
|
|
|
import XmProjectLayout from '@/views/xm/core/xmProject/index.vue'
|
|
import XmProductLayout from '@/views/xm/core/xmProduct/index.vue'
|
|
import XmIterationLayout from '@/views/xm/core/xmIteration/index.vue'
|
|
import XmTestLayout from '@/views/xm/core/xmTestCasedb/index.vue'
|
|
|
|
const RoutesXmCore: AppRouteRecordRaw[] = [
|
|
{
|
|
path: '/xm/product',
|
|
component: Layout,
|
|
name: 'XmProduct',
|
|
meta: {
|
|
title: '产品管理',
|
|
icon: 'fa:product-hunt'
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'mng',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductMng.vue'),
|
|
name: 'XmProductMng',
|
|
meta: { title: '产品管理',icon:'fa:product-hunt', menu: true }
|
|
},
|
|
{
|
|
path: 'recycle',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductRecycle.vue'),
|
|
name: 'XmProductRecycle',
|
|
meta: { title: '产品回收站',icon:'fa:recycle', menu: true }
|
|
},
|
|
|
|
{
|
|
path: 'tpl',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductTplMng.vue'),
|
|
name: 'XmProductTplMng',
|
|
meta: { title: '产品模板',icon:'fa-solid:copy', menu: true }
|
|
},
|
|
{
|
|
path: 'menu/detail',
|
|
component: () => import('@/views/xm/core/xmMenu/XmMenuDetailRoute.vue'),
|
|
name: 'XmMenuDetailRoute',
|
|
meta: { title: '需求明细', icon:'ep:document', menu: true, hidden: true }
|
|
},
|
|
|
|
{
|
|
path: 'menu/mng',
|
|
component: () => import('@/views/xm/core/xmMenu/XmMenuMngRoute.vue'),
|
|
name: 'XmMenuMng',
|
|
meta: { title: '需求管理',icon:'fa:envira', menu: true }
|
|
},
|
|
{
|
|
path: 'iteration/mng',
|
|
component: () => import('@/views/xm/core/xmIteration/XmIterationMng.vue'),
|
|
name: 'XmIterationMng',
|
|
meta: { title: '迭代管理',icon:'ep:connection', menu: true }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: '/xm/project',
|
|
component: Layout,
|
|
name: 'XmProject',
|
|
meta: {
|
|
title: '项目管理',
|
|
icon: 'fa-solid:project-diagram'
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'mng',
|
|
props:{dataScope:'branchId'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectAllMng',
|
|
meta: { title: '项目管理',icon:'fa-solid:project-diagram', menu: true }
|
|
},
|
|
{
|
|
path: 'pre',
|
|
props:{dataScope:'pre'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngPre',
|
|
meta: { title: '早期项目',icon:'ep:sunrise', false: true }
|
|
},
|
|
{
|
|
path: 'setup',
|
|
props:{dataScope:'setup'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngSetup',
|
|
meta: { title: '立项管理',icon:'ep:star', false: true }
|
|
},
|
|
{
|
|
path: 'execute',
|
|
props:{dataScope:'execute'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngExecute',
|
|
meta: { title: '实施管理',icon:'ep:wind-power', false: true }
|
|
},
|
|
{
|
|
path: 'accept',
|
|
props:{dataScope:'accept'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngAccept',
|
|
meta: { title: '结项管理',icon:'ep:finished', false: true }
|
|
},
|
|
{
|
|
path: 'suffix',
|
|
props:{dataScope:'suffix'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngSuffix',
|
|
meta: { title: '结后管理',icon:'ep:monitor', false: true }
|
|
},
|
|
{
|
|
path: 'close',
|
|
props:{dataScope:'close'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngClose',
|
|
meta: { title: '已关闭项目',icon:'ep:checked', false: true }
|
|
},
|
|
{
|
|
path: 'mng/me',
|
|
props:{dataScope:'compete'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectMng.vue'),
|
|
name: 'xmProjectMngCompete',
|
|
meta: { title: '项目(我的)',icon:'fa-solid:project-diagram', menu: true }
|
|
},
|
|
{
|
|
path: 'recycle',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectRecycle.vue'),
|
|
name: 'XmProjectRecycle',
|
|
meta: { title: '项目回收站',icon:'fa:recycle', menu: true }
|
|
},
|
|
{
|
|
path: 'mng/record',
|
|
component: () => import('@/views/xm/core/components/XmDynamics.vue'),
|
|
name: 'XmRecord',
|
|
meta: { title: '项目动态',icon:'fa-solid:list', menu: true }
|
|
},
|
|
{
|
|
path: 'tpl',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectTplMng.vue'),
|
|
name: 'XmProjectTplMng',
|
|
meta: { title: '项目模板',icon:'fa-solid:copy', menu: true }
|
|
},
|
|
{
|
|
path: 'evn/mng',
|
|
component: () => import('@/views/xm/core/xmEnvList/XmEnvListMng.vue'),
|
|
name: 'XmEnvListMng',
|
|
meta: { title: '环境清单',icon:'fa-solid:list-ol', menu: true }
|
|
},
|
|
{
|
|
path: 'task/center',
|
|
component: () => import('@/views/xm/core/xmTask/XmTaskCenter.vue'),
|
|
name: 'xmTaskCenter',
|
|
meta: { title: '任务大厅',icon:'ep:operation', menu: true }
|
|
},
|
|
{
|
|
path: 'task/center/me',
|
|
component: () => import('@/views/xm/core/xmTask/XmMyTaskCenter.vue'),
|
|
name: 'xmMyTaskCenter',
|
|
meta: { title: '任务(我的)',icon:'ep:operation', menu: true }
|
|
},
|
|
{
|
|
path: 'workload/mng',
|
|
component: () => import('@/views/xm/core/xmWorkload/XmWorkloadMng.vue'),
|
|
name: 'XmWorkloadMng',
|
|
meta: { title: '工时管理',icon:"fa-solid:user-clock", menu: true }
|
|
},
|
|
{
|
|
path: 'task/detail',
|
|
component: () => import('@/views/xm/core/xmTask/XmTaskDetailRoute.vue'),
|
|
name: 'XmTaskDetailRoute',
|
|
meta: { title: '任务详情',icon:'ep:document', menu: true, hidden: true }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: '/xm/project/view',
|
|
component: XmProjectLayout,
|
|
name: 'XmProjectView',
|
|
meta: {
|
|
title: '项目管理-视图',
|
|
icon: 'project',
|
|
hidden: true,
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'overview',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectOverview.vue'),
|
|
name: 'projectOverview',
|
|
meta: {
|
|
title: '项目-首页',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'product',
|
|
component: () => import('@/views/xm/core/xmProductProjectLink/LinkForProject.vue'),
|
|
name: 'projectProductLinkForProject',
|
|
meta: {
|
|
title: '项目-产品',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'menu',
|
|
component: () => import('@/views/xm/core/xmMenu/XmMenuBoxForProject.vue'),
|
|
name: 'projectMenu',
|
|
meta: {
|
|
title: '项目-需求',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'iteration',
|
|
component: () => import('@/views/xm/core/xmIteration/XmIterationMngForProject.vue'),
|
|
name: 'projectIteration',
|
|
meta: {
|
|
title: '项目-迭代',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'milestone',
|
|
component: () => import('@/views/xm/core/xmTask/XmMilestoneForProject.vue'),
|
|
name: 'projectMilestone',
|
|
meta: {
|
|
title: '项目-里程碑计划',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'plan',
|
|
component: () => import('@/views/xm/core/xmTask/XmPlanForProject.vue'),
|
|
name: 'projectPlan',
|
|
meta: {
|
|
title: '项目-计划',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'task',
|
|
component: () => import('@/views/xm/core/xmTask/XmTaskListForProject.vue'),
|
|
name: 'projectTask',
|
|
meta: {
|
|
title: '项目-任务',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'env',
|
|
component: () => import('@/views/xm/core/xmEnvList/XmEnvListMng.vue'),
|
|
name: 'projectEnv',
|
|
meta: {
|
|
title: '项目-环境清单',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'test/plan',
|
|
component: () => import('@/views/xm/core/xmTestPlan/XmTestPlanForProject.vue'),
|
|
name: 'projectTestPlan',
|
|
meta: {
|
|
title: '项目-测试',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'question',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionForProject.vue'),
|
|
name: 'projectQuestion',
|
|
meta: {
|
|
title: '项目-问题',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'group',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupForProject.vue'),
|
|
name: 'projectGroup',
|
|
meta: {
|
|
title: '项目-团队',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'record',
|
|
component: () => import('@/views/xm/core/xmRecord/XmRecordForProject.vue'),
|
|
name: 'projectRecord',
|
|
meta: {
|
|
title: '项目-日志',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'dynamics',
|
|
component: () => import('@/views/xm/core/xmRecord/XmProjectDynamics.vue'),
|
|
name: 'projectDynamics',
|
|
meta: {
|
|
title: '项目-动态',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'workloadDay',
|
|
component: () => import('@/views/xm/core/xmWorkload/DayListForProject.vue'),
|
|
name: 'projectWorkloadDay',
|
|
meta: {
|
|
title: '项目-工时日报',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'file',
|
|
component: () => import('@/views/xm/core/xmFile/XmFileForProject.vue'),
|
|
name: 'projectFile',
|
|
meta: {
|
|
title: '项目-文档',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'setting',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectCfg.vue'),
|
|
name: 'projectSetting',
|
|
meta: {
|
|
title: '项目-配置',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'detail',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectDetail.vue'),
|
|
name: 'projectDetail',
|
|
meta: {
|
|
title: '项目-详情',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'setup',
|
|
props:{bizKey:'xm_project_start_approva'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectDetail.vue'),
|
|
name: 'projectSetup',
|
|
meta: {
|
|
title: '项目-立项申请',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'accept',
|
|
props:{bizKey:'xm_project_over_approva'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectDetail.vue'),
|
|
name: 'projectAccept',
|
|
meta: {
|
|
title: '项目-结项申请',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'comm/change',
|
|
props:{bizKey:'xm_project_comm_change_approva'},
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectCommChange.vue'),
|
|
name: 'projectCommChange',
|
|
meta: {
|
|
title: '项目-项目变更申请',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'currFlow',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectCurrFlow.vue'),
|
|
name: 'projectCurrFlow',
|
|
meta: {
|
|
title: '项目-当前审批流',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'hisFlow',
|
|
component: () => import('@/views/xm/core/xmProject/XmProjectHisFlow.vue'),
|
|
name: 'projectHisFlow',
|
|
meta: {
|
|
title: '项目-历史审批流',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: '/xm/product/view',
|
|
component: XmProductLayout,
|
|
name: 'XmProductView',
|
|
meta: {
|
|
title: '产品管理-视图',
|
|
icon: 'product',
|
|
hidden: true,
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'overview',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductOverview.vue'),
|
|
name: 'productOverview',
|
|
meta: {
|
|
title: '产品-首页',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'project',
|
|
component: () => import('@/views/xm/core/xmProductProjectLink/LinkForProduct.vue'),
|
|
name: 'productProjectLinkForProduct',
|
|
meta: {
|
|
title: '产品-项目',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'menu',
|
|
component: () => import('@/views/xm/core/xmMenu/XmMenuBoxForProduct.vue'),
|
|
name: 'productMenu',
|
|
meta: {
|
|
title: '产品-需求',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'func',
|
|
component: () => import('@/views/xm/core/xmFunc/XmFuncForProduct.vue'),
|
|
name: 'productFunc',
|
|
meta: {
|
|
title: '产品-模块',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'iteration',
|
|
component: () => import('@/views/xm/core/xmIteration/XmIterationMngForProduct.vue'),
|
|
name: 'productIteration',
|
|
meta: {
|
|
title: '产品-迭代',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'plan',
|
|
component: () => import('@/views/xm/core/xmTask/XmPlanForProduct.vue'),
|
|
name: 'productPlan',
|
|
meta: {
|
|
title: '产品-计划',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'task',
|
|
component: () => import('@/views/xm/core/xmTask/XmTaskListForProduct.vue'),
|
|
name: 'productTask',
|
|
meta: {
|
|
title: '产品-任务',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'env',
|
|
component: () => import('@/views/xm/core/xmEnvList/XmEnvListMng.vue'),
|
|
name: 'productEnv',
|
|
meta: {
|
|
title: '产品-环境清单',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'test/plan',
|
|
component: () => import('@/views/xm/core/xmTestPlan/XmTestPlanForProduct.vue'),
|
|
name: 'productTestPlan',
|
|
meta: {
|
|
title: '产品-测试管理',
|
|
icon: 'iteration',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'test/casedb',
|
|
component: () => import('@/views/xm/core/xmTestCasedb/XmTestCasedbMngForProduct.vue'),
|
|
name: 'productTestCasedb',
|
|
meta: {
|
|
title: '产品-测试用例库',
|
|
icon: 'fa-solid:bug',
|
|
hidden: true
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'question',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionForProduct.vue'),
|
|
name: 'productQuestion',
|
|
meta: {
|
|
title: '产品-问题',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'group',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupForProduct.vue'),
|
|
name: 'productGroup',
|
|
meta: {
|
|
title: '产品-团队',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'record',
|
|
component: () => import('@/views/xm/core/xmRecord/XmRecordForProduct.vue'),
|
|
name: 'productRecord',
|
|
meta: {
|
|
title: '产品-日志',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'dynamics',
|
|
component: () => import('@/views/xm/core/xmRecord/XmProductDynamics.vue'),
|
|
name: 'productDynamics',
|
|
meta: {
|
|
title: '产品-动态',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'file',
|
|
component: () => import('@/views/xm/core/xmFile/XmFileForProduct.vue'),
|
|
name: 'productFile',
|
|
meta: {
|
|
title: '产品-文档',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'detail',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductDetail.vue'),
|
|
name: 'productDetail',
|
|
meta: {
|
|
title: '产品-详情',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'setting',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductCfg.vue'),
|
|
name: 'productSetting',
|
|
meta: {
|
|
title: '产品-设置',
|
|
icon: 'product',
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'workloadDay',
|
|
component: () => import('@/views/xm/core/xmWorkload/DayListForProduct.vue'),
|
|
name: 'productWorkloadDay',
|
|
meta: {
|
|
title: '产品-工时日报',
|
|
icon: 'product',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'currFlow',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductCurrFlow.vue'),
|
|
name: 'productCurrFlow',
|
|
meta: {
|
|
title: '产品-当前审批流',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'hisFlow',
|
|
component: () => import('@/views/xm/core/xmProduct/XmProductHisFlow.vue'),
|
|
name: 'productHisFlow',
|
|
meta: {
|
|
title: '产品-历史审批流',
|
|
icon: 'project',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: '/xm/iteration/view',
|
|
component: XmIterationLayout,
|
|
name: 'XmIterationView',
|
|
meta: {
|
|
title: '迭代管理-视图',
|
|
icon: 'iteration',
|
|
hidden: true,
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'overview',
|
|
component: () => import('@/views/xm/core/xmIteration/XmIterationOverview.vue'),
|
|
name: 'iterationOverview',
|
|
meta: {
|
|
title: '迭代-首页',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'detail',
|
|
component: () => import('@/views/xm/core/xmIteration/XmIterationDetail.vue'),
|
|
name: 'iterationDetail',
|
|
meta: {
|
|
title: '迭代-详情',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'menu',
|
|
component: () => import('@/views/xm/core/xmMenu/XmMenuBoxForIteration.vue'),
|
|
name: 'iterationMenu',
|
|
meta: {
|
|
title: '迭代-需求',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'func',
|
|
component: () => import('@/views/xm/core/xmFunc/XmFuncForIteration.vue'),
|
|
name: 'iterationFunc',
|
|
meta: {
|
|
title: '迭代-模块',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'task',
|
|
component: () => import('@/views/xm/core/xmTask/XmTaskListForIteration.vue'),
|
|
name: 'iterationTask',
|
|
meta: {
|
|
title: '迭代-任务',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'test/plan',
|
|
component: () => import('@/views/xm/core/xmTestPlan/XmTestPlanForIteration.vue'),
|
|
name: 'iterationTestPlan',
|
|
meta: {
|
|
title: '迭代-测试管理',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'question',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionForIteration.vue'),
|
|
name: 'iterationQuestion',
|
|
meta: {
|
|
title: '迭代-问题',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'group',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupForIteration.vue'),
|
|
name: 'iterationGroup',
|
|
meta: { title: '团队',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'menu/scope',
|
|
component: () => import('@/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue'),
|
|
name: 'iterationMenuScope',
|
|
meta: { title: '团队',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'record',
|
|
component: () => import('@/views/xm/core/xmRecord/XmRecordForIteration.vue'),
|
|
name: 'iterationRecord',
|
|
meta: {
|
|
title: '迭代-日志',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
{
|
|
path: 'workloadDay',
|
|
component: () => import('@/views/xm/core/xmWorkload/DayListForIteration.vue'),
|
|
name: 'iterationWorkloadDay',
|
|
meta: {
|
|
title: '迭代-工时日报',
|
|
icon: 'iteration',
|
|
menu: true,
|
|
hidden: true
|
|
}
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: '/xm/test',
|
|
component: Layout,
|
|
name: 'XmTest',
|
|
meta: {
|
|
title: '测试管理',
|
|
icon: 'fa-solid:bug'
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'casedb/mng',
|
|
component: () => import('@/views/xm/core/xmTestCasedb/XmTestCasedbMngForRoute.vue'),
|
|
name: 'XmTestCasedbMng',
|
|
meta: { title: '用例库管理',icon:'fa-solid:star-of-david', menu: true }
|
|
},
|
|
{
|
|
path: 'case/mng',
|
|
component: () => import('@/views/xm/core/xmTestCase/XmTestCaseMng.vue'),
|
|
name: 'XmTestCaseMng',
|
|
meta: { title: '用例管理',icon:'fa-solid:fan', menu: true }
|
|
},
|
|
{
|
|
path: 'plan/mng',
|
|
component: () => import('@/views/xm/core/xmTestPlan/XmTestPlanMng.vue'),
|
|
name: 'XmTestPlanMng',
|
|
meta: { title: '测试计划',icon:'fa:fire', menu: true }
|
|
},
|
|
{
|
|
path: 'question/detail',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionDetailRoute.vue'),
|
|
name: 'questionDetail',
|
|
meta: { title: '问题明细',icon:'fa:bug', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'question/mng',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionMngRoute.vue'),
|
|
name: 'XmQuestionMng',
|
|
meta: { title: '问题管理',icon:'fa:bug', menu: true }
|
|
},
|
|
{
|
|
path: 'question/mng/me',
|
|
component: () => import('@/views/xm/core/xmQuestion/XmQuestionMngMy.vue'),
|
|
name: 'XmQuestionMngMy',
|
|
meta: { title: '问题(我的)',icon:'fa:bug', menu: true }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: '/xm/test/view',
|
|
component: XmTestLayout,
|
|
name: 'XmTestView',
|
|
meta: {
|
|
title: '测试管理-视图',
|
|
icon: 'bug',
|
|
hidden: true,
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'overview',
|
|
component: () => import('@/views/xm/core/xmTestCasedb/Overview.vue'),
|
|
name: 'testOverview',
|
|
meta: { title: '测试管理', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'detail',
|
|
component: () => import('@/views/xm/core/xmTestCasedb/Overview.vue'),
|
|
name: 'testDetail',
|
|
meta: { title: '用例库详情', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'case',
|
|
component: () => import('@/views/xm/core/xmTestCase/XmTestCaseForList.vue'),
|
|
name: 'testCase',
|
|
meta: { title: '用例管理', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'flow',
|
|
component: () => import('@/views/xm/core/xmTestCase/XmTestCaseForFlow.vue'),
|
|
name: 'testFlow',
|
|
meta: { title: '用例评审', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'plan',
|
|
component: () => import('@/views/xm/core/xmTestPlan/Overview.vue'),
|
|
name: 'testPlan',
|
|
meta: { title: '测试计划', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'env',
|
|
component: () => import('@/views/xm/core/xmTestCasedb/EnvIndex.vue'),
|
|
name: 'testEnv',
|
|
meta: { title: '环境', menu: true, hidden: true }
|
|
},
|
|
|
|
{
|
|
path: 'plan/detail',
|
|
component: () => import('@/views/xm/core/xmTestPlan/Detail.vue'),
|
|
name: 'testPlanDetail',
|
|
meta: { title: '测试计划明细', menu: true, hidden: true }
|
|
},
|
|
|
|
{
|
|
path: 'group',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupForTest.vue'),
|
|
name: 'testGroup',
|
|
meta: { title: '团队', menu: true, hidden: true }
|
|
},
|
|
{
|
|
path: 'record',
|
|
component: () => import('@/views/xm/core/xmRecord/XmRecordForTestCasedb.vue'),
|
|
name: 'testRecord',
|
|
meta: {
|
|
title: '测试库-日志',
|
|
hidden: true
|
|
}
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: '/xm/group',
|
|
component: Layout,
|
|
name: 'XmGroup',
|
|
meta: {
|
|
title: '团队管理',
|
|
icon: 'fa:sitemap'
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'mng',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupAllMng.vue'),
|
|
name: 'XmGroupAllMng',
|
|
meta: { title: '团队管理',icon:'fa:sitemap', menu: true }
|
|
},
|
|
{
|
|
path: 'user',
|
|
component: () => import('@/views/xm/core/xmGroupUser/XmGroupUserMng.vue'),
|
|
name: 'XmGroupUserMng',
|
|
meta: { title: '成员管理',icon:'fa-solid:users', menu: true }
|
|
},
|
|
{
|
|
path: 'detail',
|
|
component: () => import('@/views/xm/core/xmGroup/XmGroupRoute.vue'),
|
|
name: 'XmGroupRoute',
|
|
meta: { title: '项目团队',icon:'fa:sitemap', menu: true,hidden: true },
|
|
|
|
}
|
|
]
|
|
},
|
|
|
|
{
|
|
path: '/xm/cfg',
|
|
component: Layout,
|
|
name: 'xmCfg',
|
|
meta: {
|
|
title: '项目配置',
|
|
icon: 'ep:tools',
|
|
hidden: false,
|
|
},
|
|
// leaf: true,//只有一个节点
|
|
children: [
|
|
{
|
|
path: 'type',
|
|
component: () => import('@/views/xm/core/xmCfg/ProjectType.vue'),
|
|
name: 'projectCfgType',
|
|
meta: { icon: 'ep:tools',title: '项目类型', menu: true, hidden: false }
|
|
},
|
|
{
|
|
path: 'setup',
|
|
props:{itemCode:'projectSetup'},
|
|
component: () => import('@/components/mdp-ui-ext/mdp-meta-option/Options.vue'),
|
|
name: 'projectCfgSetup',
|
|
meta: { icon: 'ep:tools',title: '立项细则', menu: true, hidden: false }
|
|
},
|
|
{
|
|
path: 'accept',
|
|
props:{itemCode:'projectAccept'},
|
|
component: () => import('@/components/mdp-ui-ext/mdp-meta-option/Options.vue'),
|
|
name: 'projectCfgAccept',
|
|
meta: { icon: 'ep:tools',title: '结项细则', menu: true, hidden: false }
|
|
}
|
|
]
|
|
},
|
|
]
|
|
|
|
export default RoutesXmCore
|