From a689af1348938afd3b4506aad9b6d5057193e25d Mon Sep 17 00:00:00 2001 From: ZZJ <10913410+zzj2100@user.noreply.gitee.com> Date: 星期五, 27 五月 2022 09:59:00 +0800 Subject: [PATCH] bug修复 --- src/views/hashrate/CameraManage/CameraRules/index.vue | 101 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 78 insertions(+), 23 deletions(-) diff --git a/src/views/hashrate/CameraManage/CameraRules/index.vue b/src/views/hashrate/CameraManage/CameraRules/index.vue index 595de68..6c3c454 100644 --- a/src/views/hashrate/CameraManage/CameraRules/index.vue +++ b/src/views/hashrate/CameraManage/CameraRules/index.vue @@ -56,7 +56,7 @@ :disabled="false" :snapshot_url="Camera.baseImg" :canvasDataShow="Camera.canvasData" - :currentCameraId="Camera.cameraId" + :currentCamera="Camera" :loading="Camera.loading" :canvasWidth="canvasWidth" :canvasHeight="canvasHeight" @@ -92,14 +92,14 @@ v-loading="loading" element-loading-text="鍒锋柊涓紝璇风◢绛�..." element-loading-background="rgba(0, 0, 0, 0.8)" - :divId="data.cameraId" + :divId="data.camera.cameraId" :isShowDrawArrow="true" :isLink="true" :disabled="false" :loading="data.loading" :snapshot_url="data.baseImg" :canvasDataShow="data.canvasData" - :currentCameraId="data.cameraId" + :currentCamera="data.camera" @changeLoading="changeLoading" @refresh="refresh2" ></polygon-canvas> @@ -178,7 +178,7 @@ <!-- 鎽勫儚鏈� --> <LinkageCameraBox :cameras="item.cameraIds" - @addLinkageRule="addLinkageRule" + @addLinkageRule="addLinkageRule(item.cameraIds)" ></LinkageCameraBox> <div class="Anchor" :id="'linkage_camera' + index"></div> @@ -189,7 +189,7 @@ :rule="item" @edit="editRules(item, index, 'linkage')" @addSdk="addSdk('linkage', index)" - @backToOrigin="backToOrigin('linkage', index)" + @backToOrigin="backToOrigin('linkage', index, item.cameraIds)" @editSdk="editSdk($event, 'linkage', index)" @deletRule="deletRule('linkage', index)" :id="'linkage_' + index" @@ -198,9 +198,27 @@ </div> </template> - <div class="empty" @click="addLinkageRule" v-else> + <div + class="empty" + v-if="linkageRule.length <= 0 && !TreeDataPool.multiple" + > <img src="/images/hashrate/鑱斿姩鍦烘櫙绌洪〉闈�.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="empty"> + <img src="/images/hashrate/鑱斿姩鍦烘櫙绌洪〉闈�.png" alt="" /> + <div class="des">鏆傛棤鑱斿姩鍦烘櫙</div> + </div> </div> </div> @@ -286,6 +304,13 @@ selectedCameraIds() { return this.TreeDataPool.selectedNodes; }, + CarmerasId() { + let arr = []; + this.Carmeras.forEach((item) => { + arr.push(item.cameraId); + }); + return arr; + }, }, data() { return { @@ -328,6 +353,8 @@ prevEl: ".swiper-next-border", }, }, + showNewLinkage: false, + newLinkageIds: [], // swiperOption: { // slidesPerView: 5, @@ -471,6 +498,7 @@ this.$refs.canvas.showModal(); } }, + getCanvasData(data) { let polyon = { ...data }; polyon.camera_id = this.Camera.cameraId; @@ -484,8 +512,12 @@ let carmeras = this.Carmeras; for (let i = 0; i < carmeras.length; i++) { swipers = swipers.concat({ - cameraId: carmeras[i].cameraId, - name: carmeras[i].camearInfo.name, + camera: { + cameraId: carmeras[i].cameraId, + cameraName: carmeras[i].cameraName, + type: carmeras[i].type, + rtsp: carmeras[i].rtsp, + }, baseImg: carmeras[i].baseImg ? carmeras[i].baseImg : undefined, canvasData: carmeras[i].canvasData, loading: carmeras[i].loading, @@ -494,6 +526,7 @@ this.swipercanvasData = swipers; }, refresh(url) { + console.log(url); this.Camera.baseImg = url; }, refresh2(url, id) { @@ -538,16 +571,19 @@ this.runType = element.run_type; } }); - - // 鑾峰彇娣峰悎鍦烘櫙 - this.showRules(id); }, // 鑾峰彇娣峰悎鍦烘櫙 showRules(id) { + if (!id) { + return; + } + if (typeof id === "string") { + id = [id]; + } let rules = []; - getLinkSceneRule({ cameraIds: [id] }) + getLinkSceneRule({ cameraIds: id }) .then((rsp) => { if (rsp && rsp.success) { rules = rsp.data.rules; @@ -781,14 +817,15 @@ this.showAddBox = true; }, - addLinkageRule() { - if (this.Carmeras.length < 2) { + addLinkageRule(ids) { + if (ids.length < 2) { this.$message({ message: "璇疯嚦灏戦�夋嫨涓ゅ彴鎽勫儚鏈�", type: "warning", }); return; } + this.newLinkageIds = ids; this.ruleType = "linkage"; this.showAddBox = true; }, @@ -808,13 +845,7 @@ }); } else { //鑱斿姩鍦烘櫙 - let arr = [this.Camera.cameraId]; - this.Carmeras.forEach((item) => { - if (item.cameraId != this.Camera.cameraId) { - arr.push(item.cameraId); - } - }); - newRule.data.cameraIds = arr; + newRule.data.cameraIds = this.newLinkageIds; this.linkageRule.push(newRule.data); this.$nextTick(() => { this.connectLine2(); @@ -854,6 +885,7 @@ } this.showAddBox = false; + this.$forceUpdate(); } this.editData = {}; }, @@ -912,7 +944,7 @@ }, //鍙栨秷淇敼 - async backToOrigin(type, index) { + async backToOrigin(type, index, ids) { if (type === "separate") { const rsp = await getCameraSceneRule({ cameraId: this.Camera.cameraId, @@ -931,7 +963,7 @@ this.$forceUpdate(); this.connectLine(); } else { - getLinkSceneRule({ cameraIds: [this.Camera.cameraId] }).then((rsp) => { + getLinkSceneRule({ cameraIds: ids }).then((rsp) => { if (rsp && rsp.success) { let rules = rsp.data.rules ? rsp.data.rules : []; if (rules[index]) { @@ -1226,6 +1258,29 @@ } } + .newCameraArea { + display: flex; + .empty { + margin-left: 60px; + width: 1220px; + height: 198px; + border: 1px solid #c0c5cc; + border-radius: 5px; + text-align: center; + background: #f0f5fa; + img { + margin-top: 14px; + width: 250px; + height: 150px; + } + + .des { + margin-top: 2px; + color: #666; + } + } + } + ::v-deep .sourcePoint { margin-top: -4px; margin-left: -6px; -- Gitblit v1.8.0