1122 lines
34 KiB
TypeScript
1122 lines
34 KiB
TypeScript
import type { AppRouteRecord } from '@/types/router'
|
|
|
|
/**
|
|
* 前端路由(13 个一级菜单:细胞存储、科研捐赠、中试服务、临床应用、
|
|
* 质检管理、生产管理、运营支撑、市场基础信息、质检基础信息、生产基础信息、
|
|
* 系统基础信息、工作流管理、系统管理)
|
|
* 与后端菜单对齐时请同步 `backend/app/api/menu.py`。
|
|
*/
|
|
export const sqxpAdminRoutes: AppRouteRecord[] = [
|
|
// ──────────────────────────────────────────────
|
|
// 1. 细胞存储
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'CEL00000000000000000000000000001',
|
|
name: 'CellStorage',
|
|
path: '/cell-storage',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '细胞存储',
|
|
icon: 'ri:test-tube-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '50000000000000000000000000000002',
|
|
name: 'CellStorageProtocol',
|
|
path: 'protocol',
|
|
component: '/cell-storage/protocol/index',
|
|
meta: {
|
|
title: '采集协议单录入',
|
|
keepAlive: true,
|
|
isHide: true,
|
|
menuCode: 'biz:cellStorageProtocol:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000003',
|
|
name: 'CellStorageProtocolAudit',
|
|
path: 'protocol-audit',
|
|
component: '/cell-storage/protocol-audit/index',
|
|
meta: {
|
|
title: '采集协议单管理',
|
|
keepAlive: true,
|
|
menuCode: 'biz:cellStorageProtocolAudit:list'
|
|
}
|
|
},
|
|
{
|
|
id: '904b5173519411f1944300163e3bdd96',
|
|
name: 'CellStoragePaymentInfo',
|
|
path: 'payment-info',
|
|
component: '/cell-storage/payment-info/index',
|
|
meta: {
|
|
title: '缴费信息',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'cellStorage:paymentInfo:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000004',
|
|
name: 'CellStoragePaymentConfirm',
|
|
path: 'payment-confirm',
|
|
component: '/cell-storage/payment-confirm/index',
|
|
meta: {
|
|
title: '缴退费财务确认',
|
|
keepAlive: true,
|
|
menuCode: 'biz:cellStoragePaymentConfirm:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000011',
|
|
name: 'CellStorageStorageReleaseReview',
|
|
path: 'storage-release-review',
|
|
component: '/quality-inspection/storage-release-review/index',
|
|
meta: {
|
|
title: '入库放行审核',
|
|
keepAlive: true,
|
|
menuCode: 'biz:storageReleaseReview:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000005',
|
|
name: 'CellStorageRefundConfirm',
|
|
path: 'refund-confirm',
|
|
component: '/cell-storage/refund-confirm/index',
|
|
meta: {
|
|
title: '退费确认(财务)',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:cellStorageRefundConfirm:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000011',
|
|
name: 'CellStorageSampleReceptionInfo',
|
|
path: 'sample-reception-info',
|
|
component: '/cell-storage/sample-reception-info/index',
|
|
meta: {
|
|
title: '样本接收信息',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'cell-storage:sample-reception-info:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000012',
|
|
name: 'CellStorageStorageEntryInfo',
|
|
path: 'storage-entry-info',
|
|
component: '/cell-storage/storage-entry-info/index',
|
|
meta: {
|
|
title: '样本入库信息',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'cell-storage:storage-entry-info:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000006',
|
|
name: 'CellStorageStorageCert',
|
|
path: 'storage-cert',
|
|
component: '/cell-storage/storage-cert/index',
|
|
meta: {
|
|
title: '储存证管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'cell-storage:storage-cert:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000008',
|
|
name: 'CellStorageFullmoonTodo',
|
|
path: 'fullmoon-todo',
|
|
component: '/cell-storage/fullmoon-todo/index',
|
|
meta: {
|
|
title: '满月待办管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'cell-storage:fullmoon-todo:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 2. 科研捐赠
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'RSC00000000000000000000000000001',
|
|
name: 'ResearchDonation',
|
|
path: '/research-donation',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '科研捐赠',
|
|
icon: 'ri:hand-heart-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '60000000000000000000000000000002',
|
|
name: 'ResearchDonationList',
|
|
path: 'list',
|
|
component: '/research-donation/list/index',
|
|
meta: {
|
|
title: '捐赠协议单录入',
|
|
keepAlive: true,
|
|
isHide: true,
|
|
menuCode: 'biz:researchDonation:list'
|
|
}
|
|
},
|
|
{
|
|
id: '60000000000000000000000000000003',
|
|
name: 'ResearchDonationAudit',
|
|
path: 'audit',
|
|
component: '/research-donation/audit/index',
|
|
meta: {
|
|
title: '捐赠协议单管理',
|
|
keepAlive: true,
|
|
menuCode: 'biz:researchDonationAudit:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 3. 中试服务
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'PIL00000000000000000000000000001',
|
|
name: 'PilotService',
|
|
path: '/pilot-service',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '中试服务',
|
|
icon: 'ri:flask-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '80000000000000000000000000000010',
|
|
name: 'PilotApplication',
|
|
path: 'pilot-application',
|
|
component: '/pilot-service/pilot-application/index',
|
|
meta: {
|
|
title: '中试服务申请单',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:pilot-application:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'PIL00000000000000000000000000002',
|
|
name: 'PilotCheckupManagement',
|
|
path: 'checkup-management',
|
|
component: '/pilot-service/checkup-management/index',
|
|
meta: {
|
|
title: '体检管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:checkup-management:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'PIL00000000000000000000000000003',
|
|
name: 'PilotInfusionSchedule',
|
|
path: 'infusion-schedule-management',
|
|
component: '/pilot-service/infusion-schedule-management/index',
|
|
meta: {
|
|
title: '输注计划管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:infusion-schedule-management:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'PIL00000000000000000000000000004',
|
|
name: 'PilotOutboundRelease',
|
|
path: 'outbound-release-review',
|
|
component: '/pilot-service/outbound-release-review/index',
|
|
meta: {
|
|
title: '出库放行审核',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:outbound-release-review:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 4. 临床应用
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'CLI00000000000000000000000000001',
|
|
name: 'ClinicalApplication',
|
|
path: '/clinical-application',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '临床应用',
|
|
icon: 'ri:heart-pulse-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: 'CLI00000000000000000000000000002',
|
|
name: 'ClinicalApplicationList',
|
|
path: 'clinical-application',
|
|
component: '/pilot-service/pilot-application/index',
|
|
meta: {
|
|
title: '临床申请单',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:application:list'
|
|
},
|
|
props: { bizType: 'clinical_application' }
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000003',
|
|
name: 'ClinicalCheckupManagement',
|
|
path: 'clinical-checkup-management',
|
|
component: '/pilot-service/checkup-management/index',
|
|
meta: {
|
|
title: '体检管理',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:checkup-management:list'
|
|
},
|
|
props: { bizType: 'clinical_application' }
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000004',
|
|
name: 'ClinicalInfusionSchedule',
|
|
path: 'clinical-infusion-schedule-management',
|
|
component: '/pilot-service/infusion-schedule-management/index',
|
|
meta: {
|
|
title: '输注计划管理',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:infusion-schedule-management:list'
|
|
},
|
|
props: { bizType: 'clinical_application' }
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000005',
|
|
name: 'ClinicalPaymentInfo',
|
|
path: 'clinical-payment-info',
|
|
component: '/pilot-service/clinical-payment-info/index',
|
|
meta: {
|
|
title: '缴费信息',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:payment-info:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000006',
|
|
name: 'ClinicalPaymentConfirm',
|
|
path: 'clinical-payment-confirm',
|
|
component: '/pilot-service/clinical-payment-confirm/index',
|
|
meta: {
|
|
title: '缴费确认(财务)',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:payment-confirm:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000007',
|
|
name: 'ClinicalRefundConfirm',
|
|
path: 'clinical-refund-confirm',
|
|
component: '/pilot-service/clinical-refund-confirm/index',
|
|
meta: {
|
|
title: '退费确认(财务)',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:refund-confirm:list'
|
|
}
|
|
},
|
|
{
|
|
id: 'CLI00000000000000000000000000008',
|
|
name: 'ClinicalOutboundRelease',
|
|
path: 'clinical-outbound-release-review',
|
|
component: '/pilot-service/outbound-release-review/index',
|
|
meta: {
|
|
title: '出库放行审核',
|
|
keepAlive: true,
|
|
menuCode: 'clinical-application:outbound-release-review:list'
|
|
},
|
|
props: { bizType: 'clinical_application' }
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 5. 质检管理
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'QCM00000000000000000000000000001',
|
|
name: 'QualityManage',
|
|
path: '/quality-manage',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '质检管理',
|
|
icon: 'ri:shield-check-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '70000000000000000000000000000002',
|
|
name: 'QualityInspectionSampleReception',
|
|
path: 'sample-reception',
|
|
component: '/quality-inspection/sample-reception/index',
|
|
meta: {
|
|
title: '样本接收',
|
|
keepAlive: true,
|
|
menuCode: 'biz:sampleReception:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000007',
|
|
name: 'QualityInspectionQcWorkOrder',
|
|
path: 'qc-work-order',
|
|
component: '/quality-inspection/qc-work-order/index',
|
|
meta: {
|
|
title: '质检管理',
|
|
keepAlive: true,
|
|
menuCode: 'biz:qcWorkOrder:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000008',
|
|
name: 'QualityInspectionQcTask',
|
|
path: 'qc-task',
|
|
component: '/quality-inspection/qc-task/index',
|
|
meta: {
|
|
title: '质检任务',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:qcTask:list'
|
|
}
|
|
},
|
|
{
|
|
name: 'QualityInspectionStorageReleaseReviewRedirect',
|
|
path: 'storage-release-review',
|
|
redirect: '/cell-storage/storage-release-review',
|
|
meta: {
|
|
title: '入库放行审核',
|
|
keepAlive: false,
|
|
isHide: true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 6. 生产管理
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'PRM00000000000000000000000000001',
|
|
name: 'ProductionManage',
|
|
path: '/production',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '生产管理',
|
|
icon: 'grid',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '61000000000000000000000000000003',
|
|
name: 'ProductionStorageFacility',
|
|
path: 'storage-facility',
|
|
component: '/operations/storage-facility/index',
|
|
meta: {
|
|
title: '库位管理',
|
|
keepAlive: true,
|
|
menuCode: 'operations:storage-facility:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000013',
|
|
name: 'CellProduct',
|
|
path: 'cell-product',
|
|
component: '/production/cell-product/index',
|
|
meta: {
|
|
title: '细胞产品库',
|
|
keepAlive: true,
|
|
menuCode: 'production:cell-product:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000011',
|
|
name: 'ProductionWorkOrder',
|
|
path: 'production-work-order',
|
|
component: '/production/production-work-order/index',
|
|
meta: {
|
|
title: '生产管理',
|
|
keepAlive: true,
|
|
menuCode: 'production:work-order:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000012',
|
|
name: 'ProductionTask',
|
|
path: 'production-task',
|
|
component: '/production/production-task/index',
|
|
meta: {
|
|
title: '生产任务',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'production:task:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 7. 运营支撑
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'OPS00000000000000000000000000001',
|
|
name: 'Operations',
|
|
path: '/operations',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '运营支撑',
|
|
icon: 'operation',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '61000000000000000000000000000002',
|
|
name: 'CleanRoom',
|
|
path: 'clean-room',
|
|
component: '/operations/clean-room/index',
|
|
meta: {
|
|
title: '洁净室管理',
|
|
keepAlive: true,
|
|
menuCode: 'operations:clean-room:list'
|
|
}
|
|
},
|
|
{
|
|
id: '61000000000000000000000000000004',
|
|
name: 'ExhibitionAppointment',
|
|
path: 'exhibition-appointment',
|
|
component: '/operations/exhibition-appointment/index',
|
|
meta: {
|
|
title: '展馆预约',
|
|
keepAlive: true,
|
|
menuCode: 'operations:exhibition-appointment:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 8. 市场基础信息
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'MKT00000000000000000000000000001',
|
|
name: 'MarketInfo',
|
|
path: '/market-info',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '市场基础信息',
|
|
icon: 'ri:price-tag-3-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '122',
|
|
name: 'BizCellSampleType',
|
|
path: 'cell-sample-type',
|
|
component: '/basic-info/cell-sample-type/index',
|
|
meta: {
|
|
title: '细胞样本基础信息维护',
|
|
keepAlive: true,
|
|
menuCode: 'biz:cellSampleType:list'
|
|
}
|
|
},
|
|
{
|
|
id: '125',
|
|
name: 'BizSampleCode',
|
|
path: 'sample-code',
|
|
component: '/basic-info/sample-code/index',
|
|
meta: {
|
|
title: '样本编码管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:sampleCode:list'
|
|
}
|
|
},
|
|
{
|
|
id: '123',
|
|
name: 'BizCollectionRegion',
|
|
path: 'collection-region',
|
|
component: '/basic-info/collection-region/index',
|
|
meta: {
|
|
title: '细胞采集基础信息维护',
|
|
keepAlive: true,
|
|
menuCode: 'biz:collectionRegion:list'
|
|
}
|
|
},
|
|
{
|
|
id: '124',
|
|
name: 'BizCollectionProtocolNo',
|
|
path: 'collection-protocol-no',
|
|
component: '/basic-info/collection-protocol-no/index',
|
|
meta: {
|
|
title: '采集协议号管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:collectionProtocolNo:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000002',
|
|
name: 'CellProductType',
|
|
path: 'cell-product-type',
|
|
component: '/pilot-service/cell-product-type/index',
|
|
meta: {
|
|
title: '细胞产品基础信息维护',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:cell-product-type:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000003',
|
|
name: 'CellProductSpec',
|
|
path: 'cell-product-spec',
|
|
component: '/pilot-service/cell-product-spec/index',
|
|
meta: {
|
|
title: '细胞产品规格管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:cell-product-spec:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000004',
|
|
name: 'CellProductPrice',
|
|
path: 'cell-product-price',
|
|
component: '/pilot-service/cell-product-price/index',
|
|
meta: {
|
|
title: '细胞产品价格体系管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:cell-product-price:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000005',
|
|
name: 'ProjectPriceSystem',
|
|
path: 'project-price-system',
|
|
component: '/pilot-service/project-price-system/index',
|
|
meta: {
|
|
title: '细胞产品项目价格管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:project-price-system:list'
|
|
}
|
|
},
|
|
{
|
|
id: '40000000000000000000000000000007',
|
|
name: 'BasicInfoInsuranceCompany',
|
|
path: 'insurance-company',
|
|
component: '/basic-info/insurance-company/index',
|
|
meta: {
|
|
title: '保险公司及险种价格',
|
|
keepAlive: true,
|
|
menuCode: 'basic-info:insurance-company:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000007',
|
|
name: 'CheckupInstitution',
|
|
path: 'checkup-institution',
|
|
component: '/pilot-service/checkup-institution/index',
|
|
meta: {
|
|
title: '体检机构及项目价格',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:checkup-institution:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000009',
|
|
name: 'MarketMaterial',
|
|
path: 'material',
|
|
component: '/cell-storage/material/index',
|
|
meta: {
|
|
title: '市场物料库',
|
|
keepAlive: true,
|
|
menuCode: 'biz:material:list'
|
|
}
|
|
},
|
|
{
|
|
id: '50000000000000000000000000000010',
|
|
name: 'MarketMaterialStockLog',
|
|
path: 'material-stock-log',
|
|
component: '/cell-storage/material-stock-log/index',
|
|
meta: {
|
|
title: '市场物料变动记录',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:materialStockLog:list'
|
|
}
|
|
},
|
|
{
|
|
id: '121',
|
|
name: 'BizCustomer',
|
|
path: 'customer',
|
|
component: '/basic-info/customer/index',
|
|
meta: { title: '客户管理', keepAlive: true, menuCode: 'biz:customer:list' }
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000006',
|
|
name: 'Channel',
|
|
path: 'channel',
|
|
component: '/pilot-service/channel/index',
|
|
meta: {
|
|
title: '渠道信息管理',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:channel:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000008',
|
|
name: 'ChannelServiceOrder',
|
|
path: 'channel-service-order',
|
|
component: '/pilot-service/channel-service-order/index',
|
|
meta: {
|
|
title: '渠道服务购买订单',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'pilot-service:channel-service-order:list'
|
|
}
|
|
},
|
|
{
|
|
id: '80000000000000000000000000000009',
|
|
name: 'ChannelServiceOrderFinance',
|
|
path: 'channel-service-order-finance',
|
|
component: '/pilot-service/channel-service-order-finance/index',
|
|
meta: {
|
|
title: '渠道服务订单(财务确认)',
|
|
keepAlive: true,
|
|
menuCode: 'pilot-service:channel-service-order-finance:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 9. 质检基础信息
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'QCB00000000000000000000000000001',
|
|
name: 'QualityBase',
|
|
path: '/quality-base',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '质检基础信息',
|
|
icon: 'ri:clipboard-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '70000000000000000000000000000003',
|
|
name: 'QualityInspectionSampleReceptionCheckItem',
|
|
path: 'sample-reception-check-item',
|
|
component: '/quality-inspection/sample-reception-check-item/index',
|
|
meta: {
|
|
title: '接收检查项配置',
|
|
keepAlive: true,
|
|
menuCode: 'biz:sampleReceptionCheckItem:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000006',
|
|
name: 'QualityInspectionLabTestItem',
|
|
path: 'lab-test-item',
|
|
component: '/quality-inspection/lab-test-item/index',
|
|
meta: {
|
|
title: '质检项目管理',
|
|
keepAlive: true,
|
|
menuCode: 'biz:qcLabTestItem:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000004',
|
|
name: 'QualityInspectionThirdPartyCompany',
|
|
path: 'third-party-company',
|
|
component: '/quality-inspection/third-party-company/index',
|
|
meta: {
|
|
title: '第三方检测公司及项目',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:qcThirdPartyCompany:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000009',
|
|
name: 'QualityInspectionQcMaterial',
|
|
path: 'qc-material',
|
|
component: '/quality-inspection/qc-material/index',
|
|
meta: {
|
|
title: '质检物料库',
|
|
keepAlive: true,
|
|
menuCode: 'biz:qcMaterial:list'
|
|
}
|
|
},
|
|
{
|
|
id: '70000000000000000000000000000010',
|
|
name: 'QualityInspectionQcMaterialUsage',
|
|
path: 'qc-material-usage',
|
|
component: '/quality-inspection/qc-material-usage/index',
|
|
meta: {
|
|
title: '质检物料变动记录',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'biz:qcMaterialUsage:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 10. 生产基础信息
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'PRB00000000000000000000000000001',
|
|
name: 'ProductionBase',
|
|
path: '/production-base',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '生产基础信息',
|
|
icon: 'ri:tools-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '90000000000000000000000000000002',
|
|
name: 'ProductionConsumable',
|
|
path: 'consumable',
|
|
component: '/production/consumable/index',
|
|
meta: {
|
|
title: '耗材管理',
|
|
keepAlive: true,
|
|
menuCode: 'production:consumable:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000007',
|
|
name: 'ProductionConsumablePack',
|
|
path: 'consumable-pack',
|
|
component: '/production/consumable-pack/index',
|
|
meta: {
|
|
title: '耗材包管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'production:consumable-pack:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000003',
|
|
name: 'ProductionReagent',
|
|
path: 'reagent',
|
|
component: '/production/reagent/index',
|
|
meta: {
|
|
title: '试剂管理',
|
|
keepAlive: true,
|
|
menuCode: 'production:reagent:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000004',
|
|
name: 'ProductionSop',
|
|
path: 'sop',
|
|
component: '/production/sop/index',
|
|
meta: {
|
|
title: 'SOP文档',
|
|
keepAlive: true,
|
|
menuCode: 'production:sop-document:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000005',
|
|
name: 'ProductionProcessCategory',
|
|
path: 'process-category',
|
|
component: '/production/process-category/index',
|
|
meta: {
|
|
title: '工艺基础信息维护',
|
|
keepAlive: true,
|
|
menuCode: 'production:process-category:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000006',
|
|
name: 'ProductionOutputType',
|
|
path: 'output-type',
|
|
component: '/production/output-type/index',
|
|
meta: {
|
|
title: '工艺产出物类型',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'production:output-type:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000008',
|
|
name: 'ProductionProcess',
|
|
path: 'process',
|
|
component: '/production/process/index',
|
|
meta: {
|
|
title: '工艺库管理',
|
|
keepAlive: true,
|
|
menuCode: 'production:process:list'
|
|
}
|
|
},
|
|
{
|
|
id: '90000000000000000000000000000010',
|
|
name: 'ProductionProcessRoute',
|
|
path: 'process-route',
|
|
component: '/production/process-route/index',
|
|
meta: {
|
|
title: '工艺路线管理',
|
|
keepAlive: false,
|
|
isHide: true,
|
|
menuCode: 'production:process-route:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 11. 系统基础信息
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'SYSB000000000000000000000000000001',
|
|
name: 'SystemBase',
|
|
path: '/system-base',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '系统基础信息',
|
|
icon: 'ri:archive-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '107',
|
|
name: 'Site',
|
|
path: 'site',
|
|
component: '/system/site/index',
|
|
meta: {
|
|
title: '站点管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:site:list'
|
|
}
|
|
},
|
|
{
|
|
id: '109',
|
|
name: 'Unit',
|
|
path: 'unit',
|
|
component: '/system/unit/index',
|
|
meta: {
|
|
title: '物品单位管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:unit:list'
|
|
}
|
|
},
|
|
{
|
|
id: '110',
|
|
name: 'Express',
|
|
path: 'express',
|
|
component: '/system/express/index',
|
|
meta: {
|
|
title: '快递公司',
|
|
keepAlive: true,
|
|
menuCode: 'system:express:list'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 12. 工作流管理
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'WKF00000000000000000000000000001',
|
|
name: 'Workflow',
|
|
path: '/workflow',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '工作流管理',
|
|
icon: 'workflow',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '10000000000000000000000000000wf01',
|
|
name: 'WorkflowProcess',
|
|
path: 'process',
|
|
component: '/system/workflow/process/index',
|
|
meta: {
|
|
title: '流程配置',
|
|
keepAlive: true,
|
|
icon: 'workflow',
|
|
menuCode: 'workflow:process'
|
|
}
|
|
},
|
|
{
|
|
id: '10000000000000000000000000000wf02',
|
|
name: 'WorkflowPending',
|
|
path: 'pending',
|
|
component: '/system/workflow/task-pending/index',
|
|
meta: {
|
|
title: '待办中心',
|
|
keepAlive: true,
|
|
menuCode: 'workflow:pending'
|
|
}
|
|
},
|
|
{
|
|
id: '10000000000000000000000000000wf03',
|
|
name: 'WorkflowCompleted',
|
|
path: 'completed',
|
|
component: '/system/workflow/task-completed/index',
|
|
meta: {
|
|
title: '已办中心',
|
|
keepAlive: true,
|
|
menuCode: 'workflow:completed'
|
|
}
|
|
},
|
|
{
|
|
id: '10000000000000000000000000000wf05',
|
|
name: 'WorkflowMyApplications',
|
|
path: 'my-applications',
|
|
component: '/system/workflow/my-applications/index',
|
|
meta: {
|
|
title: '我的申请',
|
|
keepAlive: true,
|
|
menuCode: 'workflow:myApplications'
|
|
}
|
|
},
|
|
{
|
|
id: '10000000000000000000000000000wf04',
|
|
name: 'LeaveRequest',
|
|
path: 'leave',
|
|
component: '/system/leave/index',
|
|
meta: {
|
|
title: '请假申请',
|
|
keepAlive: true,
|
|
menuCode: 'workflow:leave'
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
// ──────────────────────────────────────────────
|
|
// 13. 系统管理
|
|
// ──────────────────────────────────────────────
|
|
{
|
|
id: 'SYSM000000000000000000000000000001',
|
|
name: 'SystemManage',
|
|
path: '/system',
|
|
component: '/index/index',
|
|
meta: {
|
|
title: '系统管理',
|
|
icon: 'ri:settings-3-line',
|
|
keepAlive: false,
|
|
roles: ['admin']
|
|
},
|
|
children: [
|
|
{
|
|
id: '101',
|
|
name: 'Tenant',
|
|
path: 'tenant',
|
|
component: '/system/tenant/index',
|
|
meta: {
|
|
title: '租户管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:tenant:list'
|
|
}
|
|
},
|
|
{
|
|
id: '102',
|
|
name: 'Dict',
|
|
path: 'dict',
|
|
component: '/system/dict/index',
|
|
meta: {
|
|
title: '字典管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:dict:list'
|
|
}
|
|
},
|
|
{
|
|
id: '106',
|
|
name: 'Menu',
|
|
path: 'menu',
|
|
component: '/system/menu/index',
|
|
meta: {
|
|
title: '菜单管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:menu:list'
|
|
}
|
|
},
|
|
{
|
|
id: '103',
|
|
name: 'Dept',
|
|
path: 'dept',
|
|
component: '/system/dept/index',
|
|
meta: {
|
|
title: '组织管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:dept:list'
|
|
}
|
|
},
|
|
{
|
|
id: '105',
|
|
name: 'Role',
|
|
path: 'role',
|
|
component: '/system/role/index',
|
|
meta: {
|
|
title: '角色管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:role:list'
|
|
}
|
|
},
|
|
{
|
|
id: '104',
|
|
name: 'User',
|
|
path: 'user',
|
|
component: '/system/user/index',
|
|
meta: {
|
|
title: '用户管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:user:list'
|
|
}
|
|
},
|
|
{
|
|
id: '108',
|
|
name: 'Post',
|
|
path: 'post',
|
|
component: '/system/post/index',
|
|
meta: {
|
|
title: '职位管理',
|
|
keepAlive: true,
|
|
menuCode: 'system:post:list'
|
|
}
|
|
},
|
|
{
|
|
id: '10000000000000000000000000000008',
|
|
name: 'UserDetail',
|
|
path: 'user/detail',
|
|
component: '/system/user/detail',
|
|
meta: { title: '用户详情', isHide: true, keepAlive: true }
|
|
}
|
|
]
|
|
}
|
|
]
|