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">&nbsp;&nbsp;&nbsp;鍧愭爣</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