index.ts 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory, RouterScrollBehavior } from 'vue-router';
  2. import { useStore } from 'vuex';
  3. import appSetting from '@/app-setting';
  4. import HomeView from '../views/index.vue';
  5. const constantRouterMap: RouteRecordRaw[] = [
  6. /* platformLogin */
  7. { path: '/login', component: () => import('@/views/auth/boxed-signin.vue'), meta: { layout: 'auth' } },
  8. { path: '/platformLogin', component: () => import('@/views/auth/platformLogin.vue'), meta: { layout: 'auth' } },
  9. { path: '/lockscreen', component: () => import('@/views/auth/boxed-lockscreen.vue'), meta: { layout: 'auth' } },
  10. { path: '/boxed-signup', component: () => import('@/views/auth/boxed-signup.vue'), meta: { layout: 'auth' } },
  11. ];
  12. const router = createRouter({
  13. history: createWebHashHistory(),
  14. scrollBehavior: RouterScrollBehavior => {
  15. return { left: 0, top: 0 };
  16. },
  17. routes: constantRouterMap
  18. });
  19. const asyncRouterMap: RouteRecordRaw[] = [
  20. {
  21. path: '/',
  22. component: () => import('@/views/index.vue'),
  23. redirect: '/dashboard',
  24. children: [
  25. {
  26. path: 'dashboard',
  27. component: () => import('@/views/index.vue'),
  28. name: 'dashboard',
  29. meta: { title: 'home', icon: 'dashboard', layout: 'app' }
  30. }
  31. ]
  32. },
  33. /* {
  34. path: '/',
  35. redirect: '/dashboard',
  36. name: 'dashboard',
  37. children: [
  38. { path: 'dashboard', component: () => import('@/views/index.vue'), name: 'dashboard', meta: { title: 'home', icon: 'dashboard', layout: 'app' } }
  39. ]
  40. }, */
  41. {
  42. path: '/stock',
  43. redirect: '/stock',
  44. name: 'stock',
  45. children: [
  46. { path: 'warehouseList', component: () => import('@/views/stock/warehouseList.vue'), name: 'warehouseList', meta: { title: 'warehouseList', layout: 'app' } },
  47. { path: 'goodsLend', component: () => import('@/views/stock/goodsLend.vue'), name: 'goodsLend', meta: { title: 'goodsLend', layout: 'app' } },
  48. { path: 'goodsTransfer', component: () => import('@/views/stock/goodsTransfer.vue'), name: 'goodsTransfer', meta: { title: 'goodsTransfer', layout: 'app' } },
  49. { path: 'goodsExchange', component: () => import('@/views/stock/warehousing.vue'), name: 'goodsExchange', meta: { title: 'goodsExchange' } },
  50. { path: 'goodsOutBound', component: () => import('@/views/stock/outbound.vue'), name: 'goodsOutBound', meta: { title: 'goodsOutBound' } },
  51. { path: 'warehouseLocation', component: () => import('@/views/stock/warehouseLocation.vue'), name: 'warehouseLocation', meta: { title: 'warehouseLocation', layout: 'app' } },
  52. { path: 'addInventory', component: () => import('@/views/stock/addInventory.vue'), name: 'addInventory', meta: { title: 'addInventory', layout: 'app' } },
  53. { path: 'addOutbound', component: () => import('@/views/stock/addOutbound.vue'), name: 'addOutbound', meta: { title: 'addOutbound', layout: 'app' } },
  54. { path: 'goodsInventory', component: () => import('@/views/stock/goodsInventory.vue'), name: 'goodsInventory', meta: { title: 'goodsInventory', layout: 'app' } },
  55. { path: 'goodsInventoryAdd', component: () => import('@/views/stock/goodsInventoryAdd.vue'), name: 'goodsInventoryAdd', meta: { title: 'goodsInventoryAdd', layout: 'app' } },
  56. { path: 'goodsInventoryLoss', component: () => import('@/views/stock/goodsInventoryLoss.vue'), name: 'goodsInventoryLoss', meta: { title: 'goodsInventoryLoss', layout: 'app' } },
  57. { path: 'goodsInventoryLossAdd', component: () => import('@/views/stock/goodsInventoryLossAdd.vue'), name: 'goodsInventoryLossAdd', meta: { title: 'goodsInventoryLossAdd', layout: 'app' } },
  58. { path: 'goodsUnderstock', component: () => import('@/views/stock/goodsUnderstock.vue'), name: 'goodsUnderstock', meta: { title: 'goodsUnderstock', layout: 'app' } },
  59. { path: 'goodsUnderstockAdd', component: () => import('@/views/stock/goodsUnderstockAdd.vue'), name: 'goodsUnderstockAdd', meta: { title: 'goodsUnderstockAdd', layout: 'app' } },
  60. ]
  61. },
  62. {
  63. path: '/package',
  64. redirect: '/package',
  65. name: 'package',
  66. children: [
  67. { path: 'packageList', component: () => import('@/views/package/packageList.vue'), name: 'packageList', meta: { title: 'packageList', layout: 'app' } },
  68. { path: 'packagePermissions', component: () => import('@/views/package/packagePermissions.vue'), name: 'packagePermissions', meta: { title: 'packagePermissions', layout: 'app' } },
  69. { path: 'packageAdd', component: () => import('@/views/package/packageAdd.vue'), name: 'packageAdd', meta: { title: 'packageAdd', layout: 'app' } },
  70. ]
  71. },
  72. {
  73. path: '/templateManage',
  74. redirect: '/templateManage',
  75. name: 'templateManage',
  76. children: [
  77. { path: 'smsTemplate', component: () => import('@/views/templateManage/smsTemplate.vue'), name: 'smsTemplate', meta: { title: 'smsTemplate', layout: 'app' } },
  78. { path: 'systemMessage', component: () => import('@/views/templateManage/systemMessage.vue'), name: 'systemMessage', meta: { title: 'systemMessage', layout: 'app' } },
  79. { path: 'emailtemplate', component: () => import('@/views/templateManage/emailtemplate.vue'), name: 'emailtemplate', meta: { title: 'emailtemplate', layout: 'app' } },
  80. { path: 'accountTemplate', component: () => import('@/views/templateManage/accountTemplate.vue'), name: 'accountTemplate', meta: { title: 'accountTemplate', layout: 'app' } },
  81. /*{ path: 'goodsOutBound', component: () => import('@/views/templateManage/outbound.vue'), name: 'goodsOutBound', meta: { title: 'goodsOutBound' } }, */
  82. ]
  83. },
  84. {
  85. path: '/setting',
  86. redirect: '/setting',
  87. name: 'setting',
  88. meta: {
  89. title: 'setting',
  90. icon: 'setting-manage'
  91. },
  92. children: [
  93. { path: 'companyList', component: () => import('@/views/setting/companyList.vue'), name: 'companyList', meta: { title: 'companyList', layout: 'app' } },
  94. { path: 'roleManage', component: () => import('@/views/setting/roleManage.vue'), name: 'roleManage', meta: { title: 'roleManage', layout: 'app' } },
  95. { path: 'roleManageAdd', component: () => import('@/views/setting/roleManageAdd.vue'), name: 'roleManageAdd', meta: { title: 'roleManageAdd', layout: 'app' } },
  96. { path: 'dicData', component: () => import('@/views/setting/dicData.vue'), name: 'dicData', meta: { title: 'dicData', layout: 'app' } },
  97. { path: 'menuManage', component: () => import('@/views/setting/menuManage.vue'), name: 'menuManage', meta: { title: 'menuManage', layout: 'app' } },
  98. { path: 'systemLog', component: () => import('@/views/setting/systemLog.vue'), name: 'systemLog', meta: { title: 'systemLog', layout: 'app' } },
  99. ]
  100. },
  101. {
  102. path: '/companyMent',
  103. redirect: '/companyMent',
  104. name: 'companyMent',
  105. children: [
  106. { path: 'administratorManage', component: () => import('@/views/companyMent/administratorManage.vue'), name: 'administratorManage', meta: { title: 'administratorManage', layout: 'app' } },
  107. { path: 'branch', component: () => import('@/views/companyMent/branch.vue'), name: 'branch', meta: { title: 'branch', layout: 'app' } },
  108. { path: 'companyInfo', component: () => import('@/views/companyMent/companyInfo.vue'), name: 'companyInfo', meta: { title: 'companyInfo', layout: 'app' } },
  109. { path: 'configMsg', component: () => import('@/views/companyMent/configMsg.vue'), name: 'configMsg', meta: { title: 'configMsg', layout: 'app' } },
  110. /* Notify */
  111. { path: 'Notify', component: () => import('@/views/companyMent/Notify.vue'), name: 'Notify', meta: { title: 'Notify', layout: 'app' } },
  112. ]
  113. },
  114. {
  115. path: '/goods',
  116. redirect: '/goods',
  117. name: 'goods',
  118. children: [
  119. { path: 'SKUList', component: () => import('@/views/goods/SKUList.vue'), name: 'SKUList', meta: { title: 'SKUList', layout: 'app' } },
  120. /* { path: 'branch', component: () => import('@/views/companyMent/branch.vue'), name: 'branch', meta: { title: 'branch', layout: 'app' } },
  121. { path: 'companyInfo', component: () => import('@/views/companyMent/companyInfo.vue'), name: 'companyInfo', meta: { title: 'companyInfo', layout: 'app' } }, */
  122. ]
  123. },
  124. ];
  125. asyncRouterMap.forEach(route => {
  126. router.addRoute(route);
  127. });
  128. export { constantRouterMap, asyncRouterMap };
  129. export default router;