diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d187aac..8b71400 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -43,6 +43,7 @@ name: this.$store.getters.name, title: getProject().title, systems: [ + { code: 'key', ismenu: '0', levels: 1, name: '综合控制室子系统', resourceType: '02', url: '/ctrl' }, { code: 'door', ismenu: '0', levels: 1, name: '营门管理子系统', resourceType: '02', url: '/door' }, { code: 'fence', ismenu: '0', levels: 1, name: '周界防卫子系统', resourceType: '02', url: '/fence' }, { code: 'region', ismenu: '0', levels: 1, name: '全域监控子系统', resourceType: '02', url: '/region' }, @@ -154,6 +155,7 @@ /*left: 220px;*/ color:#d3dce6; line-height: 50px; + cursor: pointer; } diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d187aac..8b71400 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -43,6 +43,7 @@ name: this.$store.getters.name, title: getProject().title, systems: [ + { code: 'key', ismenu: '0', levels: 1, name: '综合控制室子系统', resourceType: '02', url: '/ctrl' }, { code: 'door', ismenu: '0', levels: 1, name: '营门管理子系统', resourceType: '02', url: '/door' }, { code: 'fence', ismenu: '0', levels: 1, name: '周界防卫子系统', resourceType: '02', url: '/fence' }, { code: 'region', ismenu: '0', levels: 1, name: '全域监控子系统', resourceType: '02', url: '/region' }, @@ -154,6 +155,7 @@ /*left: 220px;*/ color:#d3dce6; line-height: 50px; + cursor: pointer; } diff --git a/src/views/staff/staffAdd.vue b/src/views/staff/staffAdd.vue index 2480ed2..cf4fac4 100644 --- a/src/views/staff/staffAdd.vue +++ b/src/views/staff/staffAdd.vue @@ -308,7 +308,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d187aac..8b71400 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -43,6 +43,7 @@ name: this.$store.getters.name, title: getProject().title, systems: [ + { code: 'key', ismenu: '0', levels: 1, name: '综合控制室子系统', resourceType: '02', url: '/ctrl' }, { code: 'door', ismenu: '0', levels: 1, name: '营门管理子系统', resourceType: '02', url: '/door' }, { code: 'fence', ismenu: '0', levels: 1, name: '周界防卫子系统', resourceType: '02', url: '/fence' }, { code: 'region', ismenu: '0', levels: 1, name: '全域监控子系统', resourceType: '02', url: '/region' }, @@ -154,6 +155,7 @@ /*left: 220px;*/ color:#d3dce6; line-height: 50px; + cursor: pointer; } diff --git a/src/views/staff/staffAdd.vue b/src/views/staff/staffAdd.vue index 2480ed2..cf4fac4 100644 --- a/src/views/staff/staffAdd.vue +++ b/src/views/staff/staffAdd.vue @@ -308,7 +308,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') diff --git a/src/views/staff/staffEdit.vue b/src/views/staff/staffEdit.vue index 1509501..7f0aaab 100644 --- a/src/views/staff/staffEdit.vue +++ b/src/views/staff/staffEdit.vue @@ -267,7 +267,7 @@ this.areas = personForm.areaIds.split(',') } - // 如果有虹膜数据则显示虹膜信息,可以重新采集 + // 如果有重点区域授权,则显示虹膜区域的数据 if (personForm.irisData !== '') { this.isKey = true this.personForm.irisData = { @@ -313,7 +313,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') @@ -367,6 +367,12 @@ if (this.reCaptureIris === '0') { this.personForm.irisData = '' } + + // 如果重点区域为空,则将irisData置空 + if (this.areas.length === 0) { + this.personForm.irisData = '' + } + this.$refs['dataForm'].validate((valid) => { if (valid) { if (this.isEditMode === true) { diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d187aac..8b71400 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -43,6 +43,7 @@ name: this.$store.getters.name, title: getProject().title, systems: [ + { code: 'key', ismenu: '0', levels: 1, name: '综合控制室子系统', resourceType: '02', url: '/ctrl' }, { code: 'door', ismenu: '0', levels: 1, name: '营门管理子系统', resourceType: '02', url: '/door' }, { code: 'fence', ismenu: '0', levels: 1, name: '周界防卫子系统', resourceType: '02', url: '/fence' }, { code: 'region', ismenu: '0', levels: 1, name: '全域监控子系统', resourceType: '02', url: '/region' }, @@ -154,6 +155,7 @@ /*left: 220px;*/ color:#d3dce6; line-height: 50px; + cursor: pointer; } diff --git a/src/views/staff/staffAdd.vue b/src/views/staff/staffAdd.vue index 2480ed2..cf4fac4 100644 --- a/src/views/staff/staffAdd.vue +++ b/src/views/staff/staffAdd.vue @@ -308,7 +308,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') diff --git a/src/views/staff/staffEdit.vue b/src/views/staff/staffEdit.vue index 1509501..7f0aaab 100644 --- a/src/views/staff/staffEdit.vue +++ b/src/views/staff/staffEdit.vue @@ -267,7 +267,7 @@ this.areas = personForm.areaIds.split(',') } - // 如果有虹膜数据则显示虹膜信息,可以重新采集 + // 如果有重点区域授权,则显示虹膜区域的数据 if (personForm.irisData !== '') { this.isKey = true this.personForm.irisData = { @@ -313,7 +313,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') @@ -367,6 +367,12 @@ if (this.reCaptureIris === '0') { this.personForm.irisData = '' } + + // 如果重点区域为空,则将irisData置空 + if (this.areas.length === 0) { + this.personForm.irisData = '' + } + this.$refs['dataForm'].validate((valid) => { if (valid) { if (this.isEditMode === true) { diff --git a/src/views/visitor/visitorCarCheckIn.vue b/src/views/visitor/visitorCarCheckIn.vue index faabda9..c8ca1ee 100644 --- a/src/views/visitor/visitorCarCheckIn.vue +++ b/src/views/visitor/visitorCarCheckIn.vue @@ -218,8 +218,8 @@ if (data !== '' && data.message !== 'fail') { that.dataForm.idCard = data.IdCardNo that.dataForm.name = data.Name - that.photo = data.Photo - that.dataForm.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') + that.dataForm.photo = data.Photo.replace('bmp', 'png') that.dataForm.address = data.Address that.dataForm.sexStr = data.Sex diff --git a/src/api/statistics.js b/src/api/statistics.js index e20b4c0..741fbb2 100644 --- a/src/api/statistics.js +++ b/src/api/statistics.js @@ -55,3 +55,62 @@ params }) } + +// 综合控制室数量统计 +export function getStatisticsData() { + return request({ + url: '/overview/statistics', + method: 'get' + }) +} + +// 今日进出营情况占比 +export function inOutToday() { + return request({ + url: '/overview/todayPassPercentage', + method: 'get' + }) +} + +// 各类型设备安装数量 +export function devCount() { + return request({ + url: '/overview/devicePercentage', + method: 'get' + }) +} + +// 进出营数量统计 +export function inOutCount(params) { + return request({ + url: '/overview/passCountByType', + method: 'get', + params + }) +} + +// 各重点区域出入情况 +export function inOutKeyCount() { + return request({ + url: '/overview/keyareaPassPercentage', + method: 'get' + }) +} + +// 各类型报警数量统计 +export function devAlarmCount(params) { + return request({ + url: '/overview/alarmCountByType', + method: 'get', + params + }) +} + +// 各营门出入营量统计 +export function inOutDoorCount(params) { + return request({ + url: '/overview/passCountByArea', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 9435997..823269b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { doorSysRouters } from './modules/doorSys' +import { ctrlSysRouters } from './modules/ctrlSys' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -88,5 +89,6 @@ export const asyncRouterMap = [ ...systemRouters, ...doorSysRouters, + ...ctrlSysRouters, { path: '*', redirect: '/404', hidden: true, meta: {}} ] diff --git a/src/router/modules/ctrlSys.js b/src/router/modules/ctrlSys.js new file mode 100644 index 0000000..0dce4da --- /dev/null +++ b/src/router/modules/ctrlSys.js @@ -0,0 +1,35 @@ +/* Layout */ +import SinglePageLayout from '@/views/layout/SinglePageLayout' +export const ctrlSysRouters = [ + { + path: '/ctrl', + name: 'ctrl', + redirect: '/ctrl', + hidden: true, + meta: { + title: '综合控制室子系统', + permission: ['/ctrl'], + isSys: true + } + }, + { + path: '/ctrl/index1', + component: SinglePageLayout, + name: 'Ctrl1', + alwaysShow: false, + meta: { + title: '', + icon: '', // 图标 + permission: ['/ctrl'], // 权限名称 + sys: '/ctrl' + }, + children: [ + { + path: '/ctrl/index', + name: 'CtrlIndex', + component: () => import('@/views/ctrl/index'), + meta: { title: '综合控制室首页', icon: '', permission: ['/ctrl/index'], keepAlive: true } + } + ] + } +] diff --git a/src/views/ctrl/index.vue b/src/views/ctrl/index.vue new file mode 100644 index 0000000..93efb6f --- /dev/null +++ b/src/views/ctrl/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devAlarmCount.vue b/src/views/ctrl/statCharts/devAlarmCount.vue new file mode 100644 index 0000000..ff2e6c4 --- /dev/null +++ b/src/views/ctrl/statCharts/devAlarmCount.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/views/ctrl/statCharts/devCount.vue b/src/views/ctrl/statCharts/devCount.vue new file mode 100644 index 0000000..d3e2902 --- /dev/null +++ b/src/views/ctrl/statCharts/devCount.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutCount.vue b/src/views/ctrl/statCharts/inOutCount.vue new file mode 100644 index 0000000..1956305 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutCount.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutDoorCount.vue b/src/views/ctrl/statCharts/inOutDoorCount.vue new file mode 100644 index 0000000..1d73651 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutDoorCount.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutKeyCount.vue b/src/views/ctrl/statCharts/inOutKeyCount.vue new file mode 100644 index 0000000..fa9a0b7 --- /dev/null +++ b/src/views/ctrl/statCharts/inOutKeyCount.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/ctrl/statCharts/inOutToday.vue b/src/views/ctrl/statCharts/inOutToday.vue new file mode 100644 index 0000000..c37fa7b --- /dev/null +++ b/src/views/ctrl/statCharts/inOutToday.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/dashboard/portal.vue b/src/views/dashboard/portal.vue index 4365c4b..8ff66c7 100644 --- a/src/views/dashboard/portal.vue +++ b/src/views/dashboard/portal.vue @@ -3,14 +3,14 @@ @@ -46,7 +46,7 @@
- +
@@ -81,12 +81,17 @@ console.log('获取子系统成功') }) }, - changeSubSystem(subSys) { - this.$store.commit('SET_CHANGEFLAG', '1') - this.$store.commit('SET_SYSTEM', subSys) - this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { - this.$router.replace(subSys.url) + changeSubSystem(code) { + const system = this.systems.filter(subsys => { + return subsys.code === code }) + if (typeof system !== 'undefined' && system.length > 0) { + this.$store.commit('SET_CHANGEFLAG', '1') + this.$store.commit('SET_SYSTEM', system[0]) + this.$store.dispatch('tagsView/delAllViews', true).then(({ visitedViews }) => { + this.$router.replace(system[0].url) + }) + } }, settingSystem() { const setting = this.systems.filter(subsys => { diff --git a/src/views/layout/SinglePageLayout.vue b/src/views/layout/SinglePageLayout.vue new file mode 100644 index 0000000..7d352fe --- /dev/null +++ b/src/views/layout/SinglePageLayout.vue @@ -0,0 +1,59 @@ + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d187aac..8b71400 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -43,6 +43,7 @@ name: this.$store.getters.name, title: getProject().title, systems: [ + { code: 'key', ismenu: '0', levels: 1, name: '综合控制室子系统', resourceType: '02', url: '/ctrl' }, { code: 'door', ismenu: '0', levels: 1, name: '营门管理子系统', resourceType: '02', url: '/door' }, { code: 'fence', ismenu: '0', levels: 1, name: '周界防卫子系统', resourceType: '02', url: '/fence' }, { code: 'region', ismenu: '0', levels: 1, name: '全域监控子系统', resourceType: '02', url: '/region' }, @@ -154,6 +155,7 @@ /*left: 220px;*/ color:#d3dce6; line-height: 50px; + cursor: pointer; } diff --git a/src/views/staff/staffAdd.vue b/src/views/staff/staffAdd.vue index 2480ed2..cf4fac4 100644 --- a/src/views/staff/staffAdd.vue +++ b/src/views/staff/staffAdd.vue @@ -308,7 +308,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') diff --git a/src/views/staff/staffEdit.vue b/src/views/staff/staffEdit.vue index 1509501..7f0aaab 100644 --- a/src/views/staff/staffEdit.vue +++ b/src/views/staff/staffEdit.vue @@ -267,7 +267,7 @@ this.areas = personForm.areaIds.split(',') } - // 如果有虹膜数据则显示虹膜信息,可以重新采集 + // 如果有重点区域授权,则显示虹膜区域的数据 if (personForm.irisData !== '') { this.isKey = true this.personForm.irisData = { @@ -313,7 +313,7 @@ that.personForm.sex = parseInt(data.Sex) var birth = data.Birthday that.personForm.birthday = birth.substring(0, 3) + '-' + birth.substring(4, 5) + '-' + birth.substring(6, 7) - that.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') that.personForm.address = data.Address } else { that.$message.warning('读卡失败') @@ -367,6 +367,12 @@ if (this.reCaptureIris === '0') { this.personForm.irisData = '' } + + // 如果重点区域为空,则将irisData置空 + if (this.areas.length === 0) { + this.personForm.irisData = '' + } + this.$refs['dataForm'].validate((valid) => { if (valid) { if (this.isEditMode === true) { diff --git a/src/views/visitor/visitorCarCheckIn.vue b/src/views/visitor/visitorCarCheckIn.vue index faabda9..c8ca1ee 100644 --- a/src/views/visitor/visitorCarCheckIn.vue +++ b/src/views/visitor/visitorCarCheckIn.vue @@ -218,8 +218,8 @@ if (data !== '' && data.message !== 'fail') { that.dataForm.idCard = data.IdCardNo that.dataForm.name = data.Name - that.photo = data.Photo - that.dataForm.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') + that.dataForm.photo = data.Photo.replace('bmp', 'png') that.dataForm.address = data.Address that.dataForm.sexStr = data.Sex diff --git a/src/views/visitor/visitorCheckIn.vue b/src/views/visitor/visitorCheckIn.vue index 7c536cb..4d2a9a0 100644 --- a/src/views/visitor/visitorCheckIn.vue +++ b/src/views/visitor/visitorCheckIn.vue @@ -215,8 +215,8 @@ if (data !== '' && data.message !== 'fail') { that.dataForm.idCard = data.IdCardNo that.dataForm.name = data.Name - that.photo = data.Photo - that.dataForm.photo = data.Photo + that.photo = data.Photo.replace('bmp', 'png') + that.dataForm.photo = data.Photo.replace('bmp', 'png') that.dataForm.address = data.Address that.dataForm.sexStr = data.Sex