diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/regionIndex.vue b/src/views/overview/regionIndex.vue
index 640a0f8..7d8bc8c 100644
--- a/src/views/overview/regionIndex.vue
+++ b/src/views/overview/regionIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -169,7 +169,7 @@
-
+
设备编号
@@ -389,19 +389,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -835,6 +835,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1056,6 +1078,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/regionIndex.vue b/src/views/overview/regionIndex.vue
index 640a0f8..7d8bc8c 100644
--- a/src/views/overview/regionIndex.vue
+++ b/src/views/overview/regionIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -169,7 +169,7 @@
-
+
设备编号
@@ -389,19 +389,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -835,6 +835,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1056,6 +1078,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/visitor/visitorCarTodayList.vue b/src/views/visitor/visitorCarTodayList.vue
index 9e2afc8..6d78a80 100644
--- a/src/views/visitor/visitorCarTodayList.vue
+++ b/src/views/visitor/visitorCarTodayList.vue
@@ -54,6 +54,7 @@
详情
+ 轨迹回放
@@ -73,6 +74,7 @@
+
@@ -81,10 +83,10 @@
import { getVisitorCarList } from '@/api/visitor'
import { visitorCarExport } from '@/api/batch'
import { getDate, formatToString } from '@/utils/calendarUtil'
-
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorCarToday',
- components: { VisitorCarDetail },
+ components: { VisitorCarDetail,VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -150,6 +152,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -207,6 +210,11 @@
this.dialogFormVisible = true
this.$refs.visitorCarDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('car', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/regionIndex.vue b/src/views/overview/regionIndex.vue
index 640a0f8..7d8bc8c 100644
--- a/src/views/overview/regionIndex.vue
+++ b/src/views/overview/regionIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -169,7 +169,7 @@
-
+
设备编号
@@ -389,19 +389,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -835,6 +835,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1056,6 +1078,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/visitor/visitorCarTodayList.vue b/src/views/visitor/visitorCarTodayList.vue
index 9e2afc8..6d78a80 100644
--- a/src/views/visitor/visitorCarTodayList.vue
+++ b/src/views/visitor/visitorCarTodayList.vue
@@ -54,6 +54,7 @@
详情
+ 轨迹回放
@@ -73,6 +74,7 @@
+
@@ -81,10 +83,10 @@
import { getVisitorCarList } from '@/api/visitor'
import { visitorCarExport } from '@/api/batch'
import { getDate, formatToString } from '@/utils/calendarUtil'
-
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorCarToday',
- components: { VisitorCarDetail },
+ components: { VisitorCarDetail,VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -150,6 +152,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -207,6 +210,11 @@
this.dialogFormVisible = true
this.$refs.visitorCarDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('car', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
diff --git a/src/views/visitor/visitorTodayList.vue b/src/views/visitor/visitorTodayList.vue
index 4bd19a0..1bde7e2 100644
--- a/src/views/visitor/visitorTodayList.vue
+++ b/src/views/visitor/visitorTodayList.vue
@@ -72,6 +72,7 @@
+
@@ -80,10 +81,11 @@
import { getVisitorList } from '@/api/visitor'
import { getDate, formatToString } from '@/utils/calendarUtil'
import VisitorDetail from '@/views/visitor/visitorDetail'
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorToday',
- components: { VisitorDetail },
+ components: { VisitorDetail, VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -148,6 +150,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -205,6 +208,11 @@
this.dialogFormVisible = true
this.$refs.visitorDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('person', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
@@ -218,6 +226,7 @@
getVisitorList(this.listQuery).then(response => {
if (response.code === 200) {
this.list = response.data.rows
+ this.list = [{id:'111',name:'1111',deptname:'sss',visitTime:'saaaaddddaaaaaaa',outTime:'saaaaaddddaaaaaa'}]
this.total = parseInt(response.data.total)
} else {
this.$message.error(response.message)
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/regionIndex.vue b/src/views/overview/regionIndex.vue
index 640a0f8..7d8bc8c 100644
--- a/src/views/overview/regionIndex.vue
+++ b/src/views/overview/regionIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -169,7 +169,7 @@
-
+
设备编号
@@ -389,19 +389,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -835,6 +835,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1056,6 +1078,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/visitor/visitorCarTodayList.vue b/src/views/visitor/visitorCarTodayList.vue
index 9e2afc8..6d78a80 100644
--- a/src/views/visitor/visitorCarTodayList.vue
+++ b/src/views/visitor/visitorCarTodayList.vue
@@ -54,6 +54,7 @@
详情
+ 轨迹回放
@@ -73,6 +74,7 @@
+
@@ -81,10 +83,10 @@
import { getVisitorCarList } from '@/api/visitor'
import { visitorCarExport } from '@/api/batch'
import { getDate, formatToString } from '@/utils/calendarUtil'
-
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorCarToday',
- components: { VisitorCarDetail },
+ components: { VisitorCarDetail,VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -150,6 +152,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -207,6 +210,11 @@
this.dialogFormVisible = true
this.$refs.visitorCarDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('car', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
diff --git a/src/views/visitor/visitorTodayList.vue b/src/views/visitor/visitorTodayList.vue
index 4bd19a0..1bde7e2 100644
--- a/src/views/visitor/visitorTodayList.vue
+++ b/src/views/visitor/visitorTodayList.vue
@@ -72,6 +72,7 @@
+
@@ -80,10 +81,11 @@
import { getVisitorList } from '@/api/visitor'
import { getDate, formatToString } from '@/utils/calendarUtil'
import VisitorDetail from '@/views/visitor/visitorDetail'
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorToday',
- components: { VisitorDetail },
+ components: { VisitorDetail, VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -148,6 +150,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -205,6 +208,11 @@
this.dialogFormVisible = true
this.$refs.visitorDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('person', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
@@ -218,6 +226,7 @@
getVisitorList(this.listQuery).then(response => {
if (response.code === 200) {
this.list = response.data.rows
+ this.list = [{id:'111',name:'1111',deptname:'sss',visitTime:'saaaaddddaaaaaaa',outTime:'saaaaaddddaaaaaa'}]
this.total = parseInt(response.data.total)
} else {
this.$message.error(response.message)
diff --git a/src/views/visitor/visitorTrace.vue b/src/views/visitor/visitorTrace.vue
new file mode 100644
index 0000000..86d37c9
--- /dev/null
+++ b/src/views/visitor/visitorTrace.vue
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 开始回放
+
+
+
+
+
+
+
![]()
+
![]()
+
+
+
+
+
+
+
diff --git a/src/api/visitor.js b/src/api/visitor.js
index 187fe16..05ed6ea 100644
--- a/src/api/visitor.js
+++ b/src/api/visitor.js
@@ -55,3 +55,22 @@
})
}
+
+//轨迹
+// 查询车辆轨迹
+export function getVisitorCarTrace(params) {
+ return request({
+ url: '/visitorCar/trace',
+ method: 'post',
+ params
+ })
+}
+// 查询人员轨迹
+export function getVisitorTrace(params) {
+ return request({
+ url: '/visitorPerson/trace',
+ method: 'post',
+ params
+ })
+}
+
diff --git a/src/assets/overview_images/dev-info-1366-red.png b/src/assets/overview_images/dev-info-1366-red.png
new file mode 100644
index 0000000..9606620
--- /dev/null
+++ b/src/assets/overview_images/dev-info-1366-red.png
Binary files differ
diff --git a/src/assets/overview_images/dev-info-red.png b/src/assets/overview_images/dev-info-red.png
new file mode 100644
index 0000000..01745b0
--- /dev/null
+++ b/src/assets/overview_images/dev-info-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-blue.png b/src/assets/overview_images/icons/camera-blue.png
index 3fe070e..c644829 100644
--- a/src/assets/overview_images/icons/camera-blue.png
+++ b/src/assets/overview_images/icons/camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-green.png b/src/assets/overview_images/icons/camera-green.png
index e8a0d66..ed3029f 100644
--- a/src/assets/overview_images/icons/camera-green.png
+++ b/src/assets/overview_images/icons/camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/camera-red.png b/src/assets/overview_images/icons/camera-red.png
index 14fc247..62c60e9 100644
--- a/src/assets/overview_images/icons/camera-red.png
+++ b/src/assets/overview_images/icons/camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-blue.png b/src/assets/overview_images/icons/half-camera-blue.png
index 5c56a20..2d7136c 100644
--- a/src/assets/overview_images/icons/half-camera-blue.png
+++ b/src/assets/overview_images/icons/half-camera-blue.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-green.png b/src/assets/overview_images/icons/half-camera-green.png
index bc8c4b6..999371e 100644
--- a/src/assets/overview_images/icons/half-camera-green.png
+++ b/src/assets/overview_images/icons/half-camera-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/half-camera-red.png b/src/assets/overview_images/icons/half-camera-red.png
index fa07acd..1443478 100644
--- a/src/assets/overview_images/icons/half-camera-red.png
+++ b/src/assets/overview_images/icons/half-camera-red.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-smoking-green.png b/src/assets/overview_images/icons/icon-smoking-green.png
new file mode 100644
index 0000000..3bc64a9
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-smoking-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-sound-green.png b/src/assets/overview_images/icons/icon-sound-green.png
new file mode 100644
index 0000000..8c8fbbe
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-sound-green.png
Binary files differ
diff --git a/src/assets/overview_images/icons/icon-temperature-green.png b/src/assets/overview_images/icons/icon-temperature-green.png
new file mode 100644
index 0000000..ad913c2
--- /dev/null
+++ b/src/assets/overview_images/icons/icon-temperature-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-green.png b/src/assets/overview_images/point-green.png
new file mode 100644
index 0000000..1459a21
--- /dev/null
+++ b/src/assets/overview_images/point-green.png
Binary files differ
diff --git a/src/assets/overview_images/point-orange.png b/src/assets/overview_images/point-orange.png
new file mode 100644
index 0000000..bcccc58
--- /dev/null
+++ b/src/assets/overview_images/point-orange.png
Binary files differ
diff --git a/src/views/alarm/alarmPosition.vue b/src/views/alarm/alarmPosition.vue
index 3fc004b..30804d4 100644
--- a/src/views/alarm/alarmPosition.vue
+++ b/src/views/alarm/alarmPosition.vue
@@ -9,7 +9,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
diff --git a/src/views/ctrl/overview.vue b/src/views/ctrl/overview.vue
index 4532bf7..6dc20d4 100644
--- a/src/views/ctrl/overview.vue
+++ b/src/views/ctrl/overview.vue
@@ -222,7 +222,7 @@
-
+
设备编号
@@ -390,11 +390,12 @@
},
destroyed() {
window.removeEventListener("click", this.handleKeyup, true);
+ this.socket.close()
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
this.wsPath = this.wsPath.replace(/http/,'ws')
- // this.webSocket()
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -425,11 +426,8 @@
if( val.target.innerText!=='摄像头') {
this.showType = false
const devTypes = document.querySelectorAll('.dev-icon')
- // console.log(devTypes)
- // console.log(this.cameraTypeNum)
for(var i=0;i {
- // that.$router.push({
- // path: '/overview',
- // query: { refresh: true }
- // })
- // }
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
})
- // }
}
// 监听socket错误
this.socket.onerror = function() {
@@ -493,6 +492,27 @@
handleSelect(key, keyPath) {
this.selectDevByType(key,undefined)
},
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
// 获取窗口大小
initWindowSize() {
// 获取窗体尺寸
@@ -562,19 +582,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -823,19 +843,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -954,8 +974,8 @@
}
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1304,6 +1324,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1525,6 +1567,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/doorIndex.vue b/src/views/overview/doorIndex.vue
index 1dd2e6e..15eb719 100644
--- a/src/views/overview/doorIndex.vue
+++ b/src/views/overview/doorIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -168,7 +168,7 @@
-
+
设备编号
@@ -385,19 +385,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -836,6 +836,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1057,6 +1079,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/fenceIndex.vue b/src/views/overview/fenceIndex.vue
index e3ec0d5..0a6d139 100644
--- a/src/views/overview/fenceIndex.vue
+++ b/src/views/overview/fenceIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -174,7 +174,7 @@
-
+
设备编号
@@ -390,19 +390,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -842,6 +842,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1063,6 +1085,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/keyIndex.vue b/src/views/overview/keyIndex.vue
index 2e15516..19d844d 100644
--- a/src/views/overview/keyIndex.vue
+++ b/src/views/overview/keyIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -206,7 +206,7 @@
-
+
设备编号
@@ -265,6 +265,7 @@
components: { DeviceDetail },
data() {
return {
+ wsPath: process.env.BASE_API+'/websocket/',
showAlarmDetail: false, // 是否显示设备详情
alarmForm: {
id:'',
@@ -369,6 +370,8 @@
},
mounted() {
window.addEventListener('click',this.handleKeyup, true)
+ this.wsPath = this.wsPath.replace(/http/,'ws')
+ this.webSocket()
this.initWindowSize()
this.fetchData()
@@ -381,6 +384,83 @@
}
},
methods: {
+ webSocket() {
+ const that = this
+ if (typeof (WebSocket) === 'undefined') {
+ this.$notify({
+ title: '提示',
+ message: '当前浏览器无法接收实时报警信息,请使用谷歌浏览器或360浏览器极速模式!',
+ type: 'warning',
+ duration: 0
+ })
+ } else {
+ // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改
+ // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送
+ const socketUrl = this.wsPath + this.$store.getters.token
+ this.socket = new WebSocket(socketUrl)
+ this.socket.onclose = function() {}
+ // 监听socket打开
+ this.socket.onopen = function() {
+ console.log('浏览器WebSocket已打开')
+ // 加入心跳监测
+ console.log(new Date())
+ }
+ // 监听socket消息接收
+ this.socket.onmessage = function(msg) {
+ that.fetchAlarmNowData()
+ // 转换为json对象
+ const data = JSON.parse(msg.data)
+ var str = ""
+ if(data.alarmValue.length!==0){
+ str = '('+data.alarmValue+'℃)'
+ }
+ console.log(data)
+ that.$notify({
+ title: '报警设备:' + data.devcode,
+ // 这里也可以把返回信息加入到message中显示
+ message: '报警内容:'+ data.alarmContent + str,
+ type: 'warning',
+ onClick: () => {
+ that.clickAlarm(data.deviceId,data.picture)
+ }
+ })
+ }
+ // 监听socket错误
+ this.socket.onerror = function() {
+ that.$notify({
+ title: '服务器错误',
+ message: '无法接收实时报警信息,请检查服务器后重新刷新页面',
+ type: 'error',
+ duration: 0
+ })
+ }
+ // 监听socket关闭
+ this.socket.onclose = function(e) {
+ console.log('WebSocket已关闭', e, new Date())
+ }
+ }
+ },
+ clickAlarm(val,pic){
+ console.log(val)
+ if(pic==='1'){
+ this.changeMap('tg_main')
+ }else if(pic==='2'){
+ this.changeMap('tg_3_1')
+ }else if(pic==='3'){
+ this.changeMap('tg_4_1')
+ }else if(pic==='4'){
+ this.changeMap('tg_4_1')
+ }
+ setTimeout(() => {
+ var obj = document.getElementById(val.toString());
+ var timer = setInterval(() => {
+ obj.style.display = obj.style.display=="none"?"":"none";
+ }, 500)
+ setTimeout(() => {
+ clearInterval(timer )
+ }, 10000);
+ }, 1000);
+ },
handleKeyup(val){ //单击收起摄像头分类
this.showAlarmDetail = false
this.showDevDetail = false
@@ -474,19 +554,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -788,19 +868,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -866,8 +946,8 @@
this.selectDevByType('all')
},
// 点击报警列表
- alarmRowClick(dev, column, event) {
-
+ alarmRowClick(row) {
+ this.clickAlarm(row.deviceId,row.picture)
},
// 清除设备详情
resetDevDetail() {
@@ -1209,6 +1289,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1430,6 +1532,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/overview/regionIndex.vue b/src/views/overview/regionIndex.vue
index 640a0f8..7d8bc8c 100644
--- a/src/views/overview/regionIndex.vue
+++ b/src/views/overview/regionIndex.vue
@@ -89,7 +89,7 @@
:id="item.id"
:key="item.id"
:src="item.imgUrl"
- :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: item.y * imgSize.height / imgSizeOriginal.height + 'px', left: (item.x * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
+ :style="{ transform: 'rotate('+ item.angle +'deg)', position: 'absolute', top: (item.y-25) * imgSize.height / imgSizeOriginal.height + 'px', left: ((item.x-25) * imgSize.width / imgSizeOriginal.width + halfLeft) + 'px' }"
class="point-camera"
@click="detailDev(item, $event)" />
@@ -169,7 +169,7 @@
-
+
设备编号
@@ -389,19 +389,19 @@
}
}else if(dev.type===1){ //温湿度
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===2){ //烟感
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-temperature-checked.png")
}
}else if(dev.type===12){ //声光
if(dev.deviceStatus === 0){ //normal
- dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-unchecked.png")
+ dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-green.png")
}else{ //alarm
dev.imgUrl = require("../../assets/overview_images/icons/icon-sound-checked.png")
}
@@ -835,6 +835,28 @@
cursor: pointer;
}
}
+ .alarm-detail-block {
+ /*position: absolute;*/
+ /*right: 20px;*/
+ /*bottom: 100px;*/
+ width: 520px;
+ height: 335px;
+ font-size: 24px;
+ font-family: "Microsoft YaHei";
+ padding: 45px 60px;
+ line-height: 35px;
+ background: url("../../assets/overview_images/dev-info-red.png");
+ .dev-detail-span {
+ margin-left: 20px;
+ }
+ .dev-detail-close::before {
+ content: "\2716";
+ position: relative;
+ top: -20px;
+ right: -410px;
+ cursor: pointer;
+ }
+ }
.dev-footer {
position: absolute;
@@ -1056,6 +1078,18 @@
right: -312px;
}
}
+ .alarm-detail-block {
+ width: 390px;
+ height: 251px;
+ font-size: 16px;
+ padding: 30px 40px;
+ line-height: 28px;
+ background: url("../../assets/overview_images/dev-info-1366-red.png");
+ .dev-detail-close::before {
+ top: -12px;
+ right: -312px;
+ }
+ }
.dev-footer {
bottom: 20px;
diff --git a/src/views/visitor/visitorCarTodayList.vue b/src/views/visitor/visitorCarTodayList.vue
index 9e2afc8..6d78a80 100644
--- a/src/views/visitor/visitorCarTodayList.vue
+++ b/src/views/visitor/visitorCarTodayList.vue
@@ -54,6 +54,7 @@
详情
+ 轨迹回放
@@ -73,6 +74,7 @@
+
@@ -81,10 +83,10 @@
import { getVisitorCarList } from '@/api/visitor'
import { visitorCarExport } from '@/api/batch'
import { getDate, formatToString } from '@/utils/calendarUtil'
-
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorCarToday',
- components: { VisitorCarDetail },
+ components: { VisitorCarDetail,VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -150,6 +152,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -207,6 +210,11 @@
this.dialogFormVisible = true
this.$refs.visitorCarDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('car', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
diff --git a/src/views/visitor/visitorTodayList.vue b/src/views/visitor/visitorTodayList.vue
index 4bd19a0..1bde7e2 100644
--- a/src/views/visitor/visitorTodayList.vue
+++ b/src/views/visitor/visitorTodayList.vue
@@ -72,6 +72,7 @@
+
@@ -80,10 +81,11 @@
import { getVisitorList } from '@/api/visitor'
import { getDate, formatToString } from '@/utils/calendarUtil'
import VisitorDetail from '@/views/visitor/visitorDetail'
+import VisitorTrace from '@/views/visitor/visitorTrace'
export default {
name: 'VisitorToday',
- components: { VisitorDetail },
+ components: { VisitorDetail, VisitorTrace },
props: {
showDateRange: {
type: Boolean,
@@ -148,6 +150,7 @@
timeRange: [],
listLoading: false, // 加载动画
fullscreenLoading: false, // 全屏加载动画
+ dialogFormVisible1: false, // 全屏加载动画
dialogFormVisible: false
}
},
@@ -205,6 +208,11 @@
this.dialogFormVisible = true
this.$refs.visitorDetail.initDialog('detail', this.dialogFormVisible, row)
},
+ //轨迹
+ trace(row) {
+ this.dialogFormVisible1 = true
+ this.$refs.visitorTrace.initDialog('person', this.dialogFormVisible1, row)
+ },
// 查询数据
search() {
this.fetchData(false)
@@ -218,6 +226,7 @@
getVisitorList(this.listQuery).then(response => {
if (response.code === 200) {
this.list = response.data.rows
+ this.list = [{id:'111',name:'1111',deptname:'sss',visitTime:'saaaaddddaaaaaaa',outTime:'saaaaaddddaaaaaa'}]
this.total = parseInt(response.data.total)
} else {
this.$message.error(response.message)
diff --git a/src/views/visitor/visitorTrace.vue b/src/views/visitor/visitorTrace.vue
new file mode 100644
index 0000000..86d37c9
--- /dev/null
+++ b/src/views/visitor/visitorTrace.vue
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 开始回放
+
+
+
+
+
+
+
![]()
+
![]()
+
+
+
+
+
+
+
diff --git a/theme/index.css b/theme/index.css
index 76db49d..0da7571 100644
--- a/theme/index.css
+++ b/theme/index.css
@@ -526,7 +526,7 @@
.el-icon-close:before {
content: "\e6db";
color: #00387b;
- font-size: 23px;
+ font-size: 18px;
font-weight: bold;
}