From a6119509e09abadc65f020f594ae446883567bd5 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 04 八月 2022 04:05:44 +0800 Subject: [PATCH] 修复场景无法编辑的bug --- src/views/hashrate/CameraManage/CameraRules/index.vue | 700 +++++++++++++++++++++++++-------------------------------- 1 files changed, 307 insertions(+), 393 deletions(-) diff --git a/src/views/hashrate/CameraManage/CameraRules/index.vue b/src/views/hashrate/CameraManage/CameraRules/index.vue index b069cc3..e32fd39 100644 --- a/src/views/hashrate/CameraManage/CameraRules/index.vue +++ b/src/views/hashrate/CameraManage/CameraRules/index.vue @@ -71,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" @@ -112,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> @@ -129,39 +117,20 @@ <div class="SeparateRules" @click="selectMultiple(false)"> <div class="title">鐙珛鍦烘櫙</div> <div class="control"> - <el-tooltip - class="item" - effect="dark" - content="绠楁硶浜嬩欢" - placement="top" - > + <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" - > + <el-tooltip class="item" effect="dark" content="鏁版嵁娴佷紶" placement="top"> <i class="iconfont"></i> </el-tooltip> - <el-tooltip - class="item" - effect="dark" - content="妯℃澘鍔╂墜" - placement="top" - > + <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"> @@ -192,28 +161,13 @@ <div class="linkageRule" @click="selectMultiple(true)"> <div class="title">鑱斿姩鍦烘櫙</div> <div class="control"> - <el-tooltip - class="item" - effect="dark" - content="绠楁硶浜嬩欢" - placement="top" - > + <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" - > + <el-tooltip class="item" effect="dark" content="鏁版嵁娴佷紶" placement="top"> <i class="iconfont"></i> </el-tooltip> - <el-tooltip - class="item" - effect="dark" - content="妯℃澘鍔╂墜" - placement="top" - > + <el-tooltip class="item" effect="dark" content="妯℃澘鍔╂墜" placement="top"> <i class="iconfont"></i> </el-tooltip> </div> @@ -222,9 +176,7 @@ <!-- 鎽勫儚鏈� --> <LinkageCameraBox :cameras="item.cameraIds" - @addLinkageRule=" - addLinkageRule(item.cameraIds, item.camera_polygons) - " + @addLinkageRule="addLinkageRule(item.cameraIds, item.camera_polygons)" ></LinkageCameraBox> <div class="Anchor" :id="'linkage_camera' + index"></div> @@ -244,22 +196,13 @@ </div> </template> - <div - class="empty" - v-if="linkageRule.length <= 0 && !TreeDataPool.multiple" - > + <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/l_empty.png" alt="" /> @@ -285,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> @@ -297,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: { @@ -332,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 { @@ -370,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, @@ -392,12 +331,12 @@ 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: [], @@ -426,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) { @@ -708,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({ @@ -814,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({ // 瀵瑰簲涓婅堪鍩烘湰姒傚康 @@ -840,149 +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, camera_polygons) { - console.log(7979); - console.log(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.newLinkPlg = camera_polygons; + 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 { //鑱斿姩鍦烘櫙 if (this.newLinkPlg) { - newRule.data.camera_polygons = this.newLinkPlg; + newRule.data.camera_polygons = this.newLinkPlg } - newRule.data.cameraIds = this.newLinkageIds; - this.linkageRule.push(newRule.data); + 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, - }; + index + } if (this.addData.type === "linkage") { - this.addData.cameras = []; - if ( - this.linkageRule[index].camera_polygons && - this.linkageRule[index].camera_polygons.length > 0 - ) { + 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, - }); - }); + cameraId: camera.camera_id + }) + }) } else { - this.linkageRule[index].camera_polygons = []; + this.linkageRule[index].camera_polygons = [] this.Carmeras.forEach((camera) => { this.addData.cameras.push({ polygonData: camera.polygonData, cameraName: camera.cameraName, - cameraId: camera.cameraId, - }); + cameraId: camera.cameraId + }) this.linkageRule[index].camera_polygons.push({ polygon: camera.polygonData, camera_name: camera.cameraName, - camera_id: camera.cameraId, - }); - }); + camera_id: camera.cameraId + }) + }) } } - this.showSdkBox = false; - this.showSdkSettingBox = true; + this.showSdkBox = false + this.showSdkSettingBox = true }, //娣诲姞绠楁硶鍥炶皟 @@ -990,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> -- Gitblit v1.8.0