index.js 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. /* Layout */
  4. import Layout from '@/views/layout/Layout'
  5. Vue.use(Router)
  6. /**
  7. * hidden: true if `hidden:true` will not show in the sidebar(default is false)
  8. * redirect: noredirect if `redirect:noredirect` will no redirct in the breadcrumb
  9. * name:'router-name' the name is used by <keep-alive> (must set!!!)
  10. * meta : {
  11. title: 'title' the name show in submenu and breadcrumb (recommend set)
  12. icon: 'svg-name' the icon show in the sidebar,
  13. noCache: true if true ,the page will no be cached(default is false)
  14. }
  15. **/
  16. export const constantRouterMap = [
  17. { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  18. { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
  19. { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true },
  20. {
  21. path: '',
  22. component: Layout,
  23. redirect: 'dashboard',
  24. children: [{
  25. path: 'dashboard',
  26. component: () => import('@/views/dashboard/index'),
  27. name: 'dashboard',
  28. meta: { title: 'dashboard', icon: 'dashboard' }
  29. }]
  30. }
  31. ]
  32. export default new Router({
  33. mode: 'history',
  34. scrollBehavior: () => ({ y: 0 }),
  35. routes: constantRouterMap
  36. })
  37. const asyncRouters = [
  38. // 商品管理
  39. {
  40. path: '/pj',
  41. component: Layout,
  42. redirect: '/pj/pj-goods-list',
  43. name: 'ncs',
  44. meta: {
  45. title: 'goods',
  46. icon: 'goods-manage'
  47. },
  48. children: [
  49. { path: 'pj-goods-edit/:id(\\d+)', component: () => import('@/views/goods/goodsEdit'), name: 'pjGoodsEdit', meta: { title: 'goodsEdit', noCache: true }, hidden: true },
  50. { path: 'pj-goods-list', component: () => import('@/views/goods/goodsList'), name: 'pjGoodsList', meta: { title: 'goodsList' }},
  51. { path: 'pj-goods-detail/:id(\\d+)', component: () => import('@/views/goods/goodsDetail'), name: 'goodsDetail', meta: { title: 'goodsEdit', noCache: true }, hidden: true },
  52. { path: 'pj-goods-list-view', component: () => import('@/views/goods/goodsListView'), name: 'goodsListView', meta: { title: 'goodsList' }},
  53. { path: 'pj-draft', component: () => import('@/views/pjDraft/List'), name: 'pjDraftList', meta: { title: 'pjDraftList' }},
  54. { path: 'pj-self-draft', component: () => import('@/views/pjDraft/SelfList'), name: 'pjDraftListSelf', meta: { title: 'pjDraftList' }},
  55. { path: 'pj-draft-edit/:id(\\d+)', component: () => import('@/views/pjDraft/Edit'), name: 'draftEdit', meta: { title: 'draftEdit', noCache: true }, hidden: true },
  56. { path: 'pj-draft-goods/:id(\\d+)', component: () => import('@/views/pjDraft/FsGoods'), name: 'draftFsGoods', meta: { title: 'draftFsGoods', noCache: true }, hidden: true },
  57. { path: 'pj-order', component: () => import('@/views/pjOrder/List'), name: 'pjOrderList', meta: { title: 'pjOrderList' }},
  58. { path: 'pj-self-order', component: () => import('@/views/pjOrder/SelfList'), name: 'pjOrderListSelf', meta: { title: 'pjOrderList' }},
  59. { path: 'pj-order-edit/:id(\\d+)', component: () => import('@/views/pjOrder/Edit'), name: 'pjOrderEdit', meta: { title: 'pjOrderEdit', noCache: true }, hidden: true },
  60. { path: 'pj-order-items', component: () => import('@/views/pjOrder/Items'), name: 'pjOrderItemsList', meta: { title: 'pjOrderItemsList' }},
  61. { path: 'pj-order-items-deail/:id(\\d+)', component: () => import('@/views/pjOrder/ItemDetail'), name: 'pjOrderItemDetail', meta: { title: 'pjOrderItemDetail', noCache: true }, hidden: true }
  62. ]
  63. },
  64. { path: '*', redirect: '/404', hidden: true }
  65. ]
  66. export const asyncRouterMap = asyncRouters