MicroCommunityWeb/src/router/index.js

609 lines
20 KiB
JavaScript

import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/views/layout/layout.vue'
import Login from '@/views/user/login/Login.vue'
Vue.use(VueRouter)
const routes = [
{
path: '/',
component: Layout,
redirect: '/views/index/index',
children: [
{
path: '/views/index/index',
name: '/views/index/index',
component: () => import('@/views/index/index.vue')
},
{
path: '/pages/dev/appManage',
name: '/pages/dev/appManage',
component: () => import('@/views/dev/app/appList.vue')
},
{
path: '/pages/dev/serviceManage',
name: '/pages/dev/serviceManage',
component: () => import('@/views/dev/serviceList.vue')
},
{
path: '/pages/dev/serviceRegisterManage',
name: '/pages/dev/serviceRegisterManage',
component: () => import('@/views/dev/routeList.vue')
},
{
path: '/views/dev/addRoute',
name: '/views/dev/addRoute',
component: () => import('@/views/dev/addRoute.vue')
},
{
path: '/pages/dev/serviceImplManage',
name: '/pages/dev/serviceImplManage',
component: () => import('@/views/dev/serviceBusinessList.vue')
},
{
path: '/pages/dev/businessTableHisManage',
name: '/pages/dev/businessTableHisManage',
component: () => import('@/views/dev/businessTableHisList.vue')
},
{
path: '/pages/dev/menuCatalogManage',
name: '/pages/dev/menuCatalogManage',
component: () => import('@/views/dev/menuCatalogList.vue')
},
{
path: '/views/dev/menuGroupCatalogList',
name: '/views/dev/menuGroupCatalogList',
component: () => import('@/views/dev/menuGroupCatalogList.vue')
},
{
path: '/pages/dev/menuGroupManage',
name: '/pages/dev/menuGroupManage',
component: () => import('@/views/dev/menuGroupList.vue')
},
{
path: '/pages/dev/mappingDomainManage',
name: '/pages/dev/mappingDomainManage',
component: () => import('@/views/dev/mappingDomainList.vue')
},
{
path: '/pages/dev/mappingManage',
name: '/pages/dev/mappingManage',
component: () => import('@/views/dev/mappingList.vue')
},
{
path: '/pages/dev/businessDatabusManage',
name: '/pages/dev/businessDatabusManage',
component: () => import('@/views/dev/businessDatabusList.vue')
},
{
path: '/pages/dev/dictManage',
name: '/pages/dev/dictManage',
component: () => import('@/views/dev/dictList.vue')
},
{
path: '/pages/dev/cacheManage',
name: '/pages/dev/cacheManage',
component: () => import('@/views/dev/cacheList.vue')
},
{
path: '/pages/dev/menuManage',
name: '/pages/dev/menuManage',
component: () => import('@/views/dev/menuList.vue')
},
{
path: '/views/dev/privilegeList',
name: '/views/dev/privilegeList',
component: () => import('@/views/dev/privilegeList.vue')
},
{
path: '/pages/frame/changeStaffPwd',
name: '/pages/frame/changeStaffPwd',
component: () => import('@/views/user/login/updatePwd.vue')
},
{
path: '/pages/dev/jobManage',
name: '/pages/dev/jobManage',
component: () => import('@/views/dev/taskList.vue')
},
{
path: '/pages/dev/attrSpecManage',
name: '/pages/dev/attrSpecManage',
component: () => import('@/views/dev/attrSpecList.vue')
},
{
path: '/views/dev/attrValueList',
name: '/pages/dev/attrValueList',
component: () => import('@/views/dev/attrValueList.vue')
},
{
path: '/pages/frame/orgManage',
name: '/pages/frame/orgManage',
component: () => import('@/views/org/orgList.vue')
},
{
path: '/pages/frame/staff',
name: '/pages/frame/staff',
component: () => import('@/views/staff/staffList.vue')
},
{
path: '/views/staff/addStaff',
name: '/views/staff/addStaff',
component: () => import('@/views/staff/addStaff.vue')
},
{
path: '/pages/frame/role',
name: '/pages/frame/role',
component: () => import('@/views/role/roleList.vue')
},
{
path: '/views/staff/staffDetailList',
name: '/views/staff/staffDetailList',
component: () => import('@/views/staff/staffDetailList.vue')
},
{
path: '/pages/dev/reportCustomGroupManage',
name: '/pages/dev/reportCustomGroupManage',
component: () => import('@/views/report/reportCustomGroupManageList.vue')
},
{
path: '/pages/dev/reportCustomManage',
name: '/pages/dev/reportCustomManage',
component: () => import('@/views/report/reportCustomManageList.vue')
},
{
path: '/pages/dev/reportCustomComponentManage',
name: '/pages/dev/reportCustomComponentManage',
component: () => import('@/views/report/reportCustomComponentManageList.vue')
},
{
path: '/pages/dev/transactionLogManage',
name: '/pages/dev/transactionLogManage',
component: () => import('@/views/log/transactionLogManageList.vue')
},
{
path: '/pages/log/mqttLog',
name: '/pages/log/mqttLog',
component: () => import('@/views/log/mqttLogList.vue')
},
{
path: '/pages/frame/systemInfoManage',
name: '/pages/frame/systemInfoManage',
component: () => import('@/views/system/systemInfoManageList.vue')
},
{
path: '/pages/frame/registerProtocol',
name: '/pages/frame/registerProtocol',
component: () => import('@/views/system/registerProtocolList.vue')
},
{
path: '/pages/dev/initializeCommunityManage',
name: '/pages/dev/initializeCommunityManage',
component: () => import('@/views/community/initializeCommunityManageList.vue')
},
{
path: '/pages/dev/serviceProvideManage',
name: '/pages/dev/serviceProvideManage',
component: () => import('@/views/dev/serviceProvideManageList.vue')
},
{
path: '/views/dev/devServiceProvide',
name: '/views/dev/devServiceProvide',
component: () => import('@/views/dev/devServiceProvideList.vue')
},
{
path: '/views/report/reportCustomComponentRelManage',
name: '/views/report/reportCustomComponentRelManage',
component: () => import('@/views/report/reportCustomComponentRelManageList.vue')
},
{
path: '/views/report/componentConditionManage',
name: '/views/report/componentConditionManage',
component: () => import('@/views/report/componentConditionManageList.vue')
},
{
path: '/views/report/reportCustomComponentFooterManage',
name: '/views/report/reportCustomComponentFooterManage',
component: () => import('@/views/report/reportCustomComponentFooterManageList.vue')
},
{
path: '/pages/dev/transactionOutLog',
name: '/pages/dev/transactionOutLog',
component: () => import('@/views/log/transactionOutLogList.vue')
},
{
path: '/pages/common/communityManage',
name: '/pages/common/communityManage',
component: () => import('@/views/community/communityManageList.vue')
},
{
path: '/pages/admin/propertyCompanyManage',
name: '/pages/admin/propertyCompanyManage',
component: () => import('@/views/store/propertyCompanyManageList.vue')
},
{
path: '/views/community/propertyCommunity',
name: '/views/community/propertyCommunity',
component: () => import('@/views/community/propertyCommunityList.vue')
},
{
path: '/pages/community/cityArea',
name: '/pages/community/cityArea',
component: () => import('@/views/community/cityAreaList.vue')
},
{
path: '/pages/admin/merchantManage',
name: '/pages/admin/merchantManage',
component: () => import('@/views/mall/merchantManageList.vue')
},
{
path: '/pages/admin/shopManage',
name: '/views/mall/shopManage',
component: () => import('@/views/mall/shopManageList.vue')
},
{
path: '/pages/admin/shopCommunity',
name: '/pages/admin/shopCommunity',
component: () => import('@/views/mall/shopCommunityList.vue')
},
{
path: '/pages/staff/systemUser',
name: '/pages/staff/systemUser',
component: () => import('@/views/staff/systemUserList.vue')
},
{
path: '/views/staff/systemUserDetail',
name: '/views/staff/systemUserDetail',
component: () => import('@/views/staff/systemUserDetailList.vue')
},
{
path: '/pages/staff/storeStaff',
name: '/pages/staff/storeStaff',
component: () => import('@/views/staff/storeStaffList.vue')
},
{
path: '/views/staff/adminStaffDetail',
name: '/views/staff/adminStaffDetail',
component: () => import('@/views/staff/adminStaffDetail.vue')
},
{
path: '/pages/community/adminRoom',
name: '/pages/community/adminRoom',
component: () => import('@/views/community/adminRoomList.vue')
},
{
path: '/pages/owner/adminOwner',
name: '/pages/owner/adminOwner',
component: () => import('@/views/owner/adminOwnerList.vue')
},
{
path: '/pages/car/adminCar',
name: '/pages/car/adminCar',
component: () => import('@/views/car/adminCarList.vue')
},
{
path: '/pages/owner/adminAuthOwner',
name: '/pages/owner/adminAuthOwner',
component: () => import('@/views/owner/adminAuthOwnerList.vue')
},
{
path: '/pages/owner/adminAccount',
name: '/pages/owner/adminAccount',
component: () => import('@/views/account/adminAccountList.vue')
},
{
path: '/views/account/adminAccountDetail',
name: '/views/account/adminAccountDetail',
component: () => import('@/views/account/adminAccountDetailList.vue')
},
{
path: '/pages/fee/adminFeeConfig',
name: '/pages/fee/adminFeeConfig',
component: () => import('@/views/fee/adminFeeConfigList.vue')
},
{
path: '/pages/resource/adminEquipment',
name: '/pages/resource/adminEquipment',
component: () => import('@/views/resource/adminEquipmentList.vue')
},
{
path: '/pages/fee/adminRoomFee',
name: '/pages/fee/adminRoomFee',
component: () => import('@/views/fee/adminRoomFeeList.vue')
},
{
path: '/pages/work/adminRepair',
name: '/pages/work/adminRepair',
component: () => import('@/views/work/adminRepairList.vue')
},
{
path: '/views/work/adminRepairDetail',
name: '/views/work/adminRepairDetail',
component: () => import('@/views/work/adminRepairDetailList.vue')
},
{
path: '/pages/inspection/adminInspectionPlan',
name: '/pages/inspection/adminInspectionPlan',
component: () => import('@/views/inspection/adminInspectionPlanList.vue')
},
{
path: '/pages/inspection/aInspectionPlanDetail',
name: '/pages/inspection/aInspectionPlanDetail',
component: () => import('@/views/inspection/aInspectionPlanDetailList.vue')
},
{
path: '/pages/inspection/adminInspectionTask',
name: '/pages/inspection/adminInspectionTask',
component: () => import('@/views/inspection/adminInspectionTaskList.vue')
},
{
path: '/views/inspection/adminInspectionTaskDetail',
name: '/views/inspection/adminInspectionTaskDetail',
component: () => import('@/views/inspection/adminInspectionTaskDetailList.vue')
},
{
path: '/pages/complaint/adminComplaint',
name: '/pages/complaint/adminComplaint',
component: () => import('@/views/complaint/adminComplaintList.vue')
},
{
path: '/views/complaint/adminComplaintDetail',
name: '/views/complaint/adminComplaintDetail',
component: () => import('@/views/complaint/adminComplaintDetailList.vue')
},
{
path: '/pages/oa/adminWorkPool',
name: '/pages/oa/adminWorkPool',
component: () => import('@/views/work/adminWorkPoolList.vue')
},
{
path: '/views/work/adminWorkDetail',
name: '/views/work/adminWorkDetail',
component: () => import('@/views/work/adminWorkDetailList.vue')
},
{
path: '/pages/iot/aAccessControl',
name: '/pages/iot/aAccessControl',
component: () => import('@/views/iot/aAccessControlList.vue')
},
{
path: '/pages/iot/adminBarrier',
name: '/pages/iot/adminBarrier',
component: () => import('@/views/iot/adminBarrierList.vue')
},
{
path: '/pages/iot/adminChargeMachine',
name: '/pages/iot/adminChargeMachine',
component: () => import('@/views/iot/adminChargeMachineList.vue')
},
{
path: '/pages/iot/adminMeter',
name: '/pages/iot/adminMeter',
component: () => import('@/views/iot/adminMeterList.vue')
},
{
path: '/pages/iot/adminInout',
name: '/pages/iot/adminInout',
component: () => import('@/views/iot/adminInoutList.vue')
},
{
path: '/pages/iot/adminCarInout',
name: '/pages/iot/adminCarInout',
component: () => import('@/views/iot/adminCarInoutList.vue')
},
{
path: '/pages/iot/adminChargeOrder',
name: '/pages/iot/adminChargeOrder',
component: () => import('@/views/iot/adminChargeOrderList.vue')
},
{
path: '/pages/iot/adminMeterRecharge',
name: '/pages/iot/adminMeterRecharge',
component: () => import('@/views/iot/adminMeterRechargeList.vue')
},
{
path: '/pages/report/operationalAnalysis',
name: '/pages/report/operationalAnalysis',
component: () => import('@/views/report/operationalAnalysisList.vue')
},
{
path: '/pages/report/communityFeeSummary',
name: '/pages/report/communityFeeSummary',
component: () => import('@/views/report/communityFeeSummaryList.vue')
},
{
path: '/pages/fee/adminPayFeeDetail',
name: '/pages/fee/adminPayFeeDetail',
component: () => import('@/views/fee/adminPayFeeDetailList.vue')
},
{
path: '/pages/fee/adminOweFeeDetail',
name: '/pages/fee/adminOweFeeDetail',
component: () => import('@/views/fee/adminOweFeeDetailList.vue')
},
{
path: '/pages/admin/orderManage',
name: '/pages/admin/orderManage',
component: () => import('@/views/admin/orderManageList.vue')
},
{
path: '/pages/frame/userLogin',
name: '/pages/frame/userLogin',
component: () => import('@/views/user/userLoginList.vue')
},
{
path: '/pages/admin/productSj',
name: '/pages/admin/productSj',
component: () => import('@/views/mall/productSjList.vue')
},
{
path: '/pages/admin/housekeepingSjServ',
name: '/pages/admin/housekeepingSjServ',
component: () => import('@/views/mall/housekeepingSjServList.vue')
},
{
path: '/pages/admin/storeOrderCartManage',
name: '/pages/admin/storeOrderCartManage',
component: () => import('@/views/mall/storeOrderCartManageList.vue')
},
{
path: '/pages/admin/storeOrderCartReturn',
name: '/pages/admin/storeOrderCartReturn',
component: () => import('@/views/mall/storeOrderCartReturnList.vue')
},
{
path: '/pages/admin/userIntegral',
name: '/pages/admin/userIntegral',
component: () => import('@/views/mall/userIntegralList.vue')
},
{
path: '/pages/admin/integralDetail',
name: '/pages/admin/integralDetail',
component: () => import('@/views/mall/integralDetailList.vue')
},
{
path: '/pages/admin/marketSmsManage',
name: '/pages/admin/marketSmsManage',
component: () => import('@/views/market/marketSmsManageList.vue')
},
{
path: '/pages/admin/marketWay',
name: '/pages/admin/marketWay',
component: () => import('@/views/market/marketWayList.vue')
},
{
path: '/views/market/marketGoodsItemManage',
name: '/views/market/marketGoodsItemManage',
component: () => import('@/views/market/marketGoodsItemManageList.vue')
},
{
path: '/pages/admin/marketRule',
name: '/pages/admin/marketRule',
component: () => import('@/views/market/marketRuleList.vue')
},
{
path: '/pages/admin/marketBlacklistManage',
name: '/pages/admin/marketBlacklistManage',
component: () => import('@/views/market/marketBlacklistManageList.vue')
},
{
path: '/pages/admin/marketLog',
name: '/pages/admin/marketLog',
component: () => import('@/views/market/marketLogList.vue')
},
{
path: '/pages/property/advertManage',
name: '/pages/property/advertManage',
component: () => import('@/views/admin/advertManageList.vue')
},
{
path: '/pages/admin/convenienceMenusManage',
name: '/pages/admin/convenienceMenusManage',
component: () => import('@/views/mall/convenienceMenusManageList.vue')
},
{
path: '/pages/admin/storeInfoManage',
name: '/pages/admin/storeInfoManage',
component: () => import('@/views/mall/storeInfoManageList.vue')
},
{
path: '/pages/proxy/junkRequirementManage',
name: '/pages/proxy/junkRequirementManage',
component: () => import('@/views/mall/junkRequirementManageList.vue')
},
{
path: '/pages/admin/couponPoolManage',
name: '/pages/admin/couponPoolManage',
component: () => import('@/views/account/couponPoolManageList.vue')
},
{
path: '/pages/admin/couponDetailManage',
name: '/pages/admin/couponDetailManage',
component: () => import('@/views/account/couponDetailManageList.vue')
},
{
path: '/pages/scm/supplierTypeManage',
name: '/pages/scm/supplierTypeManage',
component: () => import('@/views/scm/supplierTypeManageList.vue')
},
{
path: '/pages/scm/supplierManage',
name: '/pages/scm/supplierManage',
component: () => import('@/views/scm/supplierManageList.vue')
},
{
path: '/pages/scm/supplierCoupon',
name: '/pages/scm/supplierCoupon',
component: () => import('@/views/scm/supplierCouponList.vue')
},
{
path: '/pages/scm/supplierCouponBuy',
name: '/pages/scm/supplierCouponBuy',
component: () => import('@/views/scm/supplierCouponBuyList.vue')
},
{
path: '/pages/staff/aStaff',
name: '/pages/staff/aStaff',
component: () => import('@/views/staff/aStaffList.vue')
},
{
path: '/views/staff/aStaffDetail',
name: '/views/staff/aStaffDetail',
component: () => import('@/views/staff/aStaffDetailList.vue')
},
{
path:'/pages/staff/aStaffCommunity',
name:'/pages/staff/aStaffCommunity',
component: () => import('@/views/staff/aStaffCommunityList.vue')
},
{
path:'/pages/community/communityWechat',
name:'/pages/community/communityWechat',
component: () => import('@/views/community/communityWechatList.vue')
},
// 其他子路由可以在这里添加
]
},
{
path: '/views/user/login',
name: 'views/user/login',
component: Login,
meta: {
title: '登陆页面',
icon: 'el-icon-s-home'
}
}
]
const router = new VueRouter({
routes
})
// 路由守卫
router.beforeEach((to, from, next) => {
// 排除静态资源路径
if (to.path.startsWith('/img/') || to.path.startsWith('/static/')) {
return next(); // 直接放行
}
const token = localStorage.getItem('token')
if (to.path !== '/views/user/login' && !token) {
next('/views/user/login')
} else {
let _title = to.meta.title;
if (!_title) {
_title = '物业官网平台'
} else {
_title = _title + ' - 物业官网平台'
}
document.title = _title
next()
}
})
export default router