From 8f5d6bac4776973c73626c9f34fa68ba1ac83d6e Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 04 八月 2022 02:03:08 +0800 Subject: [PATCH] 修复树滚动条样式,和图片URL --- src/views/search/components/imgDown.vue | 49 - src/views/search/index.vue | 116 ++-- src/views/hashrate/CameraManage/index.vue | 257 +++++------ src/components/canvas/index.vue | 533 +++++++++------------- src/components/subComponents/CardItem.vue | 379 +++++----------- 5 files changed, 522 insertions(+), 812 deletions(-) diff --git a/src/components/canvas/index.vue b/src/components/canvas/index.vue index 2467ad5..cc706af 100644 --- a/src/components/canvas/index.vue +++ b/src/components/canvas/index.vue @@ -1,32 +1,21 @@ <template> - <div - class="s-cavas" - :style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }" - > + <div class="s-cavas" :style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }"> <canvas ref="myCanvas" :width="canvasWidth" :height="canvasHeight" - :style="`background:url(${canvasBg}) center / ${canvasWidth}px ${canvasHeight}px no-repeat; background-size: contain;`" + :style=" + `background:url(${canvasBg}) center / ${canvasWidth}px ${canvasHeight}px no-repeat; background-size: contain;` + " ></canvas> - <el-tooltip - content="鍒锋柊搴曞浘" - placement="bottom" - popper-class="atooltip" - v-if="isShowRefresh" - > + <el-tooltip content="鍒锋柊搴曞浘" placement="bottom" popper-class="atooltip" v-if="isShowRefresh"> <span class="iconfont icongengxin" @click="refresh"></span> </el-tooltip> <p class="tip" :style="disabled ? `display:block;` : `display:none;`"> 鎵归噺閰嶇疆鏂瑰紡涓嶅厑璁哥粯鍒跺尯鍩燂紝璇烽�夋嫨鎽勫儚鏈鸿繘琛屽尯鍩熺粯鍒� </p> - <el-dialog - :visible.sync="visible" - width="1150px" - append-to-body - :before-close="cancelFunc" - > + <el-dialog :visible.sync="visible" width="1150px" append-to-body :before-close="cancelFunc"> <canvas-dialog ref="bigCanvas" :canvasDataToChild="canvasData" @@ -41,94 +30,94 @@ </div> </template> <script> -import canvasDialog from "./Dialog"; -import { updateSnapshot, updategb28181 } from "@/api/camera"; +import canvasDialog from "./Dialog" +import { updateSnapshot, updategb28181 } from "@/api/camera" export default { name: "myCanvas", components: { - canvasDialog, + canvasDialog }, props: { divId: { default: "my-canvas", - type: String, + type: String }, isGB28181: { default: false, - type: Boolean, + type: Boolean }, isShowRefresh: { default: true, - type: Boolean, + type: Boolean }, sourceType: { default: 1, - type: Number, + type: Number }, isShowDrawArrow: { default: false, - type: Boolean, + type: Boolean }, disabled: { default: false, - type: Boolean, + type: Boolean }, canvasDataShow: { default: () => { - return { line: [], rect: [], arrow: [], polygon: [] }; + return { line: [], rect: [], arrow: [], polygon: [] } }, - type: Object, + type: Object }, currentCamera: { - type: Object, + type: Object }, snapshot_url: { type: String, - default: "", + default: "" }, isLink: { type: Boolean, - default: false, + default: false }, loading: { type: Boolean, - default: false, + default: false }, canvasWidth: { type: Number, - default: 576, + default: 576 }, canvasHeight: { type: Number, - default: 324, + default: 324 }, showProportion: { type: Number, - default: 1.666, - }, + default: 1.666 + } }, computed: { canvasBg() { if (this.snapshot_url) { // 鏁版嵁鏍堣嚜鍔ㄤ笂浼犲鐞� if (this.snapshot_url.indexOf("/opt/vasystem") == 0) { - return this.snapshot_url.replace("/opt/vasystem", ""); + return this.snapshot_url.replace("/opt/vasystem", "") } if (this.snapshot_url.indexOf("data:image/png;base64,") != -1) { - return `${this.snapshot_url}`; + return `${this.snapshot_url}` } if (this.sourceType == 2) { - return `${this.snapshot_url}`; + return `${this.snapshot_url}` } else { - console.log(this.snapshot_url); - return `http://${this.snapshot_url}`; + console.log(this.snapshot_url) + return `/httpImage/${this.snapshot_url}` } } else { - return this.blackImg; + return this.blackImg } - }, + } }, data() { return { @@ -137,7 +126,7 @@ line: [], rect: [], arrow: [], - polygon: [], + polygon: [] }, // 鏈�缁堣緭鍑虹殑鐢诲竷鍧愭爣鏁版嵁 canvasPic: new Image(), // 鎾ら攢鐢ㄧ殑鍥剧墖 canvasHistory: [], // 鍘嗗彶鏁版嵁锛屼互渚涙挙閿�浣跨敤 @@ -145,254 +134,188 @@ c: null, ctx: null, visible: false, - baseImg: undefined, + baseImg: undefined //showProportion: 1.666 - }; + } }, watch: { loading: { handler(newVal, oldVal) { if (newVal) { - this.baseImg = ""; - this.refresh(); + this.baseImg = "" + this.refresh() } }, - deep: true, + deep: true }, canvasDataShow: { handler(newVal, oldVal) { // console.log(newVal, "canvasDataShow newVal"); - this.canvasData.line = newVal.line; - this.canvasData.rect = newVal.rect; - this.canvasData.arrow = newVal.arrow; - this.canvasData.polygon = newVal.polygon; - this.clickSelect(this.canvasData); + this.canvasData.line = newVal.line + this.canvasData.rect = newVal.rect + this.canvasData.arrow = newVal.arrow + this.canvasData.polygon = newVal.polygon + this.clickSelect(this.canvasData) }, - deep: true, - }, + deep: true + } }, mounted() { this.$nextTick(() => { // this.c = document.querySelector("#" + this.divId); - this.c = this.$refs.myCanvas; - this.ctx = this.c.getContext("2d"); - this.canvasData = JSON.parse(JSON.stringify(this.canvasDataShow)); - this.clickSelect(this.canvasData); - }); + this.c = this.$refs.myCanvas + this.ctx = this.c.getContext("2d") + this.canvasData = JSON.parse(JSON.stringify(this.canvasDataShow)) + this.clickSelect(this.canvasData) + }) }, methods: { // 鑾峰彇canvas搴曞浘 async getCanvasPic() { // this.$emit('changeBaseImg',this.currentCameraId) - this.$emit("changeLoading", true); + this.$emit("changeLoading", true) if (this.currentCamera.cameraId) { - let _this = this; + let _this = this if (_this.currentCamera.type === 1) { await updategb28181({ - id: _this.currentCamera.cameraId, + id: _this.currentCamera.cameraId }).then((res) => { if (res.data.cameraId === _this.currentCamera.cameraId) { - _this.baseImg = "data:image/png;base64," + res.data.base64; - _this.$emit( - "refresh", - _this.baseImg, - _this.currentCamera.cameraName - ); - _this.$forceUpdate(); + _this.baseImg = "data:image/png;base64," + res.data.base64 + _this.$emit("refresh", _this.baseImg, _this.currentCamera.cameraName) + _this.$forceUpdate() _this.$notify({ type: "success", - message: "搴曞浘宸插埛鏂�", - }); + message: "搴曞浘宸插埛鏂�" + }) } - }); + }) - this.$emit("changeLoading", false); + this.$emit("changeLoading", false) - return; + return } await updateSnapshot({ id: _this.currentCamera.cameraId, name: _this.currentCamera.cameraName, type: _this.currentCamera.type, - rtsp: _this.currentCamera.rtsp, + rtsp: _this.currentCamera.rtsp }).then((res) => { if (res.data.cameraId === _this.currentCamera.cameraId) { - _this.baseImg = "data:image/png;base64," + res.data.base64; - _this.$emit( - "refresh", - _this.baseImg, - _this.currentCamera.cameraName - ); - _this.$forceUpdate(); + _this.baseImg = "data:image/png;base64," + res.data.base64 + _this.$emit("refresh", _this.baseImg, _this.currentCamera.cameraName) + _this.$forceUpdate() _this.$notify({ type: "success", - message: "搴曞浘宸插埛鏂�", - }); + message: "搴曞浘宸插埛鏂�" + }) } - }); + }) - this.$emit("changeLoading", false); + this.$emit("changeLoading", false) } }, showModal() { // console.log(this.canvasData, "鐐瑰嚮缁樺埗鐨勬椂鍊欎紶閫掕繃鍘荤殑鏁版嵁"); - this.visible = true; + this.visible = true this.$nextTick(() => { // this.$refs.bigCanvas.delCursor = {} - }); + }) }, cancelFunc() { - this.visible = false; - this.$refs.bigCanvas.cancel(); + this.visible = false + this.$refs.bigCanvas.cancel() // console.log("鍏抽棴浜�"); }, handleOk() { // 鍒ゆ柇鍥惧舰鐨勫悕瀛楁槸鍚﹂噸澶� // console.log("ok"); - this.$refs.bigCanvas.changeType("0"); - let repeatName = this.isRepeat(); + this.$refs.bigCanvas.changeType("0") + let repeatName = this.isRepeat() if (repeatName !== "") { this.$notify({ type: "error", - message: repeatName + "鍥惧舰鍚嶇О閲嶅锛岃鏇存锛�", - }); - return; + message: repeatName + "鍥惧舰鍚嶇О閲嶅锛岃鏇存锛�" + }) + return } this.$notify({ type: "success", - message: "宸蹭繚瀛樼粯鍒讹紒", - }); + message: "宸蹭繚瀛樼粯鍒讹紒" + }) // 姣忔淇濆瓨鍏抽棴妯℃�佺獥鏃堕兘瑕佹妸妯℃�佺獥鐨勬暟鎹啓鍒扮埗缁勪欢閲屾潵 - this.canvasData = this.$refs.bigCanvas.canvasData; + this.canvasData = this.$refs.bigCanvas.canvasData // 椤轰究鐢╁埌鏇村灞傚幓 - this.$emit("fromCanvas", this.$refs.bigCanvas.canvasData); + this.$emit("fromCanvas", this.$refs.bigCanvas.canvasData) // console.log("浣犲ソ", this.canvasData); - this.clickSelect(this.canvasData); - this.visible = false; + this.clickSelect(this.canvasData) + this.visible = false }, // 鍥炴樉cavas鏁版嵁 // 鐐瑰嚮閫変腑鍙樿壊 灏嗗綋鍓嶉〉闈㈡墍鏈夎矾寰勯噸缁樺垽鏂綋鍓嶉紶鏍囩殑鍧愭爣鍦ㄥ摢涓浘褰㈠唴 濡傛灉涓嶄紶鍧愭爣鍙傛暟灏辨槸鍥炴樉鐨勬柟娉� clickSelect(e) { - this.ctx.clearRect(0, 0, this.c.width, this.c.height); - let _this = this; // 闆嗗悎涓亶鍘嗛渶瑕佸皢this杞瓨涓�涓嬩娇鐢� - _this.canvasData.line.forEach(function (v, i) { - _this.ctx.strokeStyle = "yellow"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[1].x / _this.showProportion, - v.location[1].y / _this.showProportion - ); - _this.ctx.stroke(); - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "default"; + this.ctx.clearRect(0, 0, this.c.width, this.c.height) + let _this = this // 闆嗗悎涓亶鍘嗛渶瑕佸皢this杞瓨涓�涓嬩娇鐢� + _this.canvasData.line.forEach(function(v, i) { + _this.ctx.strokeStyle = "yellow" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.lineTo(v.location[1].x / _this.showProportion, v.location[1].y / _this.showProportion) + _this.ctx.stroke() + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "default" if (e && _this.ctx.isPointInStroke(e.offsetX, e.offsetY)) { // 濡傛灉浼犲叆浜嗕簨浠跺潗鏍囷紝灏辩敤isPointInStroke鍒ゆ柇涓�涓� // 濡傛灉褰撳墠鐜瑕嗙洊浜嗚鍧愭爣锛屽氨灏嗗浘褰㈢殑index鏀惧埌鏁扮粍閲� // 褰撻紶鏍囩Щ鍏ヤ箣鍚庡皢褰撳墠鐨勬ā寮忓垏鎹负閫変腑妯″紡 - _this.type = "0"; - _this.delCursor.type = "1"; - _this.delCursor.index = i; + _this.type = "0" + _this.delCursor.type = "1" + _this.delCursor.index = i // 灏嗗綋鍓嶅厓绱犳爣绾� - _this.ctx.strokeStyle = "red"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[1].x / _this.showProportion, - v.location[1].y / _this.showProportion - ); - _this.ctx.stroke(); - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "pointer"; + _this.ctx.strokeStyle = "red" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.lineTo(v.location[1].x / _this.showProportion, v.location[1].y / _this.showProportion) + _this.ctx.stroke() + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "pointer" } - }); - _this.canvasData.rect.forEach(function (v, i) { - _this.ctx.strokeStyle = "yellow"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[1].x / _this.showProportion, - v.location[1].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[2].x / _this.showProportion, - v.location[2].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[3].x / _this.showProportion, - v.location[3].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.stroke(); - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "default"; + }) + _this.canvasData.rect.forEach(function(v, i) { + _this.ctx.strokeStyle = "yellow" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.lineTo(v.location[1].x / _this.showProportion, v.location[1].y / _this.showProportion) + _this.ctx.lineTo(v.location[2].x / _this.showProportion, v.location[2].y / _this.showProportion) + _this.ctx.lineTo(v.location[3].x / _this.showProportion, v.location[3].y / _this.showProportion) + _this.ctx.lineTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.stroke() + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "default" if (e && _this.ctx.isPointInPath(e.offsetX, e.offsetY)) { // 濡傛灉浼犲叆浜嗕簨浠跺潗鏍囷紝灏辩敤isPointInStroke鍒ゆ柇涓�涓� // 褰撻紶鏍囩Щ鍏ヤ箣鍚庡皢褰撳墠鐨勬ā寮忓垏鎹负閫変腑妯″紡 - _this.type = "0"; - _this.delCursor.type = "2"; - _this.delCursor.index = i; + _this.type = "0" + _this.delCursor.type = "2" + _this.delCursor.index = i // 灏嗗綋鍓嶅厓绱犳爣绾� - _this.ctx.strokeStyle = "red"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[1].x / _this.showProportion, - v.location[1].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[2].x / _this.showProportion, - v.location[2].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[3].x / _this.showProportion, - v.location[3].y / _this.showProportion - ); - _this.ctx.lineTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); - _this.ctx.stroke(); - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "pointer"; + _this.ctx.strokeStyle = "red" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.lineTo(v.location[1].x / _this.showProportion, v.location[1].y / _this.showProportion) + _this.ctx.lineTo(v.location[2].x / _this.showProportion, v.location[2].y / _this.showProportion) + _this.ctx.lineTo(v.location[3].x / _this.showProportion, v.location[3].y / _this.showProportion) + _this.ctx.lineTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) + _this.ctx.stroke() + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "pointer" } - }); - _this.canvasData.arrow.forEach(function (v, i) { - _this.ctx.strokeStyle = "yellow"; + }) + _this.canvasData.arrow.forEach(function(v, i) { + _this.ctx.strokeStyle = "yellow" // _this.ctx.beginPath() // _this.ctx.moveTo(v.location[0].x / 2, v.location[0].y / 2) // _this.ctx.lineTo(v.location[1].x / 2, v.location[1].y / 2) @@ -406,22 +329,18 @@ 20, 30, "yellow" - ); // 缁樺埗鏂规硶 - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "default"; + ) // 缁樺埗鏂规硶 + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "default" if (e && _this.ctx.isPointInStroke(e.offsetX, e.offsetY)) { // 濡傛灉浼犲叆浜嗕簨浠跺潗鏍囷紝灏辩敤isPointInStroke鍒ゆ柇涓�涓� // 濡傛灉褰撳墠鐜瑕嗙洊浜嗚鍧愭爣锛屽氨灏嗗浘褰㈢殑index鏀惧埌鏁扮粍閲� // 褰撻紶鏍囩Щ鍏ヤ箣鍚庡皢褰撳墠鐨勬ā寮忓垏鎹负閫変腑妯″紡 - _this.type = "0"; - _this.delCursor.type = "4"; - _this.delCursor.index = i; + _this.type = "0" + _this.delCursor.type = "4" + _this.delCursor.index = i // 灏嗗綋鍓嶅厓绱犳爣绾� - _this.ctx.strokeStyle = "red"; + _this.ctx.strokeStyle = "red" // _this.ctx.beginPath() // _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) // _this.ctx.lineTo(v.location[1].x / _this.showProportion, v.location[1].y / _this.showProportion) @@ -435,78 +354,62 @@ 20, 30, "red" - ); // 缁樺埗鏂规硶 - _this.showRemarks( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion, - v.name - ); - _this.c.style.cursor = "pointer"; + ) // 缁樺埗鏂规硶 + _this.showRemarks(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion, v.name) + _this.c.style.cursor = "pointer" } - }); - _this.canvasData.polygon.forEach(function (v, i) { + }) + _this.canvasData.polygon.forEach(function(v, i) { if (v.location.length === 0) { - return; + return } - _this.ctx.strokeStyle = "yellow"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); + _this.ctx.strokeStyle = "yellow" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) for (let i = 1; i < v.location.length; i++) { - _this.ctx.lineTo( - v.location[i].x / _this.showProportion, - v.location[i].y / _this.showProportion - ); + _this.ctx.lineTo(v.location[i].x / _this.showProportion, v.location[i].y / _this.showProportion) } - _this.ctx.closePath(); - _this.ctx.stroke(); + _this.ctx.closePath() + _this.ctx.stroke() _this.showRemarks( v.location[v.location.length - 1].x / _this.showProportion, v.location[v.location.length - 1].y / _this.showProportion, v.name - ); - _this.c.style.cursor = "default"; + ) + _this.c.style.cursor = "default" if (e && _this.ctx.isPointInPath(e.offsetX, e.offsetY)) { // 濡傛灉浼犲叆浜嗕簨浠跺潗鏍囷紝灏辩敤isPointInStroke鍒ゆ柇涓�涓� // 濡傛灉褰撳墠鐜瑕嗙洊浜嗚鍧愭爣锛屽氨灏嗗浘褰㈢殑index鏀惧埌鏁扮粍閲� // 褰撻紶鏍囩Щ鍏ヤ箣鍚庡皢褰撳墠鐨勬ā寮忓垏鎹负閫変腑妯″紡 - _this.type = "0"; - _this.delCursor.type = "5"; - _this.delCursor.index = i; + _this.type = "0" + _this.delCursor.type = "5" + _this.delCursor.index = i // 灏嗗綋鍓嶅厓绱犳爣绾� - _this.ctx.strokeStyle = "red"; - _this.ctx.beginPath(); - _this.ctx.moveTo( - v.location[0].x / _this.showProportion, - v.location[0].y / _this.showProportion - ); + _this.ctx.strokeStyle = "red" + _this.ctx.beginPath() + _this.ctx.moveTo(v.location[0].x / _this.showProportion, v.location[0].y / _this.showProportion) for (let i = 1; i < v.location.length; i++) { - _this.ctx.lineTo( - v.location[i].x / _this.showProportion, - v.location[i].y / _this.showProportion - ); + _this.ctx.lineTo(v.location[i].x / _this.showProportion, v.location[i].y / _this.showProportion) } - _this.ctx.closePath(); - _this.ctx.stroke(); + _this.ctx.closePath() + _this.ctx.stroke() _this.showRemarks( v.location[v.location.length - 1].x / _this.showProportion, v.location[v.location.length - 1].y / _this.showProportion, v.name - ); - _this.c.style.cursor = "pointer"; + ) + _this.c.style.cursor = "pointer" } - }); + }) }, // 鍥炴樉鍥惧舰澶囨敞 showRemarks(x, y, remarks) { - this.ctx.moveTo(x, y - 10); // 鍥犱负鏀惧ぇ涔嬪悗鏄痽-20锛屾墍浠ョ缉灏忕増鐨勪负y-10 - this.ctx.fillStyle = "green"; // 璁剧疆濉厖棰滆壊涓虹豢鑹� - this.ctx.font = '10px "寰蒋闆呴粦"'; // 璁剧疆瀛椾綋 - this.ctx.textBaseline = "bottom"; // 璁剧疆瀛椾綋搴曠嚎瀵归綈缁樺埗鍩虹嚎 - this.ctx.textAlign = "left"; // 璁剧疆瀛椾綋瀵归綈鐨勬柟寮� - this.ctx.fillText(remarks, x, y - 10); // 濉厖鏂囧瓧 + this.ctx.moveTo(x, y - 10) // 鍥犱负鏀惧ぇ涔嬪悗鏄痽-20锛屾墍浠ョ缉灏忕増鐨勪负y-10 + this.ctx.fillStyle = "green" // 璁剧疆濉厖棰滆壊涓虹豢鑹� + this.ctx.font = '10px "寰蒋闆呴粦"' // 璁剧疆瀛椾綋 + this.ctx.textBaseline = "bottom" // 璁剧疆瀛椾綋搴曠嚎瀵归綈缁樺埗鍩虹嚎 + this.ctx.textAlign = "left" // 璁剧疆瀛椾綋瀵归綈鐨勬柟寮� + this.ctx.fillText(remarks, x, y - 10) // 濉厖鏂囧瓧 }, // 绠ご缁樺埗鍑芥暟 drawArrow(ctx, fromX, fromY, toX, toY, theta, headlen, width, color) { @@ -517,87 +420,87 @@ // headlen锛氫笁瑙掓枩杈归暱搴� // width锛氱澶寸嚎瀹藉害 // color锛氱澶撮鑹� - theta = typeof theta !== "undefined" ? theta : 30; - headlen = typeof theta !== "undefined" ? headlen : 10; - width = typeof width !== "undefined" ? width : 1; - color = typeof color !== "undefined" ? color : "yellow"; + theta = typeof theta !== "undefined" ? theta : 30 + headlen = typeof theta !== "undefined" ? headlen : 10 + width = typeof width !== "undefined" ? width : 1 + color = typeof color !== "undefined" ? color : "yellow" // 璁$畻鍚勮搴﹀拰瀵瑰簲鐨凱2,P3鍧愭爣 - let angle = (Math.atan2(fromY - toY, fromX - toX) * 180) / Math.PI; - let angle1 = ((angle + theta) * Math.PI) / 180; - let angle2 = ((angle - theta) * Math.PI) / 180; - let topX = headlen * Math.cos(angle1); - let topY = headlen * Math.sin(angle1); - let botX = headlen * Math.cos(angle2); - let botY = headlen * Math.sin(angle2); + let angle = (Math.atan2(fromY - toY, fromX - toX) * 180) / Math.PI + let angle1 = ((angle + theta) * Math.PI) / 180 + let angle2 = ((angle - theta) * Math.PI) / 180 + let topX = headlen * Math.cos(angle1) + let topY = headlen * Math.sin(angle1) + let botX = headlen * Math.cos(angle2) + let botY = headlen * Math.sin(angle2) - ctx.save(); - ctx.beginPath(); - let arrowX = fromX - topX; - let arrowY = fromY - topY; - ctx.moveTo(arrowX, arrowY); - ctx.moveTo(fromX, fromY); - ctx.lineTo(toX, toY); - arrowX = toX + topX; - arrowY = toY + topY; - ctx.moveTo(arrowX, arrowY); - ctx.lineTo(toX, toY); - arrowX = toX + botX; - arrowY = toY + botY; - ctx.lineTo(arrowX, arrowY); - ctx.strokeStyle = color; - ctx.lineWidth = width; - ctx.stroke(); - ctx.restore(); + ctx.save() + ctx.beginPath() + let arrowX = fromX - topX + let arrowY = fromY - topY + ctx.moveTo(arrowX, arrowY) + ctx.moveTo(fromX, fromY) + ctx.lineTo(toX, toY) + arrowX = toX + topX + arrowY = toY + topY + ctx.moveTo(arrowX, arrowY) + ctx.lineTo(toX, toY) + arrowX = toX + botX + arrowY = toY + botY + ctx.lineTo(arrowX, arrowY) + ctx.strokeStyle = color + ctx.lineWidth = width + ctx.stroke() + ctx.restore() }, async refresh() { - console.log("鍒锋柊搴曞浘"); + console.log("鍒锋柊搴曞浘") if (!this.currentCamera.cameraId) { - console.log("娌″埛鏂�"); - return false; + console.log("娌″埛鏂�") + return false } // await this.$emit('changeLoading', true) - this.getCanvasPic(); + this.getCanvasPic() }, // 鍒ゆ柇鍥惧舰鍚嶇О鏄惁閲嶅 isRepeat() { - let _this = this; // 闆嗗悎涓亶鍘嗛渶瑕佸皢this杞瓨涓�涓嬩娇鐢� - let nameArray = []; + let _this = this // 闆嗗悎涓亶鍘嗛渶瑕佸皢this杞瓨涓�涓嬩娇鐢� + let nameArray = [] for (const v of _this.$refs.bigCanvas.canvasData.line) { for (const item of nameArray) { if (v.name === item) { - return v.name; + return v.name } } - nameArray.push(v.name); + nameArray.push(v.name) } for (const v of _this.$refs.bigCanvas.canvasData.arrow) { for (const item of nameArray) { if (v.name === item) { - return v.name; + return v.name } } - nameArray.push(v.name); + nameArray.push(v.name) } for (const v of _this.$refs.bigCanvas.canvasData.rect) { for (const item of nameArray) { if (v.name === item) { - return v.name; + return v.name } } - nameArray.push(v.name); + nameArray.push(v.name) } for (const v of _this.$refs.bigCanvas.canvasData.polygon) { for (const item of nameArray) { if (v.name === item) { - return v.name; + return v.name } } - nameArray.push(v.name); + nameArray.push(v.name) } - return ""; - }, - }, -}; + return "" + } + } +} </script> <style lang="scss" scoped> canvas { diff --git a/src/components/subComponents/CardItem.vue b/src/components/subComponents/CardItem.vue index 5495976..f95823e 100644 --- a/src/components/subComponents/CardItem.vue +++ b/src/components/subComponents/CardItem.vue @@ -20,15 +20,8 @@ indicator-position="none" :arrow="data.baseInfo.length > 1 ? 'always' : 'never'" > - <el-carousel-item - v-for="(item, index) in data.baseInfo" - :key="index" - > - <img - :src="item.targetPicUrl | httpImage" - class="cursor-pointer" - @click="detailsClick($event)" - /> + <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index"> + <img :src="item.targetPicUrl | httpImage" class="cursor-pointer" @click="detailsClick($event)" /> </el-carousel-item> </el-carousel> </div> @@ -36,7 +29,7 @@ class="s-card-left-isCompare-div compareScore111" :style="{ bottom: '0', - background: getUrl(data.baseInfo[initialIndex].bwType), + background: getUrl(data.baseInfo[initialIndex].bwType) }" > <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b> @@ -55,22 +48,14 @@ :autoplay="false" @change="changeCarousel" > - <el-carousel-item - v-for="(item, index) in data.picMaxUrl" - :key="index + 'img'" - > - <img - :src="item | httpImage" - class="cursor-pointer" - @click="detailsClick($event)" - /> + <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index + 'img'"> + <img :src="item | httpImage" class="cursor-pointer" @click="detailsClick($event)" /> </el-carousel-item> </el-carousel> <!-- 鏆傛椂璁や负鍙湁浜鸿劯鎶撴媿鐨勬姤璀�, 棣栭〉鏄剧ず灏忓浘, 鍏朵粬鏃堕棿鍧囨樉绀哄ぇ鍥� --> <img v-else-if=" - (data.targetInfo && data.targetInfo.length === 0) || - data.targetInfo[0].targetType !== 'FaceDetect' + (data.targetInfo && data.targetInfo.length === 0) || data.targetInfo[0].targetType !== 'FaceDetect' " :src="data.picMaxUrl[0] | httpImage" class="cursor-pointer" @@ -84,10 +69,7 @@ /> </div> <div class="s-card-left-box" v-else> - <img - :src="data.baseInfo[0].targetPicUrl | httpImage" - class="cursor-pointer" - /> + <img :src="data.baseInfo[0].targetPicUrl | httpImage" class="cursor-pointer" /> </div> </div> @@ -101,9 +83,7 @@ @mouseleave="cardMouseleave($event)" > <p> - <span class="fontStyle color222">{{ - data.picDate | formatTime - }}</span> + <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> </p> <p style="margin-bottom: 8px"> <span class="fontStyle color222">{{ data.cameraAddr }}</span> @@ -112,9 +92,7 @@ <div slot="content"> <p v-for="(item, index) in data.alarmRules" :key="index + 'rule'"> <span>{{ data.taskName }}</span - > - <span v-if="item.alarmLevel !== '鎾ら槻'" - > {{ item.alarmLevel }}</span + > <span v-if="item.alarmLevel !== '鎾ら槻'"> {{ item.alarmLevel }}</span > <span v-if="item.linkInfo == '鑱斿姩浠诲姟'"> 鑱斿姩浠诲姟</span> </p> @@ -138,14 +116,9 @@ > <span class="fontStyle color666">{{ data.taskName }}</span > - <span class="fontStyle color666" v-if="item.alarmLevel !== '鎾ら槻'" - > {{ item.alarmLevel }}</span + <span class="fontStyle color666" v-if="item.alarmLevel !== '鎾ら槻'"> {{ item.alarmLevel }}</span > - <span - class="fontStyle color666" - v-if="item.linkInfo == '鑱斿姩浠诲姟'" - > 鑱斿姩浠诲姟</span - > + <span class="fontStyle color666" v-if="item.linkInfo == '鑱斿姩浠诲姟'"> 鑱斿姩浠诲姟</span> <span v-if="index < data.alarmRules.length - 1">/ </span> </span> </el-button> @@ -153,22 +126,17 @@ <el-tooltip placement="right" popper-class="atooltip"> <div slot="content"> <p> - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].tableName" - >{{ data.baseInfo[initialIndex].tableName }}</span + <span class="fontStyle" v-if="data.baseInfo[initialIndex].tableName">{{ + data.baseInfo[initialIndex].tableName + }}</span > - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].targetName" + <span class="fontStyle" v-if="data.baseInfo[initialIndex].targetName" >/ {{ data.baseInfo[initialIndex].targetName }}</span > <span class="fontStyle" v-if="data.baseInfo[initialIndex].labels" >/ {{ data.baseInfo[initialIndex].labels | idCard }}</span > - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].monitorLevel" + <span class="fontStyle" v-if="data.baseInfo[initialIndex].monitorLevel" >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span > </p> @@ -193,22 +161,17 @@ : 'font-size:12px;line-height:20px' " > - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].tableName" - >{{ data.baseInfo[initialIndex].tableName }}</span + <span class="fontStyle" v-if="data.baseInfo[initialIndex].tableName">{{ + data.baseInfo[initialIndex].tableName + }}</span > - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].targetName" + <span class="fontStyle" v-if="data.baseInfo[initialIndex].targetName" >/ {{ data.baseInfo[initialIndex].targetName }}</span > <span class="fontStyle" v-if="data.baseInfo[initialIndex].labels" >/ {{ data.baseInfo[initialIndex].labels | idCard }}</span > - <span - class="fontStyle" - v-if="data.baseInfo[initialIndex].monitorLevel" + <span class="fontStyle" v-if="data.baseInfo[initialIndex].monitorLevel" >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span > </span> @@ -262,31 +225,17 @@ <p :style="data.baseInfo[0].bwType == '0' ? '' : 'color:red'"> <span>{{ data.baseInfo[0].targetName }}</span > - <span v-if="data.baseInfo[0].labels" - >/ {{ data.baseInfo[0].labels | idCard }}</span - > + <span v-if="data.baseInfo[0].labels">/ {{ data.baseInfo[0].labels | idCard }}</span> </p> </div> <div class="card-icon-box"> - <el-tooltip - content="鏌ユ壘姝や汉" - placement="top" - popper-class="atooltip" - style="margin-left: 10px" - > - <i - class="iconfont iconsousuoren" - @click="tosearch(data)" - title="鏌ユ壘姝や汉" - ></i> + <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip" style="margin-left: 10px"> + <i class="iconfont iconsousuoren" @click="tosearch(data)" title="鏌ユ壘姝や汉"></i> </el-tooltip> </div> </div> <!-- 娌℃湁搴曞簱 16锛�9鍥剧墖 鏈�姝e父鐨剏olo鎶撴媿 鏃犱汉鍊煎畧 姝e父yolo鎶撴媿娌℃湁灏忓浘--> - <div - v-else-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''" - class="s-card-right-signal" - > + <div v-else-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''" class="s-card-right-signal"> <div class="signal-img-dev" :style="overflowState ? 'overflow: hidden' : 'overflow: auto'" @@ -294,9 +243,7 @@ @mouseleave="cardMouseleave($event)" > <p :title="data.picDate"> - <span class="fontStyle color222">{{ - data.picDate | formatTime - }}</span> + <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> </p> <p :title="data.cameraAddr" style="margin-bottom: 8px"> <span class="fontStyle color222">{{ data.cameraAddr }}</span> @@ -305,10 +252,7 @@ <div slot="content"> <p v-for="(item, index) in data.alarmRules" :key="index + 'rule'"> <span>{{ data.taskName }}</span - > - <span v-if="item.alarmLevel !== '鎾ら槻'">{{ - item.alarmLevel - }}</span + > <span v-if="item.alarmLevel !== '鎾ら槻'">{{ item.alarmLevel }}</span > <span v-if="item.linkInfo == '鑱斿姩浠诲姟'"> 鑱斿姩浠诲姟</span> </p> @@ -331,16 +275,9 @@ > <span class="fontStyle color666">{{ data.taskName }}</span > - <span - class="fontStyle color666" - v-if="item.alarmLevel !== '鎾ら槻'" - >{{ item.alarmLevel }}</span + <span class="fontStyle color666" v-if="item.alarmLevel !== '鎾ら槻'">{{ item.alarmLevel }}</span > - <span - class="fontStyle color666" - v-if="item.linkInfo == '鑱斿姩浠诲姟'" - > 鑱斿姩浠诲姟</span - > + <span class="fontStyle color666" v-if="item.linkInfo == '鑱斿姩浠诲姟'"> 鑱斿姩浠诲姟</span> <span v-if="index < data.alarmRules.length - 1">/ </span> </span> </el-button> @@ -349,18 +286,11 @@ <div class="right-bottom"> <div v-if="!data.id" class="card-icon-box"> <!-- <i class="iconfont systemxing ml50" title="鏀惰棌" ></i> --> - <el-tooltip - content="鏌ユ壘姝や汉" - placement="top" - popper-class="atooltip" - > + <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip"> <i class="iconfont iconsousuoren ml50" @click="tosearch(data)"></i> </el-tooltip> </div> - <div - v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''" - class="card-icon-box" - > + <div v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''" class="card-icon-box"> <el-tooltip content="璇︽儏" placement="top" popper-class="atooltip"> <i class="iconfont iconcaidan" @click="detailsClick($event)"></i> </el-tooltip> @@ -375,18 +305,10 @@ <el-tooltip content="璇︽儏" placement="top" popper-class="atooltip"> <i class="iconfont iconcaidan" @click="detailsClick($event)"></i> </el-tooltip> - <el-tooltip - content="鏌ユ壘姝や汉" - placement="top" - popper-class="atooltip" - > + <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip"> <i class="iconfont iconsousuoren" @click="tosearch(data)"></i> </el-tooltip> - <el-tooltip - content="鍔犲叆搴曞簱" - placement="top" - popper-class="atooltip" - > + <el-tooltip content="鍔犲叆搴曞簱" placement="top" popper-class="atooltip"> <i class="iconfont icontianjiaren" @click="toAdd(data)"></i> </el-tooltip> <!-- <el-tooltip content="鏀惰棌" placement="top" popper-class="atooltip"> @@ -397,10 +319,7 @@ </div> <!-- 娌℃湁搴曞簱锛岄潪姣斿锛屾櫘閫氭ā寮� 涓�瀹氭湁targetInfo锛屽苟涓攖argetInfo涓暟涓�1--> - <div - v-else-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''" - class="s-card-right-signal" - > + <div v-else-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''" class="s-card-right-signal"> <div class="signal-img-dev" :style="overflowState ? 'overflow: hidden' : 'overflow: auto'" @@ -421,29 +340,18 @@ <span v-else>{{ data.baseInfo[0].compareScore | percentage }}</span> </p> <p :title="data.picDate"> - <span class="fontStyle color222">{{ - data.picDate | formatTime - }}</span> + <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> </p> <p :title="data.cameraAddr" style="margin-bottom: 8px"> <span class="fontStyle color222">{{ data.cameraAddr }}</span> </p> - <el-tooltip - placement="right" - popper-class="atooltip" - v-if="!VideoPhotoData.uploadType" - > + <el-tooltip placement="right" popper-class="atooltip" v-if="!VideoPhotoData.uploadType"> <div slot="content"> <p v-for="(item, index) in data.alarmRules" :key="index + 'rule2'"> <span class="fontStyle">{{ data.taskName }}</span - > - <span class="fontStyle" v-if="item.alarmLevel !== '鎾ら槻'">{{ - item.alarmLevel - }}</span + > <span class="fontStyle" v-if="item.alarmLevel !== '鎾ら槻'">{{ item.alarmLevel }}</span > - <span v-if="item.linkInfo == '鑱斿姩浠诲姟'" class="fontStyle" - > 鑱斿姩浠诲姟</span - > + <span v-if="item.linkInfo == '鑱斿姩浠诲姟'" class="fontStyle"> 鑱斿姩浠诲姟</span> <span v-if="index < data.alarmRules.length - 1">/ </span> </p> </div> @@ -459,22 +367,12 @@ text-align: left; " > - <span - v-for="(item, index) in data.alarmRules" - :key="index + 'rule3'" - > + <span v-for="(item, index) in data.alarmRules" :key="index + 'rule3'"> <span class="fontStyle color666">{{ data.taskName }}</span > - <span - class="fontStyle color666" - v-if="item.alarmLevel !== '鎾ら槻'" - >{{ item.alarmLevel }}</span + <span class="fontStyle color666" v-if="item.alarmLevel !== '鎾ら槻'">{{ item.alarmLevel }}</span > - <span - v-if="item.linkInfo == '鑱斿姩浠诲姟'" - class="fontStyle color666" - > 鑱斿姩浠诲姟</span - > + <span v-if="item.linkInfo == '鑱斿姩浠诲姟'" class="fontStyle color666"> 鑱斿姩浠诲姟</span> <span v-if="index < data.alarmRules.length - 1">/ </span> </span> </el-button> @@ -482,24 +380,14 @@ <!-- <p> <span class="fontStyle color666">{{ data.sex }}</span> / <span class="fontStyle color666">{{ data.ageDescription }}</span> / <span class="fontStyle color666">{{ data.race }}</span> </p>--> - <el-tooltip - placement="right" - popper-class="atooltip" - v-if="data.baseInfo && data.baseInfo[0].targetName != ''" - > + <el-tooltip placement="right" popper-class="atooltip" v-if="data.baseInfo && data.baseInfo[0].targetName != ''"> <div slot="content"> <p v-for="(item, index) in data.baseInfo" :key="index + 'base1'"> <span class="fontStyle">{{ item.tableName }}</span + > <span class="fontStyle" v-if="item.targetName.length">/ {{ item.targetName }}</span + > <span class="fontStyle" v-if="item.labels.length">/ {{ item.labels | idCard }}</span > - <span class="fontStyle" v-if="item.targetName.length" - >/ {{ item.targetName }}</span - > - <span class="fontStyle" v-if="item.labels.length" - >/ {{ item.labels | idCard }}</span - > - <span class="fontStyle" v-if="item.labels.length" - >/ {{ item.labels | sex }}</span - > + <span class="fontStyle" v-if="item.labels.length">/ {{ item.labels | sex }}</span> </p> </div> <el-button @@ -518,36 +406,21 @@ v-for="(item, index) in data.baseInfo" :key="index + 'base'" :style=" - item.bwType == '1' - ? 'color:red;font-size:12px;line-height:20px' - : 'font-size:12px;line-height:20px' + item.bwType == '1' ? 'color:red;font-size:12px;line-height:20px' : 'font-size:12px;line-height:20px' " > <span class="fontStyle">{{ item.tableName }}</span + > <span class="fontStyle" v-if="item.targetName.length">/ {{ item.targetName }}</span + > <span class="fontStyle" v-if="item.labels.length">/ {{ item.labels | idCard }}</span > - <span class="fontStyle" v-if="item.targetName.length" - >/ {{ item.targetName }}</span - > - <span class="fontStyle" v-if="item.labels.length" - >/ {{ item.labels | idCard }}</span - > - <span class="fontStyle" v-if="item.labels.length" - >/ {{ item.labels | sex }}</span - > + <span class="fontStyle" v-if="item.labels.length">/ {{ item.labels | sex }}</span> </span> </el-button> </el-tooltip> - <el-tooltip - placement="right" - popper-class="atooltip" - v-if="data.baseInfo == null" - style="margin-top: 5px" - > + <el-tooltip placement="right" popper-class="atooltip" v-if="data.baseInfo == null" style="margin-top: 5px"> <div slot="content"> - <span :style="'color:red;font-size:14px;line-height:20px'">{{ - data.showLabels - }}</span> + <span :style="'color:red;font-size:14px;line-height:20px'">{{ data.showLabels }}</span> </div> <el-button style=" @@ -561,9 +434,7 @@ text-align: left; " > - <span :style="'color:red;font-size:14px;line-height:20px'">{{ - data.showLabels - }}</span> + <span :style="'color:red;font-size:14px;line-height:20px'">{{ data.showLabels }}</span> </el-button> </el-tooltip> </div> @@ -571,11 +442,7 @@ <div v-if="!data.id" class="card-icon-box"> <!-- 搴曞簱浜哄憳 --> <!-- <i class="iconfont systemxing ml50" title="鏀惰棌" ></i> --> - <el-tooltip - content="鏌ユ壘姝や汉" - placement="top" - popper-class="atooltip" - > + <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip"> <i class="iconfont iconsousuoren ml50" @click="tosearch(data)"></i> </el-tooltip> </div> @@ -629,23 +496,16 @@ > <div> <p :title="data.picDate"> - <span class="fontStyle color222">{{ - data.picDate | formatTime - }}</span> + <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> </p> <p :title="data.cameraAddr" style="margin-bottom: 8px"> <span class="fontStyle color222">{{ data.cameraAddr }}</span> </p> <p v-for="(item, index) in data.alarmRules" :key="index + 'rule'"> <span class="fontStyle color666">{{ data.taskName }}</span + > / <span class="fontStyle color666">{{ item.alarmLevel }}</span > / - <span class="fontStyle color666">{{ item.alarmLevel }}</span - > / - <span - v-if="item.linkInfo == '鑱斿姩浠诲姟'" - class="fontStyle color666" - >鑱斿姩浠诲姟</span - > + <span v-if="item.linkInfo == '鑱斿姩浠诲姟'" class="fontStyle color666">鑱斿姩浠诲姟</span> <span v-if="index < data.alarmRules.length - 1">/ </span> </p> </div> @@ -656,7 +516,7 @@ </template> <script> -Date.prototype.Format = function (fmt) { +Date.prototype.Format = function(fmt) { var o = { "M+": this.getMonth() + 1, //鏈堜唤 "d+": this.getDate(), //鏃� @@ -664,78 +524,69 @@ "m+": this.getMinutes(), //鍒� "s+": this.getSeconds(), //绉� "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害 - S: this.getMilliseconds(), //姣 - }; - if (/(y+)/.test(fmt)) - fmt = fmt.replace( - RegExp.$1, - (this.getFullYear() + "").substr(4 - RegExp.$1.length) - ); + S: this.getMilliseconds() //姣 + } + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)) for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) - fmt = fmt.replace( - RegExp.$1, - RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length) - ); - return fmt; -}; + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)) + return fmt +} export default { mounted() { //window.addEventListener("resize", this.watchWindow); - window.addEventListener("resize", this.getBottom); + window.addEventListener("resize", this.getBottom) }, props: { data: { type: Object, - default: null, + default: null }, showType: { type: String, - default: "search", + default: "search" }, fromCluster: { type: Boolean, - default: false, + default: false }, - searchT: {}, + searchT: {} }, computed: { isId() { - return this.data.id; - }, + return this.data.id + } }, filters: { formatTime(t) { - return new Date(t).Format("yyyy-MM-dd HH:mm:ss"); + return new Date(t).Format("yyyy-MM-dd HH:mm:ss") }, percentage(score) { - return score.toFixed(2) + "%"; + return score.toFixed(2) + "%" }, idCard(v) { try { - let obj = JSON.parse(v); - return obj.idCard; + let obj = JSON.parse(v) + return obj.idCard } catch (error) { - return v.split("/")[1]; + return v.split("/")[1] } }, sex(v) { try { - let obj = JSON.parse(v); - return obj.sex; + let obj = JSON.parse(v) + return obj.sex } catch (error) { - return v.split("/")[0]; + return v.split("/")[0] } }, httpImage(url) { if (!url.length) { - return ""; + return "" } - return ( - "/httpImage/" + url + (url.indexOf("?") >= 0 ? "&" : "?") + "width=160" - ); - }, + return "/httpImage/" + url + (url.indexOf("?") >= 0 ? "&" : "?") + "width=160" + } }, data() { return { @@ -743,64 +594,62 @@ initialIndex: 0, carouselIndex: 0, dialogVisible: false, - overflowState: true, - }; + overflowState: true + } }, watch: { data: { handler(val, oldVal) { - this.$forceUpdate(); + this.$forceUpdate() }, - deep: true, - }, + deep: true + } }, methods: { getBottom() { this.$nextTick(() => { - let imgDom = this.$refs.firstImg; + let imgDom = this.$refs.firstImg if (imgDom) { - let num = (imgDom.offsetHeight - imgDom.offsetWidth) / 2; - return `${num}px`; + let num = (imgDom.offsetHeight - imgDom.offsetWidth) / 2 + return `${num}px` } - return `4px`; - }); + return `4px` + }) }, getUrl(bwtype) { if (bwtype == 1) { - return `url(${require("@/assets/img/red.png")})`; + return `url(${require("@/assets/img/red.png")})` } else { - return `url(${require("@/assets/img/green.png")})`; + return `url(${require("@/assets/img/green.png")})` } }, changeInitialIndex(index) { - this.initialIndex = index; + this.initialIndex = index }, cardMouseenter(ev) { - this.overflowState = false; + this.overflowState = false }, cardMouseleave(ev) { - this.overflowState = true; + this.overflowState = true }, changeCarousel(index) { - this.carouselIndex = index; + this.carouselIndex = index }, detailsClick(ev) { - this.$emit("detailsClick", ev); + this.$emit("detailsClick", ev) }, toAdd(item) { - this.$emit("addToBase", item); + this.$emit("addToBase", item) }, tosearch(item) { - this.searchT; - let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id; - let imgUrl = item.targetInfo - ? item.targetInfo[0].picSmUrl - : item.baseInfo[0].targetPicUrl; - let compType = 1; // 鏁版嵁鏉ヨ嚜浜巈s + this.searchT + let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id + let imgUrl = item.targetInfo ? item.targetInfo[0].picSmUrl : item.baseInfo[0].targetPicUrl + let compType = 1 // 鏁版嵁鏉ヨ嚜浜巈s if (!item.id || item.id == "") { - compType = 0; // 鏁版嵁鏉ヨ嚜浜庡簳搴� + compType = 0 // 鏁版嵁鏉ヨ嚜浜庡簳搴� } - let message; + let message if (this.fromCluster) { message = "toCluster?showType=findByPic&targetId=" + @@ -814,7 +663,7 @@ "&start=" + this.searchT[0] + "&end=" + - this.searchT[1]; + this.searchT[1] } else { message = "toSearch?showType=findByPic&targetId=" + @@ -828,19 +677,23 @@ "&start=" + this.searchT[0] + "&end=" + - this.searchT[1]; + this.searchT[1] } window.parent.postMessage( { - msg: message, + msg: message }, "*" - ); - }, - }, -}; + ) + } + } +} </script> <style lang="scss"> +.cursor-pointer { + cursor: pointer; +} + .fontStyle { font-family: PingFangSC-Medium; } diff --git a/src/views/hashrate/CameraManage/index.vue b/src/views/hashrate/CameraManage/index.vue index 5101a13..19f4137 100644 --- a/src/views/hashrate/CameraManage/index.vue +++ b/src/views/hashrate/CameraManage/index.vue @@ -3,13 +3,7 @@ <div class="cluster"> <div class="title">闆嗙兢閫夋嫨</div> <el-select v-model="cluster" placeholder="璇烽�夋嫨" @change="selectCluster"> - <el-option - v-for="item in clusterArr" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> + <el-option v-for="item in clusterArr" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> <div class="content"> @@ -19,49 +13,35 @@ </div> <div class="right"> <div class="tabs"> - <div - class="tab" - :class="{ active: activeTab === '淇℃伅缁存姢' }" - @click="handleClick('淇℃伅缁存姢')" - > + <div class="tab" :class="{ active: activeTab === '淇℃伅缁存姢' }" @click="handleClick('淇℃伅缁存姢')"> 淇℃伅缁存姢 </div> - <div - class="tab" - :class="{ active: activeTab === '鍦烘櫙閰嶇疆' }" - @click="handleClick('鍦烘櫙閰嶇疆')" - > + <div class="tab" :class="{ active: activeTab === '鍦烘櫙閰嶇疆' }" @click="handleClick('鍦烘櫙閰嶇疆')"> 鍦烘櫙閰嶇疆 </div> </div> - <CameraInfo - ref="cameraInfo" - v-show="activeTab === '淇℃伅缁存姢'" - ></CameraInfo> - <CameraRules - v-show="activeTab === '鍦烘櫙閰嶇疆'" - ref="sepRule" - ></CameraRules> + <CameraInfo ref="cameraInfo" v-show="activeTab === '淇℃伅缁存姢'"></CameraInfo> + <CameraRules v-show="activeTab === '鍦烘櫙閰嶇疆'" ref="sepRule"></CameraRules> </div> </div> </div> </template> <script> -import CameraLeft from "@/components/CameraLeft"; -import CameraInfo from "./CameraInfo"; -import CameraRules from "./CameraRules"; -import VideoRuleData from "@/Pool/VideoRuleData"; +import CameraLeft from "@/components/CameraLeft" +import CameraInfo from "./CameraInfo" +import CameraRules from "./CameraRules" +import VideoRuleData from "@/Pool/VideoRuleData" -import { getClusterDevList } from "@/api/clusterManage"; +import { getClusterDevList } from "@/api/clusterManage" -import bus from "@/plugin/bus"; +import bus from "@/plugin/bus" export default { components: { CameraLeft, CameraInfo, - CameraRules, + CameraRules }, data() { @@ -72,25 +52,25 @@ clusterData: [], intervalTimer: null, leftWith: 0, - screenHeight: 0, - }; + screenHeight: 0 + } }, destroyed() { - this.TreeDataPool.readonly = true; + this.TreeDataPool.readonly = true }, watch: { - "TreeDataPool.activeNode": function (node) { - sessionStorage.setItem("cameraDevId", node.devId); + "TreeDataPool.activeNode": function(node) { + sessionStorage.setItem("cameraDevId", node.devId) if (this.activeTab == "淇℃伅缁存姢") { if (this.TreeDataPool.treeActiveName == "camera") { - this.$refs.cameraInfo.selectCamera(node); + this.$refs.cameraInfo.selectCamera(node) } } else if (this.activeTab === "鍦烘櫙閰嶇疆") { - this.$refs.sepRule.initCameraData(node.id); + this.$refs.sepRule.initCameraData(node.id) if (!this.TreeDataPool.multiple) { - this.$refs.sepRule.showRules(node.id); + this.$refs.sepRule.showRules(node.id) } } }, @@ -98,196 +78,188 @@ handler(nodes, oldVal) { if (this.activeTab == "鍦烘櫙閰嶇疆") { // this.$refs.sepRule.initCameraData(nodes[nodes.length - 1]); - let CameraArr = []; - let CameraIds = []; + let CameraArr = [] + let CameraIds = [] nodes.forEach((id) => { - let newCamera = new VideoRuleData(id); - CameraArr.push(newCamera); - CameraIds.push(id); - }); + let newCamera = new VideoRuleData(id) + CameraArr.push(newCamera) + CameraIds.push(id) + }) - this.$refs.sepRule.Carmeras = CameraArr; - if ( - nodes.length == 1 && - oldVal.length == 1 && - nodes[0] == oldVal[0] - ) { - return; + this.$refs.sepRule.Carmeras = CameraArr + if (nodes.length == 1 && oldVal.length == 1 && nodes[0] == oldVal[0]) { + return } if (this.TreeDataPool.multiple && oldVal[0]) { - this.$refs.sepRule.showRules(CameraIds); + this.$refs.sepRule.showRules(CameraIds) } - console.log(CameraArr); + console.log(CameraArr) } }, - deep: true, + deep: true }, "DataStackPool.selectedDir": { handler(node, oldNode) { if (this.TreeDataPool.treeActiveName !== "dataStack") { - return; + return } this.$nextTick(() => { if (this.activeTab == "淇℃伅缁存姢") { // this.$refs.dataStackInfo.selectDir(node); } else if (this.activeTab == "鍦烘櫙閰嶇疆" && node.length !== 0) { - this.$refs.sepRule.initCameraData(node.id); + this.$refs.sepRule.initCameraData(node.id) } - }); + }) }, - deep: true, - }, + deep: true + } }, created() { - this.getCluster(); - this.TreeDataPool.readonly = false; + this.getCluster() + this.TreeDataPool.readonly = false // this.TreeDataPool.readonly = true; //this.TreeDataPool.gbReadonly = true; - this.TreeDataPool.multiple = false; - this.TreeDataPool.selectedNode = ""; - this.selectedNodes = []; + this.TreeDataPool.multiple = false + this.TreeDataPool.selectedNode = "" + this.selectedNodes = [] }, beforeDestroy() { - sessionStorage.removeItem("devId"); - sessionStorage.removeItem("clusterId"); - clearInterval(this.intervalTimer); + sessionStorage.removeItem("devId") + sessionStorage.removeItem("clusterId") + clearInterval(this.intervalTimer) //this.TreeDataPool.treeActiveName = "camera"; }, mounted() { this.$nextTick(() => { bus.$on("addCameraOnTree", (node) => { - this.handAddDevice(node); - }); + this.handAddDevice(node) + }) bus.$on("addDirOnTree", (node) => { - this.handAddDIr(node); - }); - this.TreeDataPool.clean(); - }); + this.handAddDIr(node) + }) + this.TreeDataPool.clean() + }) }, methods: { TextWidthChange(e) { - console.log(1212); - let odivParent = e.currentTarget.parentNode; //鑾峰彇鐩爣鐖跺厓绱� - let dx = e.clientX; //褰撲綘绗竴娆″崟鍑荤殑鏃跺�欙紝瀛樺偍x杞寸殑鍧愭爣銆� - let dw = odivParent.offsetWidth; //瀛樺偍榛樿鐨刣iv鐨勫搴︺�� + console.log(1212) + let odivParent = e.currentTarget.parentNode //鑾峰彇鐩爣鐖跺厓绱� + let dx = e.clientX //褰撲綘绗竴娆″崟鍑荤殑鏃跺�欙紝瀛樺偍x杞寸殑鍧愭爣銆� + let dw = odivParent.offsetWidth //瀛樺偍榛樿鐨刣iv鐨勫搴︺�� document.onmousemove = (e) => { - odivParent.style.width = dw + (e.clientX - dx) + "px"; + odivParent.style.width = dw + (e.clientX - dx) + "px" if (odivParent.offsetWidth <= 100) { //褰撶洅瀛愮缉灏忓埌涓�瀹氳寖鍥村唴鐨勬椂鍊欙紝璁╀粬淇濇寔涓�涓浐瀹氬�硷紝涓嶅啀缁х画鏀瑰彉 - odivParent.style.width = "100px"; + odivParent.style.width = "100px" } if (odivParent.offsetWidth + odivParent.offsetLeft >= this.pdfWidth) { - odivParent.style.width = this.pdfWidth - odivParent.offsetLeft + "px"; + odivParent.style.width = this.pdfWidth - odivParent.offsetLeft + "px" } - }; + } document.onmouseup = (e) => { - document.onmousemove = null; - document.onmouseup = null; - }; - e.stopPropagation(); - e.preventDefault(); - return false; + document.onmousemove = null + document.onmouseup = null + } + e.stopPropagation() + e.preventDefault() + return false }, handAddDevice(node) { - let _this = this; + let _this = this setTimeout(() => { - _this.$refs.cameraInfo.addDevice(node); - _this.activeTab = "淇℃伅缁存姢"; - }, 100); + _this.$refs.cameraInfo.addDevice(node) + _this.activeTab = "淇℃伅缁存姢" + }, 100) }, handAddDIr(node) { - let _this = this; + let _this = this setTimeout(() => { - _this.$refs.dataStackInfo.addDir(node); - _this.activeTab = "淇℃伅缁存姢"; - }, 100); + _this.$refs.dataStackInfo.addDir(node) + _this.activeTab = "淇℃伅缁存姢" + }, 100) }, handleClick(tab) { //杩欎釜鎺у埗鏄惁澶氶�� // this.TreeDataPool.multiple = tab.name === "鍦烘櫙閰嶇疆"; - this.activeTab = tab; + this.activeTab = tab if (tab === "淇℃伅缁存姢") { if (this.TreeDataPool.treeActiveName == "camera") { - this.$refs.cameraInfo.selectCamera(this.TreeDataPool.selectedNode); + this.$refs.cameraInfo.selectCamera(this.TreeDataPool.selectedNode) } else if (this.TreeDataPool.treeActiveName == "dataStack") { - this.$refs.dataStackInfo.selectDir(this.DataStackPool.selectedDir); + this.$refs.dataStackInfo.selectDir(this.DataStackPool.selectedDir) } } else if (tab === "鍦烘櫙閰嶇疆") { if (this.TreeDataPool.treeActiveName == "camera") { - this.$refs.sepRule.initCameraData(this.TreeDataPool.selectedNode.id); - this.$refs.sepRule.showRules(this.TreeDataPool.selectedNode.id); + this.$refs.sepRule.initCameraData(this.TreeDataPool.selectedNode.id) + this.$refs.sepRule.showRules(this.TreeDataPool.selectedNode.id) } else if (this.TreeDataPool.treeActiveName == "dataStack") { - this.$refs.sepRule.initCameraData(this.DataStackPool.selectedDir.id); + this.$refs.sepRule.initCameraData(this.DataStackPool.selectedDir.id) } } }, async getCluster() { - const res = await getClusterDevList(); + const res = await getClusterDevList() if (res && res.success) { - this.clusterData = res.data.clusterList; + this.clusterData = res.data.clusterList if (res.data.clusterList <= 0 && res.data.devList <= 0) { - this.$confirm( - "绯荤粺妫�娴嬪埌鎮ㄨ繕鏈坊鍔犺澶�, 璇峰湪璁惧绠$悊椤甸潰缁存姢", - "鎻愮ず", - { - confirmButtonText: "璺宠浆", - cancelButtonText: "鍙栨秷", - type: "warning", - } - ) + this.$confirm("绯荤粺妫�娴嬪埌鎮ㄨ繕鏈坊鍔犺澶�, 璇峰湪璁惧绠$悊椤甸潰缁存姢", "鎻愮ず", { + confirmButtonText: "璺宠浆", + cancelButtonText: "鍙栨秷", + type: "warning" + }) .then(() => { - this.$router.push("/manageCenter"); + this.$router.push("/manageCenter") }) - .catch(() => {}); + .catch(() => {}) } res.data.clusterList.forEach((item) => { this.clusterArr.push({ label: item.cluster_name, - value: "0$$" + item.cluster_id, - }); - }); + value: "0$$" + item.cluster_id + }) + }) res.data.devList.forEach((item) => { this.clusterArr.push({ label: item.devName, - value: "1$$" + item.devId, - }); - }); + value: "1$$" + item.devId + }) + }) - this.cluster = this.clusterArr[0].value; - this.selectCluster(this.clusterArr[0].value); + this.cluster = this.clusterArr[0].value + this.selectCluster(this.clusterArr[0].value) } }, selectCluster(val) { - const arr = val.split("$$"); + const arr = val.split("$$") if (arr[0] == "0") { - sessionStorage.setItem("clusterId", arr[1]); - sessionStorage.setItem("devId", ""); - console.log(this.clusterData); + sessionStorage.setItem("clusterId", arr[1]) + sessionStorage.setItem("devId", "") + console.log(this.clusterData) this.clusterData.forEach((item) => { if (arr[1] == item.cluster_id) { - sessionStorage.setItem("nodeId", item.nodeList[0].devId); + sessionStorage.setItem("nodeId", item.nodeList[0].devId) } - }); + }) } if (arr[0] == "1") { - sessionStorage.setItem("clusterId", ""); - sessionStorage.setItem("devId", arr[1]); - sessionStorage.setItem("nodeId", arr[1]); + sessionStorage.setItem("clusterId", "") + sessionStorage.setItem("devId", arr[1]) + sessionStorage.setItem("nodeId", arr[1]) } - this.TreeDataPool.fetchTreeData(); - this.PollData.statisticTaskInfo(); - this.VideoManageData.init(); - this.PollData.statistics(); - }, - }, -}; + this.TreeDataPool.fetchTreeData() + this.PollData.statisticTaskInfo() + this.VideoManageData.init() + this.PollData.statistics() + } + } +} </script> <style lang="scss" scoped> @@ -343,7 +315,8 @@ .column-left { position: relative; margin-right: 24px; - width: 292px; + height: 233vh; + overflow: auto; background-color: #fff; } @@ -388,4 +361,4 @@ } } } -</style> \ No newline at end of file +</style> diff --git a/src/views/search/components/imgDown.vue b/src/views/search/components/imgDown.vue index dd8a9c7..88f562d 100644 --- a/src/views/search/components/imgDown.vue +++ b/src/views/search/components/imgDown.vue @@ -1,60 +1,55 @@ <template> <div class="imgBox"> - <img - :src="'http://' + url" - class="cursor-pointer" - v-if="isPreview" - preview - /> - <img :src="'http://' + url" v-if="!isPreview" /> + <img :src="'/httpImage/' + url" class="cursor-pointer" v-if="isPreview" preview /> + <img :src="'/httpImage/' + url" v-if="!isPreview" /> <el-button class="btn" @click="downloadIamge('/httpImage/' + url)"> <i class="iconfont iconxiazai"></i> </el-button> </div> </template> <script> -import axios from "axios"; +import axios from "axios" export default { props: { url: { default: "", - type: String, + type: String }, isPreview: { default: true, - type: Boolean, - }, + type: Boolean + } }, methods: { downloadIamge(url) { this.$notify.info({ title: "娑堟伅", - message: "璧勬簮涓嬭浇涓�,璇风◢鍚�...", - }); + message: "璧勬簮涓嬭浇涓�,璇风◢鍚�..." + }) axios({ method: "get", url: url, - responseType: "blob", + responseType: "blob" }) .then((res) => { if (res.status == 200) { - var a = document.createElement("a"); - var strs = url.split("/"); - var href = new Blob([res.data], { type: "image/jpeg" }); - a.href = URL.createObjectURL(href); - a.download = strs[strs.length - 1] + ".jpg"; - a.click(); + var a = document.createElement("a") + var strs = url.split("/") + var href = new Blob([res.data], { type: "image/jpeg" }) + a.href = URL.createObjectURL(href) + a.download = strs[strs.length - 1] + ".jpg" + a.click() } }) .catch((err) => { this.$notify({ type: "error", - message: "涓嬭浇澶辫触锛�" + err + "璇烽噸璇曪紒", - }); - }); - }, - }, -}; + message: "涓嬭浇澶辫触锛�" + err + "璇烽噸璇曪紒" + }) + }) + } + } +} </script> <style lang="scss" scoped> .imgBox { @@ -95,4 +90,4 @@ opacity: 1; } } -</style> \ No newline at end of file +</style> diff --git a/src/views/search/index.vue b/src/views/search/index.vue index d345174..9685086 100644 --- a/src/views/search/index.vue +++ b/src/views/search/index.vue @@ -1,18 +1,8 @@ <template> <div class="column"> <div class="search_cluster"> - <el-select - v-model="cluster" - placeholder="璇烽�夋嫨闆嗙兢" - @change="selectCluster" - > - <el-option - v-for="item in clusterArr" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> + <el-select v-model="cluster" placeholder="璇烽�夋嫨闆嗙兢" @change="selectCluster"> + <el-option v-for="item in clusterArr" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> <div class="column-left"> @@ -30,108 +20,104 @@ </template> <script> -import LeftNav from "@/components/CameraLeft"; -import RightSide from "./Searching"; -import CardWindow from "./components/CardWindow"; -import { getClusterDevList } from "@/api/clusterManage"; +import LeftNav from "@/components/CameraLeft" +import RightSide from "./Searching" +import CardWindow from "./components/CardWindow" +import { getClusterDevList } from "@/api/clusterManage" export default { name: "SearchPage", components: { LeftNav, RightSide, - CardWindow, + CardWindow }, data() { return { screenHeight: 0, clusterArr: [], - cluster: "", - }; + cluster: "" + } }, created() { // this.parseUrl(); - this.getCluster(); + this.getCluster() }, mounted() { - this.screenHeight = document.documentElement.clientHeight - 20; + this.screenHeight = document.documentElement.clientHeight - 20 window.onresize = () => { return (() => { - this.screenHeight = document.documentElement.clientHeight - 20; - })(); - }; + this.screenHeight = document.documentElement.clientHeight - 20 + })() + } }, beforeDestroy() { - sessionStorage.removeItem("clusterId"); - sessionStorage.removeItem("devId"); + sessionStorage.removeItem("clusterId") + sessionStorage.removeItem("devId") }, methods: { parseUrl() {}, selectCluster(val) { - const arr = val.split("$$"); + const arr = val.split("$$") if (arr[0] == "0") { - sessionStorage.setItem("clusterId", arr[1]); - sessionStorage.setItem("devId", ""); - console.log(this.clusterData); + sessionStorage.setItem("clusterId", arr[1]) + sessionStorage.setItem("devId", "") + console.log(this.clusterData) this.clusterData.forEach((item) => { if (arr[1] == item.cluster_id) { - sessionStorage.setItem("nodeId", item.nodeList[0].devId); + sessionStorage.setItem("nodeId", item.nodeList[0].devId) } - }); + }) } if (arr[0] == "1") { - sessionStorage.setItem("clusterId", ""); - sessionStorage.setItem("devId", arr[1]); - sessionStorage.setItem("nodeId", arr[1]); + sessionStorage.setItem("clusterId", "") + sessionStorage.setItem("devId", arr[1]) + sessionStorage.setItem("nodeId", arr[1]) } - this.TreeDataPool.fetchTreeData(); - this.PollData.statisticTaskInfo(); - this.VideoManageData.init(); - this.PollData.statistics(); + this.TreeDataPool.fetchTreeData() + this.PollData.statisticTaskInfo() + this.VideoManageData.init() + this.PollData.statistics() }, async getCluster() { - const res = await getClusterDevList(); + const res = await getClusterDevList() if (res && res.success) { - this.clusterData = res.data.clusterList; + this.clusterData = res.data.clusterList if (res.data.clusterList <= 0 && res.data.devList <= 0) { - this.$confirm( - "绯荤粺妫�娴嬪埌鎮ㄨ繕鏈坊鍔犺澶�, 璇峰湪璁惧绠$悊椤甸潰缁存姢", - "鎻愮ず", - { - confirmButtonText: "璺宠浆", - cancelButtonText: "鍙栨秷", - type: "warning", - } - ) + this.$confirm("绯荤粺妫�娴嬪埌鎮ㄨ繕鏈坊鍔犺澶�, 璇峰湪璁惧绠$悊椤甸潰缁存姢", "鎻愮ず", { + confirmButtonText: "璺宠浆", + cancelButtonText: "鍙栨秷", + type: "warning" + }) .then(() => { - this.$router.push("/manageCenter"); + this.$router.push("/manageCenter") }) - .catch(() => {}); + .catch(() => {}) } res.data.clusterList.forEach((item) => { this.clusterArr.push({ label: item.cluster_name, - value: "0$$" + item.cluster_id, - }); - }); + value: "0$$" + item.cluster_id + }) + }) res.data.devList.forEach((item) => { this.clusterArr.push({ label: item.devName, - value: "1$$" + item.devId, - }); - }); + value: "1$$" + item.devId + }) + }) - this.cluster = this.clusterArr[0].value; - this.selectCluster(this.clusterArr[0].value); + this.cluster = this.clusterArr[0].value + this.selectCluster(this.clusterArr[0].value) } - }, - }, -}; + } + } +} </script> -<style lang="scss" > +<style lang="scss" scoped> .left-tree-box .local-vedio-area .dev-vedio-list { height: calc(100vh - 130px); } @@ -205,7 +191,7 @@ left: 172px; position: fixed; width: 135px; - z-index: 4; + z-index: -1; } /* Firefox鍙湁涓嬮潰涓�灏忓潡鍖哄煙鍙互鎷変几 */ -- Gitblit v1.8.0