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