index.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import Layout from '@/views/layout/Layout'
  4. import RouterView from '@/views/router-view'
  5. import mixin from '@/utils/mixin'
  6. const alias = require('ui-domain/alias')
  7. const routerPush = Router.prototype.push
  8. Router.prototype.push = function push(location) {
  9. return routerPush.call(this, location).catch(error => error)
  10. }
  11. Vue.use(Router)
  12. export const constantRouterMap = [
  13. { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  14. { path: '/franchise/login', component: () => import('@/views/login/index'), hidden: true },
  15. { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
  16. { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true }
  17. ]
  18. export default new Router({
  19. // mode: 'history',
  20. mode: 'hash',
  21. base: alias.admin ? `/${alias.admin}/` : undefined,
  22. scrollBehavior: () => ({ y: 0 }),
  23. routes: constantRouterMap
  24. })
  25. const asyncRouters = [
  26. // 首页
  27. {
  28. path: '/',
  29. component: Layout,
  30. redirect: '/dashboard',
  31. name: 'dashboard',
  32. children: [
  33. { path: 'dashboard', component: () => import('@/views/dashboard/index'), name: 'dashboard', meta: { title: 'home', icon: 'dashboard' } }
  34. ]
  35. },
  36. // 采购管理
  37. /* {
  38. path: '/purchase',
  39. component: Layout,
  40. redirect: '/purchase/purchase-plan',
  41. name: 'purchase',
  42. meta: {
  43. title: 'purchase',
  44. icon: 'purchase'
  45. },
  46. children: [
  47. { path: 'purchase-plan', component: () => import('@/views/purchase/purchasePlan'), name: 'purchasePlan', meta: { title: 'purchasePlan' } },
  48. { path: 'purchase-plan-add', component: () => import('@/views/purchase/purchasePlanAdd'), name: 'purchasePlanAdd', meta: { title: 'purchasePlanAdd', noCache: true }, hidden: true },
  49. { path: 'purchase-plan-edit/:id?', component: () => import('@/views/purchase/purchasePlanAdd'), name: 'purchasePlanEdit', hidden: true, meta: { title: 'purchasePlanEdit' } },
  50. { path: 'purchase-plan-detail/:id?', component: () => import('@/views/purchase/purchasePlanAdd'), name: 'purchasePlanDetail', hidden: true, meta: { title: 'purchasePlanDetail' } },
  51. { path: 'purchase-contract', component: () => import('@/views/purchase/purchaseContract'), name: 'purchaseContract', meta: { title: 'purchaseContract' } },
  52. { path: 'purchase-contract-add', component: () => import('@/views/purchase/purchaseContractAdd'), name: 'purchaseContractAdd', meta: { title: 'purchaseContractAdd', noCache: true }, hidden: true },
  53. { path: 'purchase-contract-edit/:id?', component: () => import('@/views/purchase/purchaseContractAdd'), name: 'purchaseContractEdit', meta: { title: 'purchaseContractEdit', noCache: true }, hidden: true },
  54. { path: 'purchase-contract-detail/:id?', component: () => import('@/views/purchase/purchaseContractAdd'), name: 'purchaseContractDetail', meta: { title: 'purchaseContractDetail', noCache: true }, hidden: true },
  55. { path: 'purchase-warehousing', component: () => import('@/views/purchase/purchaseWarehousing'), name: 'purchaseWarehousing', meta: { title: 'purchaseWarehousing' } },
  56. { path: 'purchase-warehousing-add', component: () => import('@/views/purchase/purchaseWarehousingAdd'), name: 'purchaseWarehousingAdd', meta: { title: 'purchaseWarehousingAdd', noCache: true }, hidden: true },
  57. { path: 'purchase-warehousing-edit/:id?', component: () => import('@/views/purchase/purchaseWarehousingAdd'), name: 'purchaseWarehousingEdit', meta: { title: 'purchaseWarehousingEdit', noCache: true }, hidden: true },
  58. { path: 'purchase-warehousing-audit/:id?', component: () => import('@/views/purchase/purchaseWarehousingAdd'), name: 'purchaseWarehousingAudit', meta: { title: 'purchaseWarehousingAudit', noCache: true }, hidden: true },
  59. { path: 'purchase-warehousing-detail/:id?', component: () => import('@/views/purchase/purchaseWarehousingAdd'), name: 'purchaseWarehousingDetail', meta: { title: 'purchaseWarehousingDetail', noCache: true }, hidden: true },
  60. { path: 'supplier-returns', component: () => import('@/views/purchase/supplierReturns'), name: 'supplierReturns', meta: { title: 'supplierReturns' } },
  61. { path: 'supplier-returns-add', component: () => import('@/views/purchase/supplierReturnsAdd'), name: 'supplierReturnsAdd', meta: { title: 'supplierReturnsAdd', noCache: true }, hidden: true },
  62. { path: 'supplier-returns-edit/:id?', component: () => import('@/views/purchase/supplierReturnsAdd'), name: 'supplierReturnsEdit', meta: { title: 'supplierReturnsEdit', noCache: true }, hidden: true },
  63. { path: 'supplier-returns-audit/:id?', component: () => import('@/views/purchase/supplierReturnsAdd'), name: 'supplierReturnsAudit', meta: { title: 'supplierReturnsAudit', noCache: true }, hidden: true },
  64. { path: 'supplier-returns-detail/:id?', component: () => import('@/views/purchase/supplierReturnsAdd'), name: 'supplierReturnsDetail', meta: { title: 'supplierReturnsDetail', noCache: true }, hidden: true },
  65. { path: 'return-order-audit', component: () => import('@/views/purchase/supplierReturns'), name: 'returnOrderAudit', meta: { title: 'returnOrderAudit', noCache: true }, hidden: true },
  66. { path: 'supplier-settlement', component: () => import('@/views/purchase/supplierSettlement'), name: 'supplierSettlement', meta: { title: 'supplierSettlement' } },
  67. { path: 'settlement-deatil/:id?', component: () => import('@/views/purchase/settlementDeatil'), name: 'settlementDeatil', meta: { title: 'settlementDeatil', noCache: true }, hidden: true }
  68. ]
  69. }, */
  70. // 仓库管理
  71. {
  72. path: '/stock',
  73. component: Layout,
  74. redirect: '/stock/order',
  75. name: 'stock',
  76. meta: { title: 'stock', icon: 'stock' },
  77. children: [
  78. { path: 'goods-transfer', component: () => import('@/views/stock/goodsTransfer'), name: 'goodsTransfer', meta: { title: 'goodsTransfer' } },
  79. { path: 'goods-transfer-add', component: () => import('@/views/stock/goodsTransferAdd'), name: 'goodsTransferAdd', meta: { title: 'goodsTransferAdd', noCache: true }, hidden: true },
  80. { path: 'goods-transfer-edit', component: () => import('@/views/stock/goodsTransferAdd'), name: 'goodsTransferEdit', meta: { title: 'goodsTransferEdit', noCache: true }, hidden: true },
  81. { path: 'goods-transfer-detail', component: () => import('@/views/stock/goodsTransferAdd'), name: 'goodsTransferDetail', meta: { title: 'goodsTransferDetail', noCache: true }, hidden: true },
  82. { path: 'goods-lend', component: () => import('@/views/stock/goodsLend'), name: 'goodsLend', meta: { title: 'goodsLend' } },
  83. { path: 'goods-lend-add', component: () => import('@/views/stock/goodsLendAdd'), name: 'goodsLendAdd', meta: { title: 'goodsLendAdd', noCache: true }, hidden: true },
  84. { path: 'goods-lend-edit/:id', component: () => import('@/views/stock/goodsLendAdd'), name: 'goodsLendEdit', meta: { title: 'goodsLendEdit', noCache: true }, hidden: true },
  85. { path: 'goods-lend-detail/:id', component: () => import('@/views/stock/goodsLendAdd'), name: 'goodsLendDetail', meta: { title: 'goodsLendDetail', noCache: true }, hidden: true },
  86. { path: 'goods-lend-return/:id', component: () => import('@/views/stock/goodsLendAdd'), name: 'goodsLendReturn', meta: { title: 'goodsLendReturn', noCache: true }, hidden: true },
  87. { path: 'goods-exchange-list', component: () => import('@/views/stock/goodsExchange/goodsExchange'), name: 'goodsExchange', meta: { title: 'goodsExchange' } },
  88. { path: 'goods-exchange-add', component: () => import('@/views/stock/goodsExchange/goodsExchangeAdd'), name: 'goodsExchangeAdd', meta: { title: 'goodsExchangeAdd', noCache: true }, hidden: true },
  89. { path: 'goods-exchange-edit/:id?', component: () => import('@/views/stock/goodsExchange/goodsExchangeAdd'), name: 'goodsExchangeEdit', meta: { title: 'goodsExchangeEdit', noCache: true }, hidden: true },
  90. { path: 'goods-exchange-audit/:id?', component: () => import('@/views/stock/goodsExchange/goodsExchangeAdd'), name: 'goodsExchangeAudit', meta: { title: 'goodsExchangeAudit', noCache: true }, hidden: true },
  91. { path: 'goods-exchange-detail/:id?', component: () => import('@/views/stock/goodsExchange/goodsExchangeAdd'), name: 'goodsExchangeDetail', meta: { title: 'goodsExchangeDetail', noCache: true }, hidden: true },
  92. { path: 'goods-inventory-list', component: () => import('@/views/stock/goodsInventory/goodsInventory'), name: 'goodsInventory', meta: { title: 'goodsInventory' } },
  93. { path: 'goods-inventory-add/:id?', component: () => import('@/views/stock/goodsInventory/goodsInventoryAdd'), name: 'goodsInventoryAdd', meta: { title: 'goodsInventoryAdd' }, hidden: true },
  94. { path: 'goods-inventory-edit/:id?', component: () => import('@/views/stock/goodsInventory/goodsInventoryAdd'), name: 'goodsInventoryEdit', meta: { title: 'goodsInventoryEdit', noCache: true }, hidden: true },
  95. { path: 'goods-inventory-audit/:id?', component: () => import('@/views/stock/goodsInventory/goodsInventoryAdd'), name: 'goodsInventoryAudit', meta: { title: 'goodsInventoryAudit', noCache: true }, hidden: true },
  96. { path: 'goods-inventory-detail/:id?', component: () => import('@/views/stock/goodsInventory/goodsInventoryAdd'), name: 'goodsInventoryDetail', meta: { title: 'goodsInventoryDetail', noCache: true }, hidden: true },
  97. { path: 'goods-inventoryLoss-list', component: () => import('@/views/stock/goodsInventoryLoss/goodsInventoryLoss'), name: 'goodsInventoryLoss', meta: { title: 'goodsInventoryLoss' } },
  98. { path: 'goods-inventoryLoss-add/:id?', component: () => import('@/views/stock/goodsInventoryLoss/goodsInventoryLossAdd'), name: 'goodsInventoryLossAdd', meta: { title: 'goodsInventoryLossAdd' }, hidden: true },
  99. { path: 'goods-inventoryLoss-edit/:id?', component: () => import('@/views/stock/goodsInventoryLoss/goodsInventoryLossAdd'), name: 'goodsInventoryLossEdit', meta: { title: 'goodsInventoryLossEdit', noCache: true }, hidden: true },
  100. { path: 'goods-inventoryLoss-audit/:id?', component: () => import('@/views/stock/goodsInventoryLoss/goodsInventoryLossAdd'), name: 'goodsInventoryLossAudit', meta: { title: 'goodsInventoryLossAudit', noCache: true }, hidden: true },
  101. { path: 'goods-inventoryLoss-detail/:id?', component: () => import('@/views/stock/goodsInventoryLoss/goodsInventoryLossAdd'), name: 'goodsInventoryLossDetail', meta: { title: 'goodsInventoryLossDetail', noCache: true }, hidden: true },
  102. { path: 'goods-inventory-check/:id?', component: () => import('@/views/stock/goodsInventory/goodsInventoryAdd'), name: 'goodsInventoryCheck', meta: { title: 'goodsInventoryCheck', noCache: true }, hidden: true },
  103. { path: 'goods-understock', component: () => import('@/views/stock/goodsUnderstock'), name: 'goodsUnderstock', meta: { title: 'goodsUnderstock' } },
  104. { path: 'goods-understock-add', component: () => import('@/views/stock/goodsUnderstockAdd'), name: 'goodsUnderstockAdd', meta: { title: 'goodsUnderstockAdd', noCache: true }, hidden: true },
  105. { path: 'warehouseList', component: () => import('@/views/stock/warehouseList'), name: 'warehouseList', meta: { title: 'warehouseList' } },
  106. { path: 'goods-exchange-add', component: () => import('@/views/stock/goodsExchange/goodsExchangeAdd'), name: 'goodsExchangeOut', meta: { title: 'goodsExchangeOut', noCache: true }, hidden: true },
  107. // { path: 'push-record', component: () => import('@/views/stock/pushRecord'), name: 'pushRecord', meta: { title: 'pushRecord' }}addInventory
  108. { path: 'add-inventory', component: () => import('@/views/stock/goodsExchange/addInventory'), name: 'addInventory', meta: { title: 'addInventory', noCache: true }, hidden: true },
  109. { path: 'edit-inventory/:id?', component: () => import('@/views/stock/goodsExchange/addInventory'), name: 'editInventory', meta: { title: 'editInventory', noCache: true }, hidden: true },
  110. { path: 'audit-inventory/:id?', component: () => import('@/views/stock/goodsExchange/addInventory'), name: 'auditInventory', meta: { title: 'auditInventory', noCache: true }, hidden: true },
  111. { path: 'check-inventory/:id?', component: () => import('@/views/stock/goodsExchange/checkInventory'), name: 'checkInventory', meta: { title: 'checkInventory', noCache: true }, hidden: true },
  112. ]
  113. },
  114. // 库存报表
  115. /* {
  116. path: '/statistics',
  117. component: Layout,
  118. redirect: '/statistics/exchange-goods',
  119. name: 'statistics',
  120. meta: {
  121. title: 'statistics',
  122. icon: 'order-manage'
  123. },
  124. children: [
  125. { path: 'stock-statistics', component: () => import('@/views/statistics/stockStatistics'), name: 'stockStatistics', meta: { title: 'stockStatistics' } },
  126. { path: 'stock-cost-statistics', component: () => import('@/views/statistics/stockCostStatistics'), name: 'stockCostStatistics', meta: { title: 'stockCostStatistics' } },
  127. { path: 'purchase-plan-statistics', component: () => import('@/views/statistics/purchasePlanStatistics'), name: 'purchasePlanStatistics', meta: { title: 'purchasePlanStatistics' } },
  128. { path: 'statistics-of-goods', component: () => import('@/views/statistics/statisticsOfGoods'), name: 'statisticsOfGoods', meta: { title: 'statisticsOfGoods' }, hidden: true },
  129. { path: 'supplier-returns-statistics', component: () => import('@/views/statistics/supplierReturnsStatistics'), name: 'supplierReturnsStatistics', meta: { title: 'supplierReturnsStatistics' } },
  130. { path: 'warehouse-out-statistics', component: () => import('@/views/statistics/warehouseOutStatistics'), name: 'warehouseOutStatistics', meta: { title: 'warehouseOutStatistics' } },
  131. { path: 'order-return-statistics', component: () => import('@/views/statistics/orderRetrunStatistics'), name: 'orderRetrunStatistics', meta: { title: 'orderRetrunStatistics' } },
  132. { path: 'allot-statistics', component: () => import('@/views/statistics/allotStatistics'), name: 'allotStatistics', meta: { title: 'allotStatistics' } },
  133. { path: 'stock-update-statistics', component: () => import('@/views/statistics/stockUpdateStatistics'), name: 'stockUpdateStatistics', meta: { title: 'stockUpdateStatistics' } },
  134. { path: 'goods-exchange-statistics', component: () => import('@/views/statistics/goodsExchangeStatistics'), name: 'goodsExchangeStatistics', meta: { title: 'goodsExchangeStatistics' } }
  135. ]
  136. }, */
  137. // 销售管理
  138. {
  139. path: '/sales',
  140. component: Layout,
  141. redirect: '/stock/order',
  142. name: 'sales',
  143. meta: { title: 'sales', icon: 'shoppingCard' },
  144. children: [
  145. { path: 'order', component: () => import('@/views/stock/order'), name: 'order', meta: { title: 'order' } },
  146. { path: 'order-add', component: () => import('@/views/stock/orderAdd'), name: 'orderAdd', meta: { title: 'orderAdd' }, hidden: true },
  147. { path: 'order-edit/:id?', component: () => import('@/views/stock/orderAdd'), name: 'orderEdit', meta: { title: 'orderEdit' }, hidden: true },
  148. { path: 'order-detail/:id?', component: () => import('@/views/stock/orderAdd'), name: 'orderDetail', meta: { title: 'orderDetail' }, hidden: true },
  149. { path: 'warehouse-out', component: () => import('@/views/stock/warehouseOut'), name: 'warehouseOut', meta: { title: 'warehouseOut' } },
  150. { path: 'order-outbound/:sn?', component: () => import('@/views/stock/orderOutbound'), name: 'orderOutbound', meta: { title: 'orderOutbound', noCache: true }, hidden: true },
  151. { path: 'warehouse-add', component: () => import('@/views/stock/orderOutbound'), name: 'orderOutboundAdd', meta: { title: 'orderOutboundAdd' }, hidden: true },
  152. { path: 'order-outbound/:id?', component: () => import('@/views/stock/orderOutbound'), name: 'orderOutboundDetail', meta: { title: 'orderOutbound', noCache: true }, hidden: true },
  153. { path: 'order-return', component: () => import('@/views/stock/orderReturn'), name: 'orderReturn', meta: { title: 'orderReturn' } },
  154. { path: 'order-return-add/:id?', component: () => import('@/views/stock/orderReturnAdd'), name: 'orderReturnAdd', hidden: true, meta: { title: 'orderReturnAdd' } },
  155. { path: 'order-return-edit/:id?', component: () => import('@/views/stock/orderReturnAdd'), name: 'orderReturnEdit', hidden: true, meta: { title: 'orderReturnEdit' } },
  156. { path: 'order-return-audit/:id?', component: () => import('@/views/stock/orderReturnAdd'), name: 'orderReturnAudit', hidden: true, meta: { title: 'orderReturnAudit' } },
  157. { path: 'order-return-detail/:id?', component: () => import('@/views/stock/orderReturnAdd'), name: 'orderReturnDetail', hidden: true, meta: { title: 'orderReturnDetail' } },
  158. { path: 'channelSettings', component: () => import('@/views/stock/channelSettings'), name: 'channelSettings', meta: { title: 'channelSettings' } },
  159. ]
  160. },
  161. // 商品管理
  162. {
  163. path: '/goods',
  164. component: Layout,
  165. redirect: '/product-file',
  166. name: 'goods',
  167. meta: {
  168. title: 'goods',
  169. icon: 'goods-manage'
  170. },
  171. children: [
  172. { path: 'goods-list', component: () => import('@/views/basicSetting/goods/index.vue'), name: 'goodsList', meta: { title: 'goodsList' } },
  173. { path: 'goods-add', component: () => import('@/views/basicSetting/goods/editForm/index'), name: 'goodsAddForm', meta: { title: 'goodsAddForm', noCache: true }, hidden: true },
  174. { path: 'spec-list', component: () => import('@/views/basicSetting/specList'), name: 'specList', meta: { title: 'specList' }},
  175. { path: 'goods-edit/:id?', component: () => import('@/views/basicSetting/goods/editForm/index'), name: 'goodsEditForm', meta: { title: 'goodsEditForm', noCache: true }, hidden: true },
  176. { path: 'brand', component: () => import('@/views/basicSetting/brand'), name: 'brand', meta: { title: 'brand' } },
  177. { path: 'category-params/:id', component: () => import('@/views/basicSetting/categoryParams'), name: 'categoryParams', hidden: true, meta: { title: 'categoryParams', noCache: true }},
  178. //{ path: 'tag-manage', component: () => import('@/views/basicSetting/goodsTag/tagManage'), name: 'tagManage', meta: { title: 'tagManage' }},
  179. { path: 'tag-add/:tag_id', component: () => import('@/views/basicSetting/goodsTag/tagAdd'), name: 'tagAdd', meta: { title: 'tagAdd' }, hidden: true },
  180. { path: 'serial-list', component: () => import('@/views/setting/serialList'), name: 'serialLists', meta: { title: 'serialLists' } },
  181. ]
  182. },
  183. // 财务管理
  184. {
  185. path: '/finance',
  186. component: Layout,
  187. redirect: '/finance/income',
  188. name: 'finance',
  189. meta: {
  190. title: 'finance',
  191. icon: 'money'
  192. },
  193. children: [
  194. // { path: 'income-list', component: () => import('@/views/finance/income'), name: 'financeIncomeList', meta: { title: 'financeIncome' } },
  195. // { path: 'expand-list', component: () => import('@/views/finance/expand'), name: 'financeExpandList', meta: { title: 'financeExpand' } }
  196. { path: 'financeIncomeList', component: () => import('@/views/finance/financeIncomeList'), name: 'financeIncomeList', meta: { title: 'financeIncomeList' } }
  197. ]
  198. },
  199. // 基础设置
  200. {
  201. path: '/basic-setting',
  202. component: Layout,
  203. redirect: '/setting/system',
  204. name: 'basicSetting',
  205. meta: {
  206. title: 'basicSetting',
  207. icon: 'member-manage'
  208. },
  209. children: [
  210. { path: 'supplier', component: () => import('@/views/basicSetting/supplier'), name: 'supplier', meta: { title: 'supplier' } },
  211. { path: 'enterprise', component: () => import('@/views/basicSetting/enterprise'), name: 'enterprise', meta: { title: 'enterprise' } },
  212. { path: 'marketing-manager', component: () => import('@/views/basicSetting/marketingManager'), name: 'marketingManager', meta: { title: 'marketingManager' } },
  213. { path: 'warehouse', component: () => import('@/views/basicSetting/warehouse'), name: 'warehouse', meta: { title: 'warehouse' } },
  214. { path: 'number-rule', component: () => import('@/views/basicSetting/numberRule'), name: 'numberRule', meta: { title: 'numberRule' } },
  215. { path: 'member', component: () => import('@/views/basicSetting/member/member'), name: 'member', meta: { title: 'member' } },
  216. { path: 'collecting-account', component: () => import('@/views/basicSetting/collectingAccount'), name: 'collectingAccount', meta: { title: 'collectingAccount' } },
  217. { path: 'regional-management', component: () => import('@/views/setting/payment-and-delivery/regionalManagement'), name: 'regionalManagementSettings', meta: { title: 'regionalManagement' } },
  218. { path: 'express', component: () => import('@/views/setting/payment-and-delivery/express'), name: 'expressSettings', meta: { title: 'expressSettings' } },
  219. { path: 'store', component: () => import('@/views/basicSetting/store'), name: 'store', meta: { title: 'store' } },
  220. { path: 'freight-template', component: () => import('@/views/basicSetting/freightTemplate'), name: 'freightTemplate', meta: { title: 'freightTemplate' }}
  221. ]
  222. },
  223. // 系统管理
  224. {
  225. path: '/setting',
  226. component: Layout,
  227. redirect: '/setting/administrator-manage',
  228. name: 'setting',
  229. meta: {
  230. title: 'setting',
  231. icon: 'setting-manage'
  232. },
  233. children: [
  234. {
  235. path: '/setting/system-params',
  236. component: () => import('@/views/setting/shop-settings/index'),
  237. redirect: '/setting/system-params/system',
  238. name: 'systemParams',
  239. meta: { title: 'systemParams' },
  240. children: [
  241. { path: 'system', component: () => import('@/views/setting/shop-settings/systemSettings'), name: 'systemSettings', meta: { title: 'systemSettings' } },
  242. { path: 'storage-solution', component: () => import('@/views/setting/shop-settings/storageSolution'), name: 'storageSolution', meta: { title: 'storageSolution' } },
  243. { path: 'dict-data', component: () => import('@/views/setting/tool-manage/dictData'), name: 'dictData', meta: { title: 'dictData' } },
  244. { path: 'system-logs', component: () => import('@/views/setting/systemLogs'), name: 'systemLogs', meta: { title: 'systemLogs' } },
  245. // serialList
  246. ]
  247. },
  248. {
  249. path: '/setting/oauth2',
  250. component: () => import('@/views/setting/shop-settings/index'),
  251. redirect: '/setting/oauth2/client',
  252. name: 'oauth2',
  253. meta: { title: 'oauth2' },
  254. children: [
  255. { path: 'client', component: () => import('@/views/setting/oauth2/client'), name: 'oauth2Client', meta: { title: 'oauth2Client' } },
  256. { path: 'token', component: () => import('@/views/setting/oauth2/token'), name: 'oauth2Token', meta: { title: 'oauth2Token' } }
  257. ]
  258. },
  259. { path: 'administrator-manage', component: () => import('@/views/setting/auth-settings/administratorManage'), name: 'administratorManage', meta: { title: 'administratorManage' } },
  260. { path: 'role-manage', component: () => import('@/views/setting/auth-settings/roleManage'), name: 'roleManage', meta: { title: 'roleManage' } },
  261. { path: 'role-permission/:id(\\d+)', component: () => import('@/views/setting/auth-settings/rolePermission'), name: 'roleManageEdit', hidden: true, meta: { title: 'rolePermission', noCache: true } },
  262. { path: 'role-permission', component: () => import('@/views/setting/auth-settings/rolePermission'), name: 'roleManageAdd', hidden: true, meta: { title: 'rolePermission', noCache: true } },
  263. { path: 'menu-manage', component: () => import('@/views/setting/tool-manage/menuManage'), name: 'menuManage', meta: { title: 'menuManage' } },
  264. { path: 'branch', component: () => import('@/views/setting/tool-manage/branch'), name: 'branch', meta: { title: 'branch' } },
  265. { path: 'station', component: () => import('@/views/setting/tool-manage/station'), name: 'station', meta: { title: 'station' } },
  266. ]
  267. },
  268. { path: '*', redirect: '/404', hidden: true }
  269. ]
  270. export const asyncRouterMap = asyncRouters