level.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import type { AppRouteModule } from '/@/router/types';
  2. import { getParentLayout, LAYOUT } from '/@/router/constant';
  3. import { t } from '/@/hooks/web/useI18n';
  4. const permission: AppRouteModule = {
  5. path: '/level',
  6. name: 'Level',
  7. component: LAYOUT,
  8. redirect: '/level/menu1/menu1-1/menu1-1-1',
  9. meta: {
  10. icon: 'ion:menu-outline',
  11. title: t('routes.demo.level.level'),
  12. },
  13. children: [
  14. {
  15. path: 'menu1',
  16. name: 'Menu1Demo',
  17. component: getParentLayout('Menu1Demo'),
  18. meta: {
  19. title: 'Menu1',
  20. },
  21. redirect: '/level/menu1/menu1-1/menu1-1-1',
  22. children: [
  23. {
  24. path: 'menu1-1',
  25. name: 'Menu11Demo',
  26. component: getParentLayout('Menu11Demo'),
  27. meta: {
  28. title: 'Menu1-1',
  29. },
  30. redirect: '/level/menu1/menu1-1/menu1-1-1',
  31. children: [
  32. {
  33. path: 'menu1-1-1',
  34. name: 'Menu111Demo',
  35. component: () => import('/@/views/demo/level/Menu111.vue'),
  36. meta: {
  37. title: 'Menu111',
  38. },
  39. },
  40. ],
  41. },
  42. {
  43. path: 'menu1-2',
  44. name: 'Menu12Demo',
  45. component: () => import('/@/views/demo/level/Menu12.vue'),
  46. meta: {
  47. title: 'Menu1-2',
  48. },
  49. },
  50. ],
  51. },
  52. {
  53. path: 'menu2',
  54. name: 'Menu2Demo',
  55. component: () => import('/@/views/demo/level/Menu2.vue'),
  56. meta: {
  57. title: 'Menu2',
  58. // ignoreKeepAlive: true,
  59. },
  60. },
  61. ],
  62. };
  63. export default permission;