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/Pool/PollData.ts | 163 +++---- src/scripts/httpRequest.ts | 10 src/views/hashrate/CameraManage/CameraRules/index.vue | 700 +++++++++++++++------------------- src/views/hashrate/CameraManage/CameraRules/components/AddRuleBox.vue | 160 ++----- src/Pool/BaseManageData.ts | 136 +++--- 5 files changed, 506 insertions(+), 663 deletions(-) diff --git a/src/Pool/BaseManageData.ts b/src/Pool/BaseManageData.ts index 0a99a6a..85cef6e 100644 --- a/src/Pool/BaseManageData.ts +++ b/src/Pool/BaseManageData.ts @@ -7,63 +7,58 @@ getTagList, copy, move -} from "@/api/baseLibrary"; +} from "@/api/baseLibrary" export default class BaseManageData { - public syncTables: Array<object> = []; - public localTables: Array<object> = []; - public personList: Array<object>; - public personId: string = ""; - public blackList: Array<object> = []; - public selectBlacks: Array<object> = []; - public whiteList: Array<object> = []; - public selectWhites: Array<object> = []; - public page: number; - public size: number; - public contentValue: string = ""; - public tableId: number; - public orderName: string = "createTime"; - public orderType: string = "desc"; - public faceUrl: string = ""; - public threshold: number = 60; - public total: number; - public picUrl: string = ""; - + public syncTables: Array<object> = [] + public localTables: Array<object> = [] + public personList: Array<object> + public personId: string = "" + public blackList: Array<object> = [] + public selectBlacks: Array<object> = [] + public whiteList: Array<object> = [] + public selectWhites: Array<object> = [] + public page: number + public size: number + public contentValue: string = "" + public tableId: number + public orderName: string = "createTime" + public orderType: string = "desc" + public faceUrl: string = "" + public threshold: number = 60 + public total: number + public picUrl: string = "" constructor() { - this.personList = []; - this.page = 1; - this.size = 10; - this.total = 0; + this.personList = [] + this.page = 1 + this.size = 10 + this.total = 0 } cleanData() { - this.personList = []; - this.page = 1; - this.size = 10; - this.total = 0; + this.personList = [] + this.page = 1 + this.size = 10 + this.total = 0 } async querySyncTables() { - const rsp: any = await getSyncTables({ - - }); + const rsp: any = await getSyncTables({}) if (rsp && rsp.success) { this.syncTables.splice(0, this.syncTables.length) - rsp.data.datalist.forEach(element => { - this.syncTables.push((element as any)) - }); + rsp.data.datalist.forEach((element) => { + this.syncTables.push(element as any) + }) } } async queryLocalTables() { - const rsp: any = await getLocalTables({ - - }); + const rsp: any = await getLocalTables({}) if (rsp && rsp.success) { this.localTables.splice(0, this.localTables.length) - rsp.data.datalist.forEach(element => { - this.localTables.push((element as any)) - }); + rsp.data.datalist.forEach((element) => { + this.localTables.push(element as any) + }) } } @@ -75,37 +70,34 @@ contentValue: this.contentValue, orderType: this.orderType, orderName: this.orderName - }); + }) if (rsp && rsp.success) { this.personList.splice(0, this.personList.length) - rsp.data.datalist.forEach(element => { + rsp.data.datalist.forEach((element) => { let carUrls = element.carPicUrls.split(";") element.carUrls = [] - carUrls.forEach(picUrl => { + carUrls.forEach((picUrl) => { element.carUrls.push({ url: "/httpImage/" + picUrl }) - }); + }) element.faceUrl = [] element.faceUrl.push({ url: "/httpImage/" + element.personPicUrl }) - this.personList.push((element as any)) - }); + this.personList.push(element as any) + }) this.total = rsp.data.total } } async queryPersonListByPhoto() { - const rsp: any = await getPersonListByPhoto({ - - }); + const rsp: any = await getPersonListByPhoto({}) if (rsp && rsp.success) { this.personList.splice(0, this.personList.length) - rsp.data.datalist.forEach(element => { - this.personList.push((element as any)) - }); + rsp.data.datalist.forEach((element) => { + this.personList.push(element as any) + }) } } async searchPhotoFromBase() { var bases = new Array() - console.log("tableId", this.tableId) bases.push(this.tableId) const rsp: any = await searchFromBase({ databases: bases, @@ -114,41 +106,43 @@ threshold: this.threshold, picUrl: this.picUrl }) - console.log("搴曞簱浠ュ浘鎼滃浘杩斿洖锛�", rsp) - this.personList = []; + this.personList = [] if (rsp && rsp.success) { - rsp.data.totalList.forEach(element => { - this.personList.push((element as any)) - }); - console.log("鍒楄〃锛�", this.personList) + rsp.data.totalList.forEach((element) => { + this.personList.push(element as any) + }) this.total = rsp.data.total } } async queryTagList() { - const rsp: any = await getTagList({}); + const rsp: any = await getTagList({}) // console.log("tag杩斿洖鍊�: ",rsp) if (rsp && rsp.success) { // 鏀剧疆榛戠櫧鍚嶅崟 0涓虹櫧鍚嶅崟 this.blackList.length = 0 this.whiteList.length = 0 - rsp.data.forEach(i => { - if (i.status === 0 && i.bwType === "0") { //鐧藉悕鍗� - if (i.analyServerId === "") { //鍚屾搴� - i.title = i.title + '(鍚屾搴�)' + rsp.data.forEach((i) => { + if (i.status === 0 && i.bwType === "0") { + //鐧藉悕鍗� + if (i.analyServerId === "") { + //鍚屾搴� + i.title = i.title + "(鍚屾搴�)" this.whiteList.push(i) } else { this.whiteList.push(i) } } - if (i.status === 0 && i.bwType === "1") { //榛戝悕鍗� - if (i.analyServerId === "") { //鍚屾搴� - i.title = i.title + '(鍚屾搴�)' + if (i.status === 0 && i.bwType === "1") { + //榛戝悕鍗� + if (i.analyServerId === "") { + //鍚屾搴� + i.title = i.title + "(鍚屾搴�)" this.blackList.push(i) } else { this.blackList.push(i) } } - }); + }) } } async copyTo() { @@ -167,7 +161,5 @@ const rsp: any = await move(param) return rsp } - mounted() { - - } -} \ No newline at end of file + mounted() {} +} diff --git a/src/Pool/PollData.ts b/src/Pool/PollData.ts index cbd192b..96db2a7 100644 --- a/src/Pool/PollData.ts +++ b/src/Pool/PollData.ts @@ -1,106 +1,97 @@ -import { getPollConfig, changeRunType, getCamerasByServer, updateChannelCount } from "@/api/pollConfig"; -import { getSysThresholds } from "@/api/system" -import { - clusterStatisticRunInfo, - deviceStatisticRunInfo, - devicesSysInfo, - clusterSysInfo -} from "@/api/clusterManage"; +import { getPollConfig, changeRunType, getCamerasByServer, updateChannelCount } from "@/api/pollConfig" +import { getSysThresholds } from "@/api/system" +import { clusterStatisticRunInfo, deviceStatisticRunInfo, devicesSysInfo, clusterSysInfo } from "@/api/clusterManage" export default class PollData { - public Config: Object = {}; - public SearchName: String = ""; - public CameraList: Array<object> = []; - public Enabled: boolean = false; + public Config: Object = {} + public SearchName: String = "" + public CameraList: Array<object> = [] + public Enabled: boolean = false //鎬荤畻鍔� - public channelTotal: number = 0; + public channelTotal: number = 0 - public Running: number = 0; - public Idle: number = 0; + public Running: number = 0 + public Idle: number = 0 //瀹炴椂鍏ㄩ儴鎵撳紑 - public RealTimeSum: number = 0; + public RealTimeSum: number = 0 //瀹炴椂绠楀姏鎬绘暟 - public RealTimeValidCount: number = 0; + public RealTimeValidCount: number = 0 //瀹炴椂閰嶇疆涓嶅叏 - public RealTimeInvalid: number = 0; + public RealTimeInvalid: number = 0 //瀹炴椂姝e湪澶勭悊 - public RealTimeRun: number = 0; + public RealTimeRun: number = 0 //瀹炴椂鏁呴殰 - public RealTimeNoDeal: number = 0; - + public RealTimeNoDeal: number = 0 //杞绠楀姏鎬绘暟 - public PollValidCount: number = 0; + public PollValidCount: number = 0 //杞鍏ㄩ儴鎵撳紑 - public PollSum: number = 0; + public PollSum: number = 0 //杞姝e湪鎵ц - public PollRun: number = 0; + public PollRun: number = 0 //杞閰嶇疆涓嶅叏 - public PollInvalid: number = 0; + public PollInvalid: number = 0 //杞鏁呴殰 - public PollNoDeal: number = 0; - public PollChannelTotal: number = 0; - + public PollNoDeal: number = 0 + public PollChannelTotal: number = 0 //鏁版嵁鏍堢畻鍔涙�绘暟 - public stackChannelCount: number = 0; + public stackChannelCount: number = 0 //鏁版嵁鏍堟�绘暟 - public stackTotal: number = 0; + public stackTotal: number = 0 //鏁版嵁鏍堥厤缃笉鍏� - public stackInvalidCount: number = 0; + public stackInvalidCount: number = 0 //鏁版嵁鏍堟鍦ㄦ墽琛� - public stackRunningCount: number = 0; + public stackRunningCount: number = 0 //鏁版嵁鏍堟晠闅� - public stackNoDeal: number = 0; - + public stackNoDeal: number = 0 //鏈湴绠楀姏閫氶亾鏁� - public localVideo: number = 0; + public localVideo: number = 0 - public CpuUsedPercent: number = 0; - public MemUsedPercent: number = 0; - public GpuUsedPercent: number = 0; - public DiskUsePercent: number = 0; - public barCharts: Array<any> = []; - public Thresholds: Array<object> = []; + public CpuUsedPercent: number = 0 + public MemUsedPercent: number = 0 + public GpuUsedPercent: number = 0 + public DiskUsePercent: number = 0 + public barCharts: Array<any> = [] + public Thresholds: Array<object> = [] //绠楀姏閰嶇疆涓粦鍧楁暟鎹� - public sliderList: Array<any> = []; - + public sliderList: Array<any> = [] public init() { - this.fetchPollConfig(); - this.fetchPollList(); - this.sysThresholds(); - this.statisticTaskInfo(); + this.fetchPollConfig() + this.fetchPollList() + this.sysThresholds() + this.statisticTaskInfo() } public async fetchPollConfig() { - const rsp: any = await getPollConfig(); + const rsp: any = await getPollConfig() if (rsp && rsp.success) { - this.Config = rsp.data; + this.Config = rsp.data if (rsp.data.enable) { - this.Enabled = true; + this.Enabled = true } } } public async fetchPollList() { this.CameraList = [] - let rsp: any = await getCamerasByServer({ cameraName: this.SearchName }); + let rsp: any = await getCamerasByServer({ cameraName: this.SearchName }) if (rsp && rsp.success) { if (rsp.data) { - this.CameraList = rsp.data.sort(function (obj1: any, obj2: any) { - var val1 = obj1.run_type; - var val2 = obj2.run_type; - return (val2 - val1) - }); + this.CameraList = rsp.data.sort(function(obj1: any, obj2: any) { + var val1 = obj1.run_type + var val2 = obj2.run_type + return val2 - val1 + }) } } // 鏍规嵁rtsp 鎻愬彇ip鍦板潃 - const ipReg = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/; + const ipReg = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/ this.CameraList.forEach((cam: any) => { // 鍥芥爣鎽勫儚鏈轰笉鏄剧ずip if (cam.type === 1) { @@ -115,13 +106,13 @@ } public async switchType(id: string, type: number) { - let rsp: any = await changeRunType({ camera_ids: [id], run_type: type }); + let rsp: any = await changeRunType({ camera_ids: [id], run_type: type }) } public async sysThresholds() { let rsp: any = await getSysThresholds() if (rsp && rsp.success) { - this.Thresholds = rsp.data; + this.Thresholds = rsp.data } } public async statistics() { @@ -154,42 +145,37 @@ // this.Idle = RealTimeSum + PollSum - this.Running // 璁$畻绯荤粺淇℃伅 - let res: any - if(sessionStorage.getItem("clusterId")) { - res = await clusterSysInfo({ - clusterId: "", - }); + let res: any + if (sessionStorage.getItem("clusterId")) { + res = await clusterSysInfo({ + clusterId: "" + }) + } else { + res = await devicesSysInfo({ + deviceId: [sessionStorage.getItem("devId")] + }) } - else { - res = await devicesSysInfo({ - deviceId:[sessionStorage.getItem('devId')], - }); - } - if (res && res.success ) { - this.CpuUsedPercent =res.data.cpu.usedPercent.toFixed(2) + if (res && res.success) { + this.CpuUsedPercent = res.data.cpu.usedPercent.toFixed(2) this.MemUsedPercent = res.data.mem.usedPercent.toFixed(2) - this.DiskUsePercent =res.data.disk.usedPercent.toFixed(2) + this.DiskUsePercent = res.data.disk.usedPercent.toFixed(2) this.GpuUsedPercent = res.data.gpu.usedPercent.toFixed(2) - this.barCharts = [this.DiskUsePercent,this.CpuUsedPercent,this.GpuUsedPercent,this.MemUsedPercent] - console.log(this.barCharts); - + this.barCharts = [this.DiskUsePercent, this.CpuUsedPercent, this.GpuUsedPercent, this.MemUsedPercent] } } public async statisticTaskInfo() { let res: any - if(sessionStorage.getItem("clusterId")) { - res = await clusterStatisticRunInfo({}); + if (sessionStorage.getItem("clusterId")) { + res = await clusterStatisticRunInfo({}) + } else { + res = await deviceStatisticRunInfo({ + deviceId: [sessionStorage.getItem("devId")], + userId: "" + }) } - else { - res = await deviceStatisticRunInfo({ - deviceId:[sessionStorage.getItem('devId')], - userId:'' - }); - } - + if (res && res.success) { - // console.log(res,'缁熻瀹炴椂銆佽疆璇㈡暟閲�') this.RealTimeSum = res.data.realTotal this.RealTimeRun = res.data.realRunningCount this.RealTimeValidCount = res.data.realValidCount @@ -218,21 +204,20 @@ let totalCount = res.data.channelTotal let realCount = res.data.realValidCount let pollCount = res.data.pollChannelCount - this.sliderList = [0,realCount,realCount + pollCount] + this.sliderList = [0, realCount, realCount + pollCount] // if(realCount + pollCount == totalCount){ // this.sliderList = [0,realCount,realCount + pollCount] // }else{ // this.sliderList = [0,realCount,realCount + pollCount,totalCount] // } - } } - public async updateChannelCount(fileChannelCount,pollChannelCount){ + public async updateChannelCount(fileChannelCount, pollChannelCount) { let res: any = await updateChannelCount({ videoChannelCount: fileChannelCount, pollChannelCount: pollChannelCount }) this.statisticTaskInfo() } -} \ No newline at end of file +} diff --git a/src/scripts/httpRequest.ts b/src/scripts/httpRequest.ts index f0e74a2..ed332a2 100644 --- a/src/scripts/httpRequest.ts +++ b/src/scripts/httpRequest.ts @@ -12,9 +12,6 @@ /* //POST浼犲弬搴忓垪鍖�(娣诲姞璇锋眰鎷︽埅鍣�) */ Axios.interceptors.request.use( (config) => { - console.log(9898) - console.log(config) - if ((config.method === "post" && sessionStorage.getItem("clusterId")) || sessionStorage.getItem("devId")) { if (!config.data) { config.data = {} @@ -49,8 +46,7 @@ return config }, (error) => { - console.log("璇锋眰閿欒") - console.log(error) + console.log("璇锋眰閿欒", error) /* Message({ showClose: true, @@ -91,7 +87,6 @@ var disposition = res.headers["content-disposition"] if (disposition) { var fileName = disposition.substring(disposition.indexOf("=") + 1) - console.log(res) return { fileName: fileName, @@ -104,8 +99,7 @@ /* //return res.data ? res.data : {}; */ }, (error) => { - console.log("鍝嶅簲閿欒") - console.log(error) + console.log("鍝嶅簲閿欒", error) let errJson: any = { success: false } diff --git a/src/views/hashrate/CameraManage/CameraRules/components/AddRuleBox.vue b/src/views/hashrate/CameraManage/CameraRules/components/AddRuleBox.vue index 8503ddb..14f5a92 100644 --- a/src/views/hashrate/CameraManage/CameraRules/components/AddRuleBox.vue +++ b/src/views/hashrate/CameraManage/CameraRules/components/AddRuleBox.vue @@ -1,8 +1,7 @@ <template> <div class="AddBox"> <div class="title"> - {{ editData.type ? "淇敼" : "娣诲姞" - }}{{ type === "separate" ? "鐙珛" : "鑱斿姩" }}鍦烘櫙 + {{ editData.type ? "淇敼" : "娣诲姞" }}{{ editData.type === "separate" ? "鐙珛" : "鑱斿姩" }}鍦烘櫙 </div> <div class="close iconfont" @click="close"></div> @@ -10,36 +9,19 @@ <el-form :model="ruleForm" :rules="rules" ref="form"> <div class="label">鍦烘櫙鍚嶇О</div> <el-form-item prop="scene_name"> - <el-input - class="h32" - v-model="ruleForm.scene_name" - placeholder="璇疯緭鍏�" - ></el-input> + <el-input class="h32" v-model="ruleForm.scene_name" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <div class="label">浜嬩欢绛夌骇</div> <el-form-item> - <el-select - class="h32" - v-model="ruleForm.alarm_level" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in eventLevel" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> + <el-select class="h32" v-model="ruleForm.alarm_level" placeholder="璇烽�夋嫨"> + <el-option v-for="item in eventLevel" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </el-form-item> <div class="label">鏃堕棿娈�</div> <el-form-item prop="time_rule_id"> - <el-select - class="h32 left" - v-model="ruleForm.time_rule_id" - placeholder="璇烽�夋嫨" - > + <el-select class="h32 left" v-model="ruleForm.time_rule_id" placeholder="璇烽�夋嫨"> <el-option v-for="item in VideoManageData.TimeRules" :key="item.id" @@ -53,28 +35,13 @@ <div class="label">鍦烘櫙鎻忚堪</div> <el-form-item> - <el-input - class="h32" - v-model="ruleForm.desc" - type="textarea" - ></el-input> + <el-input class="h32" v-model="ruleForm.desc" type="textarea"></el-input> </el-form-item> <div class="label">浜嬩欢澹伴煶</div> <el-form-item> - <el-select - v-model="ruleForm.voice" - placeholder="璇烽�夋嫨" - value-key="id" - @change="selSound" - class="h32 left" - > - <el-option - v-for="item in soundList" - :key="item.id" - :label="item.name" - :value="item" - ></el-option> + <el-select v-model="ruleForm.voice" placeholder="璇烽�夋嫨" value-key="id" @change="selSound" class="h32 left"> + <el-option v-for="item in soundList" :key="item.id" :label="item.name" :value="item"></el-option> </el-select> <span @click="togglePlayer" v-show="ruleForm.voiceId.length"> <i v-if="togglePlay" class="iconfont"></i> @@ -88,32 +55,29 @@ <div class="cancelBtn button" @click="close">鍙栨秷</div> </div> - <TimeSlider - v-if="showTimeSlider" - @close="showTimeSlider = false" - ></TimeSlider> + <TimeSlider v-if="showTimeSlider" @close="showTimeSlider = false"></TimeSlider> </div> </template> <script> -import { getSoundList } from "@/api/event"; -import TimeSlider from "@/views/hashrate/CameraManage/CameraRules/components/TimeSlider"; +import { getSoundList } from "@/api/event" +import TimeSlider from "@/views/hashrate/CameraManage/CameraRules/components/TimeSlider" export default { props: { type: { - type: String, + type: String }, - editData: {}, + editData: {} }, components: { - TimeSlider, + TimeSlider }, mounted() { - this.getSounds(); + this.getSounds() this.eventAudio.addEventListener("ended", () => { - this.togglePlay = true; - }); + this.togglePlay = true + }) }, data() { return { @@ -124,44 +88,40 @@ template_id: "", time_rule_id: "", voice: {}, - voiceId: "", + voiceId: "" }, eventLevel: [ { label: "涓�绾�", - value: 1, + value: 1 }, { label: "浜岀骇", - value: 2, + value: 2 }, { label: "涓夌骇", - value: 3, + value: 3 }, { label: "鍥涚骇", - value: 4, + value: 4 }, { label: "浜旂骇", - value: 5, - }, + value: 5 + } ], rules: { - scene_name: [ - { required: true, message: "璇疯緭鍏ュ満鏅悕绉�", trigger: "blur" }, - ], - time_rule_id: [ - { required: true, message: "璇烽�夋嫨鏃堕棿娈�", trigger: "blur" }, - ], + scene_name: [{ required: true, message: "璇疯緭鍏ュ満鏅悕绉�", trigger: "blur" }], + time_rule_id: [{ required: true, message: "璇烽�夋嫨鏃堕棿娈�", trigger: "blur" }] }, soundPath: "", togglePlay: true, eventAudio: new Audio(), soundList: [], - showTimeSlider: false, - }; + showTimeSlider: false + } }, methods: { @@ -175,72 +135,70 @@ time_rule_id: this.editData.rule.time_rule_id, voice: this.editData.rule.voice, voiceId: this.editData.rule.voiceId, - index: this.editData.index, - }; + index: this.editData.index + } this.soundList.forEach((item) => { if (item.id == this.editData.rule.voiceId) { - this.ruleForm.voiceId = item.id; - this.ruleForm.voice = item; + this.ruleForm.voiceId = item.id + this.ruleForm.voice = item } - }); + }) }, getSounds() { - let _this = this; + let _this = this getSoundList() .then((res) => { if (res.success) { - _this.soundList = [{ id: "", name: "绌�", path: "" }].concat( - res.data.voices - ); + _this.soundList = [{ id: "", name: "绌�", path: "" }].concat(res.data.voices) if (_this.editData.type) { - _this.initEditData(); + _this.initEditData() } } }) - .catch((e) => console.log(e)); + .catch((e) => console.log(e)) }, selSound(sound) { - this.soundPath = sound.path; - this.ruleForm.voiceId = sound.id; - this.togglePlay = true; - this.eventAudio.pause(); - this.$forceUpdate(); + this.soundPath = sound.path + this.ruleForm.voiceId = sound.id + this.togglePlay = true + this.eventAudio.pause() + this.$forceUpdate() // this.eventAudio. }, togglePlayer() { if (!this.soundPath) { this.$notify({ type: "info", - message: "璇峰厛閫夋嫨涓�涓0闊�!", - }); - return false; + message: "璇峰厛閫夋嫨涓�涓0闊�!" + }) + return false } - this.eventAudio.src = this.soundPath; + this.eventAudio.src = this.soundPath if (this.togglePlay) { - this.eventAudio.play(); - this.togglePlay = false; + this.eventAudio.play() + this.togglePlay = false } else { - this.eventAudio.pause(); - this.togglePlay = true; + this.eventAudio.pause() + this.togglePlay = true } }, close() { - this.$emit("close"); + this.$emit("close") }, save() { this.$refs["form"].validate((valid) => { if (valid) { this.$emit("save", { action: this.editData.type ? "edit" : "add", - data: this.ruleForm, - }); + data: this.ruleForm + }) } else { - return false; + return false } - }); - }, - }, -}; + }) + } + } +} </script> <style lang="scss" scoped> @@ -328,4 +286,4 @@ } } } -</style> \ No newline at end of file +</style> 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