router.config.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. // eslint-disable-next-line
  2. import {
  3. UserLayout,
  4. BasicLayout,
  5. RouteView,
  6. PageView
  7. } from '@/layouts'
  8. export const asyncRouterMap = [{
  9. path: '/',
  10. name: 'index',
  11. component: BasicLayout,
  12. meta: {
  13. title: '运营后台'
  14. },
  15. redirect: '/home',
  16. children: [{
  17. path: '/home',
  18. name: 'home',
  19. redirect: '/home',
  20. component: PageView,
  21. meta: {
  22. title: '首页',
  23. icon: 'home'
  24. },
  25. hideChildrenInMenu: true,
  26. children: [{
  27. path: '/home',
  28. name: 'home',
  29. component: () => import(/* webpackChunkName: "home" */ '@/views/Home'),
  30. meta: {
  31. title: '首页',
  32. icon: 'home',
  33. hiddenHeaderContent: true
  34. }
  35. }]
  36. },
  37. {
  38. path: '/changePwd',
  39. name: 'changePwd',
  40. hidden: true,
  41. component: () => import(/* webpackChunkName: "changePwd" */ '@/views/user/ChangePwd'),
  42. meta: {
  43. title: '修改密码',
  44. icon: 'home'
  45. }
  46. },
  47. {
  48. path: '/shop',
  49. redirect: '/shop/order',
  50. component: PageView,
  51. meta: {
  52. title: '商城',
  53. icon: 'shop',
  54. permission: 'M_shop'
  55. },
  56. children: [{
  57. path: '/shop/order',
  58. redirect: '/shop/order/list',
  59. name: 'shopOrder',
  60. component: RouteView,
  61. meta: {
  62. title: '订单管理',
  63. icon: 'profile'
  64. // permission: 'M_tenants_list'
  65. },
  66. hideChildrenInMenu: true,
  67. children: [{
  68. path: '/shop/order/list',
  69. name: 'shopOrderList',
  70. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/shopOrder.vue'),
  71. meta: {
  72. title: '订单列表',
  73. icon: 'profile',
  74. hidden: true
  75. // permission: 'M_tenants_list'
  76. }
  77. },
  78. {
  79. path: '/shop/order/detail/:id',
  80. name: 'shopOrderDetail',
  81. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/orderDetail.vue'),
  82. meta: {
  83. title: '订单详情',
  84. icon: 'profile',
  85. hidden: true
  86. // permission: 'M_tenants_list'
  87. }
  88. }
  89. ]
  90. },
  91. {
  92. path: '/shop/goods',
  93. redirect: '/shop/goods/list',
  94. name: 'goodsList',
  95. component: RouteView,
  96. meta: {
  97. title: '商品管理',
  98. icon: 'shopping',
  99. permission: 'M_goodsManage_list'
  100. },
  101. hideChildrenInMenu: true,
  102. children: [{
  103. path: '/shop/goods/list',
  104. name: 'goodsListList',
  105. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsList.vue'),
  106. meta: {
  107. title: '商品列表',
  108. icon: 'shopping',
  109. hidden: true,
  110. permission: 'M_goodsManage_list'
  111. }
  112. },
  113. {
  114. path: '/shop/goods/add',
  115. name: 'goodsListAdd',
  116. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
  117. meta: {
  118. title: '新增商品',
  119. icon: 'shopping',
  120. hidden: true,
  121. permission: 'B_goodsManage_add'
  122. }
  123. },
  124. {
  125. path: '/shop/goods/edit/:id',
  126. name: 'goodsListEdit',
  127. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
  128. meta: {
  129. title: '编辑商品',
  130. icon: 'shopping',
  131. hidden: true,
  132. permission: 'B_goodsManage_edit'
  133. }
  134. }
  135. ]
  136. },
  137. {
  138. path: '/shop/goodsShelves',
  139. name: 'goodsShelves',
  140. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsShelves.vue'),
  141. meta: {
  142. title: '商品排序',
  143. icon: 'flag',
  144. permission: 'M_goodsShelves_0'
  145. }
  146. },
  147. {
  148. path: '/shop/bannerSetting',
  149. name: 'bannerSetting',
  150. component: () => import(/* webpackChunkName: "appSetting" */ '@/views/shop/bannerSetting.vue'),
  151. meta: {
  152. title: '推广位设置',
  153. icon: 'file-image'
  154. // permission: 'M_banner'
  155. }
  156. }
  157. ]
  158. },
  159. // 用户
  160. {
  161. path: '/userInfo',
  162. redirect: '/userInfo/userManageList',
  163. component: PageView,
  164. meta: {
  165. title: '用户',
  166. icon: 'shop'
  167. // permission: 'M_shop'
  168. },
  169. children: [{
  170. path: '/userInfo/userManage',
  171. redirect: '/userInfo/userManageList/list',
  172. name: 'userManageList',
  173. component: RouteView,
  174. meta: {
  175. title: '用户管理',
  176. icon: 'profile'
  177. // permission: 'M_tenants_list'
  178. },
  179. hideChildrenInMenu: true,
  180. children: [{
  181. path: '/userInfo/userManageList/list',
  182. name: 'userManageList',
  183. component: () => import(/* webpackChunkName: "tenants" */ '@/views/userInfo/userManageList.vue'),
  184. meta: {
  185. title: '用户列表',
  186. icon: 'profile',
  187. hidden: true
  188. // permission: 'M_tenants_list'
  189. }
  190. },
  191. {
  192. path: '/userInfo/userManageList_user/detail/:id',
  193. name: 'userManageDetail',
  194. component: () => import(/* webpackChunkName: "tenants" */ '@/views/userInfo/userDetails.vue'),
  195. meta: {
  196. title: '用户详情',
  197. icon: 'profile',
  198. hidden: true
  199. // permission: 'M_tenants_list'
  200. }
  201. },
  202. {
  203. path: '/userInfo/userManageList_Ld/detail/:id',
  204. name: 'ledouDetail',
  205. component: () => import(/* webpackChunkName: "tenants" */ '@/views/userInfo/LdDetails.vue'),
  206. meta: {
  207. title: '乐豆详情',
  208. icon: 'profile',
  209. hidden: true
  210. // permission: 'M_tenants_list'
  211. }
  212. }
  213. ]
  214. }]
  215. },
  216. {
  217. path: '/businessManage',
  218. redirect: '/businessManag/userManage',
  219. component: PageView,
  220. meta: {
  221. title: '智享店管理',
  222. icon: 'appstore',
  223. permission: 'M_partnerManage'
  224. },
  225. children: [{
  226. path: '/businessManage/userManage',
  227. name: 'userManage',
  228. component: () => import(/* webpackChunkName: "tenants" */ '@/views/businessManage/userManage/userManage.vue'),
  229. meta: {
  230. title: '用户管理',
  231. icon: 'folder'
  232. // permission: 'M_tenants_list'
  233. }
  234. },
  235. {
  236. path: '/businessManage/partnerManage',
  237. name: 'partnerManage',
  238. component: () => import(/* webpackChunkName: "tenants" */
  239. '@/views/businessManage/partnerManage/partnerManage.vue'),
  240. meta: {
  241. title: '销售商管理',
  242. icon: 'solution',
  243. permission: 'M_partnerManage_list'
  244. }
  245. }
  246. ]
  247. },
  248. {
  249. path: '/equipmentManage',
  250. redirect: '/equipmentManage/network',
  251. component: PageView,
  252. meta: {
  253. title: '网点设备管理',
  254. icon: 'shop'
  255. // permission: 'M_tenants_list'
  256. },
  257. children: [{
  258. path: '/equipmentManage/network',
  259. name: 'network',
  260. component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/network/network.vue'),
  261. meta: {
  262. title: '网点管理',
  263. icon: 'profile'
  264. // permission: 'M_tenants_list'
  265. }
  266. },
  267. {
  268. path: '/equipmentManage/equipment',
  269. name: 'equipment',
  270. component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/equipment/equipment.vue'),
  271. meta: {
  272. title: '设备管理',
  273. icon: 'profile'
  274. // permission: 'M_tenants_list'
  275. }
  276. },
  277. {
  278. path: '/equipmentManage/boxSetting',
  279. name: 'boxSetting',
  280. component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/boxSetting/boxSetting.vue'),
  281. meta: {
  282. title: '箱体类型设置',
  283. icon: 'profile'
  284. // permission: 'M_tenants_list'
  285. }
  286. },
  287. {
  288. path: '/equipmentManage/exchangeSetting',
  289. name: 'exchangeSetting',
  290. component: () => import(/* webpackChunkName: "tenants" */
  291. '@/views/equipmentManage/exchangeSetting/ExchangeSetting.vue'),
  292. meta: {
  293. title: '兑换规则设置',
  294. icon: 'profile'
  295. // permission: 'M_tenants_list'
  296. }
  297. },
  298. {
  299. path: '/equipmentManage/openTimeSetting',
  300. name: 'openTimeSetting',
  301. component: () => import(/* webpackChunkName: "tenants" */
  302. '@/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue'),
  303. meta: {
  304. title: '投放时间设置',
  305. icon: 'profile'
  306. // permission: 'M_tenants_list'
  307. }
  308. }
  309. ]
  310. },
  311. {
  312. path: '/releaseRecord',
  313. name: 'releaseRecord',
  314. component: PageView,
  315. hideChildrenInMenu: true,
  316. redirect: '/releaseRecord/list',
  317. meta: {
  318. title: '投放记录',
  319. icon: 'shop'
  320. // permission: 'M_tenants_list'
  321. },
  322. children: [{
  323. path: '/releaseRecord/list',
  324. name: 'releaseRecordList',
  325. component: () => import(/* webpackChunkName: "tenants" */ '@/views/releaseRecord/releaseRecordList.vue'),
  326. meta: {
  327. title: '投放记录',
  328. icon: 'profile'
  329. // permission: 'M_tenants_list'
  330. }
  331. }]
  332. },
  333. {
  334. path: '/shopSetting',
  335. redirect: '/shopSetting/bannerSetting',
  336. component: PageView,
  337. meta: {
  338. title: '商城设置',
  339. icon: 'appstore',
  340. permission: 'M_shopSetting'
  341. },
  342. children: [{
  343. path: '/shopSetting/goodsClass',
  344. name: 'goodsClass',
  345. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/goodsClass.vue'),
  346. meta: {
  347. title: '商品分类管理',
  348. icon: 'folder',
  349. permission: 'M_goodsClass_list'
  350. }
  351. },
  352. {
  353. path: '/shopSetting/supplier',
  354. name: 'supplier',
  355. component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/supplier.vue'),
  356. meta: {
  357. title: '供货商管理',
  358. icon: 'solution',
  359. permission: 'M_supplier_list'
  360. }
  361. }
  362. ]
  363. },
  364. // auth
  365. {
  366. path: '/auth',
  367. redirect: '/auth/userList',
  368. component: PageView,
  369. meta: {
  370. title: '权限管理',
  371. icon: 'lock'
  372. // permission: 'M_auth_0'
  373. },
  374. children: [{
  375. path: '/menusAuth/menu',
  376. name: 'powerMenu',
  377. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
  378. meta: {
  379. title: '菜单管理',
  380. icon: 'profile'
  381. // permission: 'M_menusAuth_menu'
  382. }
  383. },
  384. {
  385. path: '/auth/userList',
  386. name: 'powerUserList',
  387. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
  388. meta: {
  389. title: '用户管理',
  390. icon: 'user'
  391. // permission: 'M_auth_userList'
  392. }
  393. },
  394. {
  395. path: '/auth/roleList',
  396. name: 'powerRoleList',
  397. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
  398. meta: {
  399. title: '角色管理',
  400. icon: 'solution'
  401. // permission: 'M_auth_roleList'
  402. }
  403. }
  404. ]
  405. },
  406. {
  407. path: '/setting',
  408. redirect: '/setting/userList',
  409. component: PageView,
  410. meta: {
  411. title: '系统设置',
  412. icon: 'setting'
  413. // permission: 'M_setting_0'
  414. },
  415. children: [{
  416. path: '/setting/dataDictionary',
  417. name: 'powerDD',
  418. component: () => import(/* webpackChunkName: "setting" */
  419. '@/views/power/dataDictionary/dataDictionary.vue'),
  420. meta: {
  421. title: '数据字典管理',
  422. icon: 'database'
  423. // permission: 'M_sys_dataDictionary'
  424. }
  425. },
  426. // {
  427. // path: '/setting/register',
  428. // name: 'powerRegister',
  429. // component: () => import(/* webpackChunkName: "setting" */ '@/views/power/register/register.vue'),
  430. // meta: {
  431. // title: '参数管理',
  432. // icon: 'key'
  433. // // permission: 'M_sys_register'
  434. // }
  435. // },
  436. // {
  437. // path: '/setting/jobs',
  438. // name: 'powerJobs',
  439. // component: () => import(/* webpackChunkName: "setting" */ '@/views/power/job/jobs.vue'),
  440. // meta: {
  441. // title: '定时器',
  442. // icon: 'alert',
  443. // permission: 'M_sys_job'
  444. // }
  445. // },
  446. {
  447. path: '/setting/OperateJournal',
  448. name: 'powerOperateJournal',
  449. component: () => import(/* webpackChunkName: "setting" */
  450. '@/views/power/OperateJournal/OperateJournal.vue'),
  451. meta: {
  452. title: '操作日志',
  453. icon: 'read'
  454. // permission: 'M_operateJournal'
  455. }
  456. }
  457. ]
  458. }
  459. ]
  460. },
  461. {
  462. path: '*',
  463. redirect: '/404',
  464. hidden: true
  465. }
  466. ]
  467. /**
  468. * 基础路由
  469. * @type { *[] }
  470. */
  471. export const constantRouterMap = [{
  472. path: '/user',
  473. component: UserLayout,
  474. redirect: '/user/login',
  475. hidden: true,
  476. children: [{
  477. path: 'login',
  478. name: 'login',
  479. component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login')
  480. },
  481. {
  482. path: 'register',
  483. name: 'register',
  484. component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register')
  485. },
  486. {
  487. path: 'register-result',
  488. name: 'registerResult',
  489. component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult')
  490. },
  491. {
  492. path: 'recover',
  493. name: 'recover',
  494. component: undefined
  495. }
  496. ]
  497. },
  498. {
  499. path: '/404',
  500. component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
  501. }
  502. ]