ZZJ
2021-11-09 ccee429d379e0108b7445f72ade8d97c110a6fb3
src/pages/cameraAccess/components/CameraInfo.vue
@@ -61,10 +61,11 @@
        </el-col>
        <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>
@@ -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,
@@ -224,7 +230,8 @@
      },
      resolutionList: [],
      //传感器列表
      sensors: []
      sensors: [],
      voice: null
    };
  },
  computed: {
@@ -251,6 +258,10 @@
      this.visibilitychange();
    });
    this.getSounds();
    this.eventAudio.addEventListener("ended", () => {
      this.togglePlay = true
    })
  },
  methods: {
    getSounds() {
@@ -264,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) {
@@ -275,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) {
@@ -297,6 +312,8 @@
      this.isAdd = false;
      this.videoItem = null;
      this.$refs.addForm.resetFields();
      this.voice = null;
      // this.initFormData();
      // this.$refs.addForm.clearValidate();
      if (node.type === "4") {
@@ -319,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 {
@@ -336,6 +361,16 @@
      let list = this.$refs.cameraEditor.getResult()
      // console.log(list, "sensor")
      // id为空,新增摄像机
      // if (this.form.voiceEnable && this.form.voiceId === "") {
      //   this.$notify({
      //     type: "error",
      //     message: "请选择一个事件声音"
      //   });
      //   return;
      // }
      this.$refs[formName].validate(async valid => {
        if (valid) {
          const isRequire = this.verifyRequrie();
@@ -346,10 +381,11 @@
          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);
            console.log(this.TreeDataPool.selectedNode)
            updateCameraInfo(this.form).then(rsp => {
              if (rsp.success) {
                this.$notify({
@@ -357,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({
@@ -364,6 +409,11 @@
                  message: "摄像机信息修改失败!"
                });
              }
            }).catch(err => {
              this.$notify({
                type: "error",
                message: err.data
              });
            });
          } else {
            this.form.areaid = this.addParentId;