menu.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. export interface Menu {
  2. index: number;
  3. title: string;
  4. component: Component;
  5. }
  6. export const stepMode = [
  7. 'deploy', 'deploy-recheck',
  8. 'soak',
  9. 'decoction',
  10. 'pack', 'pack-recheck',
  11. 'putaway',
  12. ] as const;
  13. export type MenuPath = `/step/${(typeof stepMode)[number]}`;
  14. export const menus: Record<MenuPath, Menu> = {
  15. '/step/deploy': {
  16. index: 21,
  17. title: '调配管理',
  18. component: defineAsyncComponent(() => import(`@/module/step/StepDeploy.vue`)),
  19. },
  20. '/step/deploy-recheck': {
  21. index: 22,
  22. title: '调配复核管理',
  23. component: defineAsyncComponent(() => import(`@/module/step/StepDeployRecheck.vue`)),
  24. },
  25. '/step/soak': {
  26. index: 31,
  27. title: '浸泡管理',
  28. component: defineAsyncComponent(() => import(`@/module/step/StepSoak.vue`)),
  29. },
  30. '/step/decoction': {
  31. index: 41,
  32. title: '煎煮管理',
  33. component: defineAsyncComponent(() => import(`@/module/step/StepDecoction.vue`)),
  34. },
  35. '/step/pack': {
  36. index: 51,
  37. title: '打包管理',
  38. component: defineAsyncComponent(() => import(`@/module/step/StepPack.vue`)),
  39. },
  40. '/step/pack-recheck': {
  41. index: 52,
  42. title: '打包复核管理',
  43. component: defineAsyncComponent(() => import(`@/module/step/StepPackRecheck.vue`)),
  44. },
  45. '/step/putaway': {
  46. index: 61,
  47. title: '上架取药管理',
  48. component: defineAsyncComponent(() => import(`@/module/step/StepPutaway.vue`)),
  49. },
  50. } as const;
  51. export const defaultMenus = Object.entries(menus)
  52. .sort(([_1, { index: a }], [_2, { index: b }]) => a - b)
  53. .map(([path, { title: name }]) => {
  54. return { name, path };
  55. });