export interface Menu { index: number; title: string; component: Component; } export const stepSimpleMode = [ 'putaway', ] as const; export const stepTabMode = [ 'deploy', 'deploy-recheck', 'soak', 'decoction', 'pack', 'pack-recheck', 'putaway', ] as const; export type MenuPath = | `/step/${(typeof stepSimpleMode)[number]}` | `/step/${(typeof stepTabMode)[number]}` ; export const menus: Record = { '/step/deploy': { index: 21, title: '调配管理', component: defineAsyncComponent(() => import(`@/module/step/StepDeploy.vue`)), }, '/step/deploy-recheck': { index: 22, title: '调配复核管理', component: defineAsyncComponent(() => import(`@/module/step/StepDeployRecheck.vue`)), }, '/step/soak': { index: 31, title: '浸泡管理', component: defineAsyncComponent(() => import(`@/module/step/StepSoak.vue`)), }, '/step/decoction': { index: 41, title: '煎煮管理', component: defineAsyncComponent(() => import(`@/module/step/StepDecoction.vue`)), }, '/step/pack': { index: 51, title: '打包管理', component: defineAsyncComponent(() => import(`@/module/step/StepPack.vue`)), }, '/step/pack-recheck': { index: 52, title: '打包复核管理', component: defineAsyncComponent(() => import(`@/module/step/StepPackRecheck.vue`)), }, '/step/putaway': { index: 61, title: '上架取药管理', component: defineAsyncComponent(() => import(`@/module/step/StepPutaway.vue`)), }, } as const; export const defaultMenus = Object.entries(menus) .sort(([_1, { index: a }], [_2, { index: b }]) => a - b) .map(([path, { title: name }]) => { return { name, path }; });