diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/control/index.vue b/src/views/home/station/control/index.vue new file mode 100644 index 0000000..00f980f --- /dev/null +++ b/src/views/home/station/control/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/control/index.vue b/src/views/home/station/control/index.vue new file mode 100644 index 0000000..00f980f --- /dev/null +++ b/src/views/home/station/control/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/station/index.vue b/src/views/home/station/station/index.vue new file mode 100644 index 0000000..6aa0c1f --- /dev/null +++ b/src/views/home/station/station/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/control/index.vue b/src/views/home/station/control/index.vue new file mode 100644 index 0000000..00f980f --- /dev/null +++ b/src/views/home/station/control/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/station/index.vue b/src/views/home/station/station/index.vue new file mode 100644 index 0000000..6aa0c1f --- /dev/null +++ b/src/views/home/station/station/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/video/index.vue b/src/views/home/station/video/index.vue new file mode 100644 index 0000000..7e15901 --- /dev/null +++ b/src/views/home/station/video/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/control/index.vue b/src/views/home/station/control/index.vue new file mode 100644 index 0000000..00f980f --- /dev/null +++ b/src/views/home/station/control/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/station/index.vue b/src/views/home/station/station/index.vue new file mode 100644 index 0000000..6aa0c1f --- /dev/null +++ b/src/views/home/station/station/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/video/index.vue b/src/views/home/station/video/index.vue new file mode 100644 index 0000000..7e15901 --- /dev/null +++ b/src/views/home/station/video/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/well/index.vue b/src/views/home/well/index.vue new file mode 100644 index 0000000..439816e --- /dev/null +++ b/src/views/home/well/index.vue @@ -0,0 +1,3 @@ + diff --git a/README.md b/README.md index aefe1eb..c1ffcce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@

燃气物联感知平台-北燃闸井产品化

燃气物联感知平台-北燃闸井产品化

-

仓库: bjGasLot

## 简要说明

diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts new file mode 100644 index 0000000..c853fca --- /dev/null +++ b/src/router/modules/home.ts @@ -0,0 +1,361 @@ +// 所有菜单路由 +import sysRoutes from './system' +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/home', + component: Layout, + redirect: '/home/index', + name: 'Home', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/home', + }, + children: [ + { + path: 'index', + component: () => import('@/views/home/dashboard/index.vue'), + name: 'HomeIndex', + meta: { + title: '首页', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/home', + // auth: '/home', + }, + }, + ], + }, + { + path: '/fullscreen', + component: () => import('@/views/home/dashboard/fullScreen.vue'), + name: 'FullScreen', + meta: { + title: '综合大屏', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + // auth: '/fullscreen', + }, + }, + { + path: '/alarm', + component: Layout, + redirect: '/alarm/current', + name: 'Alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'current', + component: () => import('@/views/home/alarm/current/index.vue'), + name: 'AlarmCurrent', + meta: { + title: '当前报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/current', + // auth: '/alarm/current', + }, + }, + { + path: 'history', + component: () => import('@/views/home/alarm/history/index.vue'), + name: 'AlarmHistory', + meta: { + title: '历史报警', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/history', + // auth: '/alarm/history', + }, + }, + { + path: 'count', + component: () => import('@/views/home/alarm/count/index.vue'), + name: 'AlarmCount', + meta: { + title: '报警统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/alarm/count', + // auth: '/alarm/count', + }, + }, + ], + }, + { + path: '/well', + component: Layout, + redirect: '/well/monitor', + name: 'Well', + meta: { + title: '闸井监测', + icon: 'ep:key', + // auth: '/well', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/well/index.vue'), + name: 'WellMonitor', + meta: { + title: '闸井监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/well', + // auth: '/well', + }, + }, + ], + }, + { + path: '/station', + component: Layout, + redirect: '/station/monitor', + name: 'Station', + meta: { + title: '场站监测', + icon: 'ep:key', + // auth: '/station', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/station/station/index.vue'), + name: 'StationMonitor', + meta: { + title: '场站监测', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/monitor', + // auth: '/station/monitor', + }, + }, + { + path: 'video', + component: () => import('@/views/home/station/video/index.vue'), + name: 'StationVideo', + meta: { + title: '视频轮巡', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/video', + // auth: '/station/video', + }, + }, + { + path: 'control', + component: () => import('@/views/home/station/control/index.vue'), + name: 'StationControl', + meta: { + title: '设备控制', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/station/control', + // auth: '/station/control', + }, + }, + ], + }, + { + path: '/pipeline', + component: Layout, + redirect: '/pipeline/monitor', + name: 'Pipeline', + meta: { + title: '管线监测', + icon: 'ep:key', + // auth: '/pipeline', + }, + children: [ + { + path: 'monitor', + component: () => import('@/views/home/pipeline/index.vue'), + name: 'PipelineMonitor', + meta: { + title: '管线监测', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/pipeline', + // auth: '/pipeline', + }, + }, + ], + }, + { + path: '/ledger', + component: Layout, + redirect: '/ledger/manage', + name: 'Ledger', + meta: { + title: '台账管理', + icon: 'ep:key', + // auth: '/ledger', + }, + children: [ + { + path: 'manage', + component: () => import('@/views/home/ledger/index.vue'), + name: 'LedgerManage', + meta: { + title: '台账管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: false, + activeMenu: '/ledger', + // auth: '/ledger', + }, + }, + ], + }, + { + path: '/device', + component: Layout, + redirect: '/device/type', + name: 'Device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/device', + }, + children: [ + { + path: 'type', + component: () => import('@/views/home/device/type/index.vue'), + name: 'DeviceType', + meta: { + title: '设备类型管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/type', + // auth: '/device/type', + }, + }, + { + path: 'product', + component: () => import('@/views/home/device/product/index.vue'), + name: 'DeviceProduct', + meta: { + title: '产品管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/product', + // auth: '/device/product', + }, + }, + { + path: 'manage', + component: () => import('@/views/home/device/device/index.vue'), + name: 'DeviceManage', + meta: { + title: '设备管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/manage', + // auth: '/device/manage', + }, + }, + { + path: 'operation', + component: () => import('@/views/home/device/operation/index.vue'), + name: 'DeviceOperation', + meta: { + title: '运维管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/operation', + // auth: '/device/operation', + }, + }, + { + path: 'instruction', + component: () => import('@/views/home/device/instruction/index.vue'), + name: 'DeviceInstruction', + meta: { + title: '指令下发', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/instruction', + // auth: '/device/instruction', + }, + }, + { + path: 'count', + component: () => import('@/views/home/device/count/index.vue'), + name: 'DeviceCount', + meta: { + title: '设备统计', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/device/count', + // auth: '/device/count', + }, + }, + ], + }, + { + path: '/rule', + component: Layout, + redirect: '/rule/agreement', + name: 'Rule', + meta: { + title: '规则引擎', + icon: 'ep:key', + // auth: '/rule', + }, + children: [ + { + path: 'agreement', + component: () => import('@/views/home/rule/agreement/index.vue'), + name: 'RuleAgreement', + meta: { + title: '协议管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/agreement', + // auth: '/rule/agreement', + }, + }, + { + path: 'alarm', + component: () => import('@/views/home/rule/alarm/index.vue'), + name: 'RuleAlarm', + meta: { + title: '报警规则管理', + icon: 'ep:key', + sidebar: true, + breadcrumb: true, + activeMenu: '/rule/alarm', + // auth: '/rule/alarm', + }, + }, + ], + }, + ...sysRoutes, +] + +export default routes diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index e686132..bae4cfb 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -1,3 +1,4 @@ +// 系统管理模块路由 import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') @@ -15,154 +16,76 @@ }, children: [ { - path: '/area', - component: Layout, - redirect: '/area/list', - name: 'AreaManage', + path: 'area', + name: 'AreaList', + component: () => import('@/views/system/area/listArea.vue'), meta: { title: '区域管理', - icon: 'ep:key', auth: '/sys/area', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/area', }, - children: [ - { - path: 'list', - name: 'AreaList', - component: () => import('@/views/system/area/listArea.vue'), - meta: { - title: '区域管理', - auth: '/sys/area', - sidebar: false, - breadcrumb: false, - activeMenu: '/area', - }, - }, - ], }, { - path: '/resource', - component: Layout, - redirect: '/resource/list', - name: 'ResourceManage', + path: 'resource', + name: 'ResourceList', + component: () => import('@/views/system/resource/listResource.vue'), meta: { title: '资源管理', - icon: 'ep:key', auth: '/sys/resource', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/resource', }, - children: [ - { - path: 'list', - name: 'ResourceList', - component: () => import('@/views/system/resource/listResource.vue'), - meta: { - title: '资源管理', - auth: '/sys/resource', - sidebar: false, - breadcrumb: false, - activeMenu: '/resource', - }, - }, - ], }, { - path: '/dept', - component: Layout, - redirect: '/dept/list', - name: 'DeptManage', + path: 'dept', + name: 'DeptList', + component: () => import('@/views/system/dept/listDept.vue'), meta: { title: '组织管理', - icon: 'ep:key', auth: '/sys/dept', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dept', }, - children: [ - { - path: 'list', - name: 'DeptList', - component: () => import('@/views/system/dept/listDept.vue'), - meta: { - title: '组织管理', - auth: '/sys/dept', - sidebar: false, - breadcrumb: false, - activeMenu: '/dept', - }, - }, - ], }, { - path: '/role', - component: Layout, - redirect: '/role/list', - name: 'RoleManage', + path: 'role', + name: 'RoleList', + component: () => import('@/views/system/role/listRole.vue'), meta: { title: '角色管理', - icon: 'ep:key', auth: '/sys/role', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/role', }, - children: [ - { - path: 'list', - name: 'RoleList', - component: () => import('@/views/system/role/listRole.vue'), - meta: { - title: '角色管理', - auth: '/sys/role', - sidebar: false, - breadcrumb: false, - activeMenu: '/role', - }, - }, - ], }, { - path: '/user', - component: Layout, - redirect: '/user/list', - name: 'UserManage', + path: 'user', + name: 'UserList', + component: () => import('@/views/system/user/listUser.vue'), meta: { title: '用户管理', - icon: 'ep:key', auth: '/sys/mgr', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/user', }, - children: [ - { - path: 'list', - name: 'UserList', - component: () => import('@/views/system/user/listUser.vue'), - meta: { - title: '用户管理', - auth: '/sys/mgr', - sidebar: false, - breadcrumb: false, - activeMenu: '/user', - }, - }, - ], }, { - path: '/dict', - component: Layout, - redirect: '/dict/list', - name: 'DictManage', + path: 'dict', + name: 'DictList', + component: () => import('@/views/system/dict/listDict.vue'), meta: { title: '字典管理', - icon: 'ep:key', auth: '/sys/dict', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/dict', }, - children: [ - { - path: 'list', - name: 'DictList', - component: () => import('@/views/system/dict/listDict.vue'), - meta: { - title: '字典管理', - auth: '/sys/dict', - sidebar: false, - breadcrumb: false, - activeMenu: '/dict', - }, - }, - ], }, { path: '/process', @@ -228,107 +151,54 @@ ], }, { - path: '/tenant', - component: Layout, - redirect: '/tenant/list', - name: 'TenantManage', + path: 'tenant', + name: 'TenantList', + component: () => import('@/views/system/tenant/list.tenant.vue'), meta: { title: '项目管理', - icon: 'ep:key', auth: '/sys/tenantSys/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/tenant', }, - children: [ - { - path: 'list', - name: 'TenantList', - component: () => import('@/views/system/tenant/list.tenant.vue'), - meta: { - title: '项目管理', - auth: '/sys/tenantSys/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/tenant', - }, - }, - ], }, { - path: '/businessLog', - component: Layout, - redirect: '/businessLog/list', - name: 'BusinessLog', + path: 'businessLog', + name: 'BusinessList', + component: () => import('@/views/system/log/listLog.vue'), meta: { title: '业务日志', - icon: 'ep:key', auth: '/sys/log/biz/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/businessLog', }, - children: [ - { - path: 'list', - name: 'BusinessList', - component: () => import('@/views/system/log/listLog.vue'), - meta: { - title: '业务日志', - auth: '/sys/log/biz/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/businessLog', - }, - }, - ], }, { - path: '/error', - component: Layout, - redirect: '/error/list', - name: 'ErrorLog', + path: 'errorLog', + name: 'ErrorList', + component: () => import('@/views/system/log/listErrorLog.vue'), meta: { title: '异常日志', - icon: 'ep:key', auth: '/sys/log/error/list', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/error', }, - children: [ - { - path: 'list', - name: 'ErrorList', - component: () => import('@/views/system/log/listErrorLog.vue'), - meta: { - title: '异常日志', - auth: '/sys/log/error/list', - sidebar: false, - breadcrumb: false, - activeMenu: '/error', - }, - }, - ], }, { - path: '/loginDiary', - component: Layout, - redirect: '/loginDiary/list', - name: 'loginDiaryLog', + path: 'loginDiary', + name: 'loginDiaryList', + component: () => import('@/views/system/log/LoginLog.vue'), meta: { title: '登录日志', - icon: 'ep:key', auth: '/sys/loginLog', + sidebar: true, + breadcrumb: true, + activeMenu: '/system/loginDiary', }, - children: [ - { - path: 'list', - name: 'loginDiaryList', - component: () => import('@/views/system/log/LoginLog.vue'), - meta: { - title: '登录日志', - auth: '/sys/loginLog', - sidebar: false, - breadcrumb: false, - activeMenu: '/loginDiary', - }, - }, - ], }], }, - ] export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6f5a7e9..ae91d6e 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,7 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' -import commonRoute from './modules/system' +// import commonRoute from './modules/system' +import homeRoute from './modules/home' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -14,14 +15,6 @@ }, }, { - path: '/index', - name: 'index', - component: () => import('@/views/dashboard.vue'), - meta: { - title: '子系统列表', - }, - }, - { path: '/login', name: 'login', component: () => import('@/views/login.vue'), @@ -111,24 +104,13 @@ // 动态路由(异步路由、导航栏路由) const asyncRoutes: Route.recordMainRaw[] = [ - // { - // meta: { - // title: '实验室环境监控系统', - // icon: '', - // auth: '/laboratory/index', - // }, - // children: [ - // ...laboratoryRoute, - // ], - // }, { meta: { - title: '系统设置', + title: '', icon: '', - auth: '/system', }, children: [ - ...commonRoute, + ...homeRoute, ], }, ] diff --git a/src/views/home/alarm/count/index.vue b/src/views/home/alarm/count/index.vue new file mode 100644 index 0000000..7b222e4 --- /dev/null +++ b/src/views/home/alarm/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/current/index.vue b/src/views/home/alarm/current/index.vue new file mode 100644 index 0000000..773d91e --- /dev/null +++ b/src/views/home/alarm/current/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/alarm/history/index.vue b/src/views/home/alarm/history/index.vue new file mode 100644 index 0000000..94ef71e --- /dev/null +++ b/src/views/home/alarm/history/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/fullScreen.vue b/src/views/home/dashboard/fullScreen.vue new file mode 100644 index 0000000..30af3fc --- /dev/null +++ b/src/views/home/dashboard/fullScreen.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/dashboard/index.vue b/src/views/home/dashboard/index.vue new file mode 100644 index 0000000..47658b0 --- /dev/null +++ b/src/views/home/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/count/index.vue b/src/views/home/device/count/index.vue new file mode 100644 index 0000000..d7c2022 --- /dev/null +++ b/src/views/home/device/count/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/device/index.vue b/src/views/home/device/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/home/device/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/instruction/index.vue b/src/views/home/device/instruction/index.vue new file mode 100644 index 0000000..d3ff9a2 --- /dev/null +++ b/src/views/home/device/instruction/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/operation/index.vue b/src/views/home/device/operation/index.vue new file mode 100644 index 0000000..d5f177c --- /dev/null +++ b/src/views/home/device/operation/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/product/index.vue b/src/views/home/device/product/index.vue new file mode 100644 index 0000000..7fcfb61 --- /dev/null +++ b/src/views/home/device/product/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/device/type/index.vue b/src/views/home/device/type/index.vue new file mode 100644 index 0000000..ab687f7 --- /dev/null +++ b/src/views/home/device/type/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/ledger/index.vue b/src/views/home/ledger/index.vue new file mode 100644 index 0000000..52a70bf --- /dev/null +++ b/src/views/home/ledger/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/pipeline/index.vue b/src/views/home/pipeline/index.vue new file mode 100644 index 0000000..afa5a3a --- /dev/null +++ b/src/views/home/pipeline/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/agreement/index.vue b/src/views/home/rule/agreement/index.vue new file mode 100644 index 0000000..4537b5e --- /dev/null +++ b/src/views/home/rule/agreement/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/rule/alarm/index.vue b/src/views/home/rule/alarm/index.vue new file mode 100644 index 0000000..bbd356b --- /dev/null +++ b/src/views/home/rule/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/control/index.vue b/src/views/home/station/control/index.vue new file mode 100644 index 0000000..00f980f --- /dev/null +++ b/src/views/home/station/control/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/station/index.vue b/src/views/home/station/station/index.vue new file mode 100644 index 0000000..6aa0c1f --- /dev/null +++ b/src/views/home/station/station/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/station/video/index.vue b/src/views/home/station/video/index.vue new file mode 100644 index 0000000..7e15901 --- /dev/null +++ b/src/views/home/station/video/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/home/well/index.vue b/src/views/home/well/index.vue new file mode 100644 index 0000000..439816e --- /dev/null +++ b/src/views/home/well/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/system/tenant/list.tenant.vue b/src/views/system/tenant/list.tenant.vue index eebf1df..87af792 100644 --- a/src/views/system/tenant/list.tenant.vue +++ b/src/views/system/tenant/list.tenant.vue @@ -114,53 +114,33 @@