router.config.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870
  1. // eslint-disable-next-line
  2. import {
  3. UserLayout,
  4. BasicLayout,
  5. RouteView,
  6. PageView,
  7. BlankLayout
  8. } from '@/layouts'
  9. export const asyncRouterMap = [{
  10. path: '/',
  11. name: 'index',
  12. component: BasicLayout,
  13. meta: {
  14. title: '运营后台'
  15. },
  16. redirect: '/home',
  17. children: [{
  18. path: '/home',
  19. name: 'home',
  20. redirect: '/home',
  21. component: PageView,
  22. meta: {
  23. title: '首页',
  24. icon: 'home'
  25. },
  26. hideChildrenInMenu: true,
  27. children: [{
  28. path: '/home',
  29. name: 'home',
  30. component: () => import(/* webpackChunkName: "home" */ '@/views/Home'),
  31. meta: {
  32. title: '首页',
  33. icon: 'home',
  34. hiddenHeaderContent: true
  35. }
  36. }]
  37. },
  38. {
  39. path: '/changePwd',
  40. name: 'changePwd',
  41. hidden: true,
  42. component: () => import(/* webpackChunkName: "changePwd" */ '@/views/user/ChangePwd'),
  43. meta: {
  44. title: '修改密码',
  45. icon: 'home'
  46. }
  47. },
  48. {
  49. path: '/map',
  50. name: 'map',
  51. redirect: '/map',
  52. component: PageView,
  53. meta: {
  54. title: '网点地图',
  55. icon: 'global',
  56. permission: 'M_map'
  57. },
  58. hideChildrenInMenu: true,
  59. children: [{
  60. path: '/map',
  61. name: 'map',
  62. redirect: '/map/NodeMap',
  63. component: RouteView,
  64. meta: {
  65. title: '网点地图',
  66. icon: 'global',
  67. permission: 'M_map'
  68. },
  69. hideChildrenInMenu: true,
  70. children: [{
  71. path: '/map/NodeMap',
  72. name: 'NodeMap',
  73. component: () => import(/* webpackChunkName: "map" */ '@/views/map/NodeMap.vue'),
  74. meta: {
  75. title: '网点地图',
  76. icon: 'global',
  77. hidden: true
  78. }
  79. }]
  80. }]
  81. },
  82. {
  83. path: '/dataView',
  84. name: 'dataView',
  85. redirect: '/dataView',
  86. component: PageView,
  87. meta: {
  88. title: '大数据看板',
  89. icon: 'fund'
  90. // permission: 'M_dataView'
  91. },
  92. hideChildrenInMenu: true,
  93. children: [{
  94. path: '/dataView',
  95. name: 'dataView',
  96. redirect: '/dataView/board',
  97. component: RouteView,
  98. meta: {
  99. title: '大数据看板',
  100. icon: 'fund'
  101. // permission: 'M_dataView'
  102. },
  103. hideChildrenInMenu: true,
  104. children: [{
  105. path: '/dataView/board',
  106. name: 'dataViewBoard',
  107. component: () => import(/* webpackChunkName: "map" */ '@/views/dataView/borard.vue'),
  108. meta: {
  109. title: '大数据看板',
  110. icon: 'fund',
  111. hidden: true,
  112. hiddenHeaderContent: true
  113. }
  114. }]
  115. }]
  116. },
  117. {
  118. path: '/shop',
  119. redirect: '/shop/goods',
  120. component: PageView,
  121. meta: {
  122. title: '商品',
  123. icon: 'shop',
  124. permission: 'M_shop'
  125. },
  126. children: [{
  127. path: '/shop/goods',
  128. redirect: '/shop/goods/list',
  129. name: 'goodsList',
  130. component: RouteView,
  131. meta: {
  132. title: '商品管理',
  133. icon: 'shopping',
  134. permission: 'M_goodsManage_list'
  135. },
  136. hideChildrenInMenu: true,
  137. children: [{
  138. path: '/shop/goods/list',
  139. name: 'goodsListList',
  140. component: () => import(/* webpackChunkName: "shop" */ '@/views/shop/goodsList.vue'),
  141. meta: {
  142. title: '商品列表',
  143. icon: 'shopping',
  144. hidden: true,
  145. permission: 'M_goodsManage_list'
  146. }
  147. },
  148. {
  149. path: '/shop/goods/add',
  150. name: 'goodsListAdd',
  151. component: () => import(/* webpackChunkName: "shop" */ '@/views/shop/goodsEdit.vue'),
  152. meta: {
  153. title: '新增商品',
  154. icon: 'shopping',
  155. hidden: true,
  156. permission: 'B_goodsManage_add'
  157. }
  158. },
  159. {
  160. path: '/shop/goods/edit/:id',
  161. name: 'goodsListEdit',
  162. component: () => import(/* webpackChunkName: "shop" */ '@/views/shop/goodsEdit.vue'),
  163. meta: {
  164. title: '编辑商品',
  165. icon: 'shopping',
  166. hidden: true,
  167. permission: 'B_goodsManage_edit'
  168. }
  169. }
  170. ]
  171. },
  172. {
  173. path: '/shop/goodsShelves',
  174. name: 'goodsShelves',
  175. component: () => import(/* webpackChunkName: "shop" */ '@/views/shop/goodsShelves.vue'),
  176. meta: {
  177. title: '商品排序',
  178. icon: 'flag',
  179. permission: 'M_goodsShelves_0'
  180. }
  181. },
  182. {
  183. path: '/shopSetting/goodsClass',
  184. name: 'goodsClass',
  185. component: () => import(/* webpackChunkName: "shop" */ '@/views/shopSetting/goodsClass.vue'),
  186. meta: {
  187. title: '商品分类管理',
  188. icon: 'folder',
  189. permission: 'M_goodsClass_list'
  190. }
  191. }
  192. ]
  193. },
  194. {
  195. path: '/order',
  196. redirect: '/order/orderManage',
  197. component: PageView,
  198. meta: {
  199. title: '订单',
  200. icon: 'profile',
  201. permission: 'M_orderManage_list'
  202. },
  203. children: [{
  204. path: '/order/orderManage',
  205. redirect: '/order/orderManage/list',
  206. name: 'orderManage',
  207. component: RouteView,
  208. meta: {
  209. title: '订单管理',
  210. icon: 'profile',
  211. permission: 'M_orderManage_list'
  212. },
  213. hideChildrenInMenu: true,
  214. children: [{
  215. path: '/order/orderManage/list',
  216. name: 'orderManageList',
  217. component: () => import(/* webpackChunkName: "order" */ '@/views/shop/shopOrder.vue'),
  218. meta: {
  219. title: '订单列表',
  220. icon: 'shopping',
  221. hidden: true,
  222. permission: 'M_orderManage_list'
  223. }
  224. },
  225. {
  226. path: '/order/orderManage/detail/:id',
  227. name: 'orderManageDetail',
  228. component: () => import(/* webpackChunkName: "order" */ '@/views/shop/orderDetail.vue'),
  229. meta: {
  230. title: '订单详情',
  231. icon: 'profile',
  232. hidden: true,
  233. permission: 'B_orderManage_detail'
  234. }
  235. }
  236. ]
  237. }]
  238. },
  239. // 用户
  240. {
  241. path: '/userInfo',
  242. redirect: '/userInfo/userManage',
  243. component: PageView,
  244. meta: {
  245. title: '用户',
  246. icon: 'user',
  247. permission: 'M_user'
  248. },
  249. children: [{
  250. path: '/userInfo/userManage',
  251. redirect: '/userInfo/userManageList/list',
  252. name: 'userManageS',
  253. component: RouteView,
  254. meta: {
  255. title: '用户管理',
  256. icon: 'user',
  257. permission: 'M_user_userManage_list'
  258. },
  259. hideChildrenInMenu: true,
  260. children: [{
  261. path: '/userInfo/userManageList/list',
  262. name: 'userManageList',
  263. component: () => import(/* webpackChunkName: "userManageList" */ '@/views/userInfo/userManageList.vue'),
  264. meta: {
  265. title: '用户列表',
  266. icon: 'team',
  267. hidden: true,
  268. permission: 'M_user_userManage_list'
  269. }
  270. },
  271. {
  272. path: '/userInfo/userManageList_user/detail/:id',
  273. name: 'userManageDetail',
  274. component: () => import(/* webpackChunkName: "userManageDetail" */ '@/views/userInfo/userDetails.vue'),
  275. meta: {
  276. title: '用户详情',
  277. icon: 'profile',
  278. hidden: true,
  279. permission: 'B_user_userManage_userDetails'
  280. }
  281. },
  282. {
  283. path: '/userInfo/userManageList_Ld/detail',
  284. name: 'ledouDetail',
  285. component: () => import(/* webpackChunkName: "LdDetails" */ '@/views/userInfo/LdDetails.vue'),
  286. meta: {
  287. title: '乐豆明细',
  288. icon: 'profile',
  289. hidden: true,
  290. permission: 'B_user_userManage_LdDetails'
  291. }
  292. }
  293. ]
  294. },
  295. {
  296. path: '/userInfo/allLdDetail',
  297. name: 'allLdDetail',
  298. component: () => import(/* webpackChunkName: "releaseRecord" */ '@/views/userInfo/allLdDetail.vue'),
  299. meta: {
  300. title: '乐豆明细',
  301. icon: 'profile',
  302. permission: 'M_allLdDetail'
  303. }
  304. },
  305. {
  306. path: '/userInfo/releaseRecord/list',
  307. name: 'releaseRecordList',
  308. component: () => import(/* webpackChunkName: "releaseRecord" */ '@/views/releaseRecord/releaseRecordList.vue'),
  309. meta: {
  310. title: '投放记录',
  311. icon: 'container',
  312. permission: 'M_user_releaseRecord'
  313. }
  314. }
  315. ]
  316. },
  317. // 清运管理
  318. {
  319. path: '/cleanManage',
  320. redirect: '/cleanManage/statisticalReport',
  321. component: PageView,
  322. meta: {
  323. title: '清运管理',
  324. icon: 'car',
  325. permission: 'M_cleanManage'
  326. },
  327. children: [{
  328. path: '/cleanManage/statisticalReport',
  329. name: 'statisticalReport',
  330. component: () => import(/* webpackChunkName: "equipmentManage" */
  331. '@/views/cleanManage/statisticalReport.vue'),
  332. meta: {
  333. title: '统计报表',
  334. icon: 'bar-chart',
  335. permission: 'M_statisticalReport'
  336. }
  337. },
  338. {
  339. path: '/cleanManage/driverManage',
  340. name: 'driverManage',
  341. component: () => import(/* webpackChunkName: "equipmentManage" */
  342. '@/views/cleanManage/driverManage.vue'),
  343. meta: {
  344. title: '司机管理',
  345. icon: 'contacts',
  346. permission: 'M_driverManage_list'
  347. }
  348. },
  349. {
  350. path: '/cleanManage/cleanDetail',
  351. name: 'cleanDetail',
  352. component: () => import(/* webpackChunkName: "equipmentManage" */
  353. '@/views/cleanManage/cleanDetail.vue'),
  354. meta: {
  355. title: '清运明细',
  356. icon: 'unordered-list',
  357. permission: 'M_cleanDetail_list'
  358. }
  359. },
  360. {
  361. path: '/cleanManage/netWorkCleanRecord',
  362. name: 'netWorkCleanRecord',
  363. component: () => import(/* webpackChunkName: "equipmentManage" */
  364. '@/views/cleanManage/netWorkCleanRecord.vue'),
  365. meta: {
  366. title: '网点清运记录',
  367. icon: 'line-chart',
  368. permission: 'M_netWorkCleanRecord_list'
  369. }
  370. },
  371. {
  372. path: '/cleanManage/notCleanNetwork',
  373. name: 'notCleanNetwork',
  374. component: () => import(/* webpackChunkName: "equipmentManage" */
  375. '@/views/cleanManage/notCleanNetwork.vue'),
  376. meta: {
  377. title: '待清运清单',
  378. icon: 'cluster',
  379. permission: 'M_notCleanNetwork_list'
  380. }
  381. }
  382. ]
  383. },
  384. // 报表
  385. {
  386. path: '/reportForm',
  387. redirect: '/reportForm/rubbishDeliverySearchTime',
  388. component: PageView,
  389. meta: {
  390. title: '报表',
  391. icon: 'line-chart',
  392. permission: 'M_reportForm'
  393. },
  394. children: [{
  395. path: '/reportForm/rubbishDeliverySearchTime',
  396. name: 'rubbishDeliverySearchTime',
  397. component: () => import(/* webpackChunkName: "reportForm" */
  398. '@/views/reportForm/rubbishDeliverySearchTime.vue'),
  399. meta: {
  400. title: '垃圾投递分时查询表',
  401. icon: 'file-done',
  402. permission: 'M_rubbishSearchTime_list'
  403. }
  404. },
  405. {
  406. path: '/reportForm/rubbishDeliveryTotal',
  407. name: 'rubbishDeliveryTotal',
  408. component: () => import(/* webpackChunkName: "reportForm" */ '@/views/reportForm/rubbishDeliveryTotal.vue'),
  409. meta: {
  410. title: '垃圾投递汇总表',
  411. icon: 'snippets',
  412. permission: 'M_rubbishTotal_list'
  413. }
  414. },
  415. {
  416. path: '/reportForm/unRecyclableRubbishTotal',
  417. name: 'unRecyclableRubbishTotal',
  418. component: () => import(/* webpackChunkName: "reportForm" */ '@/views/reportForm/unRecyclableRubbishTotal.vue'),
  419. meta: {
  420. title: '垃圾录入汇总表',
  421. icon: 'bar-chart',
  422. permission: 'M_unRecyclableTotal_list'
  423. }
  424. },
  425. {
  426. path: '/reportForm/unRecyclableRubbishDetails',
  427. name: 'unRecyclableRubbishDetails',
  428. component: () => import(/* webpackChunkName: "reportForm" */ '@/views/reportForm/unRecyclableRubbishDetails.vue'),
  429. meta: {
  430. title: '垃圾录入明细表',
  431. icon: 'fund',
  432. permission: 'M_unRecyclableDetails_list'
  433. }
  434. }
  435. ]
  436. },
  437. {
  438. path: '/market',
  439. redirect: '/market/winingRecord',
  440. component: PageView,
  441. meta: {
  442. title: '营销',
  443. icon: 'gift',
  444. permission: 'M_market'
  445. },
  446. children: [{
  447. path: '/market/winingRecord',
  448. name: 'winingRecord',
  449. component: () => import(/* webpackChunkName: "market" */ '@/views/market/winingRecord.vue'),
  450. meta: {
  451. title: '中奖记录',
  452. icon: 'file-done',
  453. permission: 'M_winingRecord'
  454. }
  455. },
  456. {
  457. path: '/market/lotterySettings',
  458. name: 'lotterySettings',
  459. component: () => import(/* webpackChunkName: "market" */ '@/views/market/lotterySettings.vue'),
  460. meta: {
  461. title: '大转盘设置',
  462. icon: 'edit',
  463. permission: 'M_lottery_list'
  464. }
  465. },
  466. // {
  467. // path: '/market/luckDrawRecord',
  468. // name: 'luckDrawRecord',
  469. // component: () => import(/* webpackChunkName: "market" */ '@/views/market/luckDrawRecord.vue'),
  470. // meta: {
  471. // title: '抽奖记录',
  472. // icon: 'profile'
  473. // // permission: 'M_lottery_list'
  474. // }
  475. // },
  476. {
  477. path: '/market/giftCard',
  478. name: 'giftCardManage',
  479. component: () => import(/* webpackChunkName: "market" */ '@/views/market/giftCard/giftCard.vue'),
  480. meta: {
  481. title: '礼品卡管理',
  482. icon: 'credit-card',
  483. permission: 'M_giftCard_list'
  484. }
  485. }
  486. ]
  487. },
  488. {
  489. path: '/shopSetting',
  490. redirect: '/shopSetting/bannerSetting',
  491. component: PageView,
  492. meta: {
  493. title: '商城设置',
  494. icon: 'appstore',
  495. permission: 'M_AdBanner_list'
  496. },
  497. children: [{
  498. path: '/shopSetting/bannerSetting',
  499. name: 'bannerSetting',
  500. component: () => import(/* webpackChunkName: "shopSetting" */ '@/views/shop/bannerSetting.vue'),
  501. meta: {
  502. title: '推广位设置',
  503. icon: 'picture',
  504. permission: 'M_AdBanner_list'
  505. }
  506. }]
  507. },
  508. {
  509. path: '/equipmentManage',
  510. redirect: '/equipmentManage/network',
  511. component: PageView,
  512. meta: {
  513. title: '网点/设备',
  514. icon: 'apartment',
  515. permission: 'M_networkEquipment'
  516. },
  517. children: [{
  518. path: '/equipmentManage/network',
  519. name: 'network',
  520. component: () => import(/* webpackChunkName: "equipmentManage" */
  521. '@/views/equipmentManage/network/network.vue'),
  522. meta: {
  523. title: '网点管理',
  524. icon: 'cluster',
  525. permission: 'M_network_list'
  526. }
  527. },
  528. {
  529. path: '/equipmentManage/collector',
  530. name: 'collector',
  531. component: () => import(/* webpackChunkName: "equipmentManage" */
  532. '@/views/equipmentManage/collector/collector.vue'),
  533. meta: {
  534. title: '采集员管理',
  535. icon: 'team',
  536. permission: 'M_collector_list'
  537. }
  538. },
  539. {
  540. path: '/equipmentManage/labelSetting',
  541. name: 'labelSetting',
  542. component: () => import(/* webpackChunkName: "equipmentManage" */
  543. '@/views/equipmentManage/labelSetting/labelSetting.vue'),
  544. meta: {
  545. title: '网点标签管理',
  546. icon: 'link',
  547. permission: 'M_labelSetting_list'
  548. }
  549. },
  550. {
  551. path: '/equipmentManage/equipment',
  552. name: 'equipment',
  553. component: () => import(/* webpackChunkName: "equipmentManage" */
  554. '@/views/equipmentManage/equipment/equipment.vue'),
  555. meta: {
  556. title: '回收箱体管理',
  557. icon: 'usb',
  558. permission: 'M_equipment_list'
  559. }
  560. },
  561. {
  562. path: '/equipmentManage/electronicScale',
  563. name: 'electronicScale',
  564. component: () => import(/* webpackChunkName: "equipmentManage" */
  565. '@/views/equipmentManage/electronicScale/electronicScale.vue'),
  566. meta: {
  567. title: '电子秤管理',
  568. icon: 'dashboard',
  569. permission: 'M_electronicScale_list'
  570. }
  571. },
  572. {
  573. path: '/equipmentManage/boxSetting',
  574. name: 'boxSetting',
  575. component: () => import(/* webpackChunkName: "equipmentManage" */
  576. '@/views/equipmentManage/boxSetting/boxSetting.vue'),
  577. meta: {
  578. title: '箱体类型设置',
  579. icon: 'block',
  580. permission: 'M_boxSetting_list'
  581. }
  582. },
  583. {
  584. path: '/equipmentManage/exchangeSetting',
  585. name: 'exchangeSetting',
  586. component: () => import(/* webpackChunkName: "equipmentManage" */
  587. '@/views/equipmentManage/exchangeSetting/ExchangeSetting.vue'),
  588. meta: {
  589. title: '兑换规则设置',
  590. icon: 'build',
  591. permission: 'M_exchangeSetting_list'
  592. }
  593. },
  594. {
  595. path: '/equipmentManage/openTimeSetting',
  596. name: 'openTimeSetting',
  597. component: () => import(/* webpackChunkName: "equipmentManage" */
  598. '@/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue'),
  599. meta: {
  600. title: '投放时间设置',
  601. icon: 'dashboard',
  602. permission: 'M_openTimeSetting_list'
  603. }
  604. }
  605. ]
  606. },
  607. {
  608. path: '/businessManage',
  609. redirect: '/businessManage/partnerManage',
  610. component: PageView,
  611. meta: {
  612. title: '乐享亭',
  613. icon: 'bank',
  614. permission: 'M_businessManage'
  615. },
  616. children: [{
  617. path: '/businessManage/partnerManage',
  618. name: 'partnerManage',
  619. component: () => import(/* webpackChunkName: "businessManage" */
  620. '@/views/businessManage/partnerManage/partnerManage.vue'),
  621. meta: {
  622. title: '商户管理',
  623. icon: 'solution',
  624. permission: 'M_partnerManage_list'
  625. }
  626. },
  627. {
  628. path: '/businessManage/userManage',
  629. name: 'userManage',
  630. component: () => import(/* webpackChunkName: "businessManage" */
  631. '@/views/businessManage/userManage/userManage.vue'),
  632. meta: {
  633. title: '用户管理',
  634. icon: 'folder',
  635. permission: 'M_userManage_list'
  636. }
  637. },
  638. {
  639. path: '/businessManage/ledouCollectRecord',
  640. name: 'ledouCollectRecord',
  641. component: () => import(/* webpackChunkName: "businessManage" */
  642. '@/views/businessManage/ledouCollectRecord/ledouCollectRecord.vue'),
  643. meta: {
  644. title: '乐豆收取记录',
  645. icon: 'bar-chart',
  646. permission: 'M_ledouCollectRecord_list'
  647. }
  648. },
  649. {
  650. path: '/businessManage/leduQuery',
  651. name: 'leduQuery',
  652. component: () => import(/* webpackChunkName: "businessManage" */
  653. '@/views/businessManage/leduQuery/leduQuery.vue'),
  654. meta: {
  655. title: '商户乐豆统计',
  656. icon: 'search',
  657. permission: 'M_ledouTjList'
  658. }
  659. }
  660. ]
  661. },
  662. {
  663. path: '/supplier',
  664. redirect: '/supplier/list',
  665. component: PageView,
  666. meta: {
  667. title: '供货商',
  668. icon: 'user-add',
  669. permission: 'M_supplier_list'
  670. },
  671. children: [{
  672. path: '/supplier/list',
  673. name: 'supplier',
  674. component: () => import(/* webpackChunkName: "supplier" */ '@/views/shopSetting/supplier.vue'),
  675. meta: {
  676. title: '供货商管理',
  677. icon: 'solution',
  678. permission: 'M_supplier_list'
  679. }
  680. }]
  681. },
  682. // 上门回收管理
  683. {
  684. path: '/recoveryManage',
  685. redirect: '/recoveryManage/bannerSet',
  686. component: PageView,
  687. meta: {
  688. title: '上门回收管理',
  689. icon: 'car',
  690. permission: 'M_recoveryManage'
  691. },
  692. children: [{
  693. path: '/recoveryManage/bannerSet',
  694. name: 'bannerSet',
  695. component: () => import(/* webpackChunkName: "equipmentManage" */
  696. '@/views/recoveryManage/bannerSet.vue'),
  697. meta: {
  698. title: 'banner图设置',
  699. icon: 'bar-chart',
  700. permission: 'M_bannerSet_list'
  701. }
  702. },
  703. {
  704. path: '/recoveryManage/riderSet',
  705. name: 'riderSet',
  706. component: () => import(/* webpackChunkName: "equipmentManage" */
  707. '@/views/recoveryManage/riderSet.vue'),
  708. meta: {
  709. title: '骑手管理',
  710. icon: 'contacts',
  711. permission: 'M_riderSet_list'
  712. }
  713. },
  714. {
  715. path: '/recoveryManage/riderRecoveryTotal',
  716. name: 'riderRecoveryTotal',
  717. component: () => import(/* webpackChunkName: "equipmentManage" */
  718. '@/views/recoveryManage/riderRecoveryTotal.vue'),
  719. meta: {
  720. title: '骑手回收统计',
  721. icon: 'unordered-list',
  722. permission: 'M_riderRecoveryTotal_list'
  723. }
  724. },
  725. {
  726. path: '/recoveryManage/riderOrderRecord',
  727. name: 'riderOrderRecord',
  728. component: () => import(/* webpackChunkName: "equipmentManage" */
  729. '@/views/recoveryManage/riderOrderRecord.vue'),
  730. meta: {
  731. title: '订单记录',
  732. icon: 'line-chart',
  733. permission: 'M_riderOrderRecord_list'
  734. }
  735. },
  736. {
  737. path: '/recoveryManage/recoveryPriceSet',
  738. name: 'recoveryPriceSet',
  739. component: () => import(/* webpackChunkName: "equipmentManage" */
  740. '@/views/recoveryManage/recoveryPriceSet.vue'),
  741. meta: {
  742. title: '回收价格设置',
  743. icon: 'cluster',
  744. permission: 'M_recoveryPriceSet_list'
  745. }
  746. }
  747. ]
  748. },
  749. // auth
  750. {
  751. path: '/auth',
  752. redirect: '/auth/userList',
  753. component: PageView,
  754. meta: {
  755. title: '权限管理',
  756. icon: 'lock',
  757. permission: 'M_auth_0'
  758. },
  759. children: [{
  760. path: '/auth/userList',
  761. name: 'powerUserList',
  762. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
  763. meta: {
  764. title: '用户管理',
  765. icon: 'user',
  766. permission: 'M_power_user_list'
  767. }
  768. },
  769. {
  770. path: '/auth/roleList',
  771. name: 'powerRoleList',
  772. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
  773. meta: {
  774. title: '角色管理',
  775. icon: 'solution',
  776. permission: 'M_power_role_list'
  777. }
  778. },
  779. {
  780. path: '/menusAuth/menu',
  781. name: 'powerMenu',
  782. component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
  783. meta: {
  784. title: '菜单管理',
  785. icon: 'profile',
  786. permission: 'M_power_menu_list'
  787. }
  788. }
  789. ]
  790. },
  791. {
  792. path: '/setting',
  793. redirect: '/setting/userList',
  794. component: PageView,
  795. meta: {
  796. title: '系统设置',
  797. icon: 'setting',
  798. permission: 'M_setting_0'
  799. },
  800. children: [{
  801. path: '/setting/dataDictionary',
  802. name: 'powerDD',
  803. component: () => import(/* webpackChunkName: "setting" */
  804. '@/views/power/dataDictionary/dataDictionary.vue'),
  805. meta: {
  806. title: '数据字典管理',
  807. icon: 'database',
  808. permission: 'M_sys_dataDictionary'
  809. }
  810. },
  811. {
  812. path: '/setting/OperateJournal',
  813. name: 'powerOperateJournal',
  814. component: () => import(/* webpackChunkName: "setting" */
  815. '@/views/power/OperateJournal/OperateJournal.vue'),
  816. meta: {
  817. title: '操作日志',
  818. icon: 'read',
  819. permission: 'M_OperateJournal'
  820. }
  821. }
  822. ]
  823. }
  824. ]
  825. },
  826. {
  827. path: '*',
  828. redirect: '/404',
  829. hidden: true
  830. }
  831. ]
  832. /**
  833. * 基础路由
  834. * @type { *[] }
  835. */
  836. export const constantRouterMap = [{
  837. path: '/user',
  838. component: UserLayout,
  839. redirect: '/user/login',
  840. hidden: true,
  841. children: [{
  842. path: 'login',
  843. name: 'login',
  844. component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login')
  845. },
  846. {
  847. path: 'register',
  848. name: 'register',
  849. component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register')
  850. },
  851. {
  852. path: 'register-result',
  853. name: 'registerResult',
  854. component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult')
  855. },
  856. {
  857. path: 'recover',
  858. name: 'recover',
  859. component: undefined
  860. }
  861. ]
  862. },
  863. {
  864. path: '/404',
  865. component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
  866. }
  867. ]