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/panoramicView/components/TracePlot.vue |   77 ++++++++++++++++++--------------------
 1 files changed, 37 insertions(+), 40 deletions(-)

diff --git a/src/pages/panoramicView/components/TracePlot.vue b/src/pages/panoramicView/components/TracePlot.vue
index a164bc0..a4e5aca 100644
--- a/src/pages/panoramicView/components/TracePlot.vue
+++ b/src/pages/panoramicView/components/TracePlot.vue
@@ -12,7 +12,7 @@
         value-format="yyyy-MM-dd HH:mm:ss"
         :default-time="['00:00:00','23:59:59']"
       ></el-date-picker>
-      <el-button @click="searchData" size="small" type="primary" class="btn-search">鏌� 璇�</el-button>
+      <el-button @click="checkTime" size="small" type="primary" class="btn-search">鏌� 璇�</el-button>
     </div>
     <div class="check-target" :style="{height:fixedH+'px'}">
       <div class="controller">
@@ -29,6 +29,7 @@
           @click="checkTarget(item)"
         >
           <!-- <img src alt :style="{backgroundColor:item.color}"/> -->
+          <img :src="'/httpImage/'+item.picSmUrl" />
         </div>
       </div>
     </div>
@@ -51,7 +52,7 @@
 import { getSearchList } from '@/api/search';
 import { getPanoramaPic } from "@/api/panorama";
 export default {
-  data () {
+  data() {
     return {
       cW: 0,
       cH: 0,
@@ -68,7 +69,7 @@
       pickerOptions: {
         shortcuts: [{
           text: '杩戜竴灏忔椂',
-          onClick (picker) {
+          onClick(picker) {
             const end = new Date();
             const start = new Date();
             start.setTime(start.getTime() - 60 * 60 * 1000);
@@ -76,7 +77,7 @@
           }
         }, {
           text: '杩戜笁灏忔椂',
-          onClick (picker) {
+          onClick(picker) {
             const end = new Date();
             const start = new Date();
             start.setTime(start.getTime() - 60 * 60 * 1000 * 3);
@@ -84,7 +85,7 @@
           }
         }, {
           text: '杩戝叚灏忔椂',
-          onClick (picker) {
+          onClick(picker) {
             const end = new Date();
             const start = new Date();
             start.setTime(start.getTime() - 60 * 60 * 1000 * 6);
@@ -106,19 +107,17 @@
       isInvert: false,
     }
   },
-  mounted () {
+  mounted() {
     this.searchData();
     //this.filterData();
     this.getPanorama();
 
   },
-  beforeDestroy () {
-    console.log('beforeDestroy')
+  beforeDestroy() {
     clearInterval(this.timer);
   },
   methods: {
-    checkTime () {
-      debugger
+    checkTime() {
       if (!this.searchTime) {
         this.$notify({
           type: 'warning',
@@ -126,8 +125,9 @@
         });
         return;
       }
+      clearInterval(this.timer);
       //鍒ゆ柇鏄惁鏄煡鍘嗗彶鏁版嵁
-      if (this.searchTime[1] < Date.now()) {
+      if (Date.parse(this.searchTime[1]) < Date.now()) {
         this.filterData()
       } else {
         this.activeObjHashMap = {};
@@ -135,12 +135,13 @@
         this.searchData();
       }
     },
-    filterData () {
+    filterData() {
       let _this = this;
       var param = {
         page: 1,
         size: 5000,
         searchTime: this.searchTime,
+        timeMark: null,
         alarmlevel: [],
         inputValue: '',
         tabs: [],
@@ -148,6 +149,7 @@
         treeNodes: [],
         isAll: false
       };
+      //clearInterval(this.timer);
       getSearchList(param).then(res => {
         _this.actObjs = [];
         if (!res.data.datalist) {
@@ -173,19 +175,19 @@
           })
         });
         for (var i = 0; i < _this.actObjs.length; i++) {
-          _this.actObjs[i].color = _this.colorArr[i % 10];
+          this.$set(_this.actObjs[i], 'color', _this.colorArr[i % 10]);
           this.$set(_this.actObjs[i], 'isHide', _this.actObjs[i].isHide);
         }
         _this.drawTracePath();
       })
     },
-    hideAllChange () {
+    hideAllChange() {
       this.actObjs.forEach(target => {
         target.isHide = this.isHideAll;
       });
       this.drawTracePath();
     },
-    invertChange () {
+    invertChange() {
       console.log(this.isInvert)
       this.actObjs.forEach(target => {
         target.isHide = !target.isHide;
@@ -198,12 +200,12 @@
       }
       this.drawTracePath();
     },
-    checkTarget (item) {
+    checkTarget(item) {
       item.isHide = !item.isHide;
       this.isHideAll = item.isHide;
       this.drawTracePath();
     },
-    getPanorama () {
+    getPanorama() {
       let _this = this;
       getPanoramaPic().then(res => {
         let { panoramaPath, width, height } = res.data;
@@ -221,7 +223,7 @@
         }
       })
     },
-    drawTracePath () {
+    drawTracePath() {
       let canvas = this.$refs['trackArea'];
       let ctx = canvas.getContext('2d');
       ctx.clearRect(0, 0, canvas.width, canvas.height);
@@ -253,7 +255,7 @@
         }
       })
     },
-    searchData () {
+    searchData() {
       let _this = this;
       var param = {
         page: 1,
@@ -266,9 +268,14 @@
         treeNodes: [],
         isAll: false
       };
+      if ((new Date() - _this.timeMark) < _this.intervalTime) {
+        return
+      }
       getSearchList(param).then(res => {
+        _this.activeObjHashMap = {};
+        _this.actObjs = [];
         if (!res.data.datalist) {
-          _this.activeObjHashMap = {};
+          //_this.activeObjHashMap = {};
           //_this.actObj = {};
           _this.actObjs = [];
           this.$notify({
@@ -298,7 +305,8 @@
           //filterArr.push(obj)
         });
 
-        filterArr.forEach(item => {
+        //filterArr.forEach(item => {
+        res.data.datalist.forEach(item => {
           item.activeObject.targetInfo.forEach(target => {
             if (target.targetType == 'UniquelID') {
               let attribute = JSON.parse(target.attribute);
@@ -323,37 +331,26 @@
         _this.searchStartTimeStamp = Date.parse(_this.searchTime[0]);
         _this.searchEndTimeStamp = Date.parse(_this.searchTime[1]);
 
-        // for (var target in _this.actObj) {
-        //   _this.actObj[target] = _this.actObj[target].filter(item =>
-        //     item.timeStamp >= _this.searchStartTimeStamp && item.timeStamp <= _this.searchEndTimeStamp
-        //   )
-        //   if (_this.actObj[target].length == 0) {
-        //     delete _this.actObj[target]
-        //   }
-        // }
-
         for (var i = 0; i < _this.actObjs.length; i++) {
           _this.actObjs[i].posInfo = _this.actObjs[i].posInfo.filter(item => item.timeStamp >= _this.searchStartTimeStamp && item.timeStamp <= _this.searchEndTimeStamp)
 
           if (!_this.actObjs[i].posInfo.length) {
             _this.actObjs.splice(i, 1);
           }
-          _this.actObjs[i].color = _this.colorArr[i % 10];
+
+          this.$set(_this.actObjs[i], 'color', _this.colorArr[i % 10]);
           this.$set(_this.actObjs[i], 'isHide', _this.actObjs[i].isHide);
         }
-        console.log(new Date(), _this.actObjs);
 
-        // var keyArr = Object.keys(_this.actObj);
-        // for (var i = 0; i < keyArr.length; i++) {
-        //   _this.actObj[keyArr[i]].forEach(dot => {
-        //     dot.color = _this.colorArr[i % 10];
-        //   })
-        // }
-        // console.log(new Date(), _this.actObj)
+        // console.log(_this.actObjs)
+
         _this.drawTracePath();
+        _this.timeMark = new Date();
         _this.timer = setTimeout(() => {
           _this.searchData()
         }, _this.intervalTime)
+
+
       })
     }
   }
@@ -364,7 +361,7 @@
 .trace-plot {
   .filter-bar {
     width: 960px;
-    margin: 20px auto;
+    margin: 20px 10px;
     display: flex;
     align-items: center;
     flex-direction: end;

--
Gitblit v1.8.0