Browse Source

菜单调整

lilei 7 months ago
parent
commit
c56bcba01b

+ 250 - 0
src/config/allocationManagement.js

@@ -0,0 +1,250 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/allocationManagement',
+        redirect: '/allocationManagement/transferOut',
+        component: PageView,
+        meta: {
+          title: '调拨管理',
+          icon: 'cluster',
+          permission: 'M_allocationManagement'
+        },
+        children: [
+          {
+            path: '/allocationManagement/transferOut',
+            redirect: '/allocationManagement/transferOut/list',
+            name: 'transferOut',
+            component: BlankLayout,
+            meta: {
+              title: '调拨列表',
+              icon: 'pull-request',
+              permission: 'M_transferOutList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'transferOutList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/list.vue'),
+                meta: {
+                  title: '调拨列表',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'M_transferOutList'
+                }
+              },
+              {
+                path: 'add/:sn/:dealerLevel',
+                name: 'transferOutAdd',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/edit.vue'),
+                meta: {
+                  title: '新增调拨单',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'M_transferOut_edit'
+                }
+              },
+              {
+                path: 'edit/:sn/:dealerLevel',
+                name: 'transferOutEdit',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/edit.vue'),
+                meta: {
+                  title: '编辑调拨单',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'M_transferOut_edit'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'transferOutDetail',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/detail.vue'),
+                meta: {
+                  title: '调拨单详情',
+                  icon: 'pull-request',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'M_transferOut_detail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/allocationManagement/transfersPrint',
+            redirect: '/allocationManagement/transfersPrint/list',
+            name: 'transfersPrint',
+            component: BlankLayout,
+            meta: {
+              title: '调拨打印',
+              icon: 'pull-request',
+              permission: 'M_transfersPrintList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'transfersPrintList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transfersPrint/list.vue'),
+                meta: {
+                  title: '调拨打印',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'M_transfersPrintList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/allocationManagement/matchSendOutOrder',
+            redirect: '/allocationManagement/matchSendOutOrder/list',
+            name: 'matchSendOutOrderAllocation',
+            component: BlankLayout,
+            meta: {
+              title: '调拨发货对单',
+              icon: 'vertical-align-bottom',
+              permission: 'M_matchSendOutOrderAllocationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'matchSendOutOrderAllocationList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/matchSendOutOrder/list.vue'),
+                meta: {
+                  title: '调拨发货对单',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_matchSendOutOrderAllocationList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/allocationManagement/transferReturn',
+            redirect: '/allocationManagement/transferReturn/list',
+            name: 'transferReturn',
+            component: BlankLayout,
+            meta: {
+              title: '调拨退货列表',
+              icon: 'pull-request',
+              permission: 'M_transferReturnList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'transferReturnList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/list.vue'),
+                meta: {
+                  title: '调拨退货列表',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'M_transferReturnList'
+                }
+              },
+              {
+                path: 'editGrap/:sn/:targetType',
+                name: 'transferReturnGrpEdit',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/editGrp.vue'),
+                meta: {
+                  title: '编辑调拨退货单(抓单)',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'B_transferReturnEdit'
+                }
+              },
+              {
+                path: 'edit/:sn/:targetType/:dealerLevel',
+                name: 'transferReturnEdit',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/edit.vue'),
+                meta: {
+                  title: '编辑调拨退货单(不抓单)',
+                  icon: 'pull-request',
+                  hidden: true,
+                  permission: 'B_transferReturnEdit'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'transferReturnDetail',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/detail.vue'),
+                meta: {
+                  title: '调拨退货单详情',
+                  icon: 'pull-request',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'M_transferReturnDetail'
+                }
+              },
+              {
+                path: 'check/:sn/:grabFlag',
+                name: 'transferReturnCheck',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/check.vue'),
+                meta: {
+                  title: '调拨退货品检',
+                  icon: 'fund',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'M_transferReturnCheck'
+                }
+              }
+            ]
+          },
+          {
+            path: '/allocationManagement/allocateReturnConfirmation',
+            redirect: '/allocationManagement/allocateReturnConfirmation/list',
+            name: 'allocateReturnConfirmation',
+            component: BlankLayout,
+            meta: {
+              title: '调拨退货确认',
+              icon: 'vertical-align-top',
+              permission: 'M_allocateReturnConfirmationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'allocateReturnConfirmationList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/allocateReturnConfirmation/list.vue'),
+                meta: {
+                  title: '调拨退货确认列表',
+                  icon: 'vertical-align-top',
+                  hidden: true,
+                  permission: 'M_allocateReturnConfirmationList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/allocationManagement/allocationList',
+            redirect: '/allocationManagement/allocationList/list',
+            name: 'allocationList',
+            component: BlankLayout,
+            meta: {
+              title: '调拨一览表',
+              icon: 'vertical-align-top',
+              permission: 'M_allocationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'allocationMainList',
+                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/allocationList/list.vue'),
+                meta: {
+                  title: '调拨一览表',
+                  icon: 'vertical-align-top',
+                  hidden: true,
+                  permission: 'M_allocationList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 64 - 0
src/config/bigStatistics.js

@@ -0,0 +1,64 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/bigStatistics',
+        redirect: '/bigStatistics/realTimeSalesReport',
+        component: PageView,
+        meta: {
+          title: '数据统计',
+          icon: 'desktop',
+          permission: 'M_bigScreenStatistics'
+        },
+        children: [
+          {
+            path: '/bigStatistics/realTimeSalesReport',
+            redirect: '/bigStatistics/realTimeSalesReport/index',
+            name: 'bigRealTimeSalesReport',
+            component: BigScreen,
+            meta: {
+              title: '实时销售看板',
+              icon: 'deployment-unit',
+              permission: 'M_realTimeSalesReportIndex'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'realTimeSalesReportIndex',
+                component: () => import(/* webpackChunkName: "bigScreen" */ '@/views/bigScreen/realTimeSalesReport/index'),
+                meta: {
+                  title: '实时销售看板'
+                }
+              }
+            ]
+          },
+          {
+            path: '/bigStatistics/fPanalysisReport',
+            redirect: '/bigStatistics/fPanalysisReport/index',
+            name: 'bigfPanalysisReport',
+            component: BigScreen,
+            meta: {
+              title: '加盟商/产品分析',
+              icon: 'interaction',
+              permission: 'M_fPanalysisReportIndex'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'fPanalysisReportIndex',
+                component: () => import(/* webpackChunkName: "bigScreen" */ '@/views/bigScreen/fPanalysisReport/index'),
+                meta: {
+                  title: '加盟商/产品分析'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 235 - 0
src/config/dealerManagement.js

@@ -0,0 +1,235 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+export default {
+        path: '/dealerManagement',
+        redirect: '/dealerManagement/marketingDivisionSet',
+        component: PageView,
+        meta: {
+          title: '经销商管理',
+          icon: 'idcard',
+          permission: 'M_dealerManagement'
+        },
+        children: [
+          {
+            path: '/dealerManagement/merchantInfoManagement',
+            redirect: '/dealerManagement/merchantInfoManagement/list',
+            name: 'merchantInfoManagement',
+            component: BlankLayout,
+            meta: {
+              title: '经销商资料管理',
+              icon: 'file-text',
+              permission: 'M_merchantInfoManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'merchantInfoManagementList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/list.vue'),
+                meta: {
+                  title: '经销商资料列表',
+                  icon: 'file-text',
+                  hidden: true,
+                  permission: 'M_merchantInfoManagementList'
+                }
+              },
+              {
+                path: 'add',
+                name: 'merchantInfoManagementAdd',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/edit.vue'),
+                meta: {
+                  title: '新增经销商',
+                  icon: 'file-text',
+                  hidden: true
+                }
+              },
+              {
+                path: 'edit/:id',
+                name: 'merchantInfoManagementEdit',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/edit.vue'),
+                meta: {
+                  title: '编辑经销商',
+                  icon: 'file-text',
+                  hidden: true
+                }
+              },
+              {
+                path: 'permissionSetting/:sn/:name/:dealerLevel',
+                name: 'merchantInfoManagementSet',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/permissionSettingNew.vue'),
+                meta: {
+                  title: '经销权设置',
+                  icon: 'file-text',
+                  replaceTab: true,
+                  hidden: true
+                }
+              },
+              {
+                path: 'rebateBinding/:sn',
+                name: 'rebateBinding',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/rebateBinding/list.vue'),
+                meta: {
+                  title: '差价设置',
+                  icon: 'file-text',
+                  replaceTab: true,
+                  hidden: true
+                }
+              }
+            ]
+          },
+          {
+            path: '/dealerManagement/dealerAccountManagement',
+            redirect: '/dealerManagement/dealerAccountManagement/list',
+            name: 'dealerAccountManagement',
+            component: BlankLayout,
+            meta: {
+              title: '经销商账号管理',
+              icon: 'team',
+              permission: 'M_dealerAccountManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'dealerAccountManagementList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/dealerAccountManagement/list.vue'),
+                meta: {
+                  title: '经销商账号列表',
+                  icon: 'team',
+                  hidden: true,
+                  permission: 'M_dealerAccountManagementList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dealerManagement/provincialWarehouseManagement',
+            redirect: '/dealerManagement/provincialWarehouseManagement/list',
+            name: 'provincialWarehouse',
+            component: BlankLayout,
+            meta: {
+              title: '省仓管理',
+              icon: 'share-alt',
+              permission: 'M_provincialWarehouse'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'provincialWarehouseList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/provincialWarehouseManagement/list.vue'),
+                meta: {
+                  title: '省仓管理列表',
+                  icon: 'share-alt',
+                  hidden: true,
+                  permission: 'M_provincialWarehouseList'
+                }
+              },
+              {
+                path: 'relatedDealers/:sn/:name',
+                name: 'relatedDealersList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/provincialWarehouseManagement/relatedDealersList.vue'),
+                meta: {
+                  title: '省仓关联经销商',
+                  icon: 'share-alt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'M_relatedDealersList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dealerManagement/marketingDivisionSetNew',
+            redirect: '/dealerManagement/marketingDivisionSetNew/list',
+            name: 'marketingDivisionSetNew',
+            component: BlankLayout,
+            meta: {
+              title: '营销分区设置',
+              icon: 'setting',
+              permission: 'M_marketingDivisionSetList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'marketingDivisionSetNewList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/marketingDivisionSetNew/list.vue'),
+                meta: {
+                  title: '营销分区列表',
+                  icon: 'setting',
+                  hidden: true,
+                  permission: 'M_marketingDivisionSetList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dealerManagement/businessOwnerSettings',
+            redirect: '/dealerManagement/businessOwnerSettings/list',
+            name: 'businessOwnerSettings',
+            component: BlankLayout,
+            meta: {
+              title: '数据权限配置',
+              icon: 'stock',
+              permission: 'M_businessOwnerSettings'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'businessOwnerSettingsList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/businessOwnerSettings/list.vue'),
+                meta: {
+                  title: '数据权限配置列表',
+                  icon: 'stock',
+                  hidden: true,
+                  permission: 'M_businessOwnerSettingsList'
+                }
+              },
+              {
+                path: 'settingsIndex',
+                name: 'categorySet',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/dealerManagement/businessOwnerSettings/settingsIndex.vue'),
+                meta: {
+                  title: '管辖品类权限设置',
+                  icon: 'user',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'M_settingsIndex'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dealerManagement/dealerZoneSearch',
+            redirect: '/dealerManagement/dealerZoneSearch/list',
+            name: 'dealerZoneSearch',
+            component: BlankLayout,
+            meta: {
+              title: '经销商所属分区查询',
+              icon: 'setting',
+              permission: 'M_dealerZoneSearch'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'dealerZoneSearchList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/dealerZoneSearch/list.vue'),
+                meta: {
+                  title: '经销商所属分区查询',
+                  icon: 'setting',
+                  hidden: true,
+                  permission: 'M_dealerZoneSearchList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 205 - 0
src/config/easyPassManagement.js

@@ -0,0 +1,205 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/easyPassManagement',
+        redirect: '/easyPassManagement/shoppingManagement',
+        component: PageView,
+        meta: {
+          title: '易码通',
+          icon: 'shop',
+          permission: 'M_shoppingManagement'
+        },
+        children: [
+          {
+            path: '/easyPassManagement/shoppingManagement',
+            redirect: '/easyPassManagement/shoppingManagement/list',
+            name: 'shoppingManagement',
+            component: BlankLayout,
+            meta: {
+              title: '商城类目',
+              icon: 'file-ppt',
+              permission: 'M_shoppingManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'shoppingManagementList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingManagement/list.vue'),
+                meta: {
+                  title: '商城类目列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_shoppingManagementList'
+                }
+              },
+              {
+                path: 'chooseProduct/:sn',
+                name: 'chooseProductList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingManagement/chooseProduct.vue'),
+                meta: {
+                  title: '商城类目产品列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_category_chooseProduct'
+                }
+              }
+            ]
+          },
+          {
+            path: '/easyPassManagement/shoppingProducts',
+            redirect: '/easyPassManagement/shoppingProducts/list',
+            name: 'shoppingProducts',
+            component: BlankLayout,
+            meta: {
+              title: '商城产品',
+              icon: 'file-ppt',
+              permission: 'M_shoppingProducts'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'shoppingProductsList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingProducts/list.vue'),
+                meta: {
+                  title: '商城产品列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_shoppingProductsList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/easyPassManagement/promotionalActivities',
+            redirect: '/easyPassManagement/promotionalActivities/list',
+            name: 'promotionalActivities',
+            component: BlankLayout,
+            meta: {
+              title: '促销活动',
+              icon: 'file-ppt',
+              permission: 'M_promotionalActivities'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'activityList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/list.vue'),
+                meta: {
+                  title: '促销活动列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_promotionalActivitiesList'
+                }
+              },
+              {
+                path: 'add/:pageType',
+                name: 'promotionalAddActivity',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/edit.vue'),
+                meta: {
+                  title: '新增促销活动',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_promoActivitiesAdd'
+                }
+              },
+              {
+                path: 'edit/:pageType/:sn',
+                name: 'promotionalEditActivity',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/edit.vue'),
+                meta: {
+                  title: '编辑促销活动',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_promoActivitiesEdit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/easyPassManagement/promotionalProducts',
+            redirect: '/easyPassManagement/promotionalProducts/list',
+            name: 'promotionalProducts',
+            component: BlankLayout,
+            meta: {
+              title: '促销产品',
+              icon: 'file-ppt',
+              permission: 'M_promoProduct'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'promoProductList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalProducts/list.vue'),
+                meta: {
+                  title: '促销产品列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_promoProductList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/easyPassManagement/homepageCarouselImg',
+            redirect: '/easyPassManagement/homepageCarouselImg/list',
+            name: 'carouselImageList',
+            component: BlankLayout,
+            meta: {
+              title: '首页轮播图',
+              icon: 'file-ppt',
+              permission: 'M_homepageCarouselImg'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'carouselImageList',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/list.vue'),
+                meta: {
+                  title: '首页轮播图列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_homepageCarouselImgList'
+                }
+              },
+              {
+                path: 'add',
+                name: 'carouselImageAdd',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/edit.vue'),
+                meta: {
+                  title: '新增轮播图',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_homepageCarouselAdd'
+                }
+              },
+              {
+                path: 'edit/:sn/:bizType',
+                name: 'carouselImageEdit',
+                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/edit.vue'),
+                meta: {
+                  title: '编辑轮播图',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_homepageCarouselEdit'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 92 - 0
src/config/expenseManagement.js

@@ -0,0 +1,92 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/expenseManagement',
+        redirect: '/expenseManagement/expenseReimbursement',
+        component: PageView,
+        meta: {
+          title: '费用报销',
+          icon: 'account-book',
+          permission: 'M_expenseManagement'
+        },
+        children: [
+          {
+            path: '/expenseManagement/expenseReimbursement',
+            redirect: '/expenseManagement/expenseReimbursement/list',
+            name: 'expenseReimbursement',
+            component: BlankLayout,
+            meta: {
+              title: '费用报销单',
+              icon: 'monitor',
+              permission: 'M_expenseReimbursementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'expenseReimbursementList',
+                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/list.vue'),
+                meta: {
+                  title: '费用报销单列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_expenseReimbursementList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'expenseReimbursementListDetail',
+                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/detail.vue'),
+                meta: {
+                  title: '费用报销单详情',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_eRdetail'
+                }
+              },
+              {
+                path: 'edit/:sn',
+                name: 'expenseReimbursementEdit',
+                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/add.vue'),
+                meta: {
+                  title: '编辑费用报销单',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_ERtEdit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/expenseManagement/expenseReimbursementDetail',
+            redirect: '/expenseManagement/expenseReimbursementDetail/list',
+            name: 'expenseReimbursementDetail',
+            component: BlankLayout,
+            meta: {
+              title: '费用报销明细统计',
+              icon: 'audit',
+              permission: 'M_expenseReimbursementDetailList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'expenseReimbursementDetailList',
+                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursementDetail/list.vue'),
+                meta: {
+                  title: '费用报销明细统计列表',
+                  icon: 'audit',
+                  hidden: true,
+                  permission: 'M_expenseReimbursementDetailList'
+                }
+              }
+            ]
+          }
+        ]
+      } 

+ 117 - 0
src/config/financialManagement.js

@@ -0,0 +1,117 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/financialManagement',
+        redirect: '/financialManagement/warehousingConfirmation',
+        component: PageView,
+        meta: {
+          title: '财务管理',
+          icon: 'property-safety',
+          permission: 'M_financialManagement'
+        },
+        children: [
+          {
+            path: '/financialManagement/warehousingConfirmation',
+            redirect: '/financialManagement/warehousingConfirmation/list',
+            name: 'warehousingConfirmation',
+            component: BlankLayout,
+            meta: {
+              title: '入库确认',
+              icon: 'vertical-align-bottom',
+              permission: 'M_warehousingConfirmationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'warehousingConfirmationList',
+                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/warehousingConfirmation/list.vue'),
+                meta: {
+                  title: '入库确认列表',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_warehousingConfirmationList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/financialManagement/financialCollection',
+            redirect: '/financialManagement/financialCollection/list',
+            name: 'financialCollection',
+            component: BlankLayout,
+            meta: {
+              title: '财务收款',
+              icon: 'pay-circle',
+              permission: 'M_financialCollectionList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'financialCollectionList',
+                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/list.vue'),
+                meta: {
+                  title: '财务收款列表',
+                  icon: 'pay-circle',
+                  hidden: true,
+                  permission: 'M_financialCollectionList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'financialCollectionDetail',
+                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/detail.vue'),
+                meta: {
+                  title: '财务收款详情',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_fc_detail'
+                }
+              },
+              {
+                path: 'edit/:sn',
+                name: 'financialCollectionEdit',
+                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/edit.vue'),
+                meta: {
+                  title: '编辑财务收款',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_fc_edit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/financialManagement/collectionDetailStatic',
+            redirect: '/financialManagement/collectionDetailStatic/list',
+            name: 'collectionDetailStatic',
+            component: BlankLayout,
+            meta: {
+              title: '财务收款明细统计',
+              icon: 'vertical-align-top',
+              permission: 'M_FC_Details_list'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'collectionDetailStaticList',
+                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/collectionDetailStatic/list.vue'),
+                meta: {
+                  title: '财务收款明细统计列表',
+                  icon: 'vertical-align-top',
+                  hidden: true,
+                  permission: 'M_FC_Details_list'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 107 - 0
src/config/home.js

@@ -0,0 +1,107 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/home',
+        name: 'home',
+        redirect: '/home',
+        component: PageView,
+        meta: {
+          title: '首页',
+          icon: 'home'
+        },
+        hideChildrenInMenu: true,
+        children: [
+          {
+            path: '/home',
+            name: 'home',
+            redirect: '/home',
+            component: BlankLayout,
+            meta: {
+              title: '首页',
+              icon: 'home',
+              hidden: true
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: '/home',
+                name: 'home',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/Home'),
+                meta: {
+                  title: '首页',
+                  icon: 'home',
+                  hidden: true
+                }
+              },
+              {
+                path: '/changePwd',
+                name: 'changePwd',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/user/ChangePwd'),
+                meta: {
+                  title: '修改密码',
+                  icon: 'home'
+                },
+                hidden: true
+              },
+              {
+                path: '/notice',
+                name: 'notice',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/setting/notice/list'),
+                meta: {
+                  title: '公告',
+                  icon: 'bell'
+                },
+                hidden: true
+              },
+              {
+                path: '/dowloadFile',
+                name: 'dowloadFile',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/dowloadFile/list'),
+                meta: {
+                  title: '下载中心',
+                  icon: 'bell'
+                },
+                hidden: true
+              },
+              // 新品列表
+              {
+                path: '/newProduct/list/:onlineFalg',
+                name: 'newProductList',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/list'),
+                meta: {
+                  title: '新品信息',
+                  icon: 'home'
+                },
+                hidden: true
+              },
+              {
+                path: '/newProduct/list/:onlineFalg',
+                name: 'oldProductList',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/list'),
+                meta: {
+                  title: '下线产品列表',
+                  icon: 'home'
+                },
+                hidden: true
+              },
+              // 产品详情
+              {
+                path: '/viewProduct/:sn',
+                name: 'viewProduct',
+                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/detail'),
+                meta: {
+                  title: '产品详情',
+                  icon: 'home'
+                },
+                hidden: true
+              }
+            ]
+          }
+        ]
+      }

+ 299 - 0
src/config/inventoryManagement.js

@@ -0,0 +1,299 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/inventoryManagement',
+        redirect: '/inventoryManagement/inventoryQuery',
+        component: PageView,
+        meta: {
+          title: '库存管理',
+          icon: 'shop',
+          permission: 'M_inventoryManagement'
+        },
+        children: [
+          {
+            path: '/inventoryManagement/inventoryQuery',
+            redirect: '/inventoryManagement/inventoryQuery/list',
+            name: 'inventoryQuery',
+            component: BlankLayout,
+            meta: {
+              title: '库存查询',
+              icon: 'monitor',
+              permission: 'M_inventoryQueryList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'inventoryQueryList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryQuery/list.vue'),
+                meta: {
+                  title: '库存列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_inventoryQueryList'
+                }
+              },
+              {
+                path: 'warehouseDetail/:sn/:warehouseSn',
+                name: 'inventoryQueryWarehouseDetail',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryQuery/warehouseDetail.vue'),
+                meta: {
+                  title: '出入库明细',
+                  icon: 'monitor',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_inventoryQuery_rkDetail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/inventoryCheck',
+            redirect: '/inventoryManagement/inventoryCheck/list/0',
+            name: 'inventoryCheck',
+            component: BlankLayout,
+            meta: {
+              title: '库存盘点',
+              icon: 'monitor',
+              permission: 'M_inventoryCheckList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list/:type',
+                name: 'inventoryCheckList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryCheck/list.vue'),
+                meta: {
+                  title: '库存盘点列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_inventoryCheckList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'inventoryCheckDetail',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryCheck/detail.vue'),
+                meta: {
+                  title: '库存盘点详情',
+                  icon: 'monitor',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_inventoryCheckDetail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/makeInventory',
+            redirect: '/inventoryManagement/makeInventory/list',
+            name: 'makeInventory',
+            component: BlankLayout,
+            meta: {
+              title: '盘点人盘点',
+              icon: 'monitor',
+              permission: 'M_inventoryMakeInventoryList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'makeInventoryList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/makeInventory/list.vue'),
+                meta: {
+                  title: '盘点人盘点列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_inventoryMakeInventoryList'
+                }
+              },
+              {
+                path: 'check/:sn',
+                name: 'makeInventoryCheck',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/makeInventory/check.vue'),
+                meta: {
+                  title: '盘点人盘点',
+                  icon: 'monitor',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_inventoryMakeInventoryCheck'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/supervisionDisk',
+            redirect: '/inventoryManagement/supervisionDisk/list',
+            name: 'supervisionDisk',
+            component: BlankLayout,
+            meta: {
+              title: '监盘人盘点',
+              icon: 'monitor',
+              permission: 'M_supervisionDiskList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'supervisionDiskList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/supervisionDisk/list.vue'),
+                meta: {
+                  title: '监盘人盘点列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_supervisionDiskList'
+                }
+              },
+              {
+                path: 'check/:sn',
+                name: 'supervisionDiskCheck',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/supervisionDisk/check.vue'),
+                meta: {
+                  title: '监盘人监盘',
+                  icon: 'monitor',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_supervisionDiskCheck'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/inventoryConfirmation',
+            redirect: '/inventoryManagement/inventoryConfirmation/list',
+            name: 'inventoryConfirmation',
+            component: BlankLayout,
+            meta: {
+              title: '盘点确认',
+              icon: 'monitor',
+              permission: 'M_inventoryConfirmationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'inventoryConfirmationList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryConfirmation/list.vue'),
+                meta: {
+                  title: '盘点确认列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_inventoryConfirmationList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'inventoryConfirmationDetail',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryConfirmation/detail.vue'),
+                meta: {
+                  title: '盘点确认详情',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_inventoryConfirmationDetail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/inventoryWarning',
+            redirect: '/inventoryManagement/inventoryWarning/list',
+            name: 'inventoryWarning',
+            component: BlankLayout,
+            meta: {
+              title: '库存预警',
+              icon: 'monitor',
+              permission: 'M_inventoryWarningList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'inventoryWarningList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryWarning/list.vue'),
+                meta: {
+                  title: '库存预警列表',
+                  icon: 'alert',
+                  hidden: true,
+                  permission: 'M_inventoryWarningList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/inventoryManagement/intelligentReplenishment',
+            redirect: '/inventoryManagement/intelligentReplenishment/list',
+            name: 'intelligentReplenishment',
+            component: BlankLayout,
+            meta: {
+              title: '智能补货',
+              icon: 'monitor',
+              permission: 'M_intelligentReplenishmentList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'intelligentReplenishmentList',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/list.vue'),
+                meta: {
+                  title: '智能补货列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_intelligentReplenishmentList'
+                }
+              },
+              {
+                path: 'add/:sn',
+                name: 'intelligentReplenishmentAdd',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/edit.vue'),
+                meta: {
+                  title: '新增智能补货',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_intelligentReplenishment_edit'
+                }
+              },
+              {
+                path: 'edit/:sn',
+                name: 'intelligentReplenishmentEdit',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/edit.vue'),
+                meta: {
+                  title: '编辑智能补货',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_intelligentReplenishment_edit'
+                }
+              },
+              {
+                path: 'set',
+                name: 'intelligentReplenishmentSet',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/set.vue'),
+                meta: {
+                  title: '基础信息设置',
+                  icon: 'monitor',
+                  permission: 'B_intelligentReplenishment_set',
+                  replaceTab: true,
+                  hidden: true
+                }
+              },
+              {
+                path: 'import',
+                name: 'intelligentReplenishmentImport',
+                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/import.vue'),
+                meta: {
+                  title: '确认导入',
+                  icon: 'monitor',
+                  replaceTab: true,
+                  hidden: true
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 367 - 0
src/config/productManagement.js

@@ -0,0 +1,367 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/productManagement',
+        redirect: '/productManagement/productInfo',
+        component: PageView,
+        meta: {
+          title: '产品管理',
+          icon: 'shopping',
+          permission: 'M_productManagement'
+        },
+        children: [
+          {
+            path: '/productManagement/productInfo',
+            redirect: '/productManagement/productInfo/list',
+            name: 'productInfo',
+            component: BlankLayout,
+            meta: {
+              title: '产品列表',
+              icon: 'gold',
+              permission: 'M_productInfoList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productInfoList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/list.vue'),
+                meta: {
+                  title: '产品列表',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_productInfoList'
+                }
+              },
+              {
+                path: 'add',
+                name: 'productInfoAdd',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/edit.vue'),
+                meta: {
+                  title: '新增产品',
+                  icon: 'gold',
+                  hidden: true
+                  // permission: 'B_goodsManage_edit'
+                }
+              },
+              {
+                path: 'edit/:id/:sn',
+                name: 'productInfoEdit',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/edit.vue'),
+                meta: {
+                  title: '编辑产品',
+                  icon: 'gold',
+                  hidden: true
+                  // permission: 'B_goodsManage_edit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productPricing',
+            redirect: '/productManagement/productPricing/list',
+            name: 'productPricing',
+            component: BlankLayout,
+            meta: {
+              title: '产品定价',
+              icon: 'transaction',
+              permission: 'M_productPricingList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productPricingList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productPricing/list.vue'),
+                meta: {
+                  title: '产品定价列表',
+                  icon: 'transaction',
+                  hidden: true,
+                  permission: 'M_productPricingList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productLaunchAudit',
+            redirect: '/productManagement/productLaunchAudit/list',
+            name: 'productLaunchAudit',
+            component: BlankLayout,
+            meta: {
+              title: '产品上线审核',
+              icon: 'rise',
+              permission: 'M_productLaunchAuditList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productLaunchAuditList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productLaunchAudit/list.vue'),
+                meta: {
+                  title: '产品上线审核列表',
+                  icon: 'rise',
+                  hidden: true,
+                  permission: 'M_productLaunchAuditList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/newProduct',
+            redirect: '/productManagement/newProduct/list/onlineInfo/1',
+            name: 'productLaunchInfo',
+            component: BlankLayout,
+            meta: {
+              title: '产品上线信息',
+              icon: 'rise',
+              permission: 'M_productLaunchInfoList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list/:type/:onlineFalg',
+                name: 'productLaunchInfoList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/newProduct/list.vue'),
+                meta: {
+                  title: '产品上线信息列表',
+                  icon: 'rise',
+                  hidden: true,
+                  permission: 'M_productLaunchInfoList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productOfflineAudit',
+            redirect: '/productManagement/productOfflineAudit/list',
+            name: 'productOfflineAudit',
+            component: BlankLayout,
+            meta: {
+              title: '产品下线审核',
+              icon: 'fall',
+              permission: 'M_productOfflineAuditList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productOfflineAuditList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productOfflineAudit/list.vue'),
+                meta: {
+                  title: '产品下线审核列表',
+                  icon: 'fall',
+                  hidden: true,
+                  permission: 'M_productOfflineAuditList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productNotOnline',
+            redirect: '/productManagement/productNotOnline/list',
+            name: 'productNotOnline',
+            component: BlankLayout,
+            meta: {
+              title: '产品状态信息',
+              icon: 'fall',
+              permission: 'M_productNotOnlineList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productNotOnlineList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productNotOnline/list.vue'),
+                meta: {
+                  title: '产品状态信息列表',
+                  icon: 'fall',
+                  hidden: true,
+                  permission: 'M_productNotOnlineList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/priceChangeRecord',
+            redirect: '/productManagement/priceChangeRecord/list',
+            name: 'priceChangeRecord',
+            component: BlankLayout,
+            meta: {
+              title: '价格变更记录',
+              icon: 'profile',
+              permission: 'M_priceChangeRecordList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'priceChangeRecordList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/priceChangeRecord/list.vue'),
+                meta: {
+                  title: '价格变更记录列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_priceChangeRecordList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productUniversal',
+            redirect: '/productManagement/productUniversal/list',
+            name: 'productUniversal',
+            component: BlankLayout,
+            meta: {
+              title: '通用产品管理',
+              icon: 'deployment-unit',
+              permission: 'M_productUniversalList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productUniversalList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productUniversal/list.vue'),
+                meta: {
+                  title: '通用产品列表',
+                  icon: 'deployment-unit',
+                  hidden: true,
+                  permission: 'M_productUniversalList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productLevel',
+            redirect: '/productManagement/productLevel/list',
+            name: 'productLevel',
+            component: BlankLayout,
+            meta: {
+              title: '产品级别管理',
+              icon: 'fund',
+              permission: 'M_productLevelList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productLevelList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productLevel/list.vue'),
+                meta: {
+                  title: '产品级别列表',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_productLevelList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productBrand',
+            redirect: '/productManagement/productBrand/list',
+            name: 'productBrand',
+            component: BlankLayout,
+            meta: {
+              title: '产品品牌管理',
+              icon: 'file-ppt',
+              permission: 'M_productBrandList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productBrandList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productBrand/list.vue'),
+                meta: {
+                  title: '产品品牌列表',
+                  icon: 'file-ppt',
+                  hidden: true,
+                  permission: 'M_productBrandList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productCategory',
+            redirect: '/productManagement/productCategory/list',
+            name: 'productCategory',
+            component: BlankLayout,
+            meta: {
+              title: '产品分类管理',
+              icon: 'radar-chart',
+              permission: 'M_productCategoryList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productCategoryList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productCategory/list.vue'),
+                meta: {
+                  title: '产品分类列表',
+                  icon: 'radar-chart',
+                  hidden: true,
+                  permission: 'M_productCategoryList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/shelfNoManage',
+            redirect: '/productManagement/shelfNoManage/list',
+            name: 'shelfNoManage',
+            component: BlankLayout,
+            meta: {
+              title: '货位编号管理',
+              icon: 'radar-chart',
+              permission: 'M_shelfNoManageList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'shelfNoManageList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/shelfNoManage/list.vue'),
+                meta: {
+                  title: '货位编号管理',
+                  icon: 'radar-chart',
+                  hidden: true,
+                  permission: 'M_shelfNoManageList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productManagement/productSourcePath',
+            redirect: '/productManagement/productSourcePath/list',
+            name: 'productSourcePath',
+            component: BlankLayout,
+            meta: {
+              title: '唯一码追溯列表',
+              icon: 'radar-chart',
+              permission: 'M_productSourcePathList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productSourcePathList',
+                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productSourcePath/list.vue'),
+                meta: {
+                  title: '唯一码追溯列表',
+                  icon: 'radar-chart',
+                  hidden: true,
+                  permission: 'M_productSourcePathList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 113 - 0
src/config/promotionRulesManagement.js

@@ -0,0 +1,113 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/promotionRulesManagement',
+        redirect: '/promotionRulesManagement/promotionRules',
+        component: PageView,
+        meta: {
+          title: '促销管理',
+          icon: 'rocket',
+          permission: 'M_promotionRulesManagement'
+        },
+        children: [
+          {
+            path: '/promotionRulesManagement/dealerPromotions',
+            redirect: '/promotionRulesManagement/dealerPromotions/list',
+            name: 'dealerPromotionManagement',
+            component: BlankLayout,
+            meta: {
+              title: '经销商促销',
+              icon: 'setting',
+              permission: 'M_dealerPromotionManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'dealerPromotionManagementList',
+                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/promotionRulesManagement/dealerPromotions/list.vue'),
+                meta: {
+                  title: '经销商促销',
+                  icon: 'setting',
+                  hidden: true,
+                  permission: 'M_dealerPromotionManagementList'
+                }
+              },
+              {
+                path: 'detail',
+                name: 'dealerPromotionManagementDetail',
+                component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/dealerPromotions/detail.vue'),
+                meta: {
+                  title: '促销活动详情',
+                  icon: 'thunderbolt',
+                  hidden: true
+                }
+              },
+              {
+                path: 'ruleSet',
+                name: 'dealerPromotionManagementRule',
+                component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/dealerPromotions/detail.vue'),
+                meta: {
+                  title: '促销规则设置',
+                  icon: 'thunderbolt',
+                  replaceTab: true,
+                  hidden: true
+                }
+              }
+            ]
+          }
+          // {
+          //   path: '/promotionRulesManagement/promotionManagement',
+          //   redirect: '/promotionRulesManagement/promotionManagement/list',
+          //   name: 'promotionManagement',
+          //   component: BlankLayout,
+          //   meta: {
+          //     title: '修理厂促销',
+          //     icon: 'file-ppt',
+          //     permission: 'M_promotionManagementList'
+          //   },
+          //   hideChildrenInMenu: true,
+          //   children: [
+          //     {
+          //       path: 'list',
+          //       name: 'promotionManagementList',
+          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/list.vue'),
+          //       meta: {
+          //         title: '修理厂促销列表',
+          //         icon: 'file-ppt',
+          //         hidden: true,
+          //         permission: 'M_promotionManagementList'
+          //       }
+          //     },
+          //     {
+          //       path: 'add/:sn/:pageType',
+          //       name: 'promotionManagementAdd',
+          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/edit.vue'),
+          //       meta: {
+          //         title: '新增修理厂促销',
+          //         icon: 'file-ppt',
+          //         hidden: true,
+          //         permission: 'B_promotionManagementAdd'
+          //       }
+          //     },
+          //     {
+          //       path: 'edit/:sn/:pageType',
+          //       name: 'promotionManagementEdit',
+          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/edit.vue'),
+          //       meta: {
+          //         title: '编辑修理厂促销',
+          //         icon: 'file-ppt',
+          //         hidden: true,
+          //         permission: 'B_promotionManagementEdit'
+          //       }
+          //     }
+          //   ]
+          // }
+        ]
+      }

+ 160 - 0
src/config/purchasingManagement.js

@@ -0,0 +1,160 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/purchasingManagement',
+        redirect: '/purchasingManagement/purchaseOrder',
+        component: PageView,
+        meta: {
+          title: '采购管理',
+          icon: 'money-collect',
+          permission: 'M_purchasingManagement'
+        },
+        children: [
+          {
+            path: '/purchasingManagement/purchaseReceipt',
+            redirect: '/purchasingManagement/purchaseReceipt/list',
+            name: 'purchaseReceipt',
+            component: BlankLayout,
+            meta: {
+              title: '采购入库',
+              icon: 'gold',
+              permission: 'M_purchaseReceipt'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'purchaseReceiptList',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReceipt/list.vue'),
+                meta: {
+                  title: '采购入库列表',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_purchaseReceiptList'
+                }
+              },
+              {
+                path: 'edit',
+                name: 'purchaseReceiptEdit',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReceipt/edit.vue'),
+                meta: {
+                  title: '编辑采购入库单',
+                  icon: 'gold',
+                  hidden: true
+                }
+              }
+            ]
+          },
+          {
+            path: '/purchasingManagement/bulkWarehousingOrder',
+            redirect: '/purchasingManagement/bulkWarehousingOrder/list',
+            name: 'bulkWarehousingOrder',
+            component: BlankLayout,
+            meta: {
+              title: '散件入库',
+              icon: 'gold',
+              permission: 'M_bulkWarehousingOrderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'bulkWarehousingOrderList',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/list.vue'),
+                meta: {
+                  title: '散件入库单列表',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_bulkWarehousingOrderList'
+                }
+              },
+              {
+                path: 'add/:id/:sn',
+                name: 'bulkWarehousingOrderAdd',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/edit.vue'),
+                meta: {
+                  title: '新增散件入库单',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'B_sparePartsEdit'
+                }
+              },
+              {
+                path: 'edit/:id/:sn',
+                name: 'bulkWarehousingOrderEdit',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/edit.vue'),
+                meta: {
+                  title: '编辑散件入库单',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'B_sparePartsEdit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/purchasingManagement/purchaseReturn',
+            redirect: '/purchasingManagement/purchaseReturn/list',
+            name: 'purchaseReturn',
+            component: BlankLayout,
+            meta: {
+              title: '采购退货',
+              icon: 'gold',
+              permission: 'M_purchaseReturn'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'purchaseReturnList',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/list.vue'),
+                meta: {
+                  title: '采购退货',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_purchaseReturnList'
+                }
+              },
+              {
+                path: 'add',
+                name: 'purchaseReturnAdd',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
+                meta: {
+                  title: '新增采购退货',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'B_purchaseReturnEdit'
+                }
+              },
+              {
+                path: 'edit',
+                name: 'purchaseReturnEdit',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
+                meta: {
+                  title: '编辑采购退货(不抓单)',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'B_purchaseReturnEdit'
+                }
+              },
+              {
+                path: 'editGrab',
+                name: 'purchaseReturnEditGrab',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
+                meta: {
+                  title: '编辑采购退货(抓单)',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'B_purchaseReturnEdit'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 195 - 0
src/config/report/otherReport.js

@@ -0,0 +1,195 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/otherReport',
+        redirect: '/reportData/salesOrderTotal',
+        component: PageView,
+        meta: {
+          title: '其它报表',
+          icon: 'project',
+          permission: 'M_otherReport'
+        },
+        children: [
+          {
+            path: '/reportData/tireSalesReport',
+            redirect: '/reportData/tireSalesReport/index',
+            name: 'tireSalesReport',
+            component: BlankLayout,
+            meta: {
+              title: '轮胎统计报表',
+              icon: 'profile',
+              permission: 'M_tireSalesReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'tireSalesReportIndex',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/tireSalesReport/index.vue'),
+                meta: {
+                  title: '轮胎统计报表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_tireSalesReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/tireFeeReport',
+            redirect: '/reportData/tireFeeReport/index',
+            name: 'tireFeeReport',
+            component: BlankLayout,
+            meta: {
+              title: '轮胎费用报表',
+              icon: 'profile',
+              permission: 'M_tireFeeReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'tireFeeReportIndex',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/tireFeeReport/index.vue'),
+                meta: {
+                  title: '轮胎费用报表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_tireFeeReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/expenseAccountBearerReport',
+            redirect: '/reportData/expenseAccountBearerReport/list',
+            name: 'expenseAccountBearerReport',
+            component: BlankLayout,
+            meta: {
+              title: '费用汇总报表(按承担方)',
+              icon: 'profile',
+              permission: 'M_expenseAccountBearerReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'expenseAccountBearerReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/expenseAccountReport/bearerList.vue'),
+                meta: {
+                  title: '费用汇总报表(按承担方)',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_expenseAccountBearerReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/expenseAccountCategoryReport',
+            redirect: '/reportData/expenseAccountCategoryReport/list',
+            name: 'expenseAccountCategoryReport',
+            component: BlankLayout,
+            meta: {
+              title: '费用汇总报表(按品类)',
+              icon: 'profile',
+              permission: 'M_expenseAccountCategoryReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'expenseAccountCategoryReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/expenseAccountReport/categoryList.vue'),
+                meta: {
+                  title: '费用汇总报表(按品类)',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_expenseAccountCategoryReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/receivedSendStorageReport',
+            redirect: '/reportData/receivedSendStorageReport/index',
+            name: 'receivedSendStorageReport',
+            component: BlankLayout,
+            meta: {
+              title: '收发存报表',
+              icon: 'profile',
+              permission: 'M_receivedSendStorageReport'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'receivedSendStorageReportIndex',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/receivedSendStorageReport/index.vue'),
+                meta: {
+                  title: '收发存报表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_receivedSendStorageReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dataExport/exportSales',
+            redirect: '/dataExport/exportSales/list',
+            name: 'exportSales',
+            component: BlankLayout,
+            meta: {
+              title: '导出销售',
+              icon: 'gold',
+              permission: 'M_exportSales'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'exportSalesList',
+                component: () => import(/* webpackChunkName: "dataExport" */ '@/views/dataExport/exportSales/list.vue'),
+                meta: {
+                  title: '导出销售',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_exportSales'
+                }
+              }
+            ]
+          },
+          {
+            path: '/dataExport/exportCheck',
+            redirect: '/dataExport/exportCheck/list',
+            name: 'exportCheck',
+            component: BlankLayout,
+            meta: {
+              title: '导出盘点',
+              icon: 'gold',
+              permission: 'M_exportCheck'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'exportCheckList',
+                component: () => import(/* webpackChunkName: "dataExport" */ '@/views/dataExport/exportCheck/list.vue'),
+                meta: {
+                  title: '导出盘点',
+                  icon: 'gold',
+                  hidden: true,
+                  permission: 'M_exportCheck'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 166 - 0
src/config/report/purchasingReport.js

@@ -0,0 +1,166 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/purchasingReport',
+        redirect: '/reportData/salesOrderTotal',
+        component: PageView,
+        meta: {
+          title: '采购报表',
+          icon: 'project',
+          permission: 'M_purchasingReport'
+        },
+        children: [
+          {
+            path: '/reportData/urchaseReturn',
+            redirect: '/reportData/urchaseReturn/list',
+            name: 'urchaseReturnList',
+            component: BlankLayout,
+            meta: {
+              title: '采购退货单报表',
+              icon: 'profile',
+              permission: 'M_urchaseReturn'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'urchaseReturnList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/urchaseReturn/list.vue'),
+                meta: {
+                  title: '采购退货单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_urchaseReturnList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/urchaseDetailReturn',
+            redirect: '/reportData/urchaseDetailReturn/detailList',
+            name: 'urchaseDetailReturnList',
+            component: BlankLayout,
+            meta: {
+              title: '采购退货单明细报表',
+              icon: 'profile',
+              permission: 'M_urchaseDetailReturn'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'detailList',
+                name: 'urchaseDetailReturnList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/urchaseDetailReturn/detailList.vue'),
+                meta: {
+                  title: '采购退货单明细报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_urchaseDetailReturnList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/billingBackReport',
+            redirect: '/reportData/billingBackReport/list',
+            name: 'billingBackReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单采退报表',
+              icon: 'profile',
+              permission: 'M_billingBackReport'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'billingBackReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingBackReport/list.vue'),
+              meta: {
+                title: '开单采退报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_billingBackReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/billingOrderReport',
+            redirect: '/reportData/billingOrderReport/list',
+            name: 'billingOrderReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单采退单报表',
+              icon: 'profile',
+              permission: 'M_billingOrderReport'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'billingOrderReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingOrderReport/list.vue'),
+              meta: {
+                title: '开单采退单报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_billingOrderReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/warehousingOrder',
+            redirect: '/reportData/warehousingOrder/list',
+            name: 'warehousingOrder',
+            component: BlankLayout,
+            meta: {
+              title: '入库单报表',
+              icon: 'profile',
+              permission: 'M_warehousingOrderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'warehousingOrderList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/warehousingOrder/list.vue'),
+                meta: {
+                  title: '入库单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_warehousingOrderList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/warehousingOrderDetail',
+            redirect: '/reportData/warehousingOrderDetail/list',
+            name: 'warehousingOrderDetail',
+            component: BlankLayout,
+            meta: {
+              title: '入库单明细报表',
+              icon: 'profile',
+              permission: 'M_warehousingOrderDetailList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'warehousingOrderDetailList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/warehousingOrderDetail/list.vue'),
+                meta: {
+                  title: '入库单明细报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_warehousingOrderDetailList'
+                }
+              }
+            ]
+          },
+        ]
+      }

+ 387 - 0
src/config/report/salesReport.js

@@ -0,0 +1,387 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/salesReport',
+        redirect: '/reportData/salesOrderTotal',
+        component: PageView,
+        meta: {
+          title: '销售报表',
+          icon: 'project',
+          permission: 'M_salesReport'
+        },
+        children: [
+          {
+            path: '/reportData/salesOrderTotal',
+            redirect: '/reportData/salesOrderTotal/list',
+            name: 'salesOrderTotal',
+            component: BlankLayout,
+            meta: {
+              title: '销售(开单统计)',
+              icon: 'profile',
+              permission: 'M_salesOrderTotalList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesOrderTotalList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesOrderTotal/list.vue'),
+                meta: {
+                  title: '销售(开单统计)列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_salesOrderTotalList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/salesDetails',
+            redirect: '/reportData/salesDetails/list',
+            name: 'salesDetails',
+            component: BlankLayout,
+            meta: {
+              title: '销售明细(下推统计)',
+              icon: 'profile',
+              permission: 'M_salesDetailsList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesDetailsList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesDetails/list.vue'),
+                meta: {
+                  title: '销售明细(下推统计)列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_salesDetailsList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/actualSalesReport',
+            redirect: '/reportData/actualSalesReport/list',
+            name: 'actualSalesReport',
+            component: BlankLayout,
+            meta: {
+              title: '实售销售报表',
+              icon: 'profile',
+              permission: 'M_actualSalesReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'actualSalesReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/actualSalesReport/list.vue'),
+                meta: {
+                  title: '实售销售列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_actualSalesReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/salesAmountReport',
+            redirect: '/reportData/salesAmountReport/list',
+            name: 'salesAmountReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单销售报表',
+              icon: 'profile',
+              permission: 'M_salesAmountReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'salesAmountReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesAmountReport/list.vue'),
+              meta: {
+                title: '开单销售报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_salesAmountReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/salesSlipReport',
+            redirect: '/reportData/salesSlipReport/list',
+            name: 'salesSlipReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单销售单报表',
+              icon: 'profile',
+              permission: 'M_salesSlipReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'salesSlipReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesSlipReport/list.vue'),
+              meta: {
+                title: '开单销售单报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_salesSlipReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/promotionSalesRealTimeReport',
+            redirect: '/reportData/promotionSalesRealTimeReport/index',
+            name: 'promotionSalesRealTimeReport',
+            component: BlankLayout,
+            meta: {
+              title: '促销销售单报表',
+              icon: 'profile',
+              permission: 'M_promotionSalesRealTimeReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'promotionSalesRealTimeReportIndex',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/promotionSalesRealTimeReport/index.vue'),
+                meta: {
+                  title: '促销销售单报表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_promotionSalesRealTimeReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/promotionSalesOrderReport',
+            redirect: '/reportData/promotionSalesOrderReport/list',
+            name: 'promotionSalesOrderReport',
+            component: BlankLayout,
+            meta: {
+              title: '促销销售单报表(统计)',
+              icon: 'profile',
+              permission: 'M_promotionSalesOrderReport'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'promotionSalesOrderReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/promotionSalesOrderReport/list.vue'),
+              meta: {
+                title: '促销销售单报表(统计)',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_promotionSalesOrderReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/salesReturnsReport',
+            redirect: '/reportData/salesReturnsReport/list',
+            name: 'salesReturnsReport',
+            component: BlankLayout,
+            meta: {
+              title: '销售退货单报表',
+              icon: 'profile',
+              permission: 'M_salesReturnsReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesReturnsReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesReturnsReport/list.vue'),
+                meta: {
+                  title: '销售退货单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_salesReturnsReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/salesReturnDetailReport',
+            redirect: '/reportData/salesReturnDetailReport/list',
+            name: 'salesReturnDetailReport',
+            component: BlankLayout,
+            meta: {
+              title: '销售退货明细报表',
+              icon: 'profile',
+              permission: 'M_salesReturnDetailReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'salesReturnDetailReportList',
+              component: () => import(/* webpackChunkName: "reportData" */
+                '@/views/reportData/salesReturnDetailReport/list.vue'),
+              meta: {
+                title: '销售退货明细报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_salesReturnDetailReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/salesReturnReport',
+            redirect: '/reportData/salesReturnReport/list',
+            name: 'salesReturnReport',
+            component: BlankLayout,
+            meta: {
+              title: '实售退货报表',
+              icon: 'profile',
+              permission: 'M_salesReturnReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesReturnReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesReturnReport/list.vue'),
+                meta: {
+                  title: '实售退货列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_salesReturnReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/billingReturnReport',
+            redirect: '/reportData/billingReturnReport/list',
+            name: 'billingReturnReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单退货报表',
+              icon: 'profile',
+              permission: 'M_billingReturnReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'billingReturnReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingReturnReport/list.vue'),
+                meta: {
+                  title: '开单退货列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_billingReturnReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/returnSlipReport',
+            redirect: '/reportData/returnSlipReport/list',
+            name: 'returnSlipReport',
+            component: BlankLayout,
+            meta: {
+              title: '开单退货单报表',
+              icon: 'profile',
+              permission: 'M_returnSlipReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'returnSlipReportList',
+              component: () => import(/* webpackChunkName: "reportData" */
+                '@/views/reportData/returnSlipReport/list.vue'),
+              meta: {
+                title: '开单退货单报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_returnSlipReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/regionTypeSalesReport',
+            redirect: '/reportData/regionTypeSalesReport/list',
+            name: 'regionTypeSalesReport',
+            component: BlankLayout,
+            meta: {
+              title: '各分区品类实售明细',
+              icon: 'profile',
+              permission: 'M_regionTypeSalesReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'regionTypeSalesReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/regionTypeSalesReport/list.vue'),
+                meta: {
+                  title: '各分区品类实售明细',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_regionTypeSalesReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/salesPresentation',
+            redirect: '/reportData/salesPresentation/list',
+            name: 'salesPresentation',
+            component: BlankLayout,
+            meta: {
+              title: '销售交单报表',
+              icon: 'profile',
+              permission: 'M_salesPresentationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesPresentationList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesPresentation/list.vue'),
+                meta: {
+                  title: '销售交单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_salesPresentationList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/returnGoodsPresentation',
+            redirect: '/reportData/returnGoodsPresentation/list',
+            name: 'returnGoodsPresentation',
+            component: BlankLayout,
+            meta: {
+              title: '退货交单报表',
+              icon: 'profile',
+              permission: 'M_returnGoodsPresentationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'returnGoodsPresentationList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/returnGoodsPresentation/list.vue'),
+                meta: {
+                  title: '退货交单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_returnGoodsPresentationList'
+                }
+              }
+            ]
+          },
+        ]
+      }

+ 95 - 0
src/config/report/spreadReport.js

@@ -0,0 +1,95 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/spreadReport',
+        redirect: '/reportData/salesOrderTotal',
+        component: PageView,
+        meta: {
+          title: '差价报表',
+          icon: 'project',
+          permission: 'M_spreadReport'
+        },
+        children: [
+          {
+            path: '/reportData/hPriceDifferenceDetailReport',
+            redirect: '/reportData/hPriceDifferenceDetailReport/list',
+            name: 'hPriceDifferenceDetailReport',
+            component: BlankLayout,
+            meta: {
+              title: '总部差价明细报表',
+              icon: 'profile',
+              permission: 'M_hPriceDifferenceDetailReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'hPriceDifferenceDetailReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/hPriceDifferenceDetailReport/list.vue'),
+                meta: {
+                  title: '总部差价明细列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_hPriceDifferenceDetailReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/priceDifferenceDetailReport',
+            redirect: '/reportData/priceDifferenceDetailReport/list',
+            name: 'priceDifferenceDetailReport',
+            component: BlankLayout,
+            meta: {
+              title: '差价明细报表',
+              icon: 'profile',
+              permission: 'M_priceDifferenceDetailReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'priceDifferenceDetailReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/priceDifferenceDetailReport/list.vue'),
+                meta: {
+                  title: '差价明细列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_priceDifferenceDetailReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/productRebateReport/index',
+            redirect: '/productRebateReport/index/list',
+            name: 'productRebateReportList',
+            component: BlankLayout,
+            meta: {
+              title: '产品返利明细表',
+              icon: 'profile',
+              permission: 'M_productRebateReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'productRebateReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/productRebateReport/index.vue'),
+                meta: {
+                  title: '产品返利明细表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_productRebateReportList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 143 - 0
src/config/report/transferReport.js

@@ -0,0 +1,143 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/transferReport',
+        redirect: '/reportData/salesOrderTotal',
+        component: PageView,
+        meta: {
+          title: '调拨报表',
+          icon: 'project',
+          permission: 'M_transferReport'
+        },
+        children: [
+          {
+            path: '/reportData/allocationOrderTotal',
+            redirect: '/reportData/allocationOrderTotal/list',
+            name: 'allocationOrderTotal',
+            component: BlankLayout,
+            meta: {
+              title: '调拨开单统计',
+              icon: 'profile',
+              permission: 'M_allocationOrderTotalList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'allocationOrderTotalList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationOrderTotal/list.vue'),
+                meta: {
+                  title: '调拨开单列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_allocationOrderTotalList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/allocationDetails',
+            redirect: '/reportData/allocationDetails/list',
+            name: 'allocationDetails',
+            component: BlankLayout,
+            meta: {
+              title: '调拨明细',
+              icon: 'profile',
+              permission: 'M_allocationDetailsList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'allocationDetailsList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationDetails/list.vue'),
+                meta: {
+                  title: '调拨明细列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_allocationDetailsList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/transferReturnReport',
+            redirect: '/reportData/transferReturnReport/list',
+            name: 'transferReturnReport',
+            component: BlankLayout,
+            meta: {
+              title: '调拨退货单报表',
+              icon: 'profile',
+              permission: 'M_transferReturnReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'transferReturnReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/transferReturnReport/list.vue'),
+                meta: {
+                  title: '调拨退货单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_transferReturnReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/transferReturnDetailReport',
+            redirect: '/reportData/transferReturnDetailReport/list',
+            name: 'transferReturnDetailReport',
+            component: BlankLayout,
+            meta: {
+              title: '调拨退货单明细报表',
+              icon: 'profile',
+              permission: 'M_transferReturnDetailReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'list',
+              name: 'transferReturnDetailReportList',
+              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/transferReturnDetailReport/list.vue'),
+              meta: {
+                title: '调拨退货单明细报表列表',
+                icon: 'profile',
+                hidden: true,
+                permission: 'M_transferReturnDetailReportList'
+              }
+            }]
+          },
+          {
+            path: '/reportData/allocationPresentation',
+            redirect: '/reportData/allocationPresentation/list',
+            name: 'allocationPresentation',
+            component: BlankLayout,
+            meta: {
+              title: '调拨交单报表',
+              icon: 'profile',
+              permission: 'M_allocationPresentationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'allocationPresentationList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationPresentation/list.vue'),
+                meta: {
+                  title: '调拨交单报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_allocationPresentationList'
+                }
+              }
+            ]
+          },
+        ]
+      }

+ 0 - 385
src/config/router.config.bak.js

@@ -1,385 +0,0 @@
-// eslint-disable-next-line
-import { UserLayout, BasicLayout, RouteView, BlankLayout, PageView } from '@/layouts'
-import { bxAnaalyse } from '@/core/icons'
-
-export const asyncRouterMap = [
-
-  {
-    path: '/',
-    name: 'index',
-    component: BasicLayout,
-    meta: { title: '首页' },
-    redirect: '/dashboard/workplace',
-    children: [
-      // dashboard
-      {
-        path: '/dashboard',
-        name: 'dashboard',
-        redirect: '/dashboard/workplace',
-        component: RouteView,
-        meta: { title: '仪表盘', keepAlive: true, icon: bxAnaalyse, permission: [ 'dashboard' ] },
-        children: [
-          {
-            path: '/dashboard/analysis',
-            name: 'Analysis',
-            component: () => import('@/views/dashboard/Analysis'),
-            meta: { title: '分析页', keepAlive: false, permission: [ 'dashboard' ] }
-          },
-          // 外部链接
-          {
-            path: 'https://www.baidu.com/',
-            name: 'Monitor',
-            meta: { title: '监控页(外部)', target: '_blank' }
-          },
-          {
-            path: '/dashboard/workplace',
-            name: 'Workplace',
-            component: () => import('@/views/dashboard/Workplace'),
-            meta: { title: '工作台', keepAlive: true, permission: [ 'dashboard' ] }
-          },
-          {
-            path: '/dashboard/test-work',
-            name: 'TestWork',
-            component: () => import('@/views/dashboard/TestWork'),
-            meta: { title: '测试功能', keepAlive: true, permission: [ 'dashboard' ] }
-          }
-        ]
-      },
-
-      // forms
-      {
-        path: '/form',
-        redirect: '/form/base-form',
-        component: PageView,
-        meta: { title: '表单页', icon: 'form', permission: [ 'form' ] },
-        children: [
-          {
-            path: '/form/base-form',
-            name: 'BaseForm',
-            component: () => import('@/views/form/BasicForm'),
-            meta: { title: '基础表单', keepAlive: true, permission: [ 'form' ] }
-          },
-          {
-            path: '/form/step-form',
-            name: 'StepForm',
-            component: () => import('@/views/form/stepForm/StepForm'),
-            meta: { title: '分步表单', keepAlive: true, permission: [ 'form' ] }
-          },
-          {
-            path: '/form/advanced-form',
-            name: 'AdvanceForm',
-            component: () => import('@/views/form/advancedForm/AdvancedForm'),
-            meta: { title: '高级表单', keepAlive: true, permission: [ 'form' ] }
-          }
-        ]
-      },
-
-      // list
-      {
-        path: '/list',
-        name: 'list',
-        component: PageView,
-        redirect: '/list/table-list',
-        meta: { title: '列表页', icon: 'table', permission: [ 'table' ] },
-        children: [
-          {
-            path: '/list/table-list/:pageNo([1-9]\\d*)?',
-            name: 'TableListWrapper',
-            hideChildrenInMenu: true, // 强制显示 MenuItem 而不是 SubMenu
-            component: () => import('@/views/list/TableList'),
-            meta: { title: '查询表格', keepAlive: true, permission: [ 'table' ] }
-          },
-          {
-            path: '/list/basic-list',
-            name: 'BasicList',
-            component: () => import('@/views/list/StandardList'),
-            meta: { title: '标准列表', keepAlive: true, permission: [ 'table' ] }
-          },
-          {
-            path: '/list/card',
-            name: 'CardList',
-            component: () => import('@/views/list/CardList'),
-            meta: { title: '卡片列表', keepAlive: true, permission: [ 'table' ] }
-          },
-          {
-            path: '/list/search',
-            name: 'SearchList',
-            component: () => import('@/views/list/search/SearchLayout'),
-            redirect: '/list/search/article',
-            meta: { title: '搜索列表', keepAlive: true, permission: [ 'table' ] },
-            children: [
-              {
-                path: '/list/search/article',
-                name: 'SearchArticles',
-                component: () => import('../views/list/search/Article'),
-                meta: { title: '搜索列表(文章)', permission: [ 'table' ] }
-              },
-              {
-                path: '/list/search/project',
-                name: 'SearchProjects',
-                component: () => import('../views/list/search/Projects'),
-                meta: { title: '搜索列表(项目)', permission: [ 'table' ] }
-              },
-              {
-                path: '/list/search/application',
-                name: 'SearchApplications',
-                component: () => import('../views/list/search/Applications'),
-                meta: { title: '搜索列表(应用)', permission: [ 'table' ] }
-              }
-            ]
-          }
-        ]
-      },
-
-      // profile
-      {
-        path: '/profile',
-        name: 'profile',
-        component: RouteView,
-        redirect: '/profile/basic',
-        meta: { title: '详情页', icon: 'profile', permission: [ 'profile' ] },
-        children: [
-          {
-            path: '/profile/basic',
-            name: 'ProfileBasic',
-            component: () => import('@/views/profile/basic/Index'),
-            meta: { title: '基础详情页', permission: [ 'profile' ] }
-          },
-          {
-            path: '/profile/advanced',
-            name: 'ProfileAdvanced',
-            component: () => import('@/views/profile/advanced/Advanced'),
-            meta: { title: '高级详情页', permission: [ 'profile' ] }
-          }
-        ]
-      },
-
-      // result
-      {
-        path: '/result',
-        name: 'result',
-        component: PageView,
-        redirect: '/result/success',
-        meta: { title: '结果页', icon: 'check-circle-o', permission: [ 'result' ] },
-        children: [
-          {
-            path: '/result/success',
-            name: 'ResultSuccess',
-            component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'),
-            meta: { title: '成功', keepAlive: false, hiddenHeaderContent: true, permission: [ 'result' ] }
-          },
-          {
-            path: '/result/fail',
-            name: 'ResultFail',
-            component: () => import(/* webpackChunkName: "result" */ '@/views/result/Error'),
-            meta: { title: '失败', keepAlive: false, hiddenHeaderContent: true, permission: [ 'result' ] }
-          }
-        ]
-      },
-
-      // Exception
-      {
-        path: '/exception',
-        name: 'exception',
-        component: RouteView,
-        redirect: '/exception/403',
-        meta: { title: '异常页', icon: 'warning', permission: [ 'exception' ] },
-        children: [
-          {
-            path: '/exception/403',
-            name: 'Exception403',
-            component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/403'),
-            meta: { title: '403', permission: [ 'exception' ] }
-          },
-          {
-            path: '/exception/404',
-            name: 'Exception404',
-            component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'),
-            meta: { title: '404', permission: [ 'exception' ] }
-          },
-          {
-            path: '/exception/500',
-            name: 'Exception500',
-            component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/500'),
-            meta: { title: '500', permission: [ 'exception' ] }
-          }
-        ]
-      },
-
-      // account
-      {
-        path: '/account',
-        component: RouteView,
-        redirect: '/account/center',
-        name: 'account',
-        meta: { title: '个人页', icon: 'user', keepAlive: true, permission: [ 'user' ] },
-        children: [
-          {
-            path: '/account/center',
-            name: 'center',
-            component: () => import('@/views/account/center/Index'),
-            meta: { title: '个人中心', keepAlive: true, permission: [ 'user' ] }
-          },
-          {
-            path: '/account/settings',
-            name: 'settings',
-            component: () => import('@/views/account/settings/Index'),
-            meta: { title: '个人设置', hideHeader: true, permission: [ 'user' ] },
-            redirect: '/account/settings/base',
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: '/account/settings/base',
-                name: 'BaseSettings',
-                component: () => import('@/views/account/settings/BaseSetting'),
-                meta: { title: '基本设置', permission: [ 'user' ] }
-              },
-              {
-                path: '/account/settings/security',
-                name: 'SecuritySettings',
-                component: () => import('@/views/account/settings/Security'),
-                meta: { title: '安全设置', keepAlive: true, permission: [ 'user' ] }
-              },
-              {
-                path: '/account/settings/custom',
-                name: 'CustomSettings',
-                component: () => import('@/views/account/settings/Custom'),
-                meta: { title: '个性化设置', keepAlive: true, permission: [ 'user' ] }
-              },
-              {
-                path: '/account/settings/binding',
-                name: 'BindingSettings',
-                component: () => import('@/views/account/settings/Binding'),
-                meta: { title: '账户绑定', keepAlive: true, permission: [ 'user' ] }
-              },
-              {
-                path: '/account/settings/notification',
-                name: 'NotificationSettings',
-                component: () => import('@/views/account/settings/Notification'),
-                meta: { title: '新消息通知', keepAlive: true, permission: [ 'user' ] }
-              }
-            ]
-          }
-        ]
-      },
-
-      // other
-      {
-        path: '/other',
-        name: 'otherPage',
-        component: PageView,
-        meta: { title: '其他组件', icon: 'slack', permission: [ 'dashboard' ] },
-        redirect: '/other/icon-selector',
-        children: [
-          {
-            path: '/other/icon-selector',
-            name: 'TestIconSelect',
-            component: () => import('@/views/other/IconSelectorView'),
-            meta: { title: 'IconSelector', icon: 'tool', keepAlive: true, permission: [ 'dashboard' ] }
-          },
-          {
-            path: '/other/list',
-            component: RouteView,
-            meta: { title: '业务布局', icon: 'layout', permission: [ 'support' ] },
-            redirect: '/other/list/tree-list',
-            children: [
-              {
-                path: '/other/list/tree-list',
-                name: 'TreeList',
-                component: () => import('@/views/other/TreeList'),
-                meta: { title: '树目录表格', keepAlive: true }
-              },
-              {
-                path: '/other/list/edit-table',
-                name: 'EditList',
-                component: () => import('@/views/other/TableInnerEditList'),
-                meta: { title: '内联编辑表格', keepAlive: true }
-              },
-              {
-                path: '/other/list/user-list',
-                name: 'UserList',
-                component: () => import('@/views/other/UserList'),
-                meta: { title: '用户列表', keepAlive: true }
-              },
-              {
-                path: '/other/list/role-list',
-                name: 'RoleList',
-                component: () => import('@/views/other/RoleList'),
-                meta: { title: '角色列表', keepAlive: true }
-              },
-              {
-                path: '/other/list/system-role',
-                name: 'SystemRole',
-                component: () => import('@/views/role/RoleList'),
-                meta: { title: '角色列表2', keepAlive: true }
-              },
-              {
-                path: '/other/list/permission-list',
-                name: 'PermissionList',
-                component: () => import('@/views/other/PermissionList'),
-                meta: { title: '权限列表', keepAlive: true }
-              }
-            ]
-          }
-        ]
-      }
-    ]
-  },
-  {
-    path: '*', redirect: '/404', hidden: true
-  }
-]
-
-/**
- * 基础路由
- * @type { *[] }
- */
-export const constantRouterMap = [
-  {
-    path: '/user',
-    component: UserLayout,
-    redirect: '/user/login',
-    hidden: true,
-    children: [
-      {
-        path: 'login',
-        name: 'login',
-        component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login')
-      },
-      {
-        path: 'register',
-        name: 'register',
-        component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register')
-      },
-      {
-        path: 'register-result',
-        name: 'registerResult',
-        component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult')
-      },
-      {
-        path: 'recover',
-        name: 'recover',
-        component: undefined
-      }
-    ]
-  },
-
-  {
-    path: '/test',
-    component: BlankLayout,
-    redirect: '/test/home',
-    children: [
-      {
-        path: 'home',
-        name: 'TestHome',
-        component: () => import('@/views/Home')
-      }
-    ]
-  },
-
-  {
-    path: '/404',
-    component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
-  }
-
-]

+ 43 - 4134
src/config/router.config.js

@@ -6,7 +6,29 @@ import {
   BigScreen,
   PageView
 } from '@/layouts'
+// 菜单模块
+import home from './home' // 首页
+import salesManageService from './salesManageService' // 销售管理
+import salesReturnManage from  './salesReturnManage' // 销售退货
+import purchasingManagement from './purchasingManagement' // 采购管理
+import financialManagement from './financialManagement' // 财务管理
+import expenseManagement from './expenseManagement' // 费用报销
+import inventoryManagement from './inventoryManagement' // 库存管理
+import allocationManagement from './allocationManagement' // 调拨管理
+ 
+import salesReport from './report/salesReport' // 销售报表
+import purchasingReport from './report/purchasingReport' // 采购报表
+import transferReport from './report/transferReport' // 调拨报表
+import spreadReport from './report/spreadReport' // 差价报表
+import otherReport from './report/otherReport' // 其他报表
 
+import dealerManagement from './dealerManagement' // 经销商管理
+import productManagement from './productManagement' // 产品管理
+import supplierManagement from './supplierManagement' // 供应商管理
+import promotionRulesManagement from './promotionRulesManagement' // 促销管理
+import easyPassManagement from './easyPassManagement' // 易码通管理
+import bigStatistics from './bigStatistics' // 大屏统计
+import sysSetting from './sysSetting' // 系统设置
 export const asyncRouterMap = [
   {
     path: '/',
@@ -17,4155 +39,42 @@ export const asyncRouterMap = [
     },
     redirect: '/home',
     children: [
-      {
-        path: '/home',
-        name: 'home',
-        redirect: '/home',
-        component: PageView,
-        meta: {
-          title: '首页',
-          icon: 'home'
-        },
-        hideChildrenInMenu: true,
-        children: [
-          {
-            path: '/home',
-            name: 'home',
-            redirect: '/home',
-            component: BlankLayout,
-            meta: {
-              title: '首页',
-              icon: 'home',
-              hidden: true
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: '/home',
-                name: 'home',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/Home'),
-                meta: {
-                  title: '首页',
-                  icon: 'home',
-                  hidden: true
-                }
-              },
-              {
-                path: '/changePwd',
-                name: 'changePwd',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/user/ChangePwd'),
-                meta: {
-                  title: '修改密码',
-                  icon: 'home'
-                },
-                hidden: true
-              },
-              {
-                path: '/notice',
-                name: 'notice',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/setting/notice/list'),
-                meta: {
-                  title: '公告',
-                  icon: 'bell'
-                },
-                hidden: true
-              },
-              {
-                path: '/dowloadFile',
-                name: 'dowloadFile',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/dowloadFile/list'),
-                meta: {
-                  title: '下载中心',
-                  icon: 'bell'
-                },
-                hidden: true
-              },
-              // 新品列表
-              {
-                path: '/newProduct/list/:onlineFalg',
-                name: 'newProductList',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/list'),
-                meta: {
-                  title: '新品信息',
-                  icon: 'home'
-                },
-                hidden: true
-              },
-              {
-                path: '/newProduct/list/:onlineFalg',
-                name: 'oldProductList',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/list'),
-                meta: {
-                  title: '下线产品列表',
-                  icon: 'home'
-                },
-                hidden: true
-              },
-              // 产品详情
-              {
-                path: '/viewProduct/:sn',
-                name: 'viewProduct',
-                component: () => import(/* webpackChunkName: "home" */ '@/views/productManagement/newProduct/detail'),
-                meta: {
-                  title: '产品详情',
-                  icon: 'home'
-                },
-                hidden: true
-              }
-            ]
-          }
-        ]
-      },
+      // 首页
+      home,
       // 销售管理
-      {
-        path: '/salesManagement',
-        redirect: '/salesManagement/salesQueryNew',
-        component: PageView,
-        meta: {
-          title: '销售管理',
-          icon: 'account-book',
-          permission: 'M_salesManagement'
-        },
-        children: [
-          {
-            path: '/salesManagement/salesQueryNew',
-            redirect: '/salesManagement/salesQueryNew/list',
-            name: 'salesQueryNew',
-            component: BlankLayout,
-            meta: {
-              title: '销售单查询',
-              icon: 'monitor',
-              permission: 'M_salesQueryList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesQueryNewList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/list.vue'),
-                meta: {
-                  title: '销售单列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_salesQueryList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'salesNewDetail',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/detail.vue'),
-                meta: {
-                  title: '销售单详情',
-                  icon: 'monitor',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_salesDetail'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'salesNewDetailAudit',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/detail.vue'),
-                meta: {
-                  title: '销售单审核',
-                  icon: 'monitor',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_salesAudit'
-                }
-              },
-              {
-                path: 'add/:sn',
-                name: 'salesNewAdd',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
-                meta: {
-                  title: '新增销售单',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_salesEdit'
-                }
-              },
-              {
-                path: 'edit/:sn',
-                name: 'salesNewEdit',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
-                meta: {
-                  title: '编辑销售单',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_salesEdit'
-                }
-              },
-              {
-                path: 'waitDispatch/:salesBillSn',
-                name: 'waitDispatchNew',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/waitDispatchNew/edit.vue'),
-                meta: {
-                  title: '下推销售单',
-                  icon: 'monitor',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_salesDispatch'
-                }
-              },
-              {
-                path: 'waitCostOrder',
-                name: 'waitCostOrder',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/waitCostOrder/list.vue'),
-                meta: {
-                  title: '待转费用报销单',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_salesDispatch'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/salesOrderWarehouse',
-            redirect: '/salesManagement/salesOrderWarehouse/list',
-            name: 'salesOrderWarehouse',
-            component: BlankLayout,
-            meta: {
-              title: '仓库销售单',
-              icon: 'vertical-align-bottom',
-              permission: 'M_salesOrderWarehouseList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesOrderWarehouseList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesOrderWarehouse/list.vue'),
-                meta: {
-                  title: '仓库销售单列表',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_salesOrderWarehouseList'
-                }
-              },
-              {
-                path: 'detail/:sn/:wsn',
-                name: 'saleOrderDetail',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesOrderWarehouse/detail.vue'),
-                meta: {
-                  title: '仓库销售单列表详情',
-                  icon: 'vertical-align-bottom',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_salesOrderWarehouseDetail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/pushOrderManagement',
-            redirect: '/salesManagement/pushOrderManagement/list',
-            name: 'pushOrderManagement',
-            component: BlankLayout,
-            meta: {
-              title: '下推订单列表',
-              icon: 'vertical-align-bottom',
-              permission: 'M_pushOrderManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'pushOrderManagementList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/pushOrderManagement/list.vue'),
-                meta: {
-                  title: '下推订单列表',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_pushOrderManagementList'
-                }
-              },
-              {
-                path: 'detail/:sn/:type',
-                name: 'pushOrderDetail',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/pushOrderManagement/detail.vue'),
-                meta: {
-                  title: '下推订单详情',
-                  icon: 'vertical-align-bottom',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_dispatchDetail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/salesCollection',
-            redirect: '/salesManagement/salesCollection/list',
-            name: 'salesCollection',
-            component: BlankLayout,
-            meta: {
-              title: '销售收款',
-              icon: 'vertical-align-bottom',
-              permission: 'M_salesCollectionList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesCollectionList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesCollection/list.vue'),
-                meta: {
-                  title: '销售收款',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_salesCollectionList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/stockPrint',
-            redirect: '/salesManagement/stockPrint/list',
-            name: 'stockPrint',
-            component: BlankLayout,
-            meta: {
-              title: '备货打印',
-              icon: 'vertical-align-bottom',
-              permission: 'M_stockPrintList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'stockPrintList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/stockPrint/list.vue'),
-                meta: {
-                  title: '备货打印',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_stockPrintList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/receiptPrint',
-            redirect: '/salesManagement/receiptPrint/list',
-            name: 'receiptPrint',
-            component: BlankLayout,
-            meta: {
-              title: '收款打印',
-              icon: 'vertical-align-bottom',
-              permission: 'M_receiptPrintList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'receiptPrintList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/receiptPrint/list.vue'),
-                meta: {
-                  title: '收款打印',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_receiptPrintList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/matchSendOutOrder',
-            redirect: '/salesManagement/matchSendOutOrder/list',
-            name: 'matchSendOutOrder',
-            component: BlankLayout,
-            meta: {
-              title: '发货对单',
-              icon: 'vertical-align-bottom',
-              permission: 'M_matchSendOutOrderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'matchSendOutOrderList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/matchSendOutOrder/list.vue'),
-                meta: {
-                  title: '发货对单',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_matchSendOutOrderList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/examineVerify',
-            redirect: '/salesManagement/examineVerify/list',
-            name: 'examineVerify',
-            component: BlankLayout,
-            meta: {
-              title: '备货审核',
-              icon: 'audit',
-              permission: 'M_examineVerifyList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'examineVerifyList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/examineVerify/list.vue'),
-                meta: {
-                  title: '备货审核列表',
-                  icon: 'audit',
-                  hidden: true,
-                  permission: 'M_examineVerifyList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/outboundOrder',
-            redirect: '/salesManagement/outboundOrder/list',
-            name: 'outboundOrder',
-            component: BlankLayout,
-            meta: {
-              title: '出库',
-              icon: 'export',
-              permission: 'M_outboundOrderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'outboundOrderList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/outboundOrder/list.vue'),
-                meta: {
-                  title: '出库列表',
-                  icon: 'export',
-                  hidden: true,
-                  permission: 'M_outboundOrderList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/sendOutOrder',
-            redirect: '/salesManagement/sendOutOrder/list',
-            name: 'sendOutOrder',
-            component: BlankLayout,
-            meta: {
-              title: '发货单列表',
-              icon: 'export',
-              permission: 'M_sendOutOrderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'sendOutOrderList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/sendOutOrder/list.vue'),
-                meta: {
-                  title: '发货单列表',
-                  icon: 'export',
-                  hidden: true,
-                  permission: 'M_sendOutOrderList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/backorder',
-            redirect: '/salesManagement/backorder/list',
-            name: 'backorder',
-            component: BlankLayout,
-            meta: {
-              title: '销售缺货列表',
-              icon: 'exception',
-              permission: 'M_backorderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'backorderList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/backorder/list.vue'),
-                meta: {
-                  title: '销售缺货列表',
-                  icon: 'exception',
-                  hidden: true,
-                  permission: 'M_backorderList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/shortageStatisticsC',
-            redirect: '/salesManagement/shortageStatisticsC/list',
-            name: 'shortageStatisticsC',
-            component: BlankLayout,
-            meta: {
-              title: '缺货统计(按客户)',
-              icon: 'file-done',
-              permission: 'M_shortageStatisticsCList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'shortageStatisticsCList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/shortageStatisticsC/list.vue'),
-                meta: {
-                  title: '缺货统计(按客户)',
-                  icon: 'file-done',
-                  hidden: true,
-                  permission: 'M_shortageStatisticsCList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/shortageStatisticsP',
-            redirect: '/salesManagement/shortageStatisticsP/list',
-            name: 'shortageStatisticsP',
-            component: BlankLayout,
-            meta: {
-              title: '缺货统计(按产品)',
-              icon: 'file-protect',
-              permission: 'M_shortageStatisticsPList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'shortageStatisticsPList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/shortageStatisticsP/list.vue'),
-                meta: {
-                  title: '缺货统计(按产品)',
-                  icon: 'file-protect',
-                  hidden: true,
-                  permission: 'M_shortageStatisticsPList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/priceInquiry',
-            redirect: '/salesManagement/priceInquiry/list',
-            name: 'priceInquiry',
-            component: BlankLayout,
-            meta: {
-              title: '价格查询',
-              icon: 'file-protect',
-              permission: 'M_priceInquiryList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'priceInquiryList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/priceInquiry/list.vue'),
-                meta: {
-                  title: '价格查询列表',
-                  icon: 'file-protect',
-                  hidden: true,
-                  permission: 'M_priceInquiryList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesManagement/salesList',
-            redirect: '/salesManagement/salesList/list',
-            name: 'salesList',
-            component: BlankLayout,
-            meta: {
-              title: '销售一览表',
-              icon: 'file-protect',
-              permission: 'M_salesList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesMainList',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesList/list.vue'),
-                meta: {
-                  title: '销售一览表',
-                  icon: 'file-protect',
-                  hidden: true,
-                  permission: 'M_salesList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      salesManageService,
       // 销售退货
-      {
-        path: '/salesReturnManagement',
-        redirect: '/salesReturnManagement/salesReturn',
-        component: PageView,
-        meta: {
-          title: '销售退货',
-          icon: 'export',
-          permission: 'M_salesReturnManagement'
-        },
-        children: [
-          {
-            path: '/salesReturnManagement/salesReturn',
-            redirect: '/salesReturnManagement/salesReturn/list',
-            name: 'salesReturn',
-            component: BlankLayout,
-            meta: {
-              title: '销售退货列表',
-              icon: 'fund',
-              permission: 'M_salesReturnList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesReturnList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/list.vue'),
-                meta: {
-                  title: '销售退货列表',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_salesReturnList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'salesReturnDetail',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/detail.vue'),
-                meta: {
-                  title: '销售退货详情',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'B_salesReturnDetail'
-                }
-              },
-              {
-                path: 'salesReturnEdit/:sn/:buyerSn',
-                name: 'salesReturnEdit',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/salesReturnEdit.vue'),
-                meta: {
-                  title: '编辑销售退货',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'B_salesReturnEdit'
-                }
-              },
-              {
-                path: 'custConfirm/:sn/:buyerSn',
-                name: 'custConfirm',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/custConfirm/list.vue'),
-                meta: {
-                  title: '客服确认',
-                  icon: 'fund',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_salesReturnConfirm'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesReturnManagement/billOfLading',
-            redirect: '/salesReturnManagement/billOfLading/list',
-            name: 'billOfLading',
-            component: BlankLayout,
-            meta: {
-              title: '提货单列表',
-              icon: 'fund',
-              permission: 'M_billOfLadingList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'billOfLadingList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/list.vue'),
-                meta: {
-                  title: '提货单列表',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_billOfLadingList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'billOfLadingDetail',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/detail.vue'),
-                meta: {
-                  title: '提货单详情',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_detailPickUp'
-                }
-              },
-              {
-                path: 'add',
-                name: 'billOfLadingAdd',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/add.vue'),
-                meta: {
-                  title: '新增提货单',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'B_editPickUp'
-                }
-              },
-              {
-                path: 'edit/:sn/:wSn',
-                name: 'billOfLadingEdit',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/add.vue'),
-                meta: {
-                  title: '编辑提货单',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'B_editPickUp'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesReturnManagement/pickUp',
-            redirect: '/salesReturnManagement/pickUp/list',
-            name: 'pickUp',
-            component: BlankLayout,
-            meta: {
-              title: '仓库提货',
-              icon: 'fund',
-              permission: 'M_pickUpList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'pickUpList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/pickUp/list.vue'),
-                meta: {
-                  title: '仓库提货列表',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_pickUpList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesReturnManagement/receiveCheck',
-            redirect: '/salesReturnManagement/receiveCheck/list',
-            name: 'receiveCheck',
-            component: BlankLayout,
-            meta: {
-              title: '收货品检',
-              icon: 'fund',
-              permission: 'M_receiveCheckList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'receiveCheckList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/list.vue'),
-                meta: {
-                  title: '收货品检列表',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_receiveCheckList'
-                }
-              },
-              {
-                path: 'receiving/:sn/:buyerSn',
-                name: 'salesReturnReceiving',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/receiving.vue'),
-                meta: {
-                  title: '收货',
-                  icon: 'fund',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_salesReturnReceiving'
-                }
-              },
-              {
-                path: 'checking/:sn/:buyerSn',
-                name: 'salesReturnCheck',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/checking.vue'),
-                meta: {
-                  title: '品检',
-                  icon: 'fund',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_salesReturnCheck'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesReturnManagement/returnConfirmation',
-            redirect: '/salesReturnManagement/returnConfirmation/list',
-            name: 'returnConfirmation',
-            component: BlankLayout,
-            meta: {
-              title: '销售退货确认',
-              icon: 'vertical-align-top',
-              permission: 'M_returnConfirmationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'returnConfirmationList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/returnConfirmation/list.vue'),
-                meta: {
-                  title: '销售退货确认列表',
-                  icon: 'vertical-align-top',
-                  hidden: true,
-                  permission: 'M_returnConfirmationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/salesReturnManagement/returnSchedule',
-            redirect: '/salesReturnManagement/returnSchedule/list',
-            name: 'returnSchedule',
-            component: BlankLayout,
-            meta: {
-              title: '退货一览表',
-              icon: 'vertical-align-top',
-              permission: 'M_returnScheduleList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'returnScheduleList',
-                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/returnSchedule/list.vue'),
-                meta: {
-                  title: '退货一览表',
-                  icon: 'vertical-align-top',
-                  hidden: true,
-                  permission: 'M_returnScheduleList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      salesReturnManage,
       // 采购管理
-      {
-        path: '/purchasingManagement',
-        redirect: '/purchasingManagement/purchaseOrder',
-        component: PageView,
-        meta: {
-          title: '采购管理',
-          icon: 'money-collect',
-          permission: 'M_purchasingManagement'
-        },
-        children: [
-          {
-            path: '/purchasingManagement/purchaseReceipt',
-            redirect: '/purchasingManagement/purchaseReceipt/list',
-            name: 'purchaseReceipt',
-            component: BlankLayout,
-            meta: {
-              title: '采购入库',
-              icon: 'gold',
-              permission: 'M_purchaseReceipt'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'purchaseReceiptList',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReceipt/list.vue'),
-                meta: {
-                  title: '采购入库列表',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_purchaseReceiptList'
-                }
-              },
-              {
-                path: 'edit',
-                name: 'purchaseReceiptEdit',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReceipt/edit.vue'),
-                meta: {
-                  title: '编辑采购入库单',
-                  icon: 'gold',
-                  hidden: true
-                  // permission: 'B_purchaseReceiptEdit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/purchasingManagement/bulkWarehousingOrder',
-            redirect: '/purchasingManagement/bulkWarehousingOrder/list',
-            name: 'bulkWarehousingOrder',
-            component: BlankLayout,
-            meta: {
-              title: '散件入库',
-              icon: 'gold',
-              permission: 'M_bulkWarehousingOrderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'bulkWarehousingOrderList',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/list.vue'),
-                meta: {
-                  title: '散件入库单列表',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_bulkWarehousingOrderList'
-                }
-              },
-              {
-                path: 'add/:id/:sn',
-                name: 'bulkWarehousingOrderAdd',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/edit.vue'),
-                meta: {
-                  title: '新增散件入库单',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'B_sparePartsEdit'
-                }
-              },
-              {
-                path: 'edit/:id/:sn',
-                name: 'bulkWarehousingOrderEdit',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/bulkWarehousingOrder/edit.vue'),
-                meta: {
-                  title: '编辑散件入库单',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'B_sparePartsEdit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/purchasingManagement/purchaseReturn',
-            redirect: '/purchasingManagement/purchaseReturn/list',
-            name: 'purchaseReturn',
-            component: BlankLayout,
-            meta: {
-              title: '采购退货',
-              icon: 'gold',
-              permission: 'M_purchaseReturn'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'purchaseReturnList',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/list.vue'),
-                meta: {
-                  title: '采购退货',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_purchaseReturnList'
-                }
-              },
-              {
-                path: 'add',
-                name: 'purchaseReturnAdd',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
-                meta: {
-                  title: '新增采购退货',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'B_purchaseReturnEdit'
-                }
-              },
-              {
-                path: 'edit',
-                name: 'purchaseReturnEdit',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
-                meta: {
-                  title: '编辑采购退货(不抓单)',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'B_purchaseReturnEdit'
-                }
-              },
-              {
-                path: 'editGrab',
-                name: 'purchaseReturnEditGrab',
-                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseReturn/purchaseReturnDeatil.vue'),
-                meta: {
-                  title: '编辑采购退货(抓单)',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'B_purchaseReturnEdit'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      purchasingManagement,
       // 财务管理
-      {
-        path: '/financialManagement',
-        redirect: '/financialManagement/warehousingConfirmation',
-        component: PageView,
-        meta: {
-          title: '财务管理',
-          icon: 'property-safety',
-          permission: 'M_financialManagement'
-        },
-        children: [
-          {
-            path: '/financialManagement/warehousingConfirmation',
-            redirect: '/financialManagement/warehousingConfirmation/list',
-            name: 'warehousingConfirmation',
-            component: BlankLayout,
-            meta: {
-              title: '入库确认',
-              icon: 'vertical-align-bottom',
-              permission: 'M_warehousingConfirmationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'warehousingConfirmationList',
-                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/warehousingConfirmation/list.vue'),
-                meta: {
-                  title: '入库确认列表',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_warehousingConfirmationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/financialManagement/financialCollection',
-            redirect: '/financialManagement/financialCollection/list',
-            name: 'financialCollection',
-            component: BlankLayout,
-            meta: {
-              title: '财务收款',
-              icon: 'pay-circle',
-              permission: 'M_financialCollectionList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'financialCollectionList',
-                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/list.vue'),
-                meta: {
-                  title: '财务收款列表',
-                  icon: 'pay-circle',
-                  hidden: true,
-                  permission: 'M_financialCollectionList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'financialCollectionDetail',
-                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/detail.vue'),
-                meta: {
-                  title: '财务收款详情',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_fc_detail'
-                }
-              },
-              {
-                path: 'edit/:sn',
-                name: 'financialCollectionEdit',
-                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/financialCollection/edit.vue'),
-                meta: {
-                  title: '编辑财务收款',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_fc_edit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/financialManagement/collectionDetailStatic',
-            redirect: '/financialManagement/collectionDetailStatic/list',
-            name: 'collectionDetailStatic',
-            component: BlankLayout,
-            meta: {
-              title: '财务收款明细统计',
-              icon: 'vertical-align-top',
-              permission: 'M_FC_Details_list'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'collectionDetailStaticList',
-                component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/collectionDetailStatic/list.vue'),
-                meta: {
-                  title: '财务收款明细统计列表',
-                  icon: 'vertical-align-top',
-                  hidden: true,
-                  permission: 'M_FC_Details_list'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      financialManagement,
       // 费用报销
-      {
-        path: '/expenseManagement',
-        redirect: '/expenseManagement/expenseReimbursement',
-        component: PageView,
-        meta: {
-          title: '费用报销',
-          icon: 'account-book',
-          permission: 'M_expenseManagement'
-        },
-        children: [
-          {
-            path: '/expenseManagement/expenseReimbursement',
-            redirect: '/expenseManagement/expenseReimbursement/list',
-            name: 'expenseReimbursement',
-            component: BlankLayout,
-            meta: {
-              title: '费用报销单',
-              icon: 'monitor',
-              permission: 'M_expenseReimbursementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'expenseReimbursementList',
-                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/list.vue'),
-                meta: {
-                  title: '费用报销单列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_expenseReimbursementList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'expenseReimbursementListDetail',
-                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/detail.vue'),
-                meta: {
-                  title: '费用报销单详情',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_eRdetail'
-                }
-              },
-              {
-                path: 'edit/:sn',
-                name: 'expenseReimbursementEdit',
-                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursement/add.vue'),
-                meta: {
-                  title: '编辑费用报销单',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_ERtEdit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/expenseManagement/expenseReimbursementDetail',
-            redirect: '/expenseManagement/expenseReimbursementDetail/list',
-            name: 'expenseReimbursementDetail',
-            component: BlankLayout,
-            meta: {
-              title: '费用报销明细统计',
-              icon: 'audit',
-              permission: 'M_expenseReimbursementDetailList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'expenseReimbursementDetailList',
-                component: () => import(/* webpackChunkName: "expenseManagement" */ '@/views/expenseManagement/expenseReimbursementDetail/list.vue'),
-                meta: {
-                  title: '费用报销明细统计列表',
-                  icon: 'audit',
-                  hidden: true,
-                  permission: 'M_expenseReimbursementDetailList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      expenseManagement,
       // 库存管理
-      {
-        path: '/inventoryManagement',
-        redirect: '/inventoryManagement/inventoryQuery',
-        component: PageView,
-        meta: {
-          title: '库存管理',
-          icon: 'shop',
-          permission: 'M_inventoryManagement'
-        },
-        children: [
-          {
-            path: '/inventoryManagement/inventoryQuery',
-            redirect: '/inventoryManagement/inventoryQuery/list',
-            name: 'inventoryQuery',
-            component: BlankLayout,
-            meta: {
-              title: '库存查询',
-              icon: 'monitor',
-              permission: 'M_inventoryQueryList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'inventoryQueryList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryQuery/list.vue'),
-                meta: {
-                  title: '库存列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_inventoryQueryList'
-                }
-              },
-              {
-                path: 'warehouseDetail/:sn/:warehouseSn',
-                name: 'inventoryQueryWarehouseDetail',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryQuery/warehouseDetail.vue'),
-                meta: {
-                  title: '出入库明细',
-                  icon: 'monitor',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_inventoryQuery_rkDetail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/inventoryCheck',
-            redirect: '/inventoryManagement/inventoryCheck/list/0',
-            name: 'inventoryCheck',
-            component: BlankLayout,
-            meta: {
-              title: '库存盘点',
-              icon: 'monitor',
-              permission: 'M_inventoryCheckList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list/:type',
-                name: 'inventoryCheckList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryCheck/list.vue'),
-                meta: {
-                  title: '库存盘点列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_inventoryCheckList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'inventoryCheckDetail',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryCheck/detail.vue'),
-                meta: {
-                  title: '库存盘点详情',
-                  icon: 'monitor',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_inventoryCheckDetail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/makeInventory',
-            redirect: '/inventoryManagement/makeInventory/list',
-            name: 'makeInventory',
-            component: BlankLayout,
-            meta: {
-              title: '盘点人盘点',
-              icon: 'monitor',
-              permission: 'M_inventoryMakeInventoryList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'makeInventoryList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/makeInventory/list.vue'),
-                meta: {
-                  title: '盘点人盘点列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_inventoryMakeInventoryList'
-                }
-              },
-              {
-                path: 'check/:sn',
-                name: 'makeInventoryCheck',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/makeInventory/check.vue'),
-                meta: {
-                  title: '盘点人盘点',
-                  icon: 'monitor',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_inventoryMakeInventoryCheck'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/supervisionDisk',
-            redirect: '/inventoryManagement/supervisionDisk/list',
-            name: 'supervisionDisk',
-            component: BlankLayout,
-            meta: {
-              title: '监盘人盘点',
-              icon: 'monitor',
-              permission: 'M_supervisionDiskList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'supervisionDiskList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/supervisionDisk/list.vue'),
-                meta: {
-                  title: '监盘人盘点列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_supervisionDiskList'
-                }
-              },
-              {
-                path: 'check/:sn',
-                name: 'supervisionDiskCheck',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/supervisionDisk/check.vue'),
-                meta: {
-                  title: '监盘人监盘',
-                  icon: 'monitor',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'B_supervisionDiskCheck'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/inventoryConfirmation',
-            redirect: '/inventoryManagement/inventoryConfirmation/list',
-            name: 'inventoryConfirmation',
-            component: BlankLayout,
-            meta: {
-              title: '盘点确认',
-              icon: 'monitor',
-              permission: 'M_inventoryConfirmationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'inventoryConfirmationList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryConfirmation/list.vue'),
-                meta: {
-                  title: '盘点确认列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_inventoryConfirmationList'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'inventoryConfirmationDetail',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryConfirmation/detail.vue'),
-                meta: {
-                  title: '盘点确认详情',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_inventoryConfirmationDetail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/inventoryWarning',
-            redirect: '/inventoryManagement/inventoryWarning/list',
-            name: 'inventoryWarning',
-            component: BlankLayout,
-            meta: {
-              title: '库存预警',
-              icon: 'monitor',
-              permission: 'M_inventoryWarningList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'inventoryWarningList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/inventoryWarning/list.vue'),
-                meta: {
-                  title: '库存预警列表',
-                  icon: 'alert',
-                  hidden: true,
-                  permission: 'M_inventoryWarningList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/inventoryManagement/intelligentReplenishment',
-            redirect: '/inventoryManagement/intelligentReplenishment/list',
-            name: 'intelligentReplenishment',
-            component: BlankLayout,
-            meta: {
-              title: '智能补货',
-              icon: 'monitor',
-              permission: 'M_intelligentReplenishmentList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'intelligentReplenishmentList',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/list.vue'),
-                meta: {
-                  title: '智能补货列表',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'M_intelligentReplenishmentList'
-                }
-              },
-              {
-                path: 'add/:sn',
-                name: 'intelligentReplenishmentAdd',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/edit.vue'),
-                meta: {
-                  title: '新增智能补货',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_intelligentReplenishment_edit'
-                }
-              },
-              {
-                path: 'edit/:sn',
-                name: 'intelligentReplenishmentEdit',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/edit.vue'),
-                meta: {
-                  title: '编辑智能补货',
-                  icon: 'monitor',
-                  hidden: true,
-                  permission: 'B_intelligentReplenishment_edit'
-                }
-              },
-              {
-                path: 'set',
-                name: 'intelligentReplenishmentSet',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/set.vue'),
-                meta: {
-                  title: '基础信息设置',
-                  icon: 'monitor',
-                  permission: 'B_intelligentReplenishment_set',
-                  replaceTab: true,
-                  hidden: true
-                }
-              },
-              {
-                path: 'import',
-                name: 'intelligentReplenishmentImport',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/import.vue'),
-                meta: {
-                  title: '确认导入',
-                  icon: 'monitor',
-                  replaceTab: true,
-                  hidden: true
-                }
-              }
-            ]
-          }
-        ]
-      },
+      inventoryManagement,
       // 调拨管理
-      {
-        path: '/allocationManagement',
-        redirect: '/allocationManagement/transferOut',
-        component: PageView,
-        meta: {
-          title: '调拨管理',
-          icon: 'cluster',
-          permission: 'M_allocationManagement'
-        },
-        children: [
-          {
-            path: '/allocationManagement/transferOut',
-            redirect: '/allocationManagement/transferOut/list',
-            name: 'transferOut',
-            component: BlankLayout,
-            meta: {
-              title: '调拨列表',
-              icon: 'pull-request',
-              permission: 'M_transferOutList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'transferOutList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/list.vue'),
-                meta: {
-                  title: '调拨列表',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'M_transferOutList'
-                }
-              },
-              {
-                path: 'add/:sn/:dealerLevel',
-                name: 'transferOutAdd',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/edit.vue'),
-                meta: {
-                  title: '新增调拨单',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'M_transferOut_edit'
-                }
-              },
-              {
-                path: 'edit/:sn/:dealerLevel',
-                name: 'transferOutEdit',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/edit.vue'),
-                meta: {
-                  title: '编辑调拨单',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'M_transferOut_edit'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'transferOutDetail',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferOut/detail.vue'),
-                meta: {
-                  title: '调拨单详情',
-                  icon: 'pull-request',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'M_transferOut_detail'
-                }
-              }
-            ]
-          },
-          {
-            path: '/allocationManagement/transfersPrint',
-            redirect: '/allocationManagement/transfersPrint/list',
-            name: 'transfersPrint',
-            component: BlankLayout,
-            meta: {
-              title: '调拨打印',
-              icon: 'pull-request',
-              permission: 'M_transfersPrintList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'transfersPrintList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transfersPrint/list.vue'),
-                meta: {
-                  title: '调拨打印',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'M_transfersPrintList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/allocationManagement/matchSendOutOrder',
-            redirect: '/allocationManagement/matchSendOutOrder/list',
-            name: 'matchSendOutOrderAllocation',
-            component: BlankLayout,
-            meta: {
-              title: '调拨发货对单',
-              icon: 'vertical-align-bottom',
-              permission: 'M_matchSendOutOrderAllocationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'matchSendOutOrderAllocationList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/matchSendOutOrder/list.vue'),
-                meta: {
-                  title: '调拨发货对单',
-                  icon: 'vertical-align-bottom',
-                  hidden: true,
-                  permission: 'M_matchSendOutOrderAllocationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/allocationManagement/transferReturn',
-            redirect: '/allocationManagement/transferReturn/list',
-            name: 'transferReturn',
-            component: BlankLayout,
-            meta: {
-              title: '调拨退货列表',
-              icon: 'pull-request',
-              permission: 'M_transferReturnList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'transferReturnList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/list.vue'),
-                meta: {
-                  title: '调拨退货列表',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'M_transferReturnList'
-                }
-              },
-              {
-                path: 'editGrap/:sn/:targetType',
-                name: 'transferReturnGrpEdit',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/editGrp.vue'),
-                meta: {
-                  title: '编辑调拨退货单(抓单)',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'B_transferReturnEdit'
-                }
-              },
-              {
-                path: 'edit/:sn/:targetType/:dealerLevel',
-                name: 'transferReturnEdit',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/edit.vue'),
-                meta: {
-                  title: '编辑调拨退货单(不抓单)',
-                  icon: 'pull-request',
-                  hidden: true,
-                  permission: 'B_transferReturnEdit'
-                }
-              },
-              {
-                path: 'detail/:sn',
-                name: 'transferReturnDetail',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/detail.vue'),
-                meta: {
-                  title: '调拨退货单详情',
-                  icon: 'pull-request',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'M_transferReturnDetail'
-                }
-              },
-              {
-                path: 'check/:sn/:grabFlag',
-                name: 'transferReturnCheck',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/transferReturn/check.vue'),
-                meta: {
-                  title: '调拨退货品检',
-                  icon: 'fund',
-                  replaceTab: true,
-                  hidden: true,
-                  permission: 'M_transferReturnCheck'
-                }
-              }
-            ]
-          },
-          {
-            path: '/allocationManagement/allocateReturnConfirmation',
-            redirect: '/allocationManagement/allocateReturnConfirmation/list',
-            name: 'allocateReturnConfirmation',
-            component: BlankLayout,
-            meta: {
-              title: '调拨退货确认',
-              icon: 'vertical-align-top',
-              permission: 'M_allocateReturnConfirmationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'allocateReturnConfirmationList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/allocateReturnConfirmation/list.vue'),
-                meta: {
-                  title: '调拨退货确认列表',
-                  icon: 'vertical-align-top',
-                  hidden: true,
-                  permission: 'M_allocateReturnConfirmationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/allocationManagement/allocationList',
-            redirect: '/allocationManagement/allocationList/list',
-            name: 'allocationList',
-            component: BlankLayout,
-            meta: {
-              title: '调拨一览表',
-              icon: 'vertical-align-top',
-              permission: 'M_allocationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'allocationMainList',
-                component: () => import(/* webpackChunkName: "allocationManagement" */ '@/views/allocationManagement/allocationList/list.vue'),
-                meta: {
-                  title: '调拨一览表',
-                  icon: 'vertical-align-top',
-                  hidden: true,
-                  permission: 'M_allocationList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      allocationManagement,
       // 报表
-      {
-        path: '/reportData',
-        redirect: '/reportData/salesOrderTotal',
-        component: PageView,
-        meta: {
-          title: '报表',
-          icon: 'project',
-          permission: 'M_reportData'
-        },
-        children: [
-          {
-            path: '/reportData/salesOrderTotal',
-            redirect: '/reportData/salesOrderTotal/list',
-            name: 'salesOrderTotal',
-            component: BlankLayout,
-            meta: {
-              title: '销售(开单统计)',
-              icon: 'profile',
-              permission: 'M_salesOrderTotalList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesOrderTotalList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesOrderTotal/list.vue'),
-                meta: {
-                  title: '销售(开单统计)列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_salesOrderTotalList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/salesDetails',
-            redirect: '/reportData/salesDetails/list',
-            name: 'salesDetails',
-            component: BlankLayout,
-            meta: {
-              title: '销售明细(下推统计)',
-              icon: 'profile',
-              permission: 'M_salesDetailsList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesDetailsList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesDetails/list.vue'),
-                meta: {
-                  title: '销售明细(下推统计)列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_salesDetailsList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/actualSalesReport',
-            redirect: '/reportData/actualSalesReport/list',
-            name: 'actualSalesReport',
-            component: BlankLayout,
-            meta: {
-              title: '实售销售报表',
-              icon: 'profile',
-              permission: 'M_actualSalesReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'actualSalesReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/actualSalesReport/list.vue'),
-                meta: {
-                  title: '实售销售列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_actualSalesReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/salesAmountReport',
-            redirect: '/reportData/salesAmountReport/list',
-            name: 'salesAmountReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单销售报表',
-              icon: 'profile',
-              permission: 'M_salesAmountReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'salesAmountReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesAmountReport/list.vue'),
-              meta: {
-                title: '开单销售报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_salesAmountReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/salesSlipReport',
-            redirect: '/reportData/salesSlipReport/list',
-            name: 'salesSlipReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单销售单报表',
-              icon: 'profile',
-              permission: 'M_salesSlipReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'salesSlipReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesSlipReport/list.vue'),
-              meta: {
-                title: '开单销售单报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_salesSlipReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/promotionSalesRealTimeReport',
-            redirect: '/reportData/promotionSalesRealTimeReport/index',
-            name: 'promotionSalesRealTimeReport',
-            component: BlankLayout,
-            meta: {
-              title: '促销销售单报表',
-              icon: 'profile',
-              permission: 'M_promotionSalesRealTimeReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'promotionSalesRealTimeReportIndex',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/promotionSalesRealTimeReport/index.vue'),
-                meta: {
-                  title: '促销销售单报表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_promotionSalesRealTimeReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/promotionSalesOrderReport',
-            redirect: '/reportData/promotionSalesOrderReport/list',
-            name: 'promotionSalesOrderReport',
-            component: BlankLayout,
-            meta: {
-              title: '促销销售单报表(统计)',
-              icon: 'profile',
-              permission: 'M_promotionSalesOrderReport'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'promotionSalesOrderReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/promotionSalesOrderReport/list.vue'),
-              meta: {
-                title: '促销销售单报表(统计)',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_promotionSalesOrderReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/tireSalesReport',
-            redirect: '/reportData/tireSalesReport/index',
-            name: 'tireSalesReport',
-            component: BlankLayout,
-            meta: {
-              title: '轮胎统计报表',
-              icon: 'profile',
-              permission: 'M_tireSalesReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'tireSalesReportIndex',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/tireSalesReport/index.vue'),
-                meta: {
-                  title: '轮胎统计报表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_tireSalesReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/tireFeeReport',
-            redirect: '/reportData/tireFeeReport/index',
-            name: 'tireFeeReport',
-            component: BlankLayout,
-            meta: {
-              title: '轮胎费用报表',
-              icon: 'profile',
-              permission: 'M_tireFeeReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'tireFeeReportIndex',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/tireFeeReport/index.vue'),
-                meta: {
-                  title: '轮胎费用报表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_tireFeeReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/allocationOrderTotal',
-            redirect: '/reportData/allocationOrderTotal/list',
-            name: 'allocationOrderTotal',
-            component: BlankLayout,
-            meta: {
-              title: '调拨开单统计',
-              icon: 'profile',
-              permission: 'M_allocationOrderTotalList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'allocationOrderTotalList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationOrderTotal/list.vue'),
-                meta: {
-                  title: '调拨开单列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_allocationOrderTotalList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/allocationDetails',
-            redirect: '/reportData/allocationDetails/list',
-            name: 'allocationDetails',
-            component: BlankLayout,
-            meta: {
-              title: '调拨明细',
-              icon: 'profile',
-              permission: 'M_allocationDetailsList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'allocationDetailsList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationDetails/list.vue'),
-                meta: {
-                  title: '调拨明细列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_allocationDetailsList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/urchaseReturn',
-            redirect: '/reportData/urchaseReturn/list',
-            name: 'urchaseReturnList',
-            component: BlankLayout,
-            meta: {
-              title: '采购退货单报表',
-              icon: 'profile',
-              permission: 'M_urchaseReturn'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'urchaseReturnList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/urchaseReturn/list.vue'),
-                meta: {
-                  title: '采购退货单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_urchaseReturnList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/urchaseDetailReturn',
-            redirect: '/reportData/urchaseDetailReturn/detailList',
-            name: 'urchaseDetailReturnList',
-            component: BlankLayout,
-            meta: {
-              title: '采购退货单明细报表',
-              icon: 'profile',
-              permission: 'M_urchaseDetailReturn'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'detailList',
-                name: 'urchaseDetailReturnList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/urchaseDetailReturn/detailList.vue'),
-                meta: {
-                  title: '采购退货单明细报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_urchaseDetailReturnList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/salesReturnsReport',
-            redirect: '/reportData/salesReturnsReport/list',
-            name: 'salesReturnsReport',
-            component: BlankLayout,
-            meta: {
-              title: '销售退货单报表',
-              icon: 'profile',
-              permission: 'M_salesReturnsReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesReturnsReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesReturnsReport/list.vue'),
-                meta: {
-                  title: '销售退货单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_salesReturnsReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/salesReturnDetailReport',
-            redirect: '/reportData/salesReturnDetailReport/list',
-            name: 'salesReturnDetailReport',
-            component: BlankLayout,
-            meta: {
-              title: '销售退货明细报表',
-              icon: 'profile',
-              permission: 'M_salesReturnDetailReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'salesReturnDetailReportList',
-              component: () => import(/* webpackChunkName: "reportData" */
-                '@/views/reportData/salesReturnDetailReport/list.vue'),
-              meta: {
-                title: '销售退货明细报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_salesReturnDetailReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/transferReturnReport',
-            redirect: '/reportData/transferReturnReport/list',
-            name: 'transferReturnReport',
-            component: BlankLayout,
-            meta: {
-              title: '调拨退货单报表',
-              icon: 'profile',
-              permission: 'M_transferReturnReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'transferReturnReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/transferReturnReport/list.vue'),
-                meta: {
-                  title: '调拨退货单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_transferReturnReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/transferReturnDetailReport',
-            redirect: '/reportData/transferReturnDetailReport/list',
-            name: 'transferReturnDetailReport',
-            component: BlankLayout,
-            meta: {
-              title: '调拨退货单明细报表',
-              icon: 'profile',
-              permission: 'M_transferReturnDetailReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'transferReturnDetailReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/transferReturnDetailReport/list.vue'),
-              meta: {
-                title: '调拨退货单明细报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_transferReturnDetailReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/salesReturnReport',
-            redirect: '/reportData/salesReturnReport/list',
-            name: 'salesReturnReport',
-            component: BlankLayout,
-            meta: {
-              title: '实售退货报表',
-              icon: 'profile',
-              permission: 'M_salesReturnReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesReturnReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesReturnReport/list.vue'),
-                meta: {
-                  title: '实售退货列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_salesReturnReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/billingReturnReport',
-            redirect: '/reportData/billingReturnReport/list',
-            name: 'billingReturnReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单退货报表',
-              icon: 'profile',
-              permission: 'M_billingReturnReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'billingReturnReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingReturnReport/list.vue'),
-                meta: {
-                  title: '开单退货列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_billingReturnReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/returnSlipReport',
-            redirect: '/reportData/returnSlipReport/list',
-            name: 'returnSlipReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单退货单报表',
-              icon: 'profile',
-              permission: 'M_returnSlipReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'returnSlipReportList',
-              component: () => import(/* webpackChunkName: "reportData" */
-                '@/views/reportData/returnSlipReport/list.vue'),
-              meta: {
-                title: '开单退货单报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_returnSlipReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/billingBackReport',
-            redirect: '/reportData/billingBackReport/list',
-            name: 'billingBackReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单采退报表',
-              icon: 'profile',
-              permission: 'M_billingBackReport'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'billingBackReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingBackReport/list.vue'),
-              meta: {
-                title: '开单采退报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_billingBackReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/billingOrderReport',
-            redirect: '/reportData/billingOrderReport/list',
-            name: 'billingOrderReport',
-            component: BlankLayout,
-            meta: {
-              title: '开单采退单报表',
-              icon: 'profile',
-              permission: 'M_billingOrderReport'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'list',
-              name: 'billingOrderReportList',
-              component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/billingOrderReport/list.vue'),
-              meta: {
-                title: '开单采退单报表列表',
-                icon: 'profile',
-                hidden: true,
-                permission: 'M_billingOrderReportList'
-              }
-            }]
-          },
-          {
-            path: '/reportData/hPriceDifferenceDetailReport',
-            redirect: '/reportData/hPriceDifferenceDetailReport/list',
-            name: 'hPriceDifferenceDetailReport',
-            component: BlankLayout,
-            meta: {
-              title: '总部差价明细报表',
-              icon: 'profile',
-              permission: 'M_hPriceDifferenceDetailReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'hPriceDifferenceDetailReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/hPriceDifferenceDetailReport/list.vue'),
-                meta: {
-                  title: '总部差价明细列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_hPriceDifferenceDetailReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/priceDifferenceDetailReport',
-            redirect: '/reportData/priceDifferenceDetailReport/list',
-            name: 'priceDifferenceDetailReport',
-            component: BlankLayout,
-            meta: {
-              title: '差价明细报表',
-              icon: 'profile',
-              permission: 'M_priceDifferenceDetailReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'priceDifferenceDetailReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/priceDifferenceDetailReport/list.vue'),
-                meta: {
-                  title: '差价明细列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_priceDifferenceDetailReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/regionTypeSalesReport',
-            redirect: '/reportData/regionTypeSalesReport/list',
-            name: 'regionTypeSalesReport',
-            component: BlankLayout,
-            meta: {
-              title: '各分区品类实售明细',
-              icon: 'profile',
-              permission: 'M_regionTypeSalesReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'regionTypeSalesReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/regionTypeSalesReport/list.vue'),
-                meta: {
-                  title: '各分区品类实售明细',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_regionTypeSalesReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/warehousingOrder',
-            redirect: '/reportData/warehousingOrder/list',
-            name: 'warehousingOrder',
-            component: BlankLayout,
-            meta: {
-              title: '入库单报表',
-              icon: 'profile',
-              permission: 'M_warehousingOrderList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'warehousingOrderList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/warehousingOrder/list.vue'),
-                meta: {
-                  title: '入库单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_warehousingOrderList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/warehousingOrderDetail',
-            redirect: '/reportData/warehousingOrderDetail/list',
-            name: 'warehousingOrderDetail',
-            component: BlankLayout,
-            meta: {
-              title: '入库单明细报表',
-              icon: 'profile',
-              permission: 'M_warehousingOrderDetailList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'warehousingOrderDetailList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/warehousingOrderDetail/list.vue'),
-                meta: {
-                  title: '入库单明细报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_warehousingOrderDetailList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/salesPresentation',
-            redirect: '/reportData/salesPresentation/list',
-            name: 'salesPresentation',
-            component: BlankLayout,
-            meta: {
-              title: '销售交单报表',
-              icon: 'profile',
-              permission: 'M_salesPresentationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'salesPresentationList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/salesPresentation/list.vue'),
-                meta: {
-                  title: '销售交单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_salesPresentationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/allocationPresentation',
-            redirect: '/reportData/allocationPresentation/list',
-            name: 'allocationPresentation',
-            component: BlankLayout,
-            meta: {
-              title: '调拨交单报表',
-              icon: 'profile',
-              permission: 'M_allocationPresentationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'allocationPresentationList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allocationPresentation/list.vue'),
-                meta: {
-                  title: '调拨交单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_allocationPresentationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/returnGoodsPresentation',
-            redirect: '/reportData/returnGoodsPresentation/list',
-            name: 'returnGoodsPresentation',
-            component: BlankLayout,
-            meta: {
-              title: '退货交单报表',
-              icon: 'profile',
-              permission: 'M_returnGoodsPresentationList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'returnGoodsPresentationList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/returnGoodsPresentation/list.vue'),
-                meta: {
-                  title: '退货交单报表列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_returnGoodsPresentationList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/expenseAccountBearerReport',
-            redirect: '/reportData/expenseAccountBearerReport/list',
-            name: 'expenseAccountBearerReport',
-            component: BlankLayout,
-            meta: {
-              title: '费用汇总报表(按承担方)',
-              icon: 'profile',
-              permission: 'M_expenseAccountBearerReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'expenseAccountBearerReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/expenseAccountReport/bearerList.vue'),
-                meta: {
-                  title: '费用汇总报表(按承担方)',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_expenseAccountBearerReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/expenseAccountCategoryReport',
-            redirect: '/reportData/expenseAccountCategoryReport/list',
-            name: 'expenseAccountCategoryReport',
-            component: BlankLayout,
-            meta: {
-              title: '费用汇总报表(按品类)',
-              icon: 'profile',
-              permission: 'M_expenseAccountCategoryReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'expenseAccountCategoryReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/expenseAccountReport/categoryList.vue'),
-                meta: {
-                  title: '费用汇总报表(按品类)',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_expenseAccountCategoryReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/reportData/receivedSendStorageReport',
-            redirect: '/reportData/receivedSendStorageReport/index',
-            name: 'receivedSendStorageReport',
-            component: BlankLayout,
-            meta: {
-              title: '收发存报表',
-              icon: 'profile',
-              permission: 'M_receivedSendStorageReport'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'receivedSendStorageReportIndex',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/receivedSendStorageReport/index.vue'),
-                meta: {
-                  title: '收发存报表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_receivedSendStorageReportList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productRebateReport/index',
-            redirect: '/productRebateReport/index/list',
-            name: 'productRebateReportList',
-            component: BlankLayout,
-            meta: {
-              title: '产品返利明细表',
-              icon: 'profile',
-              permission: 'M_productRebateReportList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productRebateReportList',
-                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/productRebateReport/index.vue'),
-                meta: {
-                  title: '产品返利明细表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_productRebateReportList'
-                }
-              }
-            ]
-          }
-
-          // {
-          //   path: '/reportData/allCountryCostReport',
-          //   redirect: '/reportData/allCountryCostReport/list',
-          //   name: 'allCountryCostReport',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '全国费用统计报表',
-          //     icon: 'profile'
-          //     // permission: 'M_nationalCustomerCostStatisticsList'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'allCountryCostReportList',
-          //       component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/allCountryCostReport/list.vue'),
-          //       meta: {
-          //         title: '全国费用统计报表',
-          //         icon: 'profile',
-          //         hidden: true
-          //         // permission: 'M_nationalCustomerCostStatisticsList'
-          //       }
-          //     }
-          //   ]
-          // }
-        ]
-      },
-      // 数据导出
-      {
-        path: '/dataExport',
-        redirect: '/dataExport/exportSales',
-        component: PageView,
-        meta: {
-          title: '数据导出',
-          icon: 'database',
-          permission: 'M_dataExport'
-        },
-        children: [
-          {
-            path: '/dataExport/exportSales',
-            redirect: '/dataExport/exportSales/list',
-            name: 'exportSales',
-            component: BlankLayout,
-            meta: {
-              title: '导出销售',
-              icon: 'gold',
-              permission: 'M_exportSales'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'exportSalesList',
-                component: () => import(/* webpackChunkName: "dataExport" */ '@/views/dataExport/exportSales/list.vue'),
-                meta: {
-                  title: '导出销售',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_exportSales'
-                }
-              }
-            ]
-          },
-          {
-            path: '/dataExport/exportCheck',
-            redirect: '/dataExport/exportCheck/list',
-            name: 'exportCheck',
-            component: BlankLayout,
-            meta: {
-              title: '导出盘点',
-              icon: 'gold',
-              permission: 'M_exportCheck'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'exportCheckList',
-                component: () => import(/* webpackChunkName: "dataExport" */ '@/views/dataExport/exportCheck/list.vue'),
-                meta: {
-                  title: '导出盘点',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_exportCheck'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      salesReport,
+      purchasingReport,
+      spreadReport,
+      transferReport,
+      otherReport,
       // 产品管理
-      {
-        path: '/productManagement',
-        redirect: '/productManagement/productInfo',
-        component: PageView,
-        meta: {
-          title: '产品管理',
-          icon: 'shopping',
-          permission: 'M_productManagement'
-        },
-        children: [
-          {
-            path: '/productManagement/productInfo',
-            redirect: '/productManagement/productInfo/list',
-            name: 'productInfo',
-            component: BlankLayout,
-            meta: {
-              title: '产品列表',
-              icon: 'gold',
-              permission: 'M_productInfoList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productInfoList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/list.vue'),
-                meta: {
-                  title: '产品列表',
-                  icon: 'gold',
-                  hidden: true,
-                  permission: 'M_productInfoList'
-                }
-              },
-              {
-                path: 'add',
-                name: 'productInfoAdd',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/edit.vue'),
-                meta: {
-                  title: '新增产品',
-                  icon: 'gold',
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              },
-              {
-                path: 'edit/:id/:sn',
-                name: 'productInfoEdit',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productInfo/edit.vue'),
-                meta: {
-                  title: '编辑产品',
-                  icon: 'gold',
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productPricing',
-            redirect: '/productManagement/productPricing/list',
-            name: 'productPricing',
-            component: BlankLayout,
-            meta: {
-              title: '产品定价',
-              icon: 'transaction',
-              permission: 'M_productPricingList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productPricingList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productPricing/list.vue'),
-                meta: {
-                  title: '产品定价列表',
-                  icon: 'transaction',
-                  hidden: true,
-                  permission: 'M_productPricingList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productLaunchAudit',
-            redirect: '/productManagement/productLaunchAudit/list',
-            name: 'productLaunchAudit',
-            component: BlankLayout,
-            meta: {
-              title: '产品上线审核',
-              icon: 'rise',
-              permission: 'M_productLaunchAuditList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productLaunchAuditList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productLaunchAudit/list.vue'),
-                meta: {
-                  title: '产品上线审核列表',
-                  icon: 'rise',
-                  hidden: true,
-                  permission: 'M_productLaunchAuditList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/newProduct',
-            redirect: '/productManagement/newProduct/list/onlineInfo/1',
-            name: 'productLaunchInfo',
-            component: BlankLayout,
-            meta: {
-              title: '产品上线信息',
-              icon: 'rise',
-              permission: 'M_productLaunchInfoList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list/:type/:onlineFalg',
-                name: 'productLaunchInfoList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/newProduct/list.vue'),
-                meta: {
-                  title: '产品上线信息列表',
-                  icon: 'rise',
-                  hidden: true,
-                  permission: 'M_productLaunchInfoList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productOfflineAudit',
-            redirect: '/productManagement/productOfflineAudit/list',
-            name: 'productOfflineAudit',
-            component: BlankLayout,
-            meta: {
-              title: '产品下线审核',
-              icon: 'fall',
-              permission: 'M_productOfflineAuditList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productOfflineAuditList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productOfflineAudit/list.vue'),
-                meta: {
-                  title: '产品下线审核列表',
-                  icon: 'fall',
-                  hidden: true,
-                  permission: 'M_productOfflineAuditList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productNotOnline',
-            redirect: '/productManagement/productNotOnline/list',
-            name: 'productNotOnline',
-            component: BlankLayout,
-            meta: {
-              title: '产品状态信息',
-              icon: 'fall',
-              permission: 'M_productNotOnlineList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productNotOnlineList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productNotOnline/list.vue'),
-                meta: {
-                  title: '产品状态信息列表',
-                  icon: 'fall',
-                  hidden: true,
-                  permission: 'M_productNotOnlineList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/priceChangeRecord',
-            redirect: '/productManagement/priceChangeRecord/list',
-            name: 'priceChangeRecord',
-            component: BlankLayout,
-            meta: {
-              title: '价格变更记录',
-              icon: 'profile',
-              permission: 'M_priceChangeRecordList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'priceChangeRecordList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/priceChangeRecord/list.vue'),
-                meta: {
-                  title: '价格变更记录列表',
-                  icon: 'profile',
-                  hidden: true,
-                  permission: 'M_priceChangeRecordList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productUniversal',
-            redirect: '/productManagement/productUniversal/list',
-            name: 'productUniversal',
-            component: BlankLayout,
-            meta: {
-              title: '通用产品管理',
-              icon: 'deployment-unit',
-              permission: 'M_productUniversalList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productUniversalList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productUniversal/list.vue'),
-                meta: {
-                  title: '通用产品列表',
-                  icon: 'deployment-unit',
-                  hidden: true,
-                  permission: 'M_productUniversalList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productLevel',
-            redirect: '/productManagement/productLevel/list',
-            name: 'productLevel',
-            component: BlankLayout,
-            meta: {
-              title: '产品级别管理',
-              icon: 'fund',
-              permission: 'M_productLevelList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productLevelList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productLevel/list.vue'),
-                meta: {
-                  title: '产品级别列表',
-                  icon: 'fund',
-                  hidden: true,
-                  permission: 'M_productLevelList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productBrand',
-            redirect: '/productManagement/productBrand/list',
-            name: 'productBrand',
-            component: BlankLayout,
-            meta: {
-              title: '产品品牌管理',
-              icon: 'file-ppt',
-              permission: 'M_productBrandList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productBrandList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productBrand/list.vue'),
-                meta: {
-                  title: '产品品牌列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_productBrandList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productCategory',
-            redirect: '/productManagement/productCategory/list',
-            name: 'productCategory',
-            component: BlankLayout,
-            meta: {
-              title: '产品分类管理',
-              icon: 'radar-chart',
-              permission: 'M_productCategoryList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productCategoryList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productCategory/list.vue'),
-                meta: {
-                  title: '产品分类列表',
-                  icon: 'radar-chart',
-                  hidden: true,
-                  permission: 'M_productCategoryList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/shelfNoManage',
-            redirect: '/productManagement/shelfNoManage/list',
-            name: 'shelfNoManage',
-            component: BlankLayout,
-            meta: {
-              title: '货位编号管理',
-              icon: 'radar-chart',
-              permission: 'M_shelfNoManageList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'shelfNoManageList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/shelfNoManage/list.vue'),
-                meta: {
-                  title: '货位编号管理',
-                  icon: 'radar-chart',
-                  hidden: true,
-                  permission: 'M_shelfNoManageList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/productManagement/productSourcePath',
-            redirect: '/productManagement/productSourcePath/list',
-            name: 'productSourcePath',
-            component: BlankLayout,
-            meta: {
-              title: '唯一码追溯列表',
-              icon: 'radar-chart',
-              permission: 'M_productSourcePathList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'productSourcePathList',
-                component: () => import(/* webpackChunkName: "productManagement" */ '@/views/productManagement/productSourcePath/list.vue'),
-                meta: {
-                  title: '唯一码追溯列表',
-                  icon: 'radar-chart',
-                  hidden: true,
-                  permission: 'M_productSourcePathList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      productManagement,
       // 经销商管理
-      {
-        path: '/dealerManagement',
-        redirect: '/dealerManagement/marketingDivisionSet',
-        component: PageView,
-        meta: {
-          title: '经销商管理',
-          icon: 'idcard',
-          permission: 'M_dealerManagement'
-        },
-        children: [
-          {
-            path: '/dealerManagement/merchantInfoManagement',
-            redirect: '/dealerManagement/merchantInfoManagement/list',
-            name: 'merchantInfoManagement',
-            component: BlankLayout,
-            meta: {
-              title: '经销商资料管理',
-              icon: 'file-text',
-              permission: 'M_merchantInfoManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'merchantInfoManagementList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/list.vue'),
-                meta: {
-                  title: '经销商资料列表',
-                  icon: 'file-text',
-                  hidden: true,
-                  permission: 'M_merchantInfoManagementList'
-                }
-              },
-              {
-                path: 'add',
-                name: 'merchantInfoManagementAdd',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/edit.vue'),
-                meta: {
-                  title: '新增经销商',
-                  icon: 'file-text',
-                  hidden: true
-                }
-              },
-              {
-                path: 'edit/:id',
-                name: 'merchantInfoManagementEdit',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/edit.vue'),
-                meta: {
-                  title: '编辑经销商',
-                  icon: 'file-text',
-                  hidden: true
-                }
-              },
-              {
-                path: 'permissionSetting/:sn/:name/:dealerLevel',
-                name: 'merchantInfoManagementSet',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/merchantInfoManagement/permissionSettingNew.vue'),
-                meta: {
-                  title: '经销权设置',
-                  icon: 'file-text',
-                  replaceTab: true,
-                  hidden: true
-                }
-              },
-              {
-                path: 'rebateBinding/:sn',
-                name: 'rebateBinding',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/rebateBinding/list.vue'),
-                meta: {
-                  title: '差价设置',
-                  icon: 'file-text',
-                  replaceTab: true,
-                  hidden: true
-                }
-              }
-            ]
-          },
-          {
-            path: '/dealerManagement/dealerAccountManagement',
-            redirect: '/dealerManagement/dealerAccountManagement/list',
-            name: 'dealerAccountManagement',
-            component: BlankLayout,
-            meta: {
-              title: '经销商账号管理',
-              icon: 'team',
-              permission: 'M_dealerAccountManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'dealerAccountManagementList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/dealerAccountManagement/list.vue'),
-                meta: {
-                  title: '经销商账号列表',
-                  icon: 'team',
-                  hidden: true,
-                  permission: 'M_dealerAccountManagementList'
-                }
-              }
-            ]
-          },
-          // {
-          //   path: '/dealerManagement/dealerRelationshipBinding',
-          //   redirect: '/dealerManagement/dealerRelationshipBinding/list',
-          //   name: 'dealerRelationshipBinding',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '经销商关系绑定',
-          //     icon: 'share-alt',
-          //     permission: 'M_dealerRelationshipBindingList'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'dealerRelationshipBindingList',
-          //       component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/dealerRelationshipBinding/list.vue'),
-          //       meta: {
-          //         title: '经销商关系绑定列表',
-          //         icon: 'share-alt',
-          //         hidden: true,
-          //         permission: 'M_dealerRelationshipBindingList'
-          //       }
-          //     }
-          //   ]
-          // },
-          // {
-          //   path: '/dealerManagement/rebateSettings',
-          //   redirect: '/dealerManagement/rebateSettings/list',
-          //   name: 'rebateSettings',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '差价归属设置',
-          //     icon: 'stock',
-          //     permission: 'M_rebateSettingsList'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'rebateSettingsList',
-          //       component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/rebateSettings/list.vue'),
-          //       meta: {
-          //         title: '差价归属设置列表',
-          //         icon: 'stock',
-          //         hidden: true,
-          //         permission: 'M_rebateSettingsList'
-          //       }
-          //     }
-          //   ]
-          // },
-          {
-            path: '/dealerManagement/provincialWarehouseManagement',
-            redirect: '/dealerManagement/provincialWarehouseManagement/list',
-            name: 'provincialWarehouse',
-            component: BlankLayout,
-            meta: {
-              title: '省仓管理',
-              icon: 'share-alt',
-              permission: 'M_provincialWarehouse'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'provincialWarehouseList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/provincialWarehouseManagement/list.vue'),
-                meta: {
-                  title: '省仓管理列表',
-                  icon: 'share-alt',
-                  hidden: true,
-                  permission: 'M_provincialWarehouseList'
-                }
-              },
-              {
-                path: 'relatedDealers/:sn/:name',
-                name: 'relatedDealersList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/provincialWarehouseManagement/relatedDealersList.vue'),
-                meta: {
-                  title: '省仓关联经销商',
-                  icon: 'share-alt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'M_relatedDealersList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/dealerManagement/marketingDivisionSetNew',
-            redirect: '/dealerManagement/marketingDivisionSetNew/list',
-            name: 'marketingDivisionSetNew',
-            component: BlankLayout,
-            meta: {
-              title: '营销分区设置',
-              icon: 'setting',
-              permission: 'M_marketingDivisionSetList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'marketingDivisionSetNewList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/marketingDivisionSetNew/list.vue'),
-                meta: {
-                  title: '营销分区列表',
-                  icon: 'setting',
-                  hidden: true,
-                  permission: 'M_marketingDivisionSetList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/dealerManagement/businessOwnerSettings',
-            redirect: '/dealerManagement/businessOwnerSettings/list',
-            name: 'businessOwnerSettings',
-            component: BlankLayout,
-            meta: {
-              title: '数据权限配置',
-              icon: 'stock',
-              permission: 'M_businessOwnerSettings'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'businessOwnerSettingsList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/businessOwnerSettings/list.vue'),
-                meta: {
-                  title: '数据权限配置列表',
-                  icon: 'stock',
-                  hidden: true,
-                  permission: 'M_businessOwnerSettingsList'
-                }
-              },
-              {
-                path: 'settingsIndex',
-                name: 'categorySet',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/dealerManagement/businessOwnerSettings/settingsIndex.vue'),
-                meta: {
-                  title: '管辖品类权限设置',
-                  icon: 'user',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'M_settingsIndex'
-                }
-              }
-            ]
-          },
-          {
-            path: '/dealerManagement/dealerZoneSearch',
-            redirect: '/dealerManagement/dealerZoneSearch/list',
-            name: 'dealerZoneSearch',
-            component: BlankLayout,
-            meta: {
-              title: '经销商所属分区查询',
-              icon: 'setting',
-              permission: 'M_dealerZoneSearch'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'dealerZoneSearchList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/dealerManagement/dealerZoneSearch/list.vue'),
-                meta: {
-                  title: '经销商所属分区查询',
-                  icon: 'setting',
-                  hidden: true,
-                  permission: 'M_dealerZoneSearchList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      dealerManagement,
       //  供应商管理
-      {
-        path: '/supplierManagement',
-        redirect: '/supplierManagement/supplierInfo',
-        component: PageView,
-        meta: {
-          title: '供应商管理',
-          icon: 'team',
-          permission: 'M_supplierManagement'
-        },
-        children: [
-          {
-            path: '/supplierManagement/supplierInfo',
-            redirect: '/supplierManagement/supplierInfo/list',
-            name: 'supplierInfo',
-            component: BlankLayout,
-            meta: {
-              title: '供应商列表',
-              icon: 'team',
-              permission: 'M_supplierInfoList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'supplierInfoList',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/list.vue'),
-                meta: {
-                  title: '供应商列表',
-                  icon: 'team',
-                  hidden: true,
-                  permission: 'M_supplierInfoList'
-                }
-              },
-              {
-                path: 'add',
-                name: 'supplierInfoAdd',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/edit.vue'),
-                meta: {
-                  title: '新增供应商',
-                  icon: 'team',
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              },
-              {
-                path: 'edit/:id',
-                name: 'supplierInfoEdit',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/edit.vue'),
-                meta: {
-                  title: '编辑供应商',
-                  icon: 'team',
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              },
-              {
-                path: 'associatedProduct/:sn/:name',
-                name: 'associatedProduct',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/associatedProduct/add.vue'),
-                meta: {
-                  title: '关联产品',
-                  icon: 'team',
-                  replaceTab: true,
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/supplierManagement/costSetting',
-            redirect: '/supplierManagement/costSetting/list',
-            name: 'costSetting',
-            component: BlankLayout,
-            meta: {
-              title: '成本设置',
-              icon: 'build',
-              permission: 'M_costSettingList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'costSettingList',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/costSetting/list.vue'),
-                meta: {
-                  title: '成本设置列表',
-                  icon: 'build',
-                  hidden: true
-                }
-              }
-            ]
-          },
-          {
-            path: '/supplierManagement/costSetRecord',
-            redirect: '/supplierManagement/costSetRecord/list',
-            name: 'costSetRecord',
-            component: BlankLayout,
-            meta: {
-              title: '成本变更记录',
-              icon: 'build',
-              permission: 'M_costSetRecordList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'costSetRecordList',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/costSetRecord/list.vue'),
-                meta: {
-                  title: '成本变更记录列表',
-                  icon: 'build',
-                  hidden: true
-                }
-              }
-            ]
-          },
-          {
-            path: '/supplierManagement/associatedProductDetails',
-            redirect: '/supplierManagement/associatedProductDetails/list',
-            name: 'associatedProductDetails',
-            component: BlankLayout,
-            meta: {
-              title: '关联产品明细表',
-              icon: 'build',
-              permission: 'M_associatedProductDetailsList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'associatedProductDetailsList',
-                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/associatedProductDetails/list.vue'),
-                meta: {
-                  title: '关联产品明细列表',
-                  icon: 'build',
-                  hidden: true,
-                  permission: 'M_associatedProductDetailsList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      supplierManagement,
       // 促销管理
-      {
-        path: '/promotionRulesManagement',
-        redirect: '/promotionRulesManagement/promotionRules',
-        component: PageView,
-        meta: {
-          title: '促销管理',
-          icon: 'rocket',
-          permission: 'M_promotionRulesManagement'
-        },
-        children: [
-          {
-            path: '/promotionRulesManagement/dealerPromotions',
-            redirect: '/promotionRulesManagement/dealerPromotions/list',
-            name: 'dealerPromotionManagement',
-            component: BlankLayout,
-            meta: {
-              title: '经销商促销',
-              icon: 'setting',
-              permission: 'M_dealerPromotionManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'dealerPromotionManagementList',
-                component: () => import(/* webpackChunkName: "dealerManagement" */ '@/views/promotionRulesManagement/dealerPromotions/list.vue'),
-                meta: {
-                  title: '经销商促销',
-                  icon: 'setting',
-                  hidden: true,
-                  permission: 'M_dealerPromotionManagementList'
-                }
-              },
-              {
-                path: 'detail',
-                name: 'dealerPromotionManagementDetail',
-                component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/dealerPromotions/detail.vue'),
-                meta: {
-                  title: '促销活动详情',
-                  icon: 'thunderbolt',
-                  hidden: true
-                }
-              },
-              {
-                path: 'ruleSet',
-                name: 'dealerPromotionManagementRule',
-                component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/dealerPromotions/detail.vue'),
-                meta: {
-                  title: '促销规则设置',
-                  icon: 'thunderbolt',
-                  replaceTab: true,
-                  hidden: true
-                }
-              }
-            ]
-          }
-          // {
-          //   path: '/promotionRulesManagement/promotionManagement',
-          //   redirect: '/promotionRulesManagement/promotionManagement/list',
-          //   name: 'promotionManagement',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '修理厂促销',
-          //     icon: 'file-ppt',
-          //     permission: 'M_promotionManagementList'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'promotionManagementList',
-          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/list.vue'),
-          //       meta: {
-          //         title: '修理厂促销列表',
-          //         icon: 'file-ppt',
-          //         hidden: true,
-          //         permission: 'M_promotionManagementList'
-          //       }
-          //     },
-          //     {
-          //       path: 'add/:sn/:pageType',
-          //       name: 'promotionManagementAdd',
-          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/edit.vue'),
-          //       meta: {
-          //         title: '新增修理厂促销',
-          //         icon: 'file-ppt',
-          //         hidden: true,
-          //         permission: 'B_promotionManagementAdd'
-          //       }
-          //     },
-          //     {
-          //       path: 'edit/:sn/:pageType',
-          //       name: 'promotionManagementEdit',
-          //       component: () => import(/* webpackChunkName: "promotionRulesManagement" */ '@/views/promotionRulesManagement/promotionManagement/edit.vue'),
-          //       meta: {
-          //         title: '编辑修理厂促销',
-          //         icon: 'file-ppt',
-          //         hidden: true,
-          //         permission: 'B_promotionManagementEdit'
-          //       }
-          //     }
-          //   ]
-          // }
-        ]
-      },
+      promotionRulesManagement,
       // 易码通
-      {
-        path: '/easyPassManagement',
-        redirect: '/easyPassManagement/shoppingManagement',
-        component: PageView,
-        meta: {
-          title: '易码通',
-          icon: 'shop',
-          permission: 'M_shoppingManagement'
-        },
-        children: [
-          {
-            path: '/easyPassManagement/shoppingManagement',
-            redirect: '/easyPassManagement/shoppingManagement/list',
-            name: 'shoppingManagement',
-            component: BlankLayout,
-            meta: {
-              title: '商城类目',
-              icon: 'file-ppt',
-              permission: 'M_shoppingManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'shoppingManagementList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingManagement/list.vue'),
-                meta: {
-                  title: '商城类目列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_shoppingManagementList'
-                }
-              },
-              {
-                path: 'chooseProduct/:sn',
-                name: 'chooseProductList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingManagement/chooseProduct.vue'),
-                meta: {
-                  title: '商城类目产品列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_category_chooseProduct'
-                }
-              }
-            ]
-          },
-          {
-            path: '/easyPassManagement/shoppingProducts',
-            redirect: '/easyPassManagement/shoppingProducts/list',
-            name: 'shoppingProducts',
-            component: BlankLayout,
-            meta: {
-              title: '商城产品',
-              icon: 'file-ppt',
-              permission: 'M_shoppingProducts'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'shoppingProductsList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/shoppingProducts/list.vue'),
-                meta: {
-                  title: '商城产品列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_shoppingProductsList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/easyPassManagement/promotionalActivities',
-            redirect: '/easyPassManagement/promotionalActivities/list',
-            name: 'promotionalActivities',
-            component: BlankLayout,
-            meta: {
-              title: '促销活动',
-              icon: 'file-ppt',
-              permission: 'M_promotionalActivities'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'activityList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/list.vue'),
-                meta: {
-                  title: '促销活动列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_promotionalActivitiesList'
-                }
-              },
-              {
-                path: 'add/:pageType',
-                name: 'promotionalAddActivity',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/edit.vue'),
-                meta: {
-                  title: '新增促销活动',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_promoActivitiesAdd'
-                }
-              },
-              {
-                path: 'edit/:pageType/:sn',
-                name: 'promotionalEditActivity',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalActivities/edit.vue'),
-                meta: {
-                  title: '编辑促销活动',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_promoActivitiesEdit'
-                }
-              }
-            ]
-          },
-          {
-            path: '/easyPassManagement/promotionalProducts',
-            redirect: '/easyPassManagement/promotionalProducts/list',
-            name: 'promotionalProducts',
-            component: BlankLayout,
-            meta: {
-              title: '促销产品',
-              icon: 'file-ppt',
-              permission: 'M_promoProduct'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'promoProductList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/promotionalProducts/list.vue'),
-                meta: {
-                  title: '促销产品列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_promoProductList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/easyPassManagement/homepageCarouselImg',
-            redirect: '/easyPassManagement/homepageCarouselImg/list',
-            name: 'carouselImageList',
-            component: BlankLayout,
-            meta: {
-              title: '首页轮播图',
-              icon: 'file-ppt',
-              permission: 'M_homepageCarouselImg'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'carouselImageList',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/list.vue'),
-                meta: {
-                  title: '首页轮播图列表',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  permission: 'M_homepageCarouselImgList'
-                }
-              },
-              {
-                path: 'add',
-                name: 'carouselImageAdd',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/edit.vue'),
-                meta: {
-                  title: '新增轮播图',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_homepageCarouselAdd'
-                }
-              },
-              {
-                path: 'edit/:sn/:bizType',
-                name: 'carouselImageEdit',
-                component: () => import(/* webpackChunkName: "easyPassManagement" */ '@/views/easyPassManagement/homepageCarouselImg/edit.vue'),
-                meta: {
-                  title: '编辑轮播图',
-                  icon: 'file-ppt',
-                  hidden: true,
-                  replaceTab: true,
-                  permission: 'B_homepageCarouselEdit'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      easyPassManagement,
       // 大屏数据
-      {
-        path: '/bigStatistics',
-        redirect: '/bigStatistics/realTimeSalesReport',
-        component: PageView,
-        meta: {
-          title: '数据统计',
-          icon: 'desktop',
-          permission: 'M_bigScreenStatistics'
-        },
-        children: [
-          {
-            path: '/bigStatistics/realTimeSalesReport',
-            redirect: '/bigStatistics/realTimeSalesReport/index',
-            name: 'bigRealTimeSalesReport',
-            component: BigScreen,
-            meta: {
-              title: '实时销售看板',
-              icon: 'deployment-unit',
-              permission: 'M_realTimeSalesReportIndex'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'realTimeSalesReportIndex',
-                component: () => import(/* webpackChunkName: "bigScreen" */ '@/views/bigScreen/realTimeSalesReport/index'),
-                meta: {
-                  title: '实时销售看板'
-                }
-              }
-            ]
-          },
-          {
-            path: '/bigStatistics/fPanalysisReport',
-            redirect: '/bigStatistics/fPanalysisReport/index',
-            name: 'bigfPanalysisReport',
-            component: BigScreen,
-            meta: {
-              title: '加盟商/产品分析',
-              icon: 'interaction',
-              permission: 'M_fPanalysisReportIndex'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'index',
-                name: 'fPanalysisReportIndex',
-                component: () => import(/* webpackChunkName: "bigScreen" */ '@/views/bigScreen/fPanalysisReport/index'),
-                meta: {
-                  title: '加盟商/产品分析'
-                }
-              }
-            ]
-          }
-        ]
-      },
-      // 基础设置
-      {
-        path: '/basicData',
-        redirect: '/basicData/warehouse',
-        component: PageView,
-        meta: {
-          title: '基础设置',
-          icon: 'pushpin',
-          permission: 'M_basicData'
-        },
-        children: [
-          {
-            path: '/basicData/warehouse',
-            redirect: '/basicData/warehouse/list',
-            name: 'warehouse',
-            component: BlankLayout,
-            meta: {
-              title: '仓库管理',
-              icon: 'deployment-unit',
-              permission: 'M_warehouseList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'warehouseList',
-                component: () => import(/* webpackChunkName: "basicData" */ '@/views/basicData/warehouse/list.vue'),
-                meta: {
-                  title: '仓库列表',
-                  icon: 'deployment-unit',
-                  hidden: true,
-                  permission: 'M_warehouseList'
-                }
-              },
-              {
-                path: '/basicData/storingLocation/:sn',
-                name: 'storingLocationList',
-                component: () => import(/* webpackChunkName: "basicData" */ '@/views/basicData/warehouse/storingLocation/list.vue'),
-                meta: {
-                  title: '仓位列表',
-                  icon: 'deployment-unit',
-                  replaceTab: true,
-                  hidden: true
-                  // permission: 'B_goodsManage_edit'
-                }
-              }
-            ]
-          },
-        ]
-      },
-      // 权限管理
-      {
-        path: '/auth',
-        redirect: '/auth/user',
-        component: PageView,
-        meta: {
-          title: '权限管理',
-          icon: 'lock',
-          permission: 'M_auth_0'
-        },
-        children: [
-          {
-            path: '/auth/user',
-            redirect: '/auth/user/list',
-            name: 'powerUser',
-            component: BlankLayout,
-            meta: {
-              title: '用户管理',
-              icon: 'user',
-              permission: 'M_userList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'powerUserList',
-                component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
-                meta: {
-                  title: '用户管理',
-                  icon: 'user',
-                  hidden: true,
-                  permission: 'M_userList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/auth/role',
-            redirect: '/auth/role/list',
-            name: 'powerRole',
-            component: BlankLayout,
-            meta: {
-              title: '角色管理',
-              icon: 'solution',
-              permission: 'M_roleList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'powerRoleList',
-                component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
-                meta: {
-                  title: '角色管理',
-                  icon: 'solution',
-                  hidden: true,
-                  permission: 'M_roleList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/auth/adminMenus',
-            redirect: '/auth/adminMenus/list',
-            name: 'adminMenus',
-            component: BlankLayout,
-            meta: {
-              title: '菜单管理',
-              icon: 'appstore',
-              permission: 'M_menuList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'adminMenusList',
-                component: () => import(/* webpackChunkName: "auth" */ '@/views/bnSetting/menu/adminMenus.vue'),
-                meta: {
-                  title: '菜单管理',
-                  icon: 'appstore',
-                  hidden: true,
-                  permission: 'M_menuList'
-                }
-              }
-            ]
-          }
-        ]
-      },
+      bigStatistics,
       // 系统设置
-      {
-        path: '/setting',
-        redirect: '/setting/dataDictionary',
-        component: PageView,
-        meta: {
-          title: '系统设置',
-          icon: 'setting',
-          permission: 'M_systemSet'
-        },
-        children: [
-          {
-            path: '/setting/dataDictionary',
-            redirect: '/setting/dataDictionary/list',
-            name: 'dataDictionary',
-            component: BlankLayout,
-            meta: {
-              title: '数据字典管理',
-              icon: 'database',
-              permission: 'M_dataD_lookup'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'powerDD',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/power/dataDictionary/dataDictionary.vue'),
-                meta: {
-                  title: '数据字典管理',
-                  icon: 'database',
-                  hidden: true,
-                  permission: 'M_dataD_lookup'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/OperateJournal',
-            redirect: '/setting/OperateJournal/list',
-            name: 'OperateJournal',
-            component: BlankLayout,
-            meta: {
-              title: '操作日志',
-              icon: 'read',
-              permission: 'M_OperateJournalList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'powerOperateJournal',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/power/OperateJournal/OperateJournal.vue'),
-                meta: {
-                  title: '操作日志',
-                  icon: 'read',
-                  permission: 'M_OperateJournalList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/noticeManagement',
-            redirect: '/setting/noticeManagement/list',
-            name: 'noticeManagement',
-            component: BlankLayout,
-            meta: {
-              title: '公告管理',
-              icon: 'sketch',
-              permission: 'M_noticeManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'noticeManagementList',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/noticeManagement/list.vue'),
-                meta: {
-                  title: '公告列表',
-                  icon: 'sketch',
-                  hidden: true,
-                  permission: 'M_noticeManagementList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/bigScreenSet',
-            redirect: '/setting/bigScreenSet/index',
-            name: 'bigScreenSet',
-            component: BlankLayout,
-            meta: {
-              title: '大屏参数设置',
-              icon: 'sketch',
-              permission: 'M_bigScreenSetIndex'
-            },
-            hideChildrenInMenu: true,
-            children: [{
-              path: 'index',
-              name: 'bigScreenSetIndex',
-              component: () => import(/* webpackChunkName: "setting" */'@/views/setting/bigScreenSet/index.vue'),
-              meta: {
-                title: '大屏参数设置',
-                icon: 'sketch',
-                hidden: true,
-                permission: 'M_bigScreenSetIndex'
-              }
-            }]
-          },
-          {
-            path: '/setting/erpMessageManagement',
-            redirect: '/setting/erpMessageManagement/list',
-            name: 'erpMessageManagement',
-            component: BlankLayout,
-            meta: {
-              title: 'ERP数据同步记录',
-              icon: 'sketch',
-              permission: 'M_erpMessageList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'erpMessageManagementList',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/erpMessageManagement/list.vue'),
-                meta: {
-                  title: 'ERP数据同步列表',
-                  icon: 'sketch',
-                  hidden: true,
-                  permission: 'M_erpMessageList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/erpAllotSettings',
-            redirect: '/setting/erpAllotSettings/list',
-            name: 'erpAllotSettings',
-            component: BlankLayout,
-            meta: {
-              title: '调拨类型管理',
-              icon: 'sketch',
-              permission: 'M_transferTypeManagementList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'erpAllotSettingsList',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/erpAllotSettings/list.vue'),
-                meta: {
-                  title: '调拨类型管理',
-                  icon: 'sketch',
-                  hidden: true,
-                  permission: 'M_transferTypeManagementList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/dataValidManagement',
-            redirect: '/setting/dataValidManagement/list',
-            name: 'dataValidManagement',
-            component: BlankLayout,
-            meta: {
-              title: '数据校验管理',
-              icon: 'sketch',
-              permission: 'M_dataVailidManageList'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'dataValidManagementList',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/dataValidManagement/list.vue'),
-                meta: {
-                  title: '数据校验管理',
-                  icon: 'sketch',
-                  hidden: true,
-                  permission: 'M_dataVailidManageList'
-                }
-              }
-            ]
-          },
-          {
-            path: '/setting/checkDingTask',
-            redirect: '/setting/checkDingTask/list',
-            name: 'checkDingTask',
-            component: BlankLayout,
-            meta: {
-              title: '钉钉审批',
-              icon: 'sketch',
-              permission: 'M_dingAuditUpdate'
-            },
-            hideChildrenInMenu: true,
-            children: [
-              {
-                path: 'list',
-                name: 'checkDingTaskList',
-                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/checkDingTask/list.vue'),
-                meta: {
-                  title: '钉钉审批',
-                  icon: 'sketch',
-                  hidden: true,
-                  permission: 'M_dingAuditUpdate'
-                }
-              }
-            ]
-          }
-        ]
-      }
+      sysSetting
     ]
   },
   {

+ 487 - 0
src/config/salesManageService.js

@@ -0,0 +1,487 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+export default {
+        path: '/salesManWarehouse',
+        redirect: '/salesManagement/salesQueryNew',
+        component: PageView,
+        meta: {
+          title: '销售管理',
+          icon: 'account-book',
+          permission: 'M_salesManagement'
+        },
+        children: [
+          {
+            path: '/salesManagement/salesQueryNew',
+            redirect: '/salesManagement/salesQueryNew/list',
+            name: 'salesQueryNew',
+            component: BlankLayout,
+            meta: {
+              title: '销售单查询',
+              icon: 'monitor',
+              permission: 'M_salesQueryList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesQueryNewList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/list.vue'),
+                meta: {
+                  title: '销售单列表',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'M_salesQueryList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'salesNewDetail',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/detail.vue'),
+                meta: {
+                  title: '销售单详情',
+                  icon: 'monitor',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_salesDetail'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'salesNewDetailAudit',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/detail.vue'),
+                meta: {
+                  title: '销售单审核',
+                  icon: 'monitor',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_salesAudit'
+                }
+              },
+              {
+                path: 'add/:sn',
+                name: 'salesNewAdd',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
+                meta: {
+                  title: '新增销售单',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_salesEdit'
+                }
+              },
+              {
+                path: 'edit/:sn',
+                name: 'salesNewEdit',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
+                meta: {
+                  title: '编辑销售单',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_salesEdit'
+                }
+              },
+              {
+                path: 'waitDispatch/:salesBillSn',
+                name: 'waitDispatchNew',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/waitDispatchNew/edit.vue'),
+                meta: {
+                  title: '下推销售单',
+                  icon: 'monitor',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_salesDispatch'
+                }
+              },
+              {
+                path: 'waitCostOrder',
+                name: 'waitCostOrder',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/waitCostOrder/list.vue'),
+                meta: {
+                  title: '待转费用报销单',
+                  icon: 'monitor',
+                  hidden: true,
+                  permission: 'B_salesDispatch'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/salesOrderWarehouse',
+            redirect: '/salesManagement/salesOrderWarehouse/list',
+            name: 'salesOrderWarehouse',
+            component: BlankLayout,
+            meta: {
+              title: '仓库销售单',
+              icon: 'vertical-align-bottom',
+              permission: 'M_salesOrderWarehouseList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesOrderWarehouseList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesOrderWarehouse/list.vue'),
+                meta: {
+                  title: '仓库销售单列表',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_salesOrderWarehouseList'
+                }
+              },
+              {
+                path: 'detail/:sn/:wsn',
+                name: 'saleOrderDetail',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesOrderWarehouse/detail.vue'),
+                meta: {
+                  title: '仓库销售单列表详情',
+                  icon: 'vertical-align-bottom',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_salesOrderWarehouseDetail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/pushOrderManagement',
+            redirect: '/salesManagement/pushOrderManagement/list',
+            name: 'pushOrderManagement',
+            component: BlankLayout,
+            meta: {
+              title: '下推订单列表',
+              icon: 'vertical-align-bottom',
+              permission: 'M_pushOrderManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'pushOrderManagementList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/pushOrderManagement/list.vue'),
+                meta: {
+                  title: '下推订单列表',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_pushOrderManagementList'
+                }
+              },
+              {
+                path: 'detail/:sn/:type',
+                name: 'pushOrderDetail',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/pushOrderManagement/detail.vue'),
+                meta: {
+                  title: '下推订单详情',
+                  icon: 'vertical-align-bottom',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_dispatchDetail'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/salesCollection',
+            redirect: '/salesManagement/salesCollection/list',
+            name: 'salesCollection',
+            component: BlankLayout,
+            meta: {
+              title: '销售收款',
+              icon: 'vertical-align-bottom',
+              permission: 'M_salesCollectionList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesCollectionList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesCollection/list.vue'),
+                meta: {
+                  title: '销售收款',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_salesCollectionList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/stockPrint',
+            redirect: '/salesManagement/stockPrint/list',
+            name: 'stockPrint',
+            component: BlankLayout,
+            meta: {
+              title: '备货打印',
+              icon: 'vertical-align-bottom',
+              permission: 'M_stockPrintList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'stockPrintList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/stockPrint/list.vue'),
+                meta: {
+                  title: '备货打印',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_stockPrintList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/receiptPrint',
+            redirect: '/salesManagement/receiptPrint/list',
+            name: 'receiptPrint',
+            component: BlankLayout,
+            meta: {
+              title: '收款打印',
+              icon: 'vertical-align-bottom',
+              permission: 'M_receiptPrintList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'receiptPrintList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/receiptPrint/list.vue'),
+                meta: {
+                  title: '收款打印',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_receiptPrintList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/matchSendOutOrder',
+            redirect: '/salesManagement/matchSendOutOrder/list',
+            name: 'matchSendOutOrder',
+            component: BlankLayout,
+            meta: {
+              title: '发货对单',
+              icon: 'vertical-align-bottom',
+              permission: 'M_matchSendOutOrderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'matchSendOutOrderList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/matchSendOutOrder/list.vue'),
+                meta: {
+                  title: '发货对单',
+                  icon: 'vertical-align-bottom',
+                  hidden: true,
+                  permission: 'M_matchSendOutOrderList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/examineVerify',
+            redirect: '/salesManagement/examineVerify/list',
+            name: 'examineVerify',
+            component: BlankLayout,
+            meta: {
+              title: '备货审核',
+              icon: 'audit',
+              permission: 'M_examineVerifyList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'examineVerifyList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/examineVerify/list.vue'),
+                meta: {
+                  title: '备货审核列表',
+                  icon: 'audit',
+                  hidden: true,
+                  permission: 'M_examineVerifyList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/outboundOrder',
+            redirect: '/salesManagement/outboundOrder/list',
+            name: 'outboundOrder',
+            component: BlankLayout,
+            meta: {
+              title: '出库',
+              icon: 'export',
+              permission: 'M_outboundOrderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'outboundOrderList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/outboundOrder/list.vue'),
+                meta: {
+                  title: '出库列表',
+                  icon: 'export',
+                  hidden: true,
+                  permission: 'M_outboundOrderList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/sendOutOrder',
+            redirect: '/salesManagement/sendOutOrder/list',
+            name: 'sendOutOrder',
+            component: BlankLayout,
+            meta: {
+              title: '发货单列表',
+              icon: 'export',
+              permission: 'M_sendOutOrderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'sendOutOrderList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/sendOutOrder/list.vue'),
+                meta: {
+                  title: '发货单列表',
+                  icon: 'export',
+                  hidden: true,
+                  permission: 'M_sendOutOrderList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/backorder',
+            redirect: '/salesManagement/backorder/list',
+            name: 'backorder',
+            component: BlankLayout,
+            meta: {
+              title: '销售缺货列表',
+              icon: 'exception',
+              permission: 'M_backorderList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'backorderList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/backorder/list.vue'),
+                meta: {
+                  title: '销售缺货列表',
+                  icon: 'exception',
+                  hidden: true,
+                  permission: 'M_backorderList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/shortageStatisticsC',
+            redirect: '/salesManagement/shortageStatisticsC/list',
+            name: 'shortageStatisticsC',
+            component: BlankLayout,
+            meta: {
+              title: '缺货统计(按客户)',
+              icon: 'file-done',
+              permission: 'M_shortageStatisticsCList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'shortageStatisticsCList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/shortageStatisticsC/list.vue'),
+                meta: {
+                  title: '缺货统计(按客户)',
+                  icon: 'file-done',
+                  hidden: true,
+                  permission: 'M_shortageStatisticsCList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/shortageStatisticsP',
+            redirect: '/salesManagement/shortageStatisticsP/list',
+            name: 'shortageStatisticsP',
+            component: BlankLayout,
+            meta: {
+              title: '缺货统计(按产品)',
+              icon: 'file-protect',
+              permission: 'M_shortageStatisticsPList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'shortageStatisticsPList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/shortageStatisticsP/list.vue'),
+                meta: {
+                  title: '缺货统计(按产品)',
+                  icon: 'file-protect',
+                  hidden: true,
+                  permission: 'M_shortageStatisticsPList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/priceInquiry',
+            redirect: '/salesManagement/priceInquiry/list',
+            name: 'priceInquiry',
+            component: BlankLayout,
+            meta: {
+              title: '价格查询',
+              icon: 'file-protect',
+              permission: 'M_priceInquiryList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'priceInquiryList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/priceInquiry/list.vue'),
+                meta: {
+                  title: '价格查询列表',
+                  icon: 'file-protect',
+                  hidden: true,
+                  permission: 'M_priceInquiryList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesManagement/salesList',
+            redirect: '/salesManagement/salesList/list',
+            name: 'salesList',
+            component: BlankLayout,
+            meta: {
+              title: '销售一览表',
+              icon: 'file-protect',
+              permission: 'M_salesList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesMainList',
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesList/list.vue'),
+                meta: {
+                  title: '销售一览表',
+                  icon: 'file-protect',
+                  hidden: true,
+                  permission: 'M_salesList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 261 - 0
src/config/salesReturnManage.js

@@ -0,0 +1,261 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/salesReturnManagement',
+        redirect: '/salesReturnManagement/salesReturn',
+        component: PageView,
+        meta: {
+          title: '销售退货',
+          icon: 'export',
+          permission: 'M_salesReturnManagement'
+        },
+        children: [
+          {
+            path: '/salesReturnManagement/salesReturn',
+            redirect: '/salesReturnManagement/salesReturn/list',
+            name: 'salesReturn',
+            component: BlankLayout,
+            meta: {
+              title: '销售退货列表',
+              icon: 'fund',
+              permission: 'M_salesReturnList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'salesReturnList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/list.vue'),
+                meta: {
+                  title: '销售退货列表',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_salesReturnList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'salesReturnDetail',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/detail.vue'),
+                meta: {
+                  title: '销售退货详情',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'B_salesReturnDetail'
+                }
+              },
+              {
+                path: 'salesReturnEdit/:sn/:buyerSn',
+                name: 'salesReturnEdit',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/salesReturn/salesReturnEdit.vue'),
+                meta: {
+                  title: '编辑销售退货',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'B_salesReturnEdit'
+                }
+              },
+              {
+                path: 'custConfirm/:sn/:buyerSn',
+                name: 'custConfirm',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/custConfirm/list.vue'),
+                meta: {
+                  title: '客服确认',
+                  icon: 'fund',
+                  replaceTab: true,
+                  hidden: true,
+                  permission: 'B_salesReturnConfirm'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesReturnManagement/billOfLading',
+            redirect: '/salesReturnManagement/billOfLading/list',
+            name: 'billOfLading',
+            component: BlankLayout,
+            meta: {
+              title: '提货单列表',
+              icon: 'fund',
+              permission: 'M_billOfLadingList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'billOfLadingList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/list.vue'),
+                meta: {
+                  title: '提货单列表',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_billOfLadingList'
+                }
+              },
+              {
+                path: 'detail/:sn',
+                name: 'billOfLadingDetail',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/detail.vue'),
+                meta: {
+                  title: '提货单详情',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_detailPickUp'
+                }
+              },
+              {
+                path: 'add',
+                name: 'billOfLadingAdd',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/add.vue'),
+                meta: {
+                  title: '新增提货单',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'B_editPickUp'
+                }
+              },
+              {
+                path: 'edit/:sn/:wSn',
+                name: 'billOfLadingEdit',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/billOfLading/add.vue'),
+                meta: {
+                  title: '编辑提货单',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'B_editPickUp'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesReturnManagement/pickUp',
+            redirect: '/salesReturnManagement/pickUp/list',
+            name: 'pickUp',
+            component: BlankLayout,
+            meta: {
+              title: '仓库提货',
+              icon: 'fund',
+              permission: 'M_pickUpList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'pickUpList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/pickUp/list.vue'),
+                meta: {
+                  title: '仓库提货列表',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_pickUpList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesReturnManagement/receiveCheck',
+            redirect: '/salesReturnManagement/receiveCheck/list',
+            name: 'receiveCheck',
+            component: BlankLayout,
+            meta: {
+              title: '收货品检',
+              icon: 'fund',
+              permission: 'M_receiveCheckList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'receiveCheckList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/list.vue'),
+                meta: {
+                  title: '收货品检列表',
+                  icon: 'fund',
+                  hidden: true,
+                  permission: 'M_receiveCheckList'
+                }
+              },
+              {
+                path: 'receiving/:sn/:buyerSn',
+                name: 'salesReturnReceiving',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/receiving.vue'),
+                meta: {
+                  title: '收货',
+                  icon: 'fund',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_salesReturnReceiving'
+                }
+              },
+              {
+                path: 'checking/:sn/:buyerSn',
+                name: 'salesReturnCheck',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/receiveCheck/checking.vue'),
+                meta: {
+                  title: '品检',
+                  icon: 'fund',
+                  hidden: true,
+                  replaceTab: true,
+                  permission: 'B_salesReturnCheck'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesReturnManagement/returnConfirmation',
+            redirect: '/salesReturnManagement/returnConfirmation/list',
+            name: 'returnConfirmation',
+            component: BlankLayout,
+            meta: {
+              title: '销售退货确认',
+              icon: 'vertical-align-top',
+              permission: 'M_returnConfirmationList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'returnConfirmationList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/returnConfirmation/list.vue'),
+                meta: {
+                  title: '销售退货确认列表',
+                  icon: 'vertical-align-top',
+                  hidden: true,
+                  permission: 'M_returnConfirmationList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/salesReturnManagement/returnSchedule',
+            redirect: '/salesReturnManagement/returnSchedule/list',
+            name: 'returnSchedule',
+            component: BlankLayout,
+            meta: {
+              title: '退货一览表',
+              icon: 'vertical-align-top',
+              permission: 'M_returnScheduleList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'returnScheduleList',
+                component: () => import(/* webpackChunkName: "salesReturnManagement" */ '@/views/salesReturnManagement/returnSchedule/list.vue'),
+                meta: {
+                  title: '退货一览表',
+                  icon: 'vertical-align-top',
+                  hidden: true,
+                  permission: 'M_returnScheduleList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 152 - 0
src/config/supplierManagement.js

@@ -0,0 +1,152 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/supplierManagement',
+        redirect: '/supplierManagement/supplierInfo',
+        component: PageView,
+        meta: {
+          title: '供应商管理',
+          icon: 'team',
+          permission: 'M_supplierManagement'
+        },
+        children: [
+          {
+            path: '/supplierManagement/supplierInfo',
+            redirect: '/supplierManagement/supplierInfo/list',
+            name: 'supplierInfo',
+            component: BlankLayout,
+            meta: {
+              title: '供应商列表',
+              icon: 'team',
+              permission: 'M_supplierInfoList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'supplierInfoList',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/list.vue'),
+                meta: {
+                  title: '供应商列表',
+                  icon: 'team',
+                  hidden: true,
+                  permission: 'M_supplierInfoList'
+                }
+              },
+              {
+                path: 'add',
+                name: 'supplierInfoAdd',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/edit.vue'),
+                meta: {
+                  title: '新增供应商',
+                  icon: 'team',
+                  hidden: true
+                  // permission: 'B_goodsManage_edit'
+                }
+              },
+              {
+                path: 'edit/:id',
+                name: 'supplierInfoEdit',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/supplierInfo/edit.vue'),
+                meta: {
+                  title: '编辑供应商',
+                  icon: 'team',
+                  hidden: true
+                  // permission: 'B_goodsManage_edit'
+                }
+              },
+              {
+                path: 'associatedProduct/:sn/:name',
+                name: 'associatedProduct',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/associatedProduct/add.vue'),
+                meta: {
+                  title: '关联产品',
+                  icon: 'team',
+                  replaceTab: true,
+                  hidden: true
+                  // permission: 'B_goodsManage_edit'
+                }
+              }
+            ]
+          },
+          {
+            path: '/supplierManagement/costSetting',
+            redirect: '/supplierManagement/costSetting/list',
+            name: 'costSetting',
+            component: BlankLayout,
+            meta: {
+              title: '成本设置',
+              icon: 'build',
+              permission: 'M_costSettingList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'costSettingList',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/costSetting/list.vue'),
+                meta: {
+                  title: '成本设置列表',
+                  icon: 'build',
+                  hidden: true
+                }
+              }
+            ]
+          },
+          {
+            path: '/supplierManagement/costSetRecord',
+            redirect: '/supplierManagement/costSetRecord/list',
+            name: 'costSetRecord',
+            component: BlankLayout,
+            meta: {
+              title: '成本变更记录',
+              icon: 'build',
+              permission: 'M_costSetRecordList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'costSetRecordList',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/costSetRecord/list.vue'),
+                meta: {
+                  title: '成本变更记录列表',
+                  icon: 'build',
+                  hidden: true
+                }
+              }
+            ]
+          },
+          {
+            path: '/supplierManagement/associatedProductDetails',
+            redirect: '/supplierManagement/associatedProductDetails/list',
+            name: 'associatedProductDetails',
+            component: BlankLayout,
+            meta: {
+              title: '关联产品明细表',
+              icon: 'build',
+              permission: 'M_associatedProductDetailsList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'associatedProductDetailsList',
+                component: () => import(/* webpackChunkName: "supplierManagement" */ '@/views/supplierManagement/associatedProductDetails/list.vue'),
+                meta: {
+                  title: '关联产品明细列表',
+                  icon: 'build',
+                  hidden: true,
+                  permission: 'M_associatedProductDetailsList'
+                }
+              }
+            ]
+          }
+        ]
+      }

+ 328 - 0
src/config/sysSetting.js

@@ -0,0 +1,328 @@
+import {
+  UserLayout,
+  BasicLayout,
+  BlankLayout,
+  BigScreen,
+  PageView
+} from '@/layouts'
+
+export default {
+        path: '/setting',
+        redirect: '/basicData/warehouse',
+        component: PageView,
+        meta: {
+          title: '系统设置',
+          icon: 'setting',
+          permission: 'M_systemSet'
+        },
+        children: [
+          {
+            path: '/basicData/warehouse',
+            redirect: '/basicData/warehouse/list',
+            name: 'warehouse',
+            component: BlankLayout,
+            meta: {
+              title: '仓库管理',
+              icon: 'deployment-unit',
+              permission: 'M_warehouseList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: '/basicData/warehouse/list',
+                name: 'warehouseList',
+                component: () => import(/* webpackChunkName: "basicData" */ '@/views/basicData/warehouse/list.vue'),
+                meta: {
+                  title: '仓库列表',
+                  icon: 'deployment-unit',
+                  hidden: true,
+                  permission: 'M_warehouseList'
+                }
+              },
+              {
+                path: '/basicData/storingLocation/:sn',
+                name: 'storingLocationList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/basicData/warehouse/storingLocation/list.vue'),
+                meta: {
+                  title: '仓位列表',
+                  icon: 'deployment-unit',
+                  replaceTab: true,
+                  hidden: true
+                }
+              }
+            ]
+          },
+          {
+            path: '/auth/user',
+            redirect: '/auth/user/list',
+            name: 'powerUser',
+            component: BlankLayout,
+            meta: {
+              title: '用户管理',
+              icon: 'user',
+              permission: 'M_userList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'powerUserList',
+                component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
+                meta: {
+                  title: '用户管理',
+                  icon: 'user',
+                  hidden: true,
+                  permission: 'M_userList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/auth/role',
+            redirect: '/auth/role/list',
+            name: 'powerRole',
+            component: BlankLayout,
+            meta: {
+              title: '角色管理',
+              icon: 'solution',
+              permission: 'M_roleList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'powerRoleList',
+                component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
+                meta: {
+                  title: '角色管理',
+                  icon: 'solution',
+                  hidden: true,
+                  permission: 'M_roleList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/auth/adminMenus',
+            redirect: '/auth/adminMenus/list',
+            name: 'adminMenus',
+            component: BlankLayout,
+            meta: {
+              title: '菜单管理',
+              icon: 'appstore',
+              permission: 'M_menuList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'adminMenusList',
+                component: () => import(/* webpackChunkName: "auth" */ '@/views/bnSetting/menu/adminMenus.vue'),
+                meta: {
+                  title: '菜单管理',
+                  icon: 'appstore',
+                  hidden: true,
+                  permission: 'M_menuList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/dataDictionary',
+            redirect: '/setting/dataDictionary/list',
+            name: 'dataDictionary',
+            component: BlankLayout,
+            meta: {
+              title: '数据字典管理',
+              icon: 'database',
+              permission: 'M_dataD_lookup'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'powerDD',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/power/dataDictionary/dataDictionary.vue'),
+                meta: {
+                  title: '数据字典管理',
+                  icon: 'database',
+                  hidden: true,
+                  permission: 'M_dataD_lookup'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/OperateJournal',
+            redirect: '/setting/OperateJournal/list',
+            name: 'OperateJournal',
+            component: BlankLayout,
+            meta: {
+              title: '操作日志',
+              icon: 'read',
+              permission: 'M_OperateJournalList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'powerOperateJournal',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/power/OperateJournal/OperateJournal.vue'),
+                meta: {
+                  title: '操作日志',
+                  icon: 'read',
+                  permission: 'M_OperateJournalList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/noticeManagement',
+            redirect: '/setting/noticeManagement/list',
+            name: 'noticeManagement',
+            component: BlankLayout,
+            meta: {
+              title: '公告管理',
+              icon: 'sketch',
+              permission: 'M_noticeManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'noticeManagementList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/noticeManagement/list.vue'),
+                meta: {
+                  title: '公告列表',
+                  icon: 'sketch',
+                  hidden: true,
+                  permission: 'M_noticeManagementList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/bigScreenSet',
+            redirect: '/setting/bigScreenSet/index',
+            name: 'bigScreenSet',
+            component: BlankLayout,
+            meta: {
+              title: '大屏参数设置',
+              icon: 'sketch',
+              permission: 'M_bigScreenSetIndex'
+            },
+            hideChildrenInMenu: true,
+            children: [{
+              path: 'index',
+              name: 'bigScreenSetIndex',
+              component: () => import(/* webpackChunkName: "setting" */'@/views/setting/bigScreenSet/index.vue'),
+              meta: {
+                title: '大屏参数设置',
+                icon: 'sketch',
+                hidden: true,
+                permission: 'M_bigScreenSetIndex'
+              }
+            }]
+          },
+          {
+            path: '/setting/erpMessageManagement',
+            redirect: '/setting/erpMessageManagement/list',
+            name: 'erpMessageManagement',
+            component: BlankLayout,
+            meta: {
+              title: 'ERP数据同步记录',
+              icon: 'sketch',
+              permission: 'M_erpMessageList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'erpMessageManagementList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/erpMessageManagement/list.vue'),
+                meta: {
+                  title: 'ERP数据同步列表',
+                  icon: 'sketch',
+                  hidden: true,
+                  permission: 'M_erpMessageList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/erpAllotSettings',
+            redirect: '/setting/erpAllotSettings/list',
+            name: 'erpAllotSettings',
+            component: BlankLayout,
+            meta: {
+              title: '调拨类型管理',
+              icon: 'sketch',
+              permission: 'M_transferTypeManagementList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'erpAllotSettingsList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/erpAllotSettings/list.vue'),
+                meta: {
+                  title: '调拨类型管理',
+                  icon: 'sketch',
+                  hidden: true,
+                  permission: 'M_transferTypeManagementList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/dataValidManagement',
+            redirect: '/setting/dataValidManagement/list',
+            name: 'dataValidManagement',
+            component: BlankLayout,
+            meta: {
+              title: '数据校验管理',
+              icon: 'sketch',
+              permission: 'M_dataVailidManageList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'dataValidManagementList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/dataValidManagement/list.vue'),
+                meta: {
+                  title: '数据校验管理',
+                  icon: 'sketch',
+                  hidden: true,
+                  permission: 'M_dataVailidManageList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/setting/checkDingTask',
+            redirect: '/setting/checkDingTask/list',
+            name: 'checkDingTask',
+            component: BlankLayout,
+            meta: {
+              title: '钉钉审批',
+              icon: 'sketch',
+              permission: 'M_dingAuditUpdate'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'checkDingTaskList',
+                component: () => import(/* webpackChunkName: "setting" */ '@/views/setting/checkDingTask/list.vue'),
+                meta: {
+                  title: '钉钉审批',
+                  icon: 'sketch',
+                  hidden: true,
+                  permission: 'M_dingAuditUpdate'
+                }
+              }
+            ]
+          }
+        ]
+      }