Files
shanxia2.0/web-admin/src/router/modules/sqxp.ts
T
2026-05-17 23:08:38 +08:00

379 lines
11 KiB
TypeScript

import type { AppRouteRecord } from '@/types/router'
/**
* 前端路由(系统管理 + 基础信息管理 + 细胞存储 + 工作流)
* 与后端菜单对齐时请同步 `backend/app/api/menu.py`。
*/
export const sqxpAdminRoutes: AppRouteRecord[] = [
{
id: '10000000000000000000000000000001_child',
name: 'Console',
path: '/console',
component: '/dashboard/console/index',
meta: {
title: '工作台',
/** 无 icon:侧栏用与一级菜单同宽的虚拟槽对齐标题 */
virtualMenuIcon: true,
keepAlive: true,
fixedTab: true,
menuCode: 'dashboard'
}
},
{
id: '100',
name: 'System',
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: '103',
name: 'Dept',
path: 'dept',
component: '/system/dept/index',
meta: { title: '组织管理', keepAlive: true, menuCode: 'system:dept:list' }
},
{
id: '104',
name: 'User',
path: 'user',
component: '/system/user/index',
meta: { title: '用户管理', keepAlive: true, menuCode: 'system:user:list' }
},
{
id: '10000000000000000000000000000008',
name: 'UserDetail',
path: 'user/detail',
component: '/system/user/detail',
meta: { title: '用户详情', isHide: true, keepAlive: true }
},
{
id: '105',
name: 'Role',
path: 'role',
component: '/system/role/index',
meta: { title: '角色管理', keepAlive: true, menuCode: 'system:role:list' }
},
{
id: '106',
name: 'Menu',
path: 'menu',
component: '/system/menu/index',
meta: { title: '菜单管理', keepAlive: true, menuCode: 'system:menu:list' }
},
{
id: '107',
name: 'Site',
path: 'site',
component: '/system/site/index',
meta: { title: '站点管理', keepAlive: true, menuCode: 'system:site:list' }
},
{
id: '108',
name: 'Post',
path: 'post',
component: '/system/post/index',
meta: { title: '职位管理', keepAlive: true, menuCode: 'system:post: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' }
}
]
},
{
id: '60000000000000000000000000000001',
name: 'Operations',
path: '/operations',
component: '/index/index',
meta: {
title: '运营支撑',
icon: 'operation',
keepAlive: false,
roles: ['admin']
},
children: [
{
id: '60000000000000000000000000000002',
name: 'CleanRoom',
path: 'clean-room',
component: '/operations/clean-room/index',
meta: { title: '洁净室管理', keepAlive: true }
},
{
id: '60000000000000000000000000000003',
name: 'StorageFacility',
path: 'storage-facility',
component: '/operations/storage-facility/index',
meta: { title: '库位管理', keepAlive: true }
},
{
id: '60000000000000000000000000000004',
name: 'ExhibitionAppointment',
path: 'exhibition-appointment',
component: '/operations/exhibition-appointment/index',
meta: { title: '展馆预约', keepAlive: true }
},
{
id: '60000000000000000000000000000005',
name: 'OperationsDemo',
path: 'demo',
component: '/operations/demo/index',
meta: { title: 'demo', keepAlive: true }
}
]
},
{
id: '40000000000000000000000000000001',
name: 'BasicInfo',
path: '/basic-info',
component: '/index/index',
meta: {
title: '基础信息管理',
icon: 'folder-opened',
keepAlive: false,
roles: ['admin']
},
children: [
{
id: '40000000000000000000000000000002',
name: 'BizCustomer',
path: 'customer',
component: '/basic-info/customer/index',
meta: { title: '客户管理', keepAlive: true }
},
{
id: '40000000000000000000000000000003',
name: 'BizCellSampleType',
path: 'cell-sample-type',
component: '/basic-info/cell-sample-type/index',
meta: { title: '细胞样本类型管理', keepAlive: true }
},
{
id: '40000000000000000000000000000004',
name: 'BizCollectionRegion',
path: 'collection-region',
component: '/basic-info/collection-region/index',
meta: { title: '采集地区及医院管理', keepAlive: true }
},
{
id: '40000000000000000000000000000005',
name: 'BizCollectionProtocolNo',
path: 'collection-protocol-no',
component: '/basic-info/collection-protocol-no/index',
meta: { title: '采集协议号管理', keepAlive: true }
},
{
id: '40000000000000000000000000000006',
name: 'BizSampleCode',
path: 'sample-code',
component: '/basic-info/sample-code/index',
meta: { title: '样本编码管理', keepAlive: true }
}
]
},
{
id: '50000000000000000000000000000001',
name: 'CellStorage',
path: '/cell-storage',
component: '/index/index',
meta: {
title: '细胞存储管理',
icon: 'collection-tag',
keepAlive: false,
roles: ['admin']
},
children: [
{
id: '50000000000000000000000000000002',
name: 'CellStorageProtocol',
path: 'protocol',
component: '/cell-storage/protocol/index',
meta: { title: '采集协议单', keepAlive: true }
},
{
id: '50000000000000000000000000000007',
name: 'CellStoragePaymentInfo',
path: 'payment-info',
component: '/cell-storage/payment-info/index',
meta: { title: '缴费信息', keepAlive: true }
},
{
id: '50000000000000000000000000000003',
name: 'CellStorageProtocolAudit',
path: 'protocol-audit',
component: '/cell-storage/protocol-audit/index',
meta: { title: '采集协议单审核', keepAlive: true }
},
{
id: '50000000000000000000000000000004',
name: 'CellStoragePaymentConfirm',
path: 'payment-confirm',
component: '/cell-storage/payment-confirm/index',
meta: { title: '缴费确认(财务)', keepAlive: true }
},
{
id: '50000000000000000000000000000005',
name: 'CellStorageRefundConfirm',
path: 'refund-confirm',
component: '/cell-storage/refund-confirm/index',
meta: { title: '退费确认(财务)', keepAlive: true }
}
]
},
{
id: '70000000000000000000000000000001',
name: 'QualityInspection',
path: '/quality-inspection',
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: '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: '70000000000000000000000000000004',
name: 'QualityInspectionThirdPartyCompany',
path: 'third-party-company',
component: '/quality-inspection/third-party-company/index',
meta: {
title: '第三方检测公司及项目',
keepAlive: true,
menuCode: 'biz:qcThirdPartyCompany: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: '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: true,
menuCode: 'biz:qcTask:list'
}
}
]
},
{
id: '30000000000000000000000000000001',
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' }
},
{
id: '10000000000000000000000000000wf02',
name: 'WorkflowPending',
path: 'pending',
component: '/system/workflow/task-pending/index',
meta: { title: '待办中心', keepAlive: true }
},
{
id: '10000000000000000000000000000wf03',
name: 'WorkflowCompleted',
path: 'completed',
component: '/system/workflow/task-completed/index',
meta: { title: '已办中心', keepAlive: true }
},
{
id: '10000000000000000000000000000wf05',
name: 'WorkflowMyApplications',
path: 'my-applications',
component: '/system/workflow/my-applications/index',
meta: { title: '我的申请', keepAlive: true }
},
{
id: '10000000000000000000000000000wf04',
name: 'LeaveRequest',
path: 'leave',
component: '/system/leave/index',
meta: { title: '请假申请', keepAlive: true }
}
]
}
]