export interface Menu { index: number; title: string; component: Component; } export type MenuPath = | '/step/deploy' | '/step/deploy-recheck' | '/step/soak' | '/step/decoction' | '/step/pack' | '/step/pack-recheck' ; 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`)), }, } as const; export const defaultMenus = Object.entries(menus) .sort(([_1, { index: a }], [_2, { index: b }]) => a - b) .map(([path, { title: name }]) => { return { name, path }; });