zhangzengfei
2022-07-20 4a800a8fc83c6bd1f86a8e847b079a51a7532c09
src/pages/shuohuangMonitorAnalyze/components/searchForVideoAnalyze.vue
@@ -36,11 +36,6 @@
          <span class="title">{{ config.title }}</span
          >&nbsp;:
          <span class="val" v-for="option in config.data" :key="option.id">
            <!-- <template>
              <div>
              </div>
            </template>-->
            <span v-if="option.isChecked" class="val-show">
              {{ option.name }}
              <i>、</i>
@@ -247,9 +242,12 @@
                    >
                      {{
                        label.Desc +
                        (index == data.LableLst.length - 1 ? "" : ",")
                        (index == data.LableLst.length - 1 ? "" : ",")
                      }}
                    </span>
                  </div>
                  <div v-else-if=" hasError(data)">
                    <span style="color:orangered;">有异常</span>
                  </div>
                  <div v-else>
                    <span>无异常</span>
@@ -431,7 +429,7 @@
      keyword: "",
      IsFollow: "",
      searchTime: [
        new Date(2020, 0, 1, 0, 0, 0),
        new Date(2021, 0, 1, 0, 0, 0),
        new Date(2021, 11, 31, 23, 59, 59),
      ],
      curTabPage: 1,
@@ -480,7 +478,6 @@
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              //start.setHours(0,0,0);
              picker.$emit("pick", [start, end]);
            },
          },
@@ -541,6 +538,14 @@
      this.tabPageSize = size;
      this.filterSearchData();
    },
    hasError(data){
      if (!data.EventLst||data.EventLst.length==0) {
        return false
      }
      const t =  data.EventLst.some((x) => x.state==0)
      return t && data.IsOperate=="1"
    },
    handleTableSizeChange(size) {
      this.tablePageSize = size;
      this.filterSearchData();
@@ -549,7 +554,7 @@
      this.filterSearchData();
    },
    //二级查询
    filterSearchData(val) {
    filterSearchData() {
      let _this = this;
      let query = {
        KeyWord: this.keyword,
@@ -575,7 +580,6 @@
        }
      });
      Object.assign(query, ...filterQuerys);
      debugger;
      getlst(query).then((res) => {
        if (_this.showType == "list") {
@@ -587,7 +591,7 @@
          _this.tabData = _this.tabData.map(function (item) {
            const set = new Set();
            item.LableLst.forEach(function (label) {
              label.Desc.split(",").forEach(function (d) {
              label.Desc.split(",").forEach(function (d) {
                set.add(d);
              });
            });
@@ -598,11 +602,16 @@
            item.LableLst = lblst;
            return item;
          });
          _this.tabData
        }
      });
    },
    //一级查询
    init() {
      if (this.checkedConfigs.length) {
        this.filterSearchData()
        return
      }
      let _this = this;
      let query = {
        KeyWord: this.keyword,
@@ -616,7 +625,6 @@
        IsFollow: this.IsFollow,
        IsOperate: this.IsOperate,
      };
      debugger;
      let filterQuerys = [];
      this.checkedConfigs.forEach((config) => {
        let checkedOpts = config.data.filter((option) => option.isChecked);
@@ -641,7 +649,7 @@
          _this.tabData = _this.tabData.map(function (item) {
            const set = new Set();
            item.LableLst.forEach(function (label) {
              label.Desc.split(",").forEach(function (d) {
              label.Desc.split(",").forEach(function (d) {
                set.add(d);
              });
            });
@@ -653,15 +661,8 @@
            return item;
          });
        }
        res.filterlst.forEach((config) => {
          this.$set(config, "isShow", true);
          // config.data = Object.keys(config.Node).map(key => {
          //   let obj = {};
          //   obj.name = key;
          //   obj.id = config.Node[key]
          //   return obj
          // });
          config.data = config.Node.map((item) => {
            let obj = {};
            obj.name = item[0];
@@ -693,13 +694,11 @@
              config.showMore = false;
            }
          });
          // console.log(this.optionalConfigs);
        });
      });
    },
    toggleFollow(data) {
      data.IsFollow == "0" ? (data.IsFollow = "1") : (data.IsFollow = "0");
      debugger
      updateFollow({
        id: data.id,
        IsFollow: data.IsFollow,
@@ -715,7 +714,6 @@
      _this.selectedVideo = data;
      _this.videoDialogVisible = true;
    },
    checkFollow() {},
    checkType(type) {
      this.showType = type;
      this.filterSearchData();
@@ -746,15 +744,11 @@
        option.isChecked = true;
      }
      this.checkedConfigs.push(config);
      config.isShow = false;
      config.isMultCheck = false;
      if (config.IsAdvanced) {
        this.showAdvance = false;
      }
      // this.$nextTick(() => {
      //   this.$set(config, 'isShow', false)
      // })
    },
    cancleMultCheck(config) {
@@ -842,7 +836,7 @@
        const disY = e.clientY - resizeEl.offsetTop;
        document.onmousemove = function (e) {
          e.preventDefault(); // 移动时禁用默认事件 // 通过事件委托,计算移动的距离
          e.preventDefault(); // 移动时禁用默认事件 通过事件委托,计算移动的距离
          const x = e.clientX - disX + (e.clientX - clientX); //这里 由于elementUI的dialog控制居中的,所以水平拉伸效果是双倍
          const y = e.clientY - disY; //比较是否小于最小宽高
@@ -861,7 +855,6 @@
<style lang="scss">
.search-for-video-analyze {
  //padding: 20px 30px;
  //出横向滚动条
  padding: 20px 40px;
  .flex-box {
@@ -993,8 +986,6 @@
        }
        .config-submenu {
          .el-menu--horizontal {
            //max-width: 700px;
            //overflow-x: auto;
            left: 20px !important;
            & > ul {
              flex-wrap: wrap;
@@ -1071,10 +1062,6 @@
      margin: 0 -30px;
      margin-bottom: -30px;
      padding: 0;
      // .el-row {
      //   display: flex;
      //   flex-wrap: wrap;
      // }
      .el-table__row {
        cursor: pointer;
      }
@@ -1108,9 +1095,6 @@
            width: 100%;
            height: 100%;
            object-fit: contain;
            // width: 100%;
            // max-height: 200px;
            // border-radius: 3px;
          }
        }
        .video-info {
@@ -1186,15 +1170,12 @@
      top: -22px;
    }
    .dialog-video {
      // z-index: 2020 !important;
      .el-dialog {
        width: 1180px;
        // height: 893px;
      }
      .el-dialog__body {
        background: #eaeaea;
        padding: 0;
        // height: 100%;
        height: inherit;
      }
      .el-dialog__header {
@@ -1238,8 +1219,6 @@
.window-view {
  width: 100%;
  height: auto;
  // height: 100%;
  // min-height: 684px;
  overflow: auto;
  z-index: 2000;
}