From 1e4a3f702623a46bcd53dbc96e235d51e0edb155 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 05 八月 2022 04:13:02 +0800
Subject: [PATCH] 管理中心添加分析
---
src/views/hashrate/CameraManage/CameraRules/index.vue | 708 ++++++++++++++++++++++++++++------------------------------
1 files changed, 344 insertions(+), 364 deletions(-)
diff --git a/src/views/hashrate/CameraManage/CameraRules/index.vue b/src/views/hashrate/CameraManage/CameraRules/index.vue
index 53953a3..e32fd39 100644
--- a/src/views/hashrate/CameraManage/CameraRules/index.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/index.vue
@@ -25,6 +25,7 @@
:InValidCount="`${PollData.RealTimeInvalid}`"
:RunningCount="`${PollData.RealTimeRun}`"
:NoDeal="`${PollData.RealTimeNoDeal}`"
+ image="realTime (2).png"
></HashrateCard>
<!-- 杞绠楀姏淇℃伅 -->
@@ -36,6 +37,7 @@
:InValidCount="`${PollData.PollInvalid}`"
:RunningCount="`${PollData.PollRun}`"
:NoDeal="`${PollData.PollNoDeal}`"
+ image="polling.png"
></HashrateCard>
</div>
</div>
@@ -69,19 +71,10 @@
<div class="draw-box" v-else>
<div class="title">鏌ョ湅鍖哄煙</div>
<div class="img-box">
- <span class="camera-tip" v-show="swipercanvasData.length == 0"
- >鏆傛棤鍖哄煙锛岃鑷冲皯閫夋嫨2涓憚鍍忔満</span
- >
+ <span class="camera-tip" v-show="swipercanvasData.length == 0">鏆傛棤鍖哄煙锛岃鑷冲皯閫夋嫨2涓憚鍍忔満</span>
<!-- swiper 灞曠ず -->
- <swiper
- ref="swiper"
- :options="swiperOption"
- class="swiper-box-container2"
- >
- <swiper-slide
- v-for="(data, index) in swipercanvasData"
- :key="index"
- >
+ <swiper ref="swiper" :options="swiperOption" class="swiper-box-container2">
+ <swiper-slide v-for="(data, index) in swipercanvasData" :key="index">
<!-- <b
class="video-title"
style="font-size: 14px; margin-top: -10px"
@@ -110,10 +103,7 @@
<i class="iconfont"></i>
</div>
</div>
- <div
- class="swiper-next-border"
- v-show="swipercanvasData.length > 1"
- >
+ <div class="swiper-next-border" v-show="swipercanvasData.length > 1">
<div class="icon-btn" slot="button-next">
<i class="iconfont"></i>
</div>
@@ -127,18 +117,20 @@
<div class="SeparateRules" @click="selectMultiple(false)">
<div class="title">鐙珛鍦烘櫙</div>
<div class="control">
- <i class="iconfont" @click="openSdkBox($event)"></i>
- <i class="iconfont"></i>
- <i class="iconfont"></i>
+ <el-tooltip class="item" effect="dark" content="绠楁硶浜嬩欢" placement="top">
+ <i class="iconfont" @click="openSdkBox($event)"></i>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="鏁版嵁娴佷紶" placement="top">
+ <i class="iconfont"></i>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="妯℃澘鍔╂墜" placement="top">
+ <i class="iconfont"></i>
+ </el-tooltip>
</div>
<div class="content">
<!-- 鎽勫儚鏈� -->
- <CameraBox
- :camera="Camera"
- id="separate_camera"
- @addSeparateRule="addSeparateRule"
- ></CameraBox>
+ <CameraBox :camera="Camera" id="separate_camera" @addSeparateRule="addSeparateRule"></CameraBox>
<!-- 鍦烘櫙鍖哄煙 -->
<div class="RuleArea" v-if="show">
@@ -159,7 +151,7 @@
</template>
<div class="empty" v-else>
- <img src="/images/hashrate/鐙珛鍦烘櫙绌洪〉闈�.png" alt="" />
+ <img src="/images/hashrate/s_empty.png" alt="" />
<div class="des">鏆傛棤鐙珛鍦烘櫙</div>
</div>
</div>
@@ -169,16 +161,22 @@
<div class="linkageRule" @click="selectMultiple(true)">
<div class="title">鑱斿姩鍦烘櫙</div>
<div class="control">
- <i class="iconfont" @click="showSdkBox = true"></i>
- <i class="iconfont"></i>
- <i class="iconfont"></i>
+ <el-tooltip class="item" effect="dark" content="绠楁硶浜嬩欢" placement="top">
+ <i class="iconfont" @click="showSdkBox = true"></i>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="鏁版嵁娴佷紶" placement="top">
+ <i class="iconfont"></i>
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="妯℃澘鍔╂墜" placement="top">
+ <i class="iconfont"></i>
+ </el-tooltip>
</div>
<template v-if="linkageRule.length > 0">
<div class="content" v-for="(item, index) in linkageRule" :key="index">
<!-- 鎽勫儚鏈� -->
<LinkageCameraBox
:cameras="item.cameraIds"
- @addLinkageRule="addLinkageRule(item.cameraIds)"
+ @addLinkageRule="addLinkageRule(item.cameraIds, item.camera_polygons)"
></LinkageCameraBox>
<div class="Anchor" :id="'linkage_camera' + index"></div>
@@ -198,25 +196,16 @@
</div>
</template>
- <div
- class="empty"
- v-if="linkageRule.length <= 0 && !TreeDataPool.multiple"
- >
- <img src="/images/hashrate/鑱斿姩鍦烘櫙绌洪〉闈�.png" alt="" />
+ <div class="empty" v-if="linkageRule.length <= 0 && !TreeDataPool.multiple">
+ <img src="/images/hashrate/l_empty.png" alt="" />
<div class="des">鏆傛棤鑱斿姩鍦烘櫙</div>
</div>
- <div
- class="newCameraArea"
- v-if="linkageRule.length <= 0 && TreeDataPool.multiple"
- >
- <LinkageCameraBox
- :cameras="CarmerasId"
- @addLinkageRule="addLinkageRule(CarmerasId)"
- ></LinkageCameraBox>
+ <div class="newCameraArea" v-if="linkageRule.length <= 0 && TreeDataPool.multiple">
+ <LinkageCameraBox :cameras="CarmerasId" @addLinkageRule="addLinkageRule(CarmerasId)"></LinkageCameraBox>
<div class="empty">
- <img src="/images/hashrate/鑱斿姩鍦烘櫙绌洪〉闈�.png" alt="" />
+ <img src="/images/hashrate/l_empty.png" alt="" />
<div class="des">鏆傛棤鑱斿姩鍦烘櫙</div>
</div>
</div>
@@ -239,9 +228,7 @@
@getNewSdk="getNewSdk"
@getEditSdk="getEditSdk"
:editSdk="editSdkObj.sdk"
- :linkEditCamera="
- ruleType === 'linkage' && editSdkObj ? editSdkObj.camera_polygons : null
- "
+ :linkEditCamera="ruleType === 'linkage' && editSdkObj ? editSdkObj.camera_polygons : null"
:Cameras="ruleType === 'linkage' ? addData.cameras : [Camera]"
></SdkSettingBox>
@@ -251,29 +238,29 @@
</template>
<script>
-import { jsPlumb } from "jsplumb";
+import { jsPlumb } from "jsplumb"
-import { savePolygon } from "@/api/polygon";
+import { savePolygon } from "@/api/polygon"
-import { pasteRules } from "@/api/task";
-import { getCameraSceneRule } from "@/api/scene";
+import { pasteRules } from "@/api/task"
+import { getCameraSceneRule } from "@/api/scene"
-import { saveCameraScene, getLinkSceneRule } from "@/api/scene";
+import { saveCameraScene, getLinkSceneRule } from "@/api/scene"
-import { changeRunType } from "@/api/pollConfig";
-import { findAllFileByStackId } from "@/api/localVedio";
-import VideoRuleData from "@/Pool/VideoRuleData";
+import { changeRunType } from "@/api/pollConfig"
+import { findAllFileByStackId } from "@/api/localVedio"
+import VideoRuleData from "@/Pool/VideoRuleData"
-import polygonCanvas from "@/components/canvas";
-import Sysinfo from "@/components/subComponents/SystemInfo";
-import SlideScene from "./components/scene/SlideScene";
-import HashrateCard from "@/views/hashrate/CameraManage/CameraRules/components/HashrateCard";
-import CameraBox from "@/views/hashrate/CameraManage/CameraRules/components/CameraBox";
-import LinkageCameraBox from "@/views/hashrate/CameraManage/CameraRules/components/LinkageCameraBox";
-import RuleItem from "@/views/hashrate/CameraManage/CameraRules/components/RuleItem";
-import AddRuleBox from "@/views/hashrate/CameraManage/CameraRules/components/AddRuleBox";
-import SdkBox from "@/views/hashrate/CameraManage/CameraRules/components/SdkBox";
-import SdkSettingBox from "@/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox";
+import polygonCanvas from "@/components/canvas"
+import Sysinfo from "@/components/subComponents/SystemInfo"
+import SlideScene from "./components/scene/SlideScene"
+import HashrateCard from "@/views/hashrate/CameraManage/CameraRules/components/HashrateCard"
+import CameraBox from "@/views/hashrate/CameraManage/CameraRules/components/CameraBox"
+import LinkageCameraBox from "@/views/hashrate/CameraManage/CameraRules/components/LinkageCameraBox"
+import RuleItem from "@/views/hashrate/CameraManage/CameraRules/components/RuleItem"
+import AddRuleBox from "@/views/hashrate/CameraManage/CameraRules/components/AddRuleBox"
+import SdkBox from "@/views/hashrate/CameraManage/CameraRules/components/SdkBox"
+import SdkSettingBox from "@/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox"
export default {
components: {
@@ -286,31 +273,29 @@
AddRuleBox,
SdkBox,
SdkSettingBox,
- LinkageCameraBox,
+ LinkageCameraBox
},
directives: {
focus: {
- inserted: function (el) {
- el.querySelector("input").focus();
- },
- },
+ inserted: function(el) {
+ el.querySelector("input").focus()
+ }
+ }
},
computed: {
cameraType() {
- return this.TreeDataPool.treeActiveName === "camera"
- ? "camera"
- : "dataStack";
+ return this.TreeDataPool.treeActiveName === "camera" ? "camera" : "dataStack"
},
selectedCameraIds() {
- return this.TreeDataPool.selectedNodes;
+ return this.TreeDataPool.selectedNodes
},
CarmerasId() {
- let arr = [];
+ let arr = []
this.Carmeras.forEach((item) => {
- arr.push(item.cameraId);
- });
- return arr;
- },
+ arr.push(item.cameraId)
+ })
+ return arr
+ }
},
data() {
return {
@@ -324,12 +309,12 @@
grabCursor: true,
pagination: {
el: ".swiper-pagination",
- type: "fraction",
+ type: "fraction"
},
navigation: {
nextEl: ".swiper-local-next",
- prevEl: ".swiper-local-prev",
- },
+ prevEl: ".swiper-local-prev"
+ }
},
plumbIns: null,
plumbIns2: null,
@@ -346,15 +331,16 @@
grabCursor: true,
pagination: {
el: ".swiper-pagination",
- type: "fraction",
+ type: "fraction"
},
navigation: {
nextEl: ".swiper-pre-border",
- prevEl: ".swiper-next-border",
- },
+ prevEl: ".swiper-next-border"
+ }
},
showNewLinkage: false,
newLinkageIds: [],
+ newLinkPlg: null,
// swiperOption: {
// slidesPerView: 5,
@@ -379,281 +365,276 @@
stackId: "",
swiperIndex: 0,
stackFilesPage: 1,
- stackFilesSize: 5,
- };
+ stackFilesSize: 5
+ }
},
created() {
- document.querySelector("html").style["min-width"] = "1920px";
+ document.querySelector("html").style["min-width"] = "1920px"
// 鍒濆鍖栬繛绾垮彉閲�
- this.plumbIns = jsPlumb.getInstance();
+ this.plumbIns = jsPlumb.getInstance()
},
mounted() {
// this.PollData.statistics();
- this.TaskMange.findAllSdk();
+ this.TaskMange.findAllSdk()
},
destroyed() {
- document.querySelector("html").style["min-width"] = "1280px";
+ document.querySelector("html").style["min-width"] = "1280px"
},
watch: {
"Camera.cameraId": {
handler(n, o) {
if (n) {
if (this.TreeDataPool.treeActiveName == "dataStack") {
- this.stackFilesPage = 1;
- this.stackFilesSize = 5;
- this.stackId = n;
+ this.stackFilesPage = 1
+ this.stackFilesSize = 5
+ this.stackId = n
if (this.stackId) {
- this.swipercanvasData = [];
- this.getStackFiles();
+ this.swipercanvasData = []
+ this.getStackFiles()
}
}
}
- },
+ }
},
Carmeras: {
handler(newVal, oldVal) {
- this.setSwiperData();
+ this.setSwiperData()
},
- deep: true,
- },
+ deep: true
+ }
},
methods: {
prevClick() {
if (this.swiperIndex == 0) {
if (this.stackFilesPage > 1) {
- this.stackFilesPage--;
- this.getStackFiles(true);
+ this.stackFilesPage--
+ this.getStackFiles(true)
} else {
this.$message({
type: "info",
- message: "褰撳墠宸叉槸绗竴椤�",
- });
+ message: "褰撳墠宸叉槸绗竴椤�"
+ })
}
}
},
nextClick() {
if (this.swiperIndex == this.swipercanvasData.length - 1) {
- this.stackFilesPage++;
- this.getStackFiles(true);
+ this.stackFilesPage++
+ this.getStackFiles(true)
}
},
getStackFiles(onClick = false) {
- this.getStackFileLoading = true;
- let _this = this;
+ this.getStackFileLoading = true
+ let _this = this
findAllFileByStackId({
name: "",
stackId: this.stackId,
page: this.stackFilesPage,
size: this.stackFilesSize,
- type: 0,
+ type: 0
})
.then((res) => {
if (res && res.success) {
if (res.data.dataList.length > 0) {
- this.swipercanvasData = [];
+ this.swipercanvasData = []
this.swipercanvasData = res.data.dataList.map((item) => {
return {
name: item.name,
stackId: item.stack_id,
baseImg:
- item.type == 2
- ? `/files/${item.path.substr(
- item.path.lastIndexOf("/") + 1
- )}`
- : item.snapshot_url,
+ item.type == 2 ? `/files/${item.path.substr(item.path.lastIndexOf("/") + 1)}` : item.snapshot_url,
type: item.type,
id: item.id,
- loading: false,
- };
- });
- this.swiperIndex = 0;
- this.$refs.swiper.swiper.activeIndex = 0;
+ loading: false
+ }
+ })
+ this.swiperIndex = 0
+ this.$refs.swiper.swiper.activeIndex = 0
} else {
if (onClick) {
this.$message({
type: "warning",
- message: "宸叉棤鏇村鏁版嵁!",
- });
+ message: "宸叉棤鏇村鏁版嵁!"
+ })
}
}
} else {
this.$message({
type: "error",
- message: "鏁版嵁璇锋眰澶辫触,璇风◢鍚庨噸璇�!",
- });
+ message: "鏁版嵁璇锋眰澶辫触,璇风◢鍚庨噸璇�!"
+ })
}
- this.getStackFileLoading = false;
+ this.getStackFileLoading = false
})
.catch((e) => {
- this.getStackFileLoading = false;
- });
+ this.getStackFileLoading = false
+ })
},
drawBaseImg() {
if (Array.isArray(this.$refs.canvas)) {
if (this.$refs.canvas.length > 0) {
- this.$refs.canvas[0].showModal();
+ this.$refs.canvas[0].showModal()
}
} else {
- this.$refs.canvas.showModal();
+ this.$refs.canvas.showModal()
}
},
getCanvasData(data) {
- let polyon = { ...data };
- polyon.camera_id = this.Camera.cameraId;
+ let polyon = { ...data }
+ polyon.camera_id = this.Camera.cameraId
savePolygon(polyon).then((rsp) => {
- this.Camera.getPolygon();
+ this.Camera.getPolygon()
//this.Camera.getCameraTask();
- });
+ })
},
setSwiperData() {
- let swipers = [];
- let carmeras = this.Carmeras;
+ let swipers = []
+ let carmeras = this.Carmeras
for (let i = 0; i < carmeras.length; i++) {
swipers = swipers.concat({
camera: {
cameraId: carmeras[i].cameraId,
cameraName: carmeras[i].cameraName,
type: carmeras[i].type,
- rtsp: carmeras[i].rtsp,
+ rtsp: carmeras[i].rtsp
},
baseImg: carmeras[i].baseImg ? carmeras[i].baseImg : undefined,
canvasData: carmeras[i].canvasData,
- loading: carmeras[i].loading,
- });
+ loading: carmeras[i].loading
+ })
}
- this.swipercanvasData = swipers;
+ this.swipercanvasData = swipers
},
refresh(url) {
- console.log(url);
- this.Camera.baseImg = url;
+ this.Camera.baseImg = url
},
refresh2(url, id) {
this.swipercanvasData.forEach((data) => {
if (data.cameraId == id) {
- data.baseImg = url;
+ data.baseImg = url
}
- });
+ })
},
// 鍒濆鍖栨憚鍍忔満淇℃伅锛岀埗缁勪欢璋冪敤
async initCameraData(id) {
if (!id) {
- return;
+ return
}
- this.plumbIns.deleteEveryConnection();
+ this.plumbIns.deleteEveryConnection()
this.connectArr.forEach((item) => {
- item.deleteEveryConnection();
- });
+ item.deleteEveryConnection()
+ })
//鑾峰彇鐙珛鍦烘櫙
- let newCamera = new VideoRuleData();
+ let newCamera = new VideoRuleData()
if (id && id !== "") {
- this.loading = false;
- newCamera.cameraId = id;
- await newCamera.update();
+ this.loading = false
+ newCamera.cameraId = id
+ await newCamera.update()
}
- this.Camera = newCamera;
- this.SeparateRules = this.Camera.rules;
+ this.Camera = newCamera
+ this.SeparateRules = this.Camera.rules
this.$nextTick(() => {
- this.connectLine();
- });
+ this.connectLine()
+ })
- this.showSysInfo = true;
+ this.showSysInfo = true
// 鍒ゆ柇姝e湪鎵ц瀹炴椂鎴栬�呰疆璇换鍔�
this.PollData.CameraList.forEach((element) => {
if (element.id === newCamera.cameraId) {
- this.runType = element.run_type;
+ this.runType = element.run_type
}
- });
+ })
},
// 鑾峰彇娣峰悎鍦烘櫙
showRules(id) {
if (!id) {
- return;
+ return
}
if (typeof id === "string") {
- id = [id];
+ id = [id]
}
- let rules = [];
+ let rules = []
getLinkSceneRule({ cameraIds: id })
.then((rsp) => {
if (rsp && rsp.success) {
- rules = rsp.data.rules;
+ rules = rsp.data.rules
- this.linkageRule = rules;
+ this.linkageRule = rules
this.$nextTick(() => {
- this.connectLine2();
- });
+ this.connectLine2()
+ })
}
})
- .catch(() => {});
+ .catch(() => {})
},
saveSceneRule(groupRule) {
- const payload = { ...groupRule };
- payload.cameraIds = [this.Camera.cameraId];
- let _this = this;
+ const payload = { ...groupRule }
+ payload.cameraIds = [this.Camera.cameraId]
+ let _this = this
saveCameraScene(payload).then((rsp) => {
if (rsp && rsp.success) {
- this.Camera.update();
+ this.Camera.update()
this.$notify({
type: "success",
- message: "绛栫暐淇濆瓨鎴愬姛锛�",
- });
+ message: "绛栫暐淇濆瓨鎴愬姛锛�"
+ })
//鍒锋柊宸︿晶鏍�
- _this.$root.$children[0].$children[0].querySearchAsync("camera");
+ _this.$root.$children[0].$children[0].querySearchAsync("camera")
}
- });
+ })
},
delScenRule() {
- this.Camera.update();
+ this.Camera.update()
},
changeLoading(params) {
- this.loading = params;
+ this.loading = params
},
//鏄惁杩涜瑙嗛鍒嗘瀽澶勭悊
pollEnable(row) {
- let val = 0;
+ let val = 0
if (row) {
if (this.PollData.RealTimeSum < this.PollData.channelTotal) {
- this.Camera.dealWay = true;
- val = 1;
+ this.Camera.dealWay = true
+ val = 1
} else {
- this.Camera.dealWay = false;
- val = 0;
+ this.Camera.dealWay = false
+ val = 0
}
} else {
- this.Camera.dealWay = false;
- val = -1;
+ this.Camera.dealWay = false
+ val = -1
}
if (this.Camera.cameraId && this.Camera.cameraId !== undefined) {
changeRunType({
camera_ids: [this.Camera.cameraId],
- run_type: val,
+ run_type: val
}).then((rsp) => {
if (rsp && rsp.success) {
this.$notify({
type: "success",
- message: "閰嶇疆鎴愬姛",
- });
+ message: "閰嶇疆鎴愬姛"
+ })
} else {
this.$notify({
type: "error",
- message: "閰嶇疆澶辫触",
- });
+ message: "閰嶇疆澶辫触"
+ })
}
- this.TreeDataPool.fetchTreeData();
- });
+ this.TreeDataPool.fetchTreeData()
+ })
}
- this.PollData.statisticTaskInfo();
+ this.PollData.statisticTaskInfo()
},
//瀹炴椂銆佽疆璇㈠垏鎹�
changePoll(row) {
@@ -661,98 +642,98 @@
if (this.Camera.cameraId && this.Camera.cameraId !== undefined) {
if (this.PollData.RealTimeSum < this.PollData.channelTotal) {
if (row.value) {
- this.Camera.dealWay = true;
+ this.Camera.dealWay = true
} else {
- this.Camera.dealWay = false;
+ this.Camera.dealWay = false
}
changeRunType({
camera_ids: [this.Camera.cameraId],
- run_type: this.Camera.dealWay ? 1 : 0,
+ run_type: this.Camera.dealWay ? 1 : 0
}).then((rsp) => {
if (rsp && rsp.success) {
this.$notify({
type: "success",
- message: "閰嶇疆鎴愬姛",
- });
+ message: "閰嶇疆鎴愬姛"
+ })
} else {
this.$notify({
type: "error",
- message: "閰嶇疆澶辫触",
- });
+ message: "閰嶇疆澶辫触"
+ })
}
- });
+ })
} else {
if (this.Camera.dealWay) {
- this.Camera.dealWay = false;
+ this.Camera.dealWay = false
changeRunType({
camera_ids: [this.Camera.cameraId],
- run_type: this.Camera.dealWay ? 1 : 0,
+ run_type: this.Camera.dealWay ? 1 : 0
}).then((rsp) => {
if (rsp && rsp.success) {
this.$notify({
type: "success",
- message: "閰嶇疆鎴愬姛",
- });
+ message: "閰嶇疆鎴愬姛"
+ })
} else {
this.$notify({
type: "error",
- message: "閰嶇疆澶辫触",
- });
+ message: "閰嶇疆澶辫触"
+ })
}
- });
+ })
}
}
- this.TreeDataPool.fetchTreeData();
- this.PollData.statisticTaskInfo();
+ this.TreeDataPool.fetchTreeData()
+ this.PollData.statisticTaskInfo()
}
},
//澶嶅埗
ctrlC() {
- this.TreeDataPool.ctrlCameraId = this.Camera.cameraId;
- this.TreeDataPool.ctrlCameraName = this.Camera.cameraName;
+ this.TreeDataPool.ctrlCameraId = this.Camera.cameraId
+ this.TreeDataPool.ctrlCameraName = this.Camera.cameraName
this.$notify({
type: "success",
- message: "澶嶅埗绠楁硶鎴愬姛锛�",
- });
+ message: "澶嶅埗绠楁硶鎴愬姛锛�"
+ })
},
ctrlV() {
if (this.Camera.cameraId === this.TreeDataPool.ctrlCameraId) {
this.$notify({
type: "warning",
- message: "涓嶈兘绮樿创鏈憚鍍忔満鐨勭畻娉曞埌鏈憚鍍忔満锛�",
- });
- return false;
+ message: "涓嶈兘绮樿创鏈憚鍍忔満鐨勭畻娉曞埌鏈憚鍍忔満锛�"
+ })
+ return false
}
pasteRules({
sourceId: this.TreeDataPool.ctrlCameraId,
- targetIds: [this.Camera.cameraId],
+ targetIds: [this.Camera.cameraId]
})
.then((res) => {
if (res && res.success) {
this.$notify({
type: "success",
- message: "绮樿创绠楁硶鎴愬姛锛�",
- });
- this.initCameraData(this.Camera.cameraId);
+ message: "绮樿创绠楁硶鎴愬姛锛�"
+ })
+ this.initCameraData(this.Camera.cameraId)
} else {
this.$notify({
type: "error",
- message: "绮樿创绠楁硶澶辫触锛�",
- });
+ message: "绮樿创绠楁硶澶辫触锛�"
+ })
}
})
.catch((err) => {
this.$notify({
type: "error",
- message: "绮樿创绠楁硶澶辫触锛�",
- });
- });
+ message: "绮樿创绠楁硶澶辫触锛�"
+ })
+ })
},
//杩炴帴鐙珛鍦烘櫙杩炵嚎
connectLine() {
//娓呴櫎涔嬪墠鐨勮繛绾�
- this.plumbIns.deleteEveryConnection();
+ this.plumbIns.deleteEveryConnection()
for (let index = 0; index < this.SeparateRules.length; index++) {
this.plumbIns.connect({
@@ -767,19 +748,19 @@
paintStyle: { stroke: "#0065FF", strokeWidth: 2 }, // connector
endpointStyle: {
fill: "#fff",
- outlineStroke: "#0065FF",
- }, // endpoint
- });
+ outlineStroke: "#0065FF"
+ } // endpoint
+ })
}
},
connectLine2() {
this.connectArr.forEach((item) => {
- item.deleteEveryConnection();
- });
+ item.deleteEveryConnection()
+ })
for (let index = 0; index < this.linkageRule.length; index++) {
- const plumbIns = jsPlumb.getInstance();
+ const plumbIns = jsPlumb.getInstance()
plumbIns.connect({
// 瀵瑰簲涓婅堪鍩烘湰姒傚康
@@ -793,130 +774,134 @@
paintStyle: { stroke: "#0065FF", strokeWidth: 2 }, // connector
endpointStyle: {
fill: "#fff",
- outlineStroke: "#0065FF",
- }, // endpoint
- });
+ outlineStroke: "#0065FF"
+ } // endpoint
+ })
- this.connectArr.push(plumbIns);
+ this.connectArr.push(plumbIns)
}
},
//娣诲姞鐙珛鍦烘櫙
addSeparateRule() {
- this.ruleType = "separate";
- this.showAddBox = true;
+ this.ruleType = "separate"
+ this.showAddBox = true
},
- addLinkageRule(ids) {
+ addLinkageRule(ids, camera_polygons) {
if (ids.length < 2) {
this.$message({
message: "璇疯嚦灏戦�夋嫨涓ゅ彴鎽勫儚鏈�",
- type: "warning",
- });
- return;
+ type: "warning"
+ })
+ return
}
- this.newLinkageIds = ids;
- this.ruleType = "linkage";
- this.showAddBox = true;
+ this.newLinkageIds = ids
+ this.ruleType = "linkage"
+ this.showAddBox = true
+ this.newLinkPlg = camera_polygons
},
//鍥炲~鏂扮殑鐙珛鍦烘櫙
getNewRule(newRule) {
//鏂板鍦烘櫙
if (newRule.action === "add") {
- newRule.data.rules = [];
- newRule.data.cameraIds = [this.Camera.cameraId];
- newRule.data.enable = true;
+ newRule.data.rules = []
+ newRule.data.cameraIds = [this.Camera.cameraId]
+ newRule.data.enable = true
//鐙珛鍦烘櫙
if (this.ruleType == "separate") {
- this.SeparateRules.push(newRule.data);
+ this.SeparateRules.push(newRule.data)
this.$nextTick(() => {
- this.connectLine();
- });
+ this.connectLine()
+ })
} else {
//鑱斿姩鍦烘櫙
- newRule.data.cameraIds = this.newLinkageIds;
- this.linkageRule.push(newRule.data);
+ if (this.newLinkPlg) {
+ newRule.data.camera_polygons = this.newLinkPlg
+ }
+ newRule.data.cameraIds = this.newLinkageIds
+ this.linkageRule.push(newRule.data)
this.$nextTick(() => {
- this.connectLine2();
- });
+ this.connectLine2()
+ })
}
- this.showAddBox = false;
+ this.showAddBox = false
//缂栬緫鍦烘櫙
} else if (newRule.action === "edit") {
//鐙珛鍦烘櫙
if (this.ruleType == "separate") {
- this.SeparateRules[newRule.data.index].alarm_level =
- newRule.data.alarm_level;
- this.SeparateRules[newRule.data.index].scene_name =
- newRule.data.scene_name;
- this.SeparateRules[newRule.data.index].desc = newRule.data.desc;
- this.SeparateRules[newRule.data.index].template_id =
- newRule.data.template_id;
- this.SeparateRules[newRule.data.index].time_rule_id =
- newRule.data.time_rule_id;
- this.SeparateRules[newRule.data.index].voiceId = newRule.data.voiceId;
+ this.SeparateRules[newRule.data.index].alarm_level = newRule.data.alarm_level
+ this.SeparateRules[newRule.data.index].scene_name = newRule.data.scene_name
+ this.SeparateRules[newRule.data.index].desc = newRule.data.desc
+ this.SeparateRules[newRule.data.index].template_id = newRule.data.template_id
+ this.SeparateRules[newRule.data.index].time_rule_id = newRule.data.time_rule_id
+ this.SeparateRules[newRule.data.index].voiceId = newRule.data.voiceId
} else {
//鑱斿姩鍦烘櫙
- console.log(this.linkageRule[newRule.data.index]);
-
- this.linkageRule[newRule.data.index].alarm_level =
- newRule.data.alarm_level;
- this.linkageRule[newRule.data.index].scene_name =
- newRule.data.scene_name;
- this.linkageRule[newRule.data.index].desc = newRule.data.desc;
- this.linkageRule[newRule.data.index].template_id =
- newRule.data.template_id;
- this.linkageRule[newRule.data.index].time_rule_id =
- newRule.data.time_rule_id;
- this.linkageRule[newRule.data.index].voiceId = newRule.data.voiceId;
+ this.linkageRule[newRule.data.index].alarm_level = newRule.data.alarm_level
+ this.linkageRule[newRule.data.index].scene_name = newRule.data.scene_name
+ this.linkageRule[newRule.data.index].desc = newRule.data.desc
+ this.linkageRule[newRule.data.index].template_id = newRule.data.template_id
+ this.linkageRule[newRule.data.index].time_rule_id = newRule.data.time_rule_id
+ this.linkageRule[newRule.data.index].voiceId = newRule.data.voiceId
}
- this.showAddBox = false;
- this.$forceUpdate();
+ this.showAddBox = false
+ this.$forceUpdate()
}
- this.editData = {};
+ this.editData = {}
},
//淇敼鐙珛鍦烘櫙
editRules(item, index, type) {
- this.ruleType == type;
+ this.ruleType = type
this.editData = {
type,
rule: item,
- index,
- };
- this.showAddBox = true;
+ index
+ }
+ this.showAddBox = true
},
//娣诲姞绠楁硶
addSdk(type, index) {
- this.editSdkObj = {};
- this.ruleType = type;
+ this.editSdkObj = {}
+ this.ruleType = type
this.addData = {
type,
- index,
- };
- if (this.addData.type === "linkage") {
- this.addData.cameras = [];
- this.linkageRule[index].camera_polygons = [];
- this.Carmeras.forEach((camera) => {
- this.addData.cameras.push({
- polygonData: camera.polygonData,
- cameraName: camera.cameraName,
- cameraId: camera.cameraId,
- });
- this.linkageRule[index].camera_polygons.push({
- polygon: camera.polygonData,
- camera_name: camera.cameraName,
- camera_id: camera.cameraId,
- });
- });
+ index
}
- this.showSdkBox = false;
- this.showSdkSettingBox = true;
+ if (this.addData.type === "linkage") {
+ this.addData.cameras = []
+ if (this.linkageRule[index].camera_polygons && this.linkageRule[index].camera_polygons.length > 0) {
+ this.linkageRule[index].camera_polygons.forEach((camera) => {
+ this.addData.cameras.push({
+ polygonData: camera.polygon,
+ cameraName: camera.camera_name,
+ cameraId: camera.camera_id
+ })
+ })
+ } else {
+ this.linkageRule[index].camera_polygons = []
+ this.Carmeras.forEach((camera) => {
+ this.addData.cameras.push({
+ polygonData: camera.polygonData,
+ cameraName: camera.cameraName,
+ cameraId: camera.cameraId
+ })
+ this.linkageRule[index].camera_polygons.push({
+ polygon: camera.polygonData,
+ camera_name: camera.cameraName,
+ camera_id: camera.cameraId
+ })
+ })
+ }
+ }
+ this.showSdkBox = false
+ this.showSdkSettingBox = true
},
//娣诲姞绠楁硶鍥炶皟
@@ -924,139 +909,134 @@
//鐙珛鍦烘櫙
if (this.addData.type === "separate") {
if (this.SeparateRules[this.addData.index].rules.length > 0) {
- newRule.rule_with_pre = "&&";
- newRule.is_save_anyhow = true;
+ newRule.rule_with_pre = "&&"
+ newRule.is_save_anyhow = true
}
- this.SeparateRules[this.addData.index].rules.push(newRule);
+ this.SeparateRules[this.addData.index].rules.push(newRule)
}
//鑱斿姩鍦烘櫙
else {
if (this.linkageRule[this.addData.index].rules.length > 0) {
- newRule.rule_with_pre = "&&";
- newRule.is_save_anyhow = true;
+ newRule.rule_with_pre = "&&"
+ newRule.is_save_anyhow = true
}
- this.linkageRule[this.addData.index].rules.push(newRule);
+ this.linkageRule[this.addData.index].rules.push(newRule)
}
- this.addData = {};
- this.showSdkSettingBox = false;
- this.TaskMange.findAllSdk({ installed: true });
+ this.addData = {}
+ this.showSdkSettingBox = false
+ this.TaskMange.findAllSdk({ installed: true })
- this.show = false;
+ this.show = false
this.$nextTick(() => {
- this.show = true;
- });
+ this.show = true
+ })
},
//鍙栨秷淇敼
async backToOrigin(type, index, ids) {
if (type === "separate") {
const rsp = await getCameraSceneRule({
- cameraId: this.Camera.cameraId,
- });
+ cameraId: this.Camera.cameraId
+ })
if (rsp && rsp.success) {
- let rules = rsp.data.rules ? rsp.data.rules : [];
+ let rules = rsp.data.rules ? rsp.data.rules : []
rules.forEach((item) => {
- item.cameraIds = rsp.data.cameraInfo.id;
- });
+ item.cameraIds = rsp.data.cameraInfo.id
+ })
if (rules[index]) {
- this.SeparateRules[index] = rules[index];
+ this.SeparateRules[index] = rules[index]
} else {
- this.SeparateRules.splice(index, 1);
+ this.SeparateRules.splice(index, 1)
}
}
- this.$forceUpdate();
- this.connectLine();
+ this.$forceUpdate()
+ this.connectLine()
} else {
getLinkSceneRule({ cameraIds: ids }).then((rsp) => {
if (rsp && rsp.success) {
- let rules = rsp.data.rules ? rsp.data.rules : [];
+ let rules = rsp.data.rules ? rsp.data.rules : []
if (rules[index]) {
- this.linkageRule[index] = rules[index];
+ this.linkageRule[index] = rules[index]
} else {
- this.linkageRule.splice(index, 1);
+ this.linkageRule.splice(index, 1)
}
- this.$forceUpdate();
- this.connectLine2();
+ this.$forceUpdate()
+ this.connectLine2()
}
- console.log("澶辫触");
- });
+ console.log("澶辫触")
+ })
}
},
// 缂栬緫绠楁硶
editSdk(sdkIndex, type, ruleIndex) {
- this.addData = {};
- this.ruleType = type;
+ this.addData = {}
+ this.ruleType = type
if (type === "separate") {
this.editSdkObj = {
ruleIndex,
sdkIndex,
type,
- sdk: this.SeparateRules[ruleIndex].rules[sdkIndex],
- };
+ sdk: this.SeparateRules[ruleIndex].rules[sdkIndex]
+ }
} else {
this.editSdkObj = {
ruleIndex,
sdkIndex,
type,
camera_polygons: this.linkageRule[ruleIndex].camera_polygons,
- sdk: this.linkageRule[ruleIndex].rules[sdkIndex],
- };
+ sdk: this.linkageRule[ruleIndex].rules[sdkIndex]
+ }
}
- this.showSdkBox = false;
- this.showSdkSettingBox = true;
+ this.showSdkBox = false
+ this.showSdkSettingBox = true
},
deletRule(type, index) {
if (type === "separate") {
- this.SeparateRules.splice(index, 1);
+ this.SeparateRules.splice(index, 1)
} else {
- this.linkageRule.splice(index, 1);
+ this.linkageRule.splice(index, 1)
}
},
getEditSdk(newRule) {
- console.log(newRule);
if (this.editSdkObj.type === "separate") {
- this.SeparateRules[this.editSdkObj.ruleIndex].rules[
- this.editSdkObj.sdkIndex
- ] = newRule;
+ this.SeparateRules[this.editSdkObj.ruleIndex].rules[this.editSdkObj.sdkIndex] = newRule
} else {
- this.linkageRule[this.editSdkObj.ruleIndex].rules[
- this.editSdkObj.sdkIndex
- ] = newRule;
+ this.linkageRule[this.editSdkObj.ruleIndex].rules[this.editSdkObj.sdkIndex] = newRule
}
- this.editSdkObj = {};
- this.showSdkSettingBox = false;
+ this.editSdkObj = {}
+ this.showSdkSettingBox = false
},
closeAddBox() {
- this.showAddBox = false;
- this.editData = {};
+ this.showAddBox = false
+ this.editData = {}
},
closeSettingBox() {
- this.showSdkSettingBox = false;
- this.editSdkObj = {};
+ this.showSdkSettingBox = false
+ this.editSdkObj = {}
},
openSdkBox(e) {
- e.stopPropagation();
- this.showSdkBox = true;
+ e.stopPropagation()
+ this.showSdkBox = true
},
selectMultiple(val) {
if (!val) {
- this.Carmeras = [];
+ this.Carmeras = []
}
- this.TreeDataPool.multiple = val;
- },
- },
-};
+ this.TreeDataPool.multiple = val
+ }
+ }
+}
</script>
<style lang="scss" scoped>
@@ -1156,7 +1136,7 @@
.control {
position: absolute;
display: flex;
- justify-content: end;
+ justify-content: flex-end;
top: 20px;
right: 20px;
@@ -1217,7 +1197,7 @@
.control {
position: absolute;
display: flex;
- justify-content: end;
+ justify-content: flex-end;
top: 20px;
right: 20px;
--
Gitblit v1.8.0