hanbaoshan
2020-10-20 98a6297b10a4b97c3022f84d3ba7908c178d9ee0
src/pages/cameraAccess/index/VideoManage.vue
@@ -1,24 +1,30 @@
<template>
  <div class="s-video-manage">
    <el-tabs class="video-tab" v-model="activeName" type="border-card" @tab-click="handleClick">
    <el-tabs
      class="video-tab"
      ref="topTab"
      v-model="activeName"
      type="border-card"
      @tab-click="handleClick"
    >
      <el-tab-pane
        :label="firstLabeName"
        name="camera-info"
        v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('VIDEOCAMERA:camera:info')"
        v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('cameraAccess:cameraInfo')"
      >
        <camera-info ref="cameraInfo" />
      </el-tab-pane>
      <el-tab-pane
        :label="firstLabeName"
        name="camera-info"
        v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('VIDEOCAMERA:dataStack:stackInfo')"
        v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('dataStack:cameraInfo')"
      >
        <data-stack-info ref="dataStackInfo" />
      </el-tab-pane>
      <el-tab-pane
        label="独立场景"
        name="separate-rule"
        v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('VIDEOCAMERA:camera:selfRule')"
        v-if="this.TreeDataPool.treeActiveName == 'camera' && isShow('cameraAccess:selfRule')"
      >
        <separate-rules ref="sepRule" />
        <!-- <local-separate ref="localSeparate" v-else></local-separate> -->
@@ -26,7 +32,7 @@
      <el-tab-pane
        label="独立场景"
        name="separate-rule"
        v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('VIDEOCAMERA:dataStack:selfRule')"
        v-if="this.TreeDataPool.treeActiveName == 'dataStack' && isShow('dataStack:selfRule')"
      >
        <separate-rules ref="sepRule" />
        <!-- <local-separate ref="localSeparate" v-else></local-separate> -->
@@ -34,7 +40,7 @@
      <el-tab-pane
        label="联动场景"
        name="linkage-rule"
        v-if="(isShow('VIDEOCAMERA:camera:linkRule') || isShow('VIDEOCAMERA:dataStack:linkRule')) && this.TreeDataPool.treeActiveName == 'camera'"
        v-if="(isShow('cameraAccess:linkRule')) && this.TreeDataPool.treeActiveName == 'camera'"
      >
        <linkage-rule ref="linkRule" />
      </el-tab-pane>
