generator-routers.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. // 前端未找到页面路由(固定不用改)
  2. const notFoundRouter = {
  3. name: 'FourOhFour',
  4. path: '*',
  5. redirect: '/FourOhFour',
  6. hidden: true
  7. }
  8. const companyRouter = {
  9. name: 'index',
  10. path: '/',
  11. component: () => import('@/views/common/Base'),
  12. redirect: '/home',
  13. children: [{
  14. path: '/home',
  15. name: 'home',
  16. meta: {
  17. icon: 'icon-shouye',
  18. title: '首页'
  19. },
  20. component: () => import('@/views/page/Home'),
  21. },
  22. // {
  23. // path: '/UserManagement',
  24. // name: 'UserManagement',
  25. // meta: {
  26. // icon: 'icon-yonghuguanli',
  27. // title: '用户管理'
  28. // },
  29. // component: () => import('@/views/system/UserManagement'),
  30. // },
  31. {
  32. path: '/interiorUserManagement',
  33. name: 'interiorUserManagement',
  34. meta: {
  35. icon: 'icon-yonghuguanli',
  36. title: '用户管理'
  37. },
  38. component: () => import('@/views/system/interiorUserManagement'),
  39. }, {
  40. path: '/CompanyManagement',
  41. name: 'CompanyManagement',
  42. meta: {
  43. icon: 'icon-gongsi',
  44. title: '公司管理'
  45. },
  46. component: () => import('@/views/system/CompanyManagement'),
  47. }]
  48. }
  49. const clientRouter = {
  50. name: 'index',
  51. path: '/',
  52. component: () => import('@/views/common/Base'),
  53. redirect: '/MyWaybill',
  54. children: [{
  55. path: '/MyWaybill',
  56. name: 'MyWaybill',
  57. meta: {
  58. icon: 'icon-yundan',
  59. title: '我的运单'
  60. },
  61. component: () => import('@/views/system/MyWaybill'),
  62. }]
  63. }
  64. // 根级菜单
  65. const rootRouter = {
  66. name: 'index',
  67. path: '/',
  68. component: () => import('@/views/common/Base'),
  69. redirect: '/home',
  70. children: [{
  71. path: '/home',
  72. name: 'home',
  73. meta: {
  74. icon: 'icon-shouye',
  75. title: '首页'
  76. },
  77. component: () => import('@/views/page/Home'),
  78. }, {
  79. path: '/UserManagement',
  80. name: 'UserManagement',
  81. meta: {
  82. icon: 'icon-yonghuguanli',
  83. title: '用户管理'
  84. },
  85. component: () => import('@/views/system/UserManagement'),
  86. },
  87. {
  88. path: '/addressBook',
  89. name: 'addressBook',
  90. meta: {
  91. icon: 'icon-cangku',
  92. title: '地址薄管理'
  93. },
  94. component: () => import('@/views/system/addressBook'),
  95. },
  96. {
  97. path: '/IceTracingManagement',
  98. name: 'IceTracingManagement',
  99. meta: {
  100. icon: 'icon-iceTracing',
  101. title: '冰排追溯管理'
  102. },
  103. component: () => import('@/views/IceCreamFreezer/IceTracingManagement'),
  104. }, {
  105. path: '/IceManagement',
  106. name: 'IceManagement',
  107. meta: {
  108. icon: 'icon-bingpaiguanli',
  109. title: '冰排管理'
  110. },
  111. component: () => import('@/views/IceCreamFreezer/IceManagement'),
  112. }, {
  113. path: '/FreezerManagement',
  114. name: 'FreezerManagement',
  115. meta: {
  116. icon: 'icon-binggui',
  117. title: '冷冻柜管理'
  118. },
  119. component: () => import('@/views/IceCreamFreezer/FreezerManagement'),
  120. }, {
  121. path: '/IncubatorManagement',
  122. name: 'IncubatorManagement',
  123. meta: {
  124. icon: 'icon-baowenxiangguanli',
  125. title: '保温箱管理'
  126. },
  127. component: () => import('@/views/system/IncubatorManagement'),
  128. }, {
  129. path: '/OrderManagement',
  130. name: 'OrderManagement',
  131. meta: {
  132. icon: 'icon-yundan',
  133. title: '订单管理'
  134. },
  135. component: () => import('@/views/system/OrderManagement'),
  136. }, {
  137. path: '/WaybillManagement',
  138. name: 'WaybillManagement',
  139. meta: {
  140. icon: 'icon-yundanguanli',
  141. title: '运单管理'
  142. },
  143. component: () => import('@/views/system/WaybillManagement'),
  144. }
  145. ]
  146. }
  147. /**
  148. * 动态生成菜单
  149. * @param arrType
  150. * @returns {Promise<Router>}
  151. */
  152. export const generatorDynamicRouter = arrType => {
  153. return new Promise((resolve, reject) => {
  154. const routers = []
  155. if (arrType.userType == "sys") {
  156. if (arrType.deptId === 0) {
  157. routers.push(notFoundRouter)
  158. routers.push(companyRouter)
  159. } else {
  160. function deleteObjectById(arr, name) {
  161. return arr.filter(obj => obj.name !== name);
  162. }
  163. rootRouter.children = deleteObjectById(rootRouter.children, 'CompanyManagement')
  164. routers.push(notFoundRouter)
  165. routers.push(rootRouter)
  166. }
  167. } else {
  168. routers.push(notFoundRouter)
  169. routers.push(clientRouter)
  170. }
  171. resolve(routers)
  172. })
  173. }