初次提交
This commit is contained in:
155
src/router/index.js
Normal file
155
src/router/index.js
Normal file
@ -0,0 +1,155 @@
|
||||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
/* Layout */
|
||||
import Layout from '@/layout'
|
||||
|
||||
/* Router Modules */
|
||||
import systemRouter from './modules/system' // 系统管理
|
||||
import alarmRouter from './modules/alarm' // 告警中心
|
||||
import remoteControlRouter from './modules/remote-control'
|
||||
import surveillanceRouter from './modules/surveillance' // 实时监视
|
||||
import strategicRouter from './modules/strategic-management' // 策略管理
|
||||
import revenueRouter from './modules/revenue-management' // 收益管理
|
||||
import operationalInspectionRouter from './modules/operational-inspection' // 巡检中心
|
||||
|
||||
/**
|
||||
* Note: sub-menu only appear when route children.length >= 1
|
||||
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
|
||||
*
|
||||
* hidden: true if set true, item will not show in the sidebar(default is false)
|
||||
* alwaysShow: true if set true, will always show the root menu
|
||||
* if not set alwaysShow, when item has more than one children route,
|
||||
* it will becomes nested mode, otherwise not show the root menu
|
||||
* redirect: noRedirect if set noRedirect will no redirect in the breadcrumb
|
||||
* name:'router-name' the name is used by <keep-alive> (must set!!!)
|
||||
* meta : {
|
||||
roles: ['admin','editor'] control the page roles (you can set multiple roles)
|
||||
title: 'title' the name show in sidebar and breadcrumb (recommend set)
|
||||
icon: 'svg-name'/'el-icon-x' the icon show in the sidebar
|
||||
noCache: true if set true, the page will no be cached(default is false)
|
||||
affix: true if set true, the tag will affix in the tags-view
|
||||
breadcrumb: false if set false, the item will hidden in breadcrumb(default is true)
|
||||
activeMenu: '/example/list' if set path, the sidebar will highlight the path you set
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* constantRoutes
|
||||
* a base page that does not have permission requirements
|
||||
* all roles can be accessed
|
||||
*/
|
||||
export const constantRoutes = [
|
||||
/** when your routing map is too long, you can split it into small modules **/
|
||||
systemRouter,
|
||||
alarmRouter,
|
||||
remoteControlRouter,
|
||||
surveillanceRouter,
|
||||
strategicRouter,
|
||||
revenueRouter,
|
||||
operationalInspectionRouter,
|
||||
{
|
||||
path: '/',
|
||||
redirect: '/login',
|
||||
component: () => import('@/views/login/index'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
component: () => import('@/views/login/index'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/family',
|
||||
component: () => import('@/views/family/index'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/auth-redirect',
|
||||
component: () => import('@/views/login/auth-redirect'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: () => import('@/views/error-page/404'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/401',
|
||||
component: () => import('@/views/error-page/401'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/new-screen-zz',
|
||||
component: () => import('@/views/new-screen-zz/index.vue'),
|
||||
name: 'new-screen-zz',
|
||||
meta: { title: '管控大屏' }
|
||||
},
|
||||
{
|
||||
path: '/dashboard-test',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: 'dashboard-test',
|
||||
component: () => import('@/views/dashboardtest/index.vue'),
|
||||
name: 'dashboard-test',
|
||||
meta: { title: 'dashboard-test', icon: 'dashboard', affix: true }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{ path: '*', redirect: '/404', hidden: true }
|
||||
]
|
||||
|
||||
/**
|
||||
* asyncRoutes
|
||||
* the routes that need to be dynamically loaded based on user roles
|
||||
*/
|
||||
export const asyncRoutes = [
|
||||
/** when your routing map is too long, you can split it into small modules **/
|
||||
systemRouter,
|
||||
{
|
||||
path: '/error',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'ErrorPages',
|
||||
meta: {
|
||||
title: 'errorPages',
|
||||
icon: '404'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: '401',
|
||||
component: () => import('@/views/error-page/401'),
|
||||
name: 'Page401',
|
||||
meta: { title: 'page401', noCache: true }
|
||||
},
|
||||
{
|
||||
path: '404',
|
||||
component: () => import('@/views/error-page/404'),
|
||||
name: 'Page404',
|
||||
meta: { title: 'page404', noCache: true }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
// 404 page must be placed at the end !!!
|
||||
{ path: '*', redirect: '/404', hidden: true }
|
||||
]
|
||||
|
||||
const createRouter = () =>
|
||||
new Router({
|
||||
// mode: 'history', // require service support
|
||||
scrollBehavior: () => ({ y: 0 }),
|
||||
routes: constantRoutes
|
||||
})
|
||||
|
||||
const router = createRouter()
|
||||
|
||||
export function resetRouter() {
|
||||
const newRouter = createRouter()
|
||||
router.matcher = newRouter.matcher // reset router
|
||||
}
|
||||
export default router
|
||||
37
src/router/modules/alarm.js
Normal file
37
src/router/modules/alarm.js
Normal file
@ -0,0 +1,37 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
|
||||
const alarmRouter = {
|
||||
path: '/alarm',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'Alarm',
|
||||
meta: {
|
||||
title: 'warnCenter',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'realtime',
|
||||
component: () => import('@/views/alarm/realtime/index.vue'),
|
||||
name: 'realtime',
|
||||
meta: { title: 'realTimeWarn' }
|
||||
},
|
||||
{
|
||||
path: 'history',
|
||||
component: () => import('@/views/alarm/history/index.vue'),
|
||||
name: 'history',
|
||||
meta: { title: 'historyWarn' }
|
||||
},
|
||||
{
|
||||
path: 'alarm-definition',
|
||||
component: () => import('@/views/alarm/alarm-definition/index.vue'),
|
||||
name: 'alarm-definition',
|
||||
meta: { title: '告警定义' }
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
export default alarmRouter
|
||||
74
src/router/modules/operational-inspection.js
Normal file
74
src/router/modules/operational-inspection.js
Normal file
@ -0,0 +1,74 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
const operationalInspectionRouter = {
|
||||
path: '/operational-inspection',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'operational-inspection',
|
||||
meta: {
|
||||
title: '巡检中心',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'activiti-definition',
|
||||
component: () =>
|
||||
import('@/views/operational-inspection/activiti-definition/index.vue'),
|
||||
name: 'activiti-definition',
|
||||
meta: { title: '流程定义' }
|
||||
},
|
||||
{
|
||||
path: 'activiti-temp',
|
||||
component: () =>
|
||||
import('@/views/operational-inspection/activiti-temp/index.vue'),
|
||||
name: 'activiti-definition',
|
||||
meta: { title: '流程模板' }
|
||||
},
|
||||
{
|
||||
path: 'task',
|
||||
component: () =>
|
||||
import('@/views/operational-inspection/task/index.vue'),
|
||||
name: 'task',
|
||||
meta: { title: '代办任务' }
|
||||
},
|
||||
{
|
||||
path: 'add-task',
|
||||
component: () => import('@/views/operational-inspection/add-task/index.vue'),
|
||||
name: 'add-task',
|
||||
meta: { title: '新增' }
|
||||
},
|
||||
{
|
||||
path: 'all-task-detail',
|
||||
component: () => import('@/views/operational-inspection/add-task/detail.vue'),
|
||||
name: 'all-task-detail',
|
||||
meta: { title: '详情' }
|
||||
},
|
||||
{
|
||||
path: 'message-config',
|
||||
component: () => import('@/views/operational-inspection/message-config/index.vue'),
|
||||
name: 'message-config',
|
||||
meta: { title: '消息配置' }
|
||||
},
|
||||
{
|
||||
path: 'user-message-config',
|
||||
component: () => import('@/views/operational-inspection/user-message-config/index.vue'),
|
||||
name: 'user-message-config',
|
||||
meta: { title: '用户消息' }
|
||||
},
|
||||
{
|
||||
path: 'information-entry',
|
||||
component: () => import('@/views/operational-inspection/information-entry/index.vue'),
|
||||
name: 'information-entry',
|
||||
meta: { title: '信息录入' }
|
||||
},
|
||||
{
|
||||
path: 'repair-records',
|
||||
component: () => import('@/views/operational-inspection/repair-records/index.vue'),
|
||||
name: 'repair-records',
|
||||
meta: { title: '维修记录' }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default operationalInspectionRouter
|
||||
38
src/router/modules/remote-control.js
Normal file
38
src/router/modules/remote-control.js
Normal file
@ -0,0 +1,38 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
|
||||
const remoteControlRouter = {
|
||||
path: '/remote-control',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'remote-control',
|
||||
meta: {
|
||||
title: 'remote-control',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'issue-order',
|
||||
component: () => import('@/views/remote-control/issue-order/index.vue'),
|
||||
name: 'issue-order',
|
||||
meta: { title: '命令下发' }
|
||||
},
|
||||
|
||||
{
|
||||
path: 'intergrated-cabinet',
|
||||
component: () => import('@/views/remote-control/intergrated-cabinet/index.vue'),
|
||||
name: 'intergrated-cabinet',
|
||||
meta: { title: '一体柜' }
|
||||
},
|
||||
{
|
||||
path: 'file-service',
|
||||
component: () => import('@/views/remote-control/file-service/index.vue'),
|
||||
name: 'file-service',
|
||||
meta: { title: '文件服务' }
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
export default remoteControlRouter
|
||||
41
src/router/modules/revenue-management.js
Normal file
41
src/router/modules/revenue-management.js
Normal file
@ -0,0 +1,41 @@
|
||||
import Layout from '@/layout'
|
||||
|
||||
const revenueRouter = {
|
||||
path: '/revenue-management',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'revenueManagement',
|
||||
meta: {
|
||||
title: '收益管理',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'price-configuration',
|
||||
component: () => import('@/views/revenue-management/price-configuration/index.vue'),
|
||||
name: 'price-configuration',
|
||||
meta: { title: '收益配置' }
|
||||
},
|
||||
{
|
||||
path: 'earnings-statement',
|
||||
component: () => import('@/views/revenue-management/earnings-statement/index.vue'),
|
||||
name: 'earnings-statement',
|
||||
meta: { title: '收益报表' }
|
||||
},
|
||||
{
|
||||
path: 'proxy-price-region',
|
||||
component: () => import('@/views/revenue-management/proxy-price-region/index.vue'),
|
||||
name: 'proxy-price-region',
|
||||
meta: { title: 'proxy-price-region' }
|
||||
},
|
||||
{
|
||||
path: 'proxy-price',
|
||||
component: () => import('@/views/revenue-management/proxy-price/index.vue'),
|
||||
name: 'proxy-price',
|
||||
meta: { title: 'proxy-price' }
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
export default revenueRouter
|
||||
48
src/router/modules/strategic-management.js
Normal file
48
src/router/modules/strategic-management.js
Normal file
@ -0,0 +1,48 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
|
||||
const strategicRouter = {
|
||||
path: '/strategic-management',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'strategic',
|
||||
meta: {
|
||||
title: 'strategic',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'electricity-curve',
|
||||
component: () => import('@/views/strategic-management/electricity-curve/index.vue'),
|
||||
name: 'electricity-curve',
|
||||
meta: { title: 'electricity-curve' }
|
||||
},
|
||||
{
|
||||
path: 'plan-curve',
|
||||
component: () => import('@/views/strategic-management/plan-curve/index.vue'),
|
||||
name: 'plan-curve',
|
||||
meta: { title: 'plan-curve' }
|
||||
},
|
||||
{
|
||||
path: 'plan-curve-issue',
|
||||
component: () => import('@/views/strategic-management/plan-curve-issue/index.vue'),
|
||||
name: 'plan-curve-issue',
|
||||
meta: { title: 'plan-curve-issue' }
|
||||
},
|
||||
{
|
||||
path: 'strategy',
|
||||
component: () => import('@/views/strategic-management/strategy/index.vue'),
|
||||
name: 'strategy',
|
||||
meta: { title: 'strategy' }
|
||||
},
|
||||
{
|
||||
path: 'history-plan-curve',
|
||||
component: () => import('@/views/strategic-management/history-plan-curve/index.vue'),
|
||||
name: 'history-plan-curve',
|
||||
meta: { title: '曲线下发历史' }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default strategicRouter
|
||||
48
src/router/modules/surveillance.js
Normal file
48
src/router/modules/surveillance.js
Normal file
@ -0,0 +1,48 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
|
||||
const surveillanceRouter = {
|
||||
path: '/surveillance',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'surveillance',
|
||||
meta: {
|
||||
title: '实时监视',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'battery-analysis',
|
||||
component: () => import('@/views/surveillance/battery-analysis/index.vue'),
|
||||
name: 'battery-analysis',
|
||||
meta: { title: '历史曲线' }
|
||||
},
|
||||
{
|
||||
path: 'energy-storage',
|
||||
component: () => import('@/views/surveillance/energy-storage/index.vue'),
|
||||
name: 'energy-storage',
|
||||
meta: { title: '储能单元' }
|
||||
},
|
||||
{
|
||||
path: 'standard-215-device-list',
|
||||
component: () => import('@/views/surveillance/standard-215-device-list/index.vue'),
|
||||
name: 'standard-215-device-list',
|
||||
meta: { title: '标准215kW设备列表' }
|
||||
},
|
||||
{
|
||||
path: 'charge-discharge-data',
|
||||
component: () => import('@/views/surveillance/charge-discharge-data/index.vue'),
|
||||
name: 'charge-discharge-data',
|
||||
meta: { title: '充放电数据' }
|
||||
},
|
||||
{
|
||||
path: 'earnings-glance',
|
||||
component: () => import('@/views/surveillance/earnings-glance/index.vue'),
|
||||
name: 'earnings-glance',
|
||||
meta: { title: '收益概览' }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default surveillanceRouter
|
||||
152
src/router/modules/system.js
Normal file
152
src/router/modules/system.js
Normal file
@ -0,0 +1,152 @@
|
||||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/layout'
|
||||
|
||||
const systemRouter = {
|
||||
path: '/system',
|
||||
component: Layout,
|
||||
redirect: 'noRedirect',
|
||||
name: 'System',
|
||||
meta: {
|
||||
title: 'system',
|
||||
icon: 'el-icon-s-tools'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'dictionary',
|
||||
component: () => import('@/views/system/dictionary/index.vue'),
|
||||
name: 'dictionary',
|
||||
meta: { title: 'dictionary' }
|
||||
},
|
||||
{
|
||||
path: 'role',
|
||||
component: () => import('@/views/system/role/index.vue'),
|
||||
name: 'role',
|
||||
meta: { title: 'role' }
|
||||
},
|
||||
{
|
||||
path: 'menu',
|
||||
component: () => import('@/views/system/menu/index.vue'),
|
||||
name: 'menu',
|
||||
meta: { title: 'menu' }
|
||||
},
|
||||
{
|
||||
path: 'user',
|
||||
component: () => import('@/views/system/user/index.vue'),
|
||||
name: 'user',
|
||||
meta: { title: 'user' }
|
||||
},
|
||||
{
|
||||
path: 'org',
|
||||
component: () => import('@/views/system/org/index.vue'),
|
||||
name: 'org',
|
||||
meta: { title: 'org' }
|
||||
},
|
||||
{
|
||||
path: 'log',
|
||||
component: () => import('@/views/system/log/index.vue'),
|
||||
name: 'log',
|
||||
meta: { title: 'log' }
|
||||
},
|
||||
{
|
||||
path: 'post',
|
||||
component: () => import('@/views/system/post/index.vue'),
|
||||
name: 'post',
|
||||
meta: { title: '岗位' }
|
||||
},
|
||||
{
|
||||
path: 'department',
|
||||
component: () => import('@/views/system/department/index.vue'),
|
||||
name: 'department',
|
||||
meta: { title: '电站管理' }
|
||||
},
|
||||
{
|
||||
path: 'equipment',
|
||||
component: () => import('@/views/system/equipment/index.vue'),
|
||||
name: 'equipment',
|
||||
meta: { title: '设备管理' }
|
||||
},
|
||||
{
|
||||
path: 'alarm-configuration',
|
||||
component: () => import('@/views/system/alarm-configuration/index.vue'),
|
||||
name: 'alarm-configuration',
|
||||
meta: { title: '告警配置' }
|
||||
},
|
||||
{
|
||||
path: 'ems-equipment',
|
||||
component: () => import('@/views/system/ems-equipment/index.vue'),
|
||||
name: 'ems-equipment',
|
||||
meta: { title: 'EMS设备' }
|
||||
},
|
||||
{
|
||||
path: 'ems-model',
|
||||
component: () => import('@/views/system/ems-model/index.vue'),
|
||||
name: 'ems-model',
|
||||
meta: { title: 'EMS模型' }
|
||||
},
|
||||
{
|
||||
path: 'equipment-model-relevancy',
|
||||
component: () => import('@/views/system/equipment-model-relevancy/index.vue'),
|
||||
name: 'equipment-model-relevancy',
|
||||
meta: { title: '模型-设备关联管理' }
|
||||
},
|
||||
|
||||
{
|
||||
path: 'equip-model',
|
||||
component: () => import('@/views/system/equip-model/index.vue'),
|
||||
name: 'equip-model',
|
||||
meta: { title: '设备模型管理' }
|
||||
},
|
||||
{
|
||||
path: 'station-role',
|
||||
component: () => import('@/views/system/station-role/index.vue'),
|
||||
name: 'station-role',
|
||||
meta: { title: '电站角色管理' }
|
||||
},
|
||||
{
|
||||
path: 'model-type',
|
||||
component: () => import('@/views/system/model-type/index.vue'),
|
||||
name: 'model-type',
|
||||
meta: { title: '模型类型配置' }
|
||||
},
|
||||
{
|
||||
path: 'virtual-device-col',
|
||||
component: () => import('@/views/system/virtual-device-col/index.vue'),
|
||||
name: 'virtual-device-col',
|
||||
meta: { title: '虚拟设备点表配置' }
|
||||
},
|
||||
{
|
||||
path: 'synchronize-virtual-configuration',
|
||||
component: () => import('@/views/system/synchronize-virtual-configuration/index.vue'),
|
||||
name: 'synchronize-virtual-configuration',
|
||||
meta: { title: '同步虚拟配置' }
|
||||
},
|
||||
{
|
||||
path: 'offset-setting',
|
||||
component: () => import('@/views/system/offset-setting/index.vue'),
|
||||
name: 'offset-setting',
|
||||
meta: { title: '偏移量设置' }
|
||||
},
|
||||
{
|
||||
path: 'device-upgrade',
|
||||
component: () => import('@/views/system/device-upgrade/index.vue'),
|
||||
name: 'device-upgrade',
|
||||
meta: { title: '设备升级' }
|
||||
},
|
||||
{
|
||||
path: 'sms-configuration',
|
||||
component: () => import('@/views/system/sms-configuration/index.vue'),
|
||||
name: 'sms-configuration',
|
||||
meta: { title: '短信配置' }
|
||||
},
|
||||
{
|
||||
path: 'site-configuration',
|
||||
component: () => import('@/views/system/site-configuration/index.vue'),
|
||||
name: 'site-configuration',
|
||||
meta: { title: '一键同步' }
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
export default systemRouter
|
||||
Reference in New Issue
Block a user