@@ -50,7 +56,7 @@
// import fTemplate from "@/components/common/fTemplate";
// import localSeparate from "@/components/camera/localSeparate";
//import bus from "@/main";
import bus from "@/plugin/bus";
//import TreeDataPool from "@/Pool/TreeData";
export default {
@@ -75,6 +81,7 @@
        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
        return loginName === "superadmin" || loginName === "basic";
      }
      return false;
    },
    firstLabeName() {
@@ -108,14 +115,11 @@
    },
    "DataStackPool.selectedDir": {
      handler(node, oldNode) {
        console.log(this.activeName)
        console.log(node, '勾选本地视频')
        if (this.TreeDataPool.treeActiveName !== 'dataStack') {
          return
        }
        this.$nextTick(() => {
          if (this.activeName == "camera-info") {
            console.log("dataStackInfo.selectDir(node)")
            this.$refs.dataStackInfo.selectDir(node);
          } else if (this.activeName == "separate-rule" && node.length !== 0) {
            this.$refs.sepRule.initCameraData(node.id);
@@ -123,30 +127,26 @@
        })
      },
      deep: true
    }
    },
  },
  created() {
    if (this.TreeDataPool.treeActiveName == 'camera') {
      if (this.isShow('VIDEOCAMERA:camera:info')) {
      if (this.isShow('cameraAccess:cameraInfo')) {
        this.activeName = "camera-info"
      } else if (this.isShow('VIDEOCAMERA:camera:selfRule') || this.isShow('VIDEOCAMERA:datastack:selfRule')) {
      } else if (this.isShow('cameraAccess:selfRule')) {
        this.activeName = "separate-rule"
      } else if (this.isShow('VIDEOCAMERA:camera:linkRule') || this.isShow('VIDEOCAMERA:datastack:linkRule')) {
      } else if (this.isShow('cameraAccess:linkRule')) {
        this.activeName = "linkage-rule"
      } else if (this.isShow('VIDEOCAMERA:camera:resourceCalc') || this.isShow('VIDEOCAMERA:datastack:resourceCalc')) {
        this.activeName = "poll-setting"
      }
    } else {
      if (this.isShow('VIDEOCAMERA:camera:info')) {
      if (this.isShow('dataStack:cameraInfo')) {
        this.activeName = "camera-info"
      } else if (this.isShow('VIDEOCAMERA:camera:selfRule') || this.isShow('VIDEOCAMERA:datastack:selfRule')) {
      } else if (this.isShow('dataStack:selfRule')) {
        this.activeName = "separate-rule"
      } else if (this.isShow('VIDEOCAMERA:camera:linkRule') || this.isShow('VIDEOCAMERA:datastack:linkRule')) {
        this.activeName = "linkage-rule"
      } else if (this.isShow('VIDEOCAMERA:camera:resourceCalc') || this.isShow('VIDEOCAMERA:datastack:resourceCalc')) {
        this.activeName = "poll-setting"
      }
    }
    this.TreeDataPool.readonly = true;
    this.TreeDataPool.gbReadonly = true;
    this.TreeDataPool.multiple = false;
@@ -160,31 +160,24 @@
  },
  mounted() {
    this.$nextTick(() => {
      //   bus.$on("addCameraOnTree", node => {
      //     this.handAddDevice(node);
      //   });
      //   bus.$on("addDirOnTree", node => {
      //     this.handAddDIr(node);
      //   });
      //   this.TreeDataPool.clean();
      bus.$on("addCameraOnTree", node => {
        this.handAddDevice(node);
      });
      bus.$on("addDirOnTree", node => {
        this.handAddDIr(node);
      });
      this.TreeDataPool.clean();
    });
    let _this = this
    let _this = this;
    _this.PollData.statisticTaskInfo();
    this.intervalTimer = setInterval(() => {
      _this.PollData.statisticTaskInfo();
    }, 10000)
  },
  methods: {
    isShow(authority) {
      if (this.isAdmin) {
        return true;
      } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) {
        return true;
      } else if ("videoCamera:pollSetting" === authority) {
        return true;
      } else {
        return false;
      }
      return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
    },
    handAddDevice(node) {
      let _this = this;
@@ -228,8 +221,9 @@
<style lang="scss">
.s-video-manage {
  width: 100%;
  min-width: 1599px;
  height: 100%;
  float: right;
  float: left;
  box-sizing: border-box;
  .el-tabs--border-card {
    box-shadow: none;
@@ -247,19 +241,17 @@
  .el-tabs--border-card {
    height: 100%;
    width: 100%;
    &.video-tab{
      &>.el-tabs__header{
        position: fixed;
        top:0;
        width:100%;
        z-index:999;
    &.video-tab {
      & > .el-tabs__header {
        //position: fixed;
        //position: absolute;
        //top:0;
        //left: 0;
        height: 54px;
        overflow-y: hidden;
      }
    }
    .el-tabs__header {
      .is-active {
        color: #3d68e1 !important;
      }
@@ -286,16 +278,17 @@
      }
    }
  }
  .video-tab>.el-tabs__content {
  .video-tab > .el-tabs__content {
    width: 100%;
    margin-top: 52px;
    //height: calc(100% - 52px);
    //margin-top: 52px;
    height: calc(100% - 36px);
    box-sizing: border-box;
    padding: 13px 0;
    overflow-y: auto;
    padding: 0;
  }
  .el-tab-pane {
    width: 100%;
    height: 100%;
    //height: 100%;
  }
}
</style>