import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [{ path: "/", name: 'index', redirect: '/home' }, { path: '/home', name: 'home', component: () => import('@/views/layout'), meta: { needLogin: true, }, children: [{ path: 'system', name: 'system', component: () => import('@/views/systemSetting'), children: [{ path: 'userSetting', name: 'userSetting', component: () => import('@/views/systemSetting/baseSetting'), children: [{ path: "user", name: "user", component: () => import('@/views/systemSetting/baseSetting/user') }, { path: 'role', name: 'role', component: () => import('@/views/systemSetting/baseSetting/role') }, { path: 'department', name: 'department', component: () => import('@/views/systemSetting/baseSetting/department') }, ] }, { path: 'platform', name: 'platform', component: () => import('@/views/systemSetting/platform'), children: [{ path: 'portalSetting', name: 'portalSetting', component: () => import('@/views/systemSetting/platform/portalSetting') }, { path: 'otherInterface', name: 'otherInterface', component: () => import('@/views/systemSetting/platform/otherInterface') }, { path: 'mySetting', name: 'mySetting', component: () => import('@/views/systemSetting/platform/mySetting') }, { path: 'cockpitManage', name: 'cockpitManage', component: () => import('@/views/systemSetting/platform/cockpitManage') }, { path: 'externalLinks', //外部链接 name: 'externalLinks', component: () => import('@/views/systemSetting/platform/externalLinks') } ] }, { path: 'device', name: 'device', component: () => import('@/views/systemSetting/device'), children: [{ path: 'bayonet', name: 'bayonet', component: () => import('@/views/systemSetting/device/bayonet') }, { path: 'grid', name: 'grid', component: () => import('@/views/systemSetting/device/grid'), }, { path: 'point', name: 'point', component: () => import('@/views/systemSetting/device/point'), meta: { keepAlive: false // 不需要被缓存 } }, { path: 'handheldTerminal', name: 'handheldTerminal', component: () => import('@/views/systemSetting/device/handheldTerminal'), }, { path: 'loudspeaker', name: 'loudspeaker', component: () => import('@/views/systemSetting/device/loudspeaker'), } ] } ] }, { path: 'smoke', name: 'smoke', component: () => import('@/views/smoke'), children: [{ path: 'smokeRealTime', name: 'smokeRealTime', component: () => import('@/views/smoke/realTime') }, { path: 'smokeJudgment', name: 'smokeJudgment', component: () => import('@/views/smoke/judgment') },{ path: 'smokeAlarm', name: 'smokeAlarm', component: () => import('@/views/smoke/alarm') },{ path: 'smokeReport', name: 'smokeReport', component: () => import('@/views/smoke/report') },{ path: 'smokecCockpit', name: 'smokecCockpit', component: () => import('@/views/smoke/cockpit') }] }, { path: "operate", name: 'operate', component: () => import('@/views/operate'), children: [{ path: 'baseSetting', name: 'baseSetting', component: () => import('@/views/operate/baseSetting'), children: [{ path: "violation", name: 'violation', component: () => import('@/views/operate/baseSetting/violation'), }, { path: "illegalBuild", name: 'illegalBuild', component: () => import('@/views/operate/baseSetting/illegalBuild'), }, ] }, { path: 'casepool', name: 'casepool', component: () => import('@/views/operate/disposal'), children: [{ path: 'pool', name: 'pool', component: () => import('@/views/operate/disposal/casepool/pool'), }, { path: 'escalation', name: 'escalation', component: () => import('@/views/operate/disposal/casepool/escalation'), }, { path: 'dispatch', name: 'dispatch', component: () => import('@/views/operate/disposal/casepool/dispatch'), }, { path: 'notDeal', name: 'notDeal', component: () => import('@/views/operate/disposal/casepool/notDeal'), }, { path: 'learn', name: 'learn', component: () => import('@/views/operate/disposal/casepool/learn'), }, ] }, { path: "fivepack", name: 'fivepack', component: () => import('@/views/operate/fivepack'), children: [{ path: "shop", name: 'shop', component: () => import('@/views/operate/fivepack/shop'), }, { path: "threepackage", name: 'threepackage', component: () => import('@/views/operate/fivepack/threepack'), } ] }, { path: 'myWait', name: 'myWait', component: () => import('@/views/operate/myWait'), }, { path: 'images', name: 'images', component: () => import('@/views/operate/images'), }, { path: 'viewEvent', name: 'viewEvent', component: () => import('@/views/operate/viewEvent'), }, { path: 'rectification', name: 'rectification', component: () => import('@/views/operate/rectification'), children: [{ path: "taskList", name: 'taskList', component: () => import('@/views/operate/rectification/taskList'), }, { path: "surveyList", name: 'surveyList', component: () => import('@/views/operate/rectification/surveyList'), }, { path: "renovationList", name: 'renovationList', component: () => import('@/views/operate/rectification/renovationList'), } ] }, { path: 'lawEnforcement', name: 'lawEnforcement', component: () => import('@/views/operate/lawEnforcement') }, { path: 'workOrder', name: 'workOrder', component: () => import('@/views/operate/workOrder') }, { path: 'management', name: 'management', component: () => import('@/views/operate/management'), redirect: '/home/operate/management/myIndex', children: [{ path: 'myIndex', name: 'myIndex', component: () => import('@/views/operate/management/myIndex'), }, { path: 'managementMessage', name: 'managementMessage', component: () => import('@/views/operate/management/message'), } ] }, { path: 'car', name: 'car', component: () => import('@/views/operate/car'), children: [{ path: 'carIndex', name: 'carIndex', component: () => import('@/views/operate/car/myIndex'), }, { path: 'lawTrajectory', name: 'lawTrajectory', component: () => import('@/views/operate/car/lawCar'), }, { path: 'soilTrajectory', name: 'soilTrajectory', component: () => import('@/views/operate/car/soilCar'), } ] }, { path: 'message', name: 'message', component: () => import('@/views/operate/message'), children: [{ path: 'messageIndex', name: 'messageIndex', component: () => import('@/views/operate/message/myIndex'), }, { path: 'mycontrol', name: 'mycontrol', component: () => import('@/views/operate/message/mycontrol'), }, ] }, { path: 'log', name: 'log', component: () => import('@/views/operate/log'), }, { path: 'sms', name: 'sms', component: () => import('@/views/operate/sms'), children: [{ path: 'smsIndex', name: 'smsIndex', component: () => import('@/views/operate/sms/smsIndex'), }, { path: 'smsTemplate', name: 'smsTemplate', component: () => import('@/views/operate/sms/smsTemplate'), }, ] }, { path: "videoControl", name: 'videoControl', component: () => import('@/views/operate/video') }, { path: 'viewEvent', name: 'viewEvent', component: () => import('@/views/operate/viewEvent'), }, { path: 'images', name: 'images', component: () => import('@/views/operate/images'), }, { path: 'writManagement', name: 'writManagement', component: () => import('@/views/operate/writManager'), // redirect: '/home/operate/writManager/writ', children: [{ path: 'writTemplate', name: 'writTemplate', component: () => import('@/views/operate/writManager/writTemplate'), }, { path: 'writ', name: 'writ', component: () => import('@/views/operate/writManager/writ'), } ] } ] }, { path: "video/0", name: 'video_0', component: () => import('@/views/video'), meta: { keepAlive: false // 不需要被缓存 } },{ path: "video/1", name: 'video_1', component: () => import('@/views/video'), meta: { keepAlive: false // 不需要被缓存 } }, { path: "lampblack", name: 'lampblack', component: () => import('@/views/lampblack') }, { path: "law", name: 'law', component: () => import('@/views/law') }, { path: "intellect", name: 'intellect', component: () => import('@/views/intellect') }, { path: "info", name: 'info', component: () => import('@/views/info') }, // 智能巡查 { path: 'studyJudge/0', // 预警研判 name: 'studyJudge_0', component: () => import('@/views/intelligentPatrol/studyJudge/tablePage'), }, { path: 'studyJudge/1', // 预警研判 name: 'studyJudge_1', component: () => import('@/views/intelligentPatrol/studyJudge/tablePage'), }, { path: 'illegalSearch', // 违规检索 name: 'illegalSearch', component: () => import('@/views/intelligentPatrol/illegalSearch'), }, { path: 'trendAnalysis', // 趋势分析 name: 'trendAnalysis', component: () => import('@/views/intelligentPatrol/trendAnalysis'), }, { path: 'runReport', // 运行报告 name: 'runReport', component: () => import('@/views/intelligentPatrol/runReport'), }, // 违法统计 { path: 'typeStatistics', // 按违规类型统计 name: 'typeStatistics', component: () => import('@/views/intelligentPatrol/statistics/unlawful/type'), }, { path: 'pointStatistics', //按点位统计 name: 'pointStatistics', component: () => import('@/views/intelligentPatrol/statistics/unlawful/point'), }, { path: 'timeStatistics', //按时间统计 name: 'timeStatistics', component: () => import('@/views/intelligentPatrol/statistics/unlawful/time'), }, { path: 'areaStatistics', //按区域统计 name: 'areaStatistics', component: () => import('@/views/intelligentPatrol/statistics/unlawful/area'), }, { path: 'shopStatistics', //门前三包统计 name: 'shopStatistics', component: () => import('@/views/intelligentPatrol/statistics/unlawful/shop'), } ] }, { path: '/login', name: 'login', component: () => import('@/views/login') }, { path: '/screen', name: 'screen', component: () => import('@/views/screen') }, { path: '/404', name: "404", component: () => import('@/views/info/NotFound'), }, { path: '/fail', name: "/fail", component: () => import('@/views/info/Fail'), }, { path: '/success', name: "/success", component: () => import('@/views/info/Success'), }, { path: '*', redirect: '/404' } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) const originalPush = router.push router.push = function push(location) { return originalPush.call(this, location).catch(err => err); } export default router