From ccee429d379e0108b7445f72ade8d97c110a6fb3 Mon Sep 17 00:00:00 2001 From: ZZJ <zzjdsg2300@163.com> Date: 星期二, 09 十一月 2021 18:01:59 +0800 Subject: [PATCH] 问题修复 --- src/pages/cameraAccess/components/CameraInfo.vue | 241 ++++++++++++++++------------------------------- 1 files changed, 82 insertions(+), 159 deletions(-) diff --git a/src/pages/cameraAccess/components/CameraInfo.vue b/src/pages/cameraAccess/components/CameraInfo.vue index 0ea6d6b..6b829ac 100644 --- a/src/pages/cameraAccess/components/CameraInfo.vue +++ b/src/pages/cameraAccess/components/CameraInfo.vue @@ -9,7 +9,7 @@ </el-col> <el-col :span="9" :offset="1"> <el-form-item label="鍧愭爣" style="width:100%;"> - <label slot="label"> 鍧愭爣</label> + <label slot="label">鍧愭爣</label> <el-col :span="11"> <el-input v-model="form.latitude" @@ -37,7 +37,7 @@ </el-col> <el-col :span="9" :offset="1"> <el-form-item label="璁惧鍦板潃" style="width:100%" prop="addr"> - <el-input v-model="form.addr" placeholder="璇疯緭鍏ュ湴鍧�鎻忚堪" :disabled="!form.rtsp" size="small"></el-input> + <el-input v-model="form.addr" placeholder="璇疯緭鍏ュ湴鍧�鎻忚堪" :disabled="isDisabled" size="small"></el-input> </el-form-item> </el-col> </el-row> @@ -59,12 +59,13 @@ </el-select> </el-form-item> </el-col> - <el-col :span="9" :offset="1" style="padding-left: 11px;"> + <el-col :span="9" :offset="1"> <el-form-item label="浜嬩欢澹伴煶"> - <div class="flex-wrap" style="margin-left:-10px"> - <el-switch v-model="form.voiceEnable" active-color="#409eff" :width="50"></el-switch> - <el-select - v-model="form.voiceId" + <div class="flex-wrap" style="margin-top: 10px;"> + <el-switch v-model="form.voiceEnable" :width="50"></el-switch> + <!-- 灞忚斀澹伴煶閫夋嫨,璋冩暣鍒板満鏅� --> + <!-- <el-select + v-model="voice" placeholder="閫夋嫨澹伴煶" size="small" value-key="id" @@ -77,12 +78,18 @@ :value="item" ></el-option> </el-select> - <span class="player-btn" @click="togglePlayer"> + <span class="player-btn" @click="togglePlayer" style="cursor:pointer;"> <i + v-if="togglePlay" class="el-icon-video-play" style="font-size:26px; vertical-align:middle; color:#409eff" ></i> - </span> + <i + v-else + class="el-icon-video-pause" + style="font-size:26px; vertical-align:middle; color:#409eff" + ></i> + </span>--> </div> </el-form-item> </el-col> @@ -125,7 +132,7 @@ <el-button size="small" type="primary" @click="cameraConnet" :disabled="conDisabled">杩炴帴娴嬭瘯</el-button> </el-col> </el-row> - <el-row style="padding-top: 15px"> + <el-row style="padding: 15px 0"> <el-col :span="12"> <camera-player :cameraName="videoItem.name" @@ -135,7 +142,7 @@ :isRunning="false" v-if="videoItem !== '' && videoItem !== undefined && videoItem !== null && visibilityState" ></camera-player> - <video v-else poster="../../../assets/baseimg_cameara.png" preload="none"></video> + <video v-else poster="/images/cameraAccess/video-poster.png" preload="none"></video> </el-col> <!-- 绯荤粺杩愯淇℃伅 --> @@ -146,7 +153,7 @@ <li style="width:100%"> <info-card style="width:100%;min-width: 440px" - :realtime="PollData.RealTimeSum" + :realtime="PollData.RealTimeValidCount" :polling="PollData.PollValidCount" :dataStack="PollData.stackChannelCount" ></info-card> @@ -167,7 +174,6 @@ </template> <script> import { - checkCameraConnet, createCamera, updateCameraInfo, getCameraInfo, @@ -207,25 +213,6 @@ eventAudio: new Audio(), soundPath: '', form: { - latitude: 0, - rtsp: "", - longitude: 0, - name: "", - addr: "", - alias: "", - areaid: "", - brand: "", - id: "", - ip: "", - reserved: "", - run_type: 0, - isAI: false, - username: "", - password: "", - cameraType: 0, - resolution: "", - voiceId: "", - voiceEnable: true }, // 璁板綍娣诲姞鐘舵�� isAdd: false, @@ -243,7 +230,8 @@ }, resolutionList: [], //浼犳劅鍣ㄥ垪琛� - sensors: [] + sensors: [], + voice: null }; }, computed: { @@ -270,6 +258,10 @@ this.visibilitychange(); }); this.getSounds(); + + this.eventAudio.addEventListener("ended", () => { + this.togglePlay = true + }) }, methods: { getSounds() { @@ -283,7 +275,10 @@ }, selSound(sound) { this.soundPath = sound.path; - this.form.voiceId = sound.id + this.form.voiceId = sound.id; + this.togglePlay = true; + this.eventAudio.pause() + // this.eventAudio. }, togglePlayer() { if (!this.soundPath) { @@ -294,13 +289,14 @@ return false; } this.eventAudio.src = this.soundPath; - if (this.togglePlay) { this.eventAudio.play(); + this.togglePlay = false } else { this.eventAudio.pause() + this.togglePlay = true } - this.togglePlay = !this.togglePlay + // this.togglePlay = !this.togglePlay }, visibilitychange() { switch (document.visibilityState) { @@ -313,16 +309,17 @@ } }, selectCamera(node) { - debugger this.isAdd = false; this.videoItem = null; this.$refs.addForm.resetFields(); + this.voice = null; + // this.initFormData(); // this.$refs.addForm.clearValidate(); if (node.type === "4") { getCameraInfo(node.id).then(res => { if (res.success) { - console.log(res, '鑾峰彇鎽勫儚鏈轰俊鎭�') + // console.log(res, '鑾峰彇鎽勫儚鏈轰俊鎭�') if (res.data.resolutions) { let list = res.data.resolutions.map(i => { let obj = {} @@ -339,7 +336,15 @@ this.sensors = res.data.sensors } this.$nextTick(() => { + this.initFormData() Object.assign(this.form, res.data) + + this.soundList.forEach(element => { + if (this.form.voiceId == element.id) { + this.voice = element + } + }) + if (this.form.run_type !== -1) { this.form.isAI = true } else { @@ -354,20 +359,33 @@ // 淇濆瓨 onSubmit(formName) { let list = this.$refs.cameraEditor.getResult() - console.log(list, "sensor") + // console.log(list, "sensor") // id涓虹┖锛屾柊澧炴憚鍍忔満 + + // if (this.form.voiceEnable && this.form.voiceId === "") { + // this.$notify({ + // type: "error", + // message: "璇烽�夋嫨涓�涓簨浠跺0闊�" + // }); + + // return; + // } + this.$refs[formName].validate(async valid => { if (valid) { const isRequire = this.verifyRequrie(); if (!isRequire) return false; + + this.form.latitude = Number.isNaN(parseFloat(this.form.latitude)) ? 0 : parseFloat(this.form.latitude); + this.form.longitude = Number.isNaN(parseFloat(this.form.longitude)) ? 0 : parseFloat(this.form.longitude); + this.form.sensors = list + this.form.resolution_width = Number(this.form.resolution.split("*")[0]) + this.form.resolution_height = Number(this.form.resolution.split("*")[1]) + let _this = this; // 鏇存柊 if (this.form.id !== "") { this.form.areaid = this.TreeDataPool.getParent(this.form.id, this.isGb28182); - this.form.latitude = Number.isNaN(parseFloat(this.form.latitude)) ? 0 : parseFloat(this.form.latitude); - this.form.longitude = Number.isNaN(parseFloat(this.form.longitude)) ? 0 : parseFloat(this.form.longitude); - this.form.sensors = list - this.form.resolution_width = Number(this.form.resolution.split("*")[0]) - this.form.resolution_height = Number(this.form.resolution.split("*")[1]) + console.log(this.TreeDataPool.selectedNode) updateCameraInfo(this.form).then(rsp => { if (rsp.success) { this.$notify({ @@ -375,6 +393,15 @@ message: "鎽勫儚鏈轰俊鎭慨鏀规垚鍔燂紒" }); this.TreeDataPool.fetchTreeData(); + console.log(this.TreeDataPool.selectedNode) + //_this.$root.$children[0].$refs['leftTree'].$refs.tree.ztreeObj.checkNode(_this.TreeDataPool.selectedNode, true, false, false); + //閫変腑淇敼鍚庣殑鑺傜偣 + let {evt,treeId} = _this.$root.$children[0].$refs['leftTree'].$refs.tree; + console.log(evt,treeId) + // this.$nextTick(()=>{ + //_this.$root.$children[0].$refs['leftTree'].$refs.tree.handleCreated() + // }) + } else { this.selectCamera(this.TreeDataPool.selectedNode); this.$notify({ @@ -382,29 +409,15 @@ message: "鎽勫儚鏈轰俊鎭慨鏀瑰け璐ワ紒" }); } + }).catch(err => { + this.$notify({ + type: "error", + message: err.data + }); }); } else { this.form.areaid = this.addParentId; - this.form.sensors = list - const { ...json } = this.form; - createCamera({ - latitude: parseFloat(json.latitude), - rtsp: this.form.rtsp, - longitude: parseFloat(json.longitude), - name: this.form.name, - addr: this.form.addr, - areaid: this.form.areaid, - brand: this.form.brand, - id: this.form.id, - ip: this.form.ip, - port: parseFloat(json.port), - reserved: this.form.reserved, - run_type: this.form.isAI ? this.form.run_type : -1, - username: this.form.username, - password: this.form.password, - areaId: this.form.areaId, - sensors: this.form.sensors - }).then(rsp => { + createCamera(this.form).then(rsp => { if (rsp.success) { this.$notify({ type: "success", @@ -495,13 +508,13 @@ id: "", ip: "", reserved: "", - run_type: 0, + run_type: -1, isAI: false, username: "", password: "", resolution: "", voiceId: "", - voiceEnable: true + voiceEnable: false }; }, // 娣诲姞璁惧 @@ -509,96 +522,6 @@ this.isAdd = true; this.addParentId = node; this.initFormData(); - }, - //瀹炴椂銆佽疆璇㈠垏鎹� - changePoll(row) { - // console.log(row,'瀹炴椂銆佽疆璇㈠垏鎹�',this.form,this.PollData.RealTimeSum) - //鍒ゆ柇鏄柊澧炶繕鏄洿鏂� - if (this.form.id && this.form.id !== undefined) { - if (this.PollData.RealTimeSum < 16) { - if (row.value) { - this.form.run_type = 1 - } else { - this.form.run_type = 0 - } - changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( - rsp => { - if (rsp && rsp.success) { - this.$notify({ - type: "success", - message: "閰嶇疆鎴愬姛" - }); - } else { - this.$notify({ - type: "error", - message: "閰嶇疆澶辫触" - }); - } - } - ); - } else { - if (this.form.run_type === 1) { - this.form.run_type = 0 - changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( - rsp => { - if (rsp && rsp.success) { - this.$notify({ - type: "success", - message: "閰嶇疆鎴愬姛" - }); - } else { - this.$notify({ - type: "error", - message: "閰嶇疆澶辫触" - }); - } - } - ); - } - this.$nextTick(() => { - this.$set(this.form, 'run_type', 0) - }) - // this.$notify({ - // type: 'warning', - // message: '瀹炴椂澶勭悊璺暟宸茶揪鏈�澶у鐞嗚矾鏁帮紒' - // }) - } - this.TreeDataPool.fetchTreeData(); - this.PollData.statisticTaskInfo(); - } - }, - //鏄惁杩涜瑙嗛鍒嗘瀽澶勭悊 - pollEnable(row) { - // console.log(row,'瀹炴椂銆佽疆璇㈠垏鎹�') - if (row) { - if (this.PollData.RealTimeSum < 16) { - this.form.run_type = 1 - } else { - this.form.run_type = 0 - } - } else { - this.form.run_type = -1 - } - if (this.form.id && this.form.id !== undefined) { - changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( - rsp => { - if (rsp && rsp.success) { - this.$notify({ - type: "success", - message: "閰嶇疆鎴愬姛" - }); - } else { - this.$notify({ - type: "error", - message: "閰嶇疆澶辫触" - }); - } - this.selectCamera(this.TreeDataPool.selectedNode) - } - ); - } - this.TreeDataPool.fetchTreeData(); - this.PollData.statisticTaskInfo(); } } }; @@ -607,9 +530,9 @@ <style lang="scss"> .camera-info { width: 100%; - height: 100%; - margin-left: 20px; - overflow: auto; + + margin: 20px 0 20px 20px; + .ai-select { text-align: left; } -- Gitblit v1.8.0