index.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import Vue from "vue";
  2. import Router from "vue-router";
  3. Vue.use(Router);
  4. /* Layout */
  5. import Layout from "@/layout";
  6. import dashRouter from "./modules/dash"; //首页
  7. import purchasRouter from "./modules/purchas"; //采购管理
  8. import applyRouter from "./modules/apply"; //申领管理
  9. import storeroomRouter from "./modules/storeroom"; //库房管理
  10. import approveRouter from "./modules/approve"; //审批中心
  11. import supplierRouter from "./modules/supplier"; //供应商管理
  12. import orderRouter from "./modules/order"; //订单管理
  13. import returnRouter from "./modules/productreturn"; //订单管理
  14. import consumRouter from "./modules/consumcata"; //目录管理
  15. // returnRouter
  16. export const constantRoutes = [
  17. {
  18. path: "/redirect",
  19. component: Layout,
  20. hidden: true,
  21. children: [
  22. {
  23. path: "/redirect/:path(.*)",
  24. component: () => import("@/views/redirect/index")
  25. }
  26. ]
  27. },
  28. {
  29. path: "/login",
  30. component: () => import("@/views/login/index"),
  31. hidden: true
  32. },
  33. {
  34. path: "/firstLogin",
  35. component: () => import("@/views/firstLogin/index"),
  36. hidden: true
  37. },
  38. {
  39. path: "/404",
  40. component: () => import("@/views/error-page/404"),
  41. hidden: true
  42. },
  43. {
  44. path: "/401",
  45. component: () => import("@/views/error-page/401"),
  46. hidden: true
  47. },
  48. {
  49. path: "/",
  50. component: Layout,
  51. redirect: "/homePage/dashboard",
  52. children: [
  53. {
  54. // 公告详情
  55. path: "/noticeDetail/:id",
  56. component: () => import("@/views/page/system/notice/noticeDetail"),
  57. name: "NoticeDetail",
  58. meta: { title: "公告详情", icon: "dashboard" },
  59. hidden: true
  60. },
  61. {
  62. // 个人中心
  63. path: "/personalCenter",
  64. component: () => import("@/views/page/personalCenter/index"),
  65. name: "PersonalCenter",
  66. meta: { title: "个人中心", icon: "dashboard" },
  67. hidden: true
  68. }
  69. ]
  70. },
  71. ];
  72. export const asyncRoutes = [
  73. dashRouter,
  74. purchasRouter,
  75. applyRouter,
  76. storeroomRouter,
  77. approveRouter,
  78. supplierRouter,
  79. orderRouter,
  80. returnRouter,
  81. consumRouter,
  82. { path: "*", redirect: "/404", hidden: true }
  83. ];
  84. const createRouter = () =>
  85. new Router({
  86. //mode: 'history', // require service support
  87. scrollBehavior: () => ({ y: 0 }),
  88. routes: constantRoutes
  89. });
  90. const router = createRouter();
  91. // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
  92. export function resetRouter() {
  93. const newRouter = createRouter();
  94. router.matcher = newRouter.matcher; // reset router
  95. }
  96. export default router;