From f74222e571d9164a59e01194f35ff1e34f10a423 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 15 Dec 2023 17:12:33 +0800
Subject: [PATCH] fix:热力图播放

---
 src/views/UVA/index.vue |  807 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 574 insertions(+), 233 deletions(-)

diff --git a/src/views/UVA/index.vue b/src/views/UVA/index.vue
index d9f8bc1..0266911 100644
--- a/src/views/UVA/index.vue
+++ b/src/views/UVA/index.vue
@@ -3,21 +3,22 @@
     <el-container style="height: 100%">
       <el-aside
         width="300px"
-        style="background-color: rgb(238, 241, 246); overflow-y: hidden"
+        style="background-color: rgb(238, 241, 246); overflow: hidden"
       >
         <div style="width: 274px; margin: 13px auto">
           <el-date-picker
+            ref="datePick"
+            v-model="datenum"
             :picker-options="pickerOptions"
             placeholder="������������"
             popper-class="jlpMySelectPopper"
-            ref="datePick"
-            v-model="datenum"
-            @change="chooseDate"
             value-format="yyyy-MM-dd"
-          >
-          </el-date-picker>
+            style="width: 280px"
+            @change="chooseDate"
+            @blur="chooseDate1"
+            @focus="chooseDate2"
+          />
         </div>
-
         <!-- <el-card class="box-card" style="width: 274px; margin: 13px auto"> -->
 
         <!-- <div v-else style="height: 180px; width: 274px; overflow-x: hidden">
@@ -36,20 +37,42 @@
           </div> -->
         <!-- </el-card> -->
 
-        <div style="width: 274px; margin: 350px auto; border-radius: 8px">
+        <div
+          style="width: 274px; margin: 10px auto; border-radius: 8px"
+          class="coll"
+        >
           <!--accordion ���������������-->
+          <el-collapse v-show="shou1 === true" v-loading="loading">
+            <el-collapse-item
+              style="text-indent: 2em; position: relative; padding-botton: 10px"
+            >
+              <template slot="title">
+                <img
+                  style="position: absolute; left: 18px"
+                  src="../../assets/images/uav/uav.png"
+                />
+                <span
+                  style="display: inline-block; position: absolute; left: 20px"
+                >
+                  ������������������������������</span
+                >
+              </template>
+            </el-collapse-item>
+          </el-collapse>
           <el-collapse
+            v-show="shou1 === false"
+            ref="collapse"
             v-model="asideData.activeNames"
+            v-loading="loading"
             accordion
             style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)"
             @change="handleChange"
-            ref="collapse"
           >
             <el-collapse-item
               v-for="(item1, index) in asideData.uavTimeFly"
               :key="index"
               :name="index"
-              style="text-indent: 2em; position: relative"
+              style="text-indent: 2em; position: relative; padding-botton: 10px"
             >
               <template slot="title">
                 <img
@@ -67,7 +90,7 @@
                   v-for="(item, index) in item1.timeSlot"
                   :key="index"
                   class="per-date_area"
-                  :class="{ activeArea: asideData.activeAreaKey === index }"
+                  :class="{ activeArea: asideData.activeKey === index }"
                   @click="getFlyData(item, index, item1.mac)"
                 >
                   <div style="width: 100%; margin: 0 auto">
@@ -78,6 +101,7 @@
                     <span>{{
                       item.endTime.substr(11, item.startTime.length)
                     }}</span>
+                    <span> ({{ item.total }}���) </span>
                   </div>
                 </div>
               </el-scrollbar>
@@ -100,36 +124,91 @@
         >
           <div class="numss">
             <el-radio-group
+              v-if="selecttrue === 1"
               v-model="radioSeven"
               size="medium"
+              style="margin-top: 10px; margin-left: 10px"
               @change="changeCode"
             >
-              <el-radio-button label="PM2.5"></el-radio-button>
-              <el-radio-button label="PM10"></el-radio-button>
-              <el-radio-button label="SO2"></el-radio-button>
-              <el-radio-button label="NO2"></el-radio-button>
-              <el-radio-button label="CO"></el-radio-button>
-              <el-radio-button label="03"></el-radio-button>
-              <el-radio-button label="TVOC"></el-radio-button>
+              <el-radio-button label="PM2.5" />
+              <el-radio-button label="PM10" />
+              <el-radio-button label="SO2" />
+              <el-radio-button label="NO2" />
+              <el-radio-button label="CO" />
+              <el-radio-button label="03" />
+              <el-radio-button label="TVOC" />
             </el-radio-group>
-            <!-- <el-input
-            placeholder="���������������"
-            v-model="uvasize"
-            class="inputNum"
-            clearable
-          >
-          </el-input> -->
-            <div v-if="selecttrue === 1" style="margin-left: 10px">
-              <el-button type="primary" @click="gengD" class="gengD"
-                >������������</el-button
-              >
+            <div v-if="selecttrue === 2" class="Duo">
+              <div class="spantuu">
+                <span>���������������������������(���): </span>
+                <el-input ref="uvas" v-model="tallone" class="inputtu" />
+                --
+                <el-input ref="uvas" v-model="talltwo" class="inputtu" />
+              </div>
+              <!-- <el-select v-model="Duovalue" placeholder="������������" class="slee">
+                <el-option
+                  v-for="item in optionsduo"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.name"
+                >
+                </el-option>
+              </el-select> -->
+              <div class="spantu">
+                <span>������������(���): </span
+                ><el-input
+                  ref="uvas"
+                  v-model="uvasize"
+                  class="inputtu"
+                  clearable
+                  placeholder="���������������"
+                />
+              </div>
+              <el-select v-model="Duovalue" placeholder="������������" class="slee">
+                <el-option
+                  v-for="item in optionsduo"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.name"
+                />
+              </el-select>
+              <!-- <div class="spantuu">
+                <span>���������������������������(���): </span>
+                <el-input
+                  class="inputtu"
+                  v-model="tallone"
+                  ref="uvas"
+                ></el-input>
+                --
+                <el-input
+                  class="inputtu"
+                  v-model="talltwo"
+                  ref="uvas"
+                ></el-input>
+              </div> -->
             </div>
-            <div v-if="selecttrue === 2" style="margin-left: 10px">
-              <el-button class="gengD" @click="shou">������</el-button>
-              <el-button type="primary" @click="selectDuo">������</el-button>
+            <div v-if="selecttrue === 1" style="margin-left: 10px">
+              <el-button type="primary" style="margin-top: 10px" @click="gengD">
+                ������������
+              </el-button>
+            </div>
+            <div
+              v-if="selecttrue === 2"
+              style="margin-left: 10px; margin-top: 10px"
+            >
+              <el-button
+                size="medium"
+                type="primary"
+                icon="el-icon-setting"
+                @click="dialogFormVisible = true"
+              >
+                6���������
+              </el-button>
+              <el-button class="gengD" @click="shou"> ������ </el-button>
+              <el-button type="primary" @click="selectDuo"> ������ </el-button>
             </div>
           </div>
-          <div class="Duo" v-if="selecttrue === 2">
+          <!-- <div class="Duo" v-if="selecttrue === 2">
             <el-select v-model="Duovalue" placeholder="������������" class="slee">
               <el-option
                 v-for="item in optionsduo"
@@ -140,7 +219,7 @@
               </el-option>
             </el-select>
             <div class="spantu">
-              <span>������������(���):</span
+              <span>������������(���): </span
               ><el-input
                 class="inputtu"
                 v-model="uvasize"
@@ -150,17 +229,86 @@
               ></el-input>
             </div>
             <div class="spantuu">
-              <span>���������������������������(���):</span>
-              <el-input class="inputtu" v-model="tallone" ref="uvas"></el-input
-              >-
+              <span>���������������������������(���): </span>
+              <el-input class="inputtu" v-model="tallone" ref="uvas"></el-input>
+              --
               <el-input class="inputtu" v-model="talltwo" ref="uvas"></el-input>
             </div>
-          </div>
+          </div> -->
         </div>
-        <div v-if="noneData" class="noneData">������������������������������</div>
-        <div id="map_container" v-loading="loading" />
+        <!-- <div v-if="noneData" class="noneData">������������������������������</div> -->
+        <div id="map_container" v-loading="loading1" />
       </el-main>
     </el-container>
+    <el-dialog title="6���������" :visible.sync="dialogFormVisible" width="1000px">
+      <el-descriptions title="������6���" :column="3" border>
+        <el-descriptions-item
+          label="PM2.5 | ug/m��"
+          label-class-name="my-label"
+          content-class-name="my-content"
+        >
+          22
+        </el-descriptions-item>
+        <el-descriptions-item label="PM10 | ug/m��"> 34 </el-descriptions-item>
+        <el-descriptions-item label="SO2 | ug/m��"> 4 </el-descriptions-item>
+        <el-descriptions-item label="NO2 | ug/m��"> 16 </el-descriptions-item>
+        <el-descriptions-item label="CO | mg/m��"> 0.5 </el-descriptions-item>
+        <el-descriptions-item label="O3 | ug/m��"> 149 </el-descriptions-item>
+      </el-descriptions>
+      <!-- <el-descriptions title="���������������"  border>
+      </el-descriptions> -->
+      <div
+        style="
+          font-size: 16px;
+          font-weight: 700;
+          margin: 10px 0 20px 0;
+          font-size: 16px;
+          font-weight: 700;
+          color: #303133;
+        "
+      >
+        ���������������
+      </div>
+      <el-table :data="sensorTableData" border>
+        <el-table-column prop="sensorName" label="������" />
+        <el-table-column prop="unit" label="������" />
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab1" placeholder="���������������" />
+            <!-- <span v-show="!scope.row.show">{{ scope.row.tab1 }}</span> -->
+          </template>
+        </el-table-column>
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab2" placeholder="���������������" />
+          </template>
+        </el-table-column>
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab3" placeholder="���������������" />
+          </template>
+        </el-table-column>
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab4" placeholder="���������������" />
+          </template>
+        </el-table-column>
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab5" placeholder="���������������" />
+          </template>
+        </el-table-column>
+        <el-table-column label="������">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.tab6" placeholder="���������������" />
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false"> ��� ��� </el-button>
+        <el-button type="primary" @click="customLevel"> ��� ��� </el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -228,12 +376,20 @@
         break
       }
 
-      if (dLat > 0) pLat = wgsLat
-      else mLat = wgsLat
-      if (dLon > 0) pLon = wgsLon
-      else mLon = wgsLon
+      if (dLat > 0) {
+        pLat = wgsLat
+      } else {
+        mLat = wgsLat
+      }
+      if (dLon > 0) {
+        pLon = wgsLon
+      } else {
+        mLon = wgsLon
+      }
 
-      if (++i > 10000) break
+      if (++i > 10000) {
+        break
+      }
     }
     return { lat: wgsLat, lon: wgsLon }
   },
@@ -287,8 +443,12 @@
     var y =
       Math.sin((latA * this.PI) / 180.0) * Math.sin((latB * this.PI) / 180.0)
     var s = x + y
-    if (s > 1) s = 1
-    if (s < -1) s = -1
+    if (s > 1) {
+      s = 1
+    }
+    if (s < -1) {
+      s = -1
+    }
     var alpha = Math.acos(s)
     var distance = alpha * earthR
     return distance
@@ -354,19 +514,26 @@
 export default {
   filters: {
     sensorFilter: function (value) {
-      if (!value) return ''
+      if (!value) {
+        return ''
+      }
       return json[value]
     },
   },
   data() {
     return {
+      dialogFormVisible: false,
+      chosee: 1,
+      shou1: true,
+      zhanK1: 1,
       zhanK: 1,
       Duovalue: '',
-      datenum: '',
+      datenum: new Date(),
+      // orderTime:[Date('2020-06-19'),Date('2021-06-19')]
       selecttrue: 1,
       pickerOptions: {
         cellClassName: (time) => {
-          let timeDate = moment(time.getTime()).format('yyyy-MM-DD')
+          const timeDate = moment(time.getTime()).format('yyyy-MM-DD')
           if (this.timeNums.includes(timeDate)) {
             return 'dateArrClass' // ������������������������������������������
           }
@@ -374,13 +541,13 @@
       },
 
       tallone: 0,
-      talltwo: 500,
+      talltwo: 120,
       // ���������������
       asideData: {
         dates: [], // ������date������
         activeNames: [0],
         uavTimeFly: [], // ���������������������������������������������
-        activeKey: 0,
+        activeKey: -1,
         activeAreaKey: 0,
       },
       load: 1,
@@ -409,6 +576,7 @@
       bdLon: null,
       bdLat: null,
       loading: false,
+      loading1: false,
       snesorParams: [
         'PM2.5',
         'PM10',
@@ -434,7 +602,9 @@
           // ������������ ������������
           this.timeOne = minDate.getTime() // ��������������������� ������������������
           // ������������������������������������������������������������
-          if (maxDate) this.timeOne = ''
+          if (maxDate) {
+            this.timeOne = ''
+          }
         },
         disabledDate: (time) => {
           if (this.timeOne) {
@@ -455,7 +625,6 @@
       noneData: true,
       defaultData: [],
       carMac: null,
-      dialogFormVisible: false,
       optionsduo: [
         { code: 'a34004', name: 'PM2.5' },
         { code: 'a34002', name: 'PM10' },
@@ -609,7 +778,7 @@
       endTime: '',
       dataDate: '',
       sensorTime: [],
-      uvasize: 50,
+      uvasize: 20,
       timeValue: [
         new Date(2020, 1, 1, 0, 0, 0),
         new Date(2022, 12, 31, 23, 59, 59),
@@ -617,12 +786,89 @@
       timeNums: [],
       batchs: '',
       macs: '',
+      sensorTableData: [
+        {
+          sensorName: 'PM2.5',
+          unit: 'ug/m��',
+          tab1: '35',
+          tab2: '75',
+          tab3: '115',
+          tab4: '150',
+          tab5: '250',
+          tab6: '350',
+        },
+        {
+          sensorName: 'PM10',
+          unit: 'ug/m��',
+          tab1: '50',
+          tab2: '150',
+          tab3: '250',
+          tab4: '350',
+          tab5: '420',
+          tab6: '500',
+        },
+        {
+          sensorName: 'SO2',
+          unit: 'ug/m��',
+          tab1: '150',
+          tab2: '500',
+          tab3: '650',
+          tab4: '800',
+          tab5: '',
+          tab6: '',
+        },
+        {
+          sensorName: 'NO2',
+          unit: 'ug/m��',
+          tab1: '100',
+          tab2: '200',
+          tab3: '700',
+          tab4: '1200',
+          tab5: '2340',
+          tab6: '3090',
+        },
+        {
+          sensorName: 'CO',
+          unit: 'mg/m��',
+          tab1: '5',
+          tab2: '10',
+          tab3: '35',
+          tab4: '60',
+          tab5: '90',
+          tab6: '120',
+        },
+        {
+          sensorName: 'O3',
+          unit: 'ug/m��',
+          tab1: '160',
+          tab2: '200',
+          tab3: '300',
+          tab4: '400',
+          tab5: '800',
+          tab6: '1000',
+        },
+        {
+          sensorName: 'TVOC',
+          unit: 'mg/m��',
+          tab1: '0.1',
+          tab2: '0.3',
+          tab3: '0.5',
+          tab4: '0.7',
+          tab5: '0.9',
+          tab6: '1',
+        },
+        {
+          sensorName: '���������',
+          unit: 'ug/m��',
+          tab1: '300',
+          tab2: '500',
+          tab3: '1000',
+          tab4: '10000',
+          tab5: '20000',
+          tab6: '50000',
+        },
+      ],
     }
-  },
-  mounted() {
-    this.$refs.datePick.focus()
-    // this.getDate()
-    // this.flyData()
   },
   watch: {
     dataTypeValue(n, o) {
@@ -647,34 +893,59 @@
     deep: true,
     immediate: true,
   },
+
+  mounted() {
+    this.$nextTick(() => {
+      this.initStart()
+    })
+
+    // this.$refs.datePick.focus()
+    // this.getDate()
+    // this.flyData()
+  },
   created() {
     this.newTime(this.timeValue)
     this.newDate()
     this.getDate()
+
+    // this.getFlyData()
   },
   methods: {
+    customLevel() {
+      this.selectDuo()
+      this.dialogFormVisible = false
+    },
     selectDuo() {
+      // console.log(2115);
+      if (this.chosee === 1) {
+        this.$message.warning('������������������������������������')
+        return
+      } else {
+        // console.log('132123');
+        this.loading1 = true
+      }
       if (this.view) {
         this.view.removeAllLayers()
         this.map.clearOverlays()
       }
       this.$request({
         // url: '/uav/queryDataByBatch',
-        url: '/uav/test',
+        url: '/uav/getUav',
+        // url: '/uav/test',
         method: 'post',
         data: {
           batch: this.batchs,
           uvasize: this.uvasize,
-          height: 0,
           mac: this.macs,
+          height1: this.tallone,
+          height2: this.talltwo,
           // batch: '2023-06-16 16:21:21',
         },
       }).then((res) => {
-        console.log(res)
+        // console.log(res)
         this.carData = []
         if (res.data === 'null') {
           this.noneData = true
-          this.loading = false
           return
         }
         for (var i = 0; i < res.data.length; i++) {
@@ -688,30 +959,33 @@
         }
         this.changeCode(this.Duovalue)
         this.initStart(this.carData)
-        if (res.data.vos.length) {
-          this.initStart(this.carData)
-        }
       })
     },
     chooseDate() {
-      this.$refs.datePick.focus() // ���������������������������������
+      // this.$refs.datePick.focus() // ���������������������������������
       this.getTimeAreaData(this.datenum)
+      $('.coll').css('margin-top', '350px')
     },
-    // chooseDate1() {
-    //   this.$refs.datePick.focus() // ���������������������������������
-    //   this.$refs.uvas.focus()
-    // },
+    chooseDate2() {
+      // this.$refs.datePick.focus() // ���������������������������������
+      // this.getTimeAreaData(this.datenum)
+      $('.coll').css('margin-top', '350px')
+    },
+    chooseDate1() {
+      $('.coll').css('margin-top', '10px')
+      // this.$refs.datePick.focus() // ���������������������������������
+    },
     gengD() {
-      if (this.zhanK === 1) {
-        this.$message.warning('���������������������������������������')
-        return
-      }
+      // if (this.zhanK === 1) {
+      //   this.$message.warning('���������������������������������������')
+      //   return
+      // }
       this.selecttrue = 2
-      $('.dds').css({ height: '150px' })
+      $('.numss').css({ width: '1050px' })
     },
     shou() {
       this.selecttrue = 1
-      $('.dds').css({ height: '100px' })
+      $('.numss').css({ width: '700px' })
     },
     parseTime(time, cFormat) {
       if (arguments.length === 0 || !time) {
@@ -772,12 +1046,6 @@
       })
       return arr
     },
-    // ���������������������������������
-    changeCarData(e) {
-      this.carMac = e
-      this.getStart()
-    },
-    // ���������������������������
     // ���������������������������������������
     Rad(d) {
       return (d * Math.PI) / 180.0 // ���������������������������������������������������
@@ -842,11 +1110,12 @@
         }
         this.dataType = 'history'
         // this.map = null
-        this.getStart()
       }
     },
     // ���������������������������������
     getTimeAreaData(item) {
+      // this.asideData.uavTimeFly = []
+      this.loading = true
       this.$request({
         url: 'uav/queryTimeSlot',
         method: 'get',
@@ -855,14 +1124,16 @@
           date: item,
         },
       }).then((res) => {
-        this.asideData = []
-        console.log(res.data.vos, 'res.data.vos')
-        if (res.data.vos.length === 0) {
+        // console.log(res, 'res.data.vos')
+        if (res.code === -47) {
           this.noneData = true
-          this.loading = false
+          // this.asideData.uavTimeFly=res.message
+          this.shou1 = true
         } else {
+          this.shou1 = false
           this.asideData.uavTimeFly = res.data.vos
         }
+        this.loading = false
         // if (res.code === 0) {
         //   this.asideData.uavTimeFly = res.data.vos
         // }
@@ -882,6 +1153,16 @@
     },
     // ���������������
     getFlyData(item, index, mac) {
+      // for (var i = 0; i < this.xie.date.length; i++) {
+      //   this.xie.date[i].flyLat = this.xie.date[i].flyLat + ' ��'.toString()
+      //   this.xie.date[i].flyLon = this.xie.date[i].flyLon + ' ��'.toString()
+      //   this.xie.date[i].a34004 = this.xie.date[i].a34004
+      //   this.carData.push(this.xie.date[i])
+      // }
+      // this.initStart(this.carData)
+      this.loading1 = true
+      this.asideData.activeKey = index
+      this.chosee = 2
       this.batchs = item.batch
       this.macs = mac
       this.noneData = false
@@ -891,21 +1172,22 @@
       }
       this.$request({
         // url: '/uav/queryDataByBatch',
-        url: '/uav/test',
+        // url: '/uav/test',
+        url: '/uav/getUav',
         method: 'post',
         data: {
           batch: item.batch,
           uvasize: this.uvasize,
-          height: 0,
+          height1: this.tallone,
+          height2: this.talltwo,
           mac: mac,
           // batch: '2023-06-16 16:21:21',
         },
       }).then((res) => {
-        console.log(res)
+        // console.log(res)
         this.carData = []
         if (res.data === 'null') {
           this.noneData = true
-          this.loading = false
           return
         }
         for (var i = 0; i < res.data.length; i++) {
@@ -930,96 +1212,43 @@
         this.asideData.dates = JSON.parse(JSON.stringify(res.data.datesStr))
         this.timeNums = this.asideData.dates
         if (this.asideData.dates.length > 0) {
-          this.getTimeAreaData(this.asideData.dates[0], 0)
-          this.datenum = this.asideData.dates[0]
-          setTimeout(() => {
-            if (this.asideData.uavTimeFly[0].timeSlot) {
-              console.log(
-                this.asideData.uavTimeFly[0].timeSlot,
-                'this.asideData.uavTimeFly[0].timeSlot'
-              )
-              // console.log(
-              //   this.asideData.uavTimeFly[0].timeSlot,
-              //   'this.asideData.uavTimeFly[0].timeSlot[0]'
-              // )
-              this.getFlyData(this.asideData.uavTimeFly[0].timeSlot[0], 0, mac)
-            }
-          }, 500)
+          this.getTimeAreaData(this.datenum, 0)
+          // this.datenum = this.asideData.dates[0]
+          // setTimeout(() => {
+          //   if (this.asideData.uavTimeFly[0].timeSlot) {
+          //     console.log(
+          //       this.asideData.uavTimeFly[0].timeSlot,
+          //       'this.asideData.uavTimeFly[0].timeSlot'
+          //     )
+          //     // console.log(
+          //     //   this.asideData.uavTimeFly[0].timeSlot,
+          //     //   'this.asideData.uavTimeFly[0].timeSlot[0]'
+          //     // )
+          //     this.getFlyData(this.asideData.uavTimeFly[0].timeSlot[0], 0, mac)
+          //   }
+          // }, 500)
         }
       })
     },
     initStart(res) {
-      console.log(res, 'res')
       this.abc += 1
       const that = this
       if (!res) {
-        return
-      }
-      if (this.dataType === 'history') {
-        this.responseJSON = res
-      } else {
-        this.responseJSON = res
-      }
-      // var sensorInfo = this.responseJSON
-      // console.log('������snesor������������')
-      // console.log(this.responseJSON)
-      var trackPoints = []
-      this.loading = false
-      if (this.responseJSON.length > 0) {
-        this.noneData = false
-        $.each(this.responseJSON, (item, value) => {
-          if (typeof value.flyLon === 'undefined') {
-            showNoPoints()
-          } else {
-            var lng = parseFloat(
-              value.flyLon.substr(0, value.flyLon.length - 1)
-            )
-            var lat = parseFloat(
-              value.flyLat.substr(0, value.flyLat.length - 1)
-            )
-            if (lng < 70 || lng > 150 || lat > 60 || lat < 20) {
-              return true
-            }
-            lng = GPS.gcj_encrypt(lat, lng).lon
-            lat = GPS.gcj_encrypt(lat, lng).lat
-            lng = GPS.bd_encrypt(lat, lng).lon
-            lat = GPS.bd_encrypt(lat, lng).lat
-            var point = new BMapGL.Point(lng, lat)
-            point.a34004 = parseInt(value.a34004)
-            point.a34002 = parseInt(value.a34002)
-            point.a21026 = parseInt(value.a21026)
-            point.a21004 = parseInt(value.a21004)
-            point.a01006 = parseInt(value.a01006)
-            point.a01001 = parseInt(value.a01001)
-            point.a01002 = parseInt(value.a01002)
-            point.a21005 = parseFloat(value.a21005).toFixed(3)
-            point.a05024 = parseInt(value.a05024)
-            point.a99054 = parseFloat(value.a99054).toFixed(3)
-            point.dustld = value.dustld - 0
-            trackPoints.push(point)
-          }
-        })
-        that.sensor = this.sensorKey
-        that.viewType = this.viewKey
-        that.size = this.uvasize
-        that.distance = that.size / 2 / Math.sin((1 * Math.PI) / 4)
-        console.log(that.distance, 'that.distance')
-        // ���������������������������������
-        if (!that.showPoints) {
-          that.map = new BMapGL.Map('map_container')
-        }
-        that.map.enableScrollWheelZoom(true) // ������������������������������������������������������
+        that.map = new BMapGL.Map('map_container')
+        console.log('BMapGL', BMapGL)
+        console.log('BMapGL', BMapGL)
+        console.log('window', window.BMapGL)
+        that.map.enableScrollWheelZoom(true) // ������������������������������������������������������s
         that.map.setMapType(BMAP_EARTH_MAP) // ���������������������������������
         that.map.setDisplayOptions({
           street: false, // ������������������������������������������������������������
         })
-        that.map.setHeading(20) // ������������������
+        that.map.setHeading(0) // ������������������
         if (that.viewKey === '2D') {
           that.map.setTilt(0) // ������������
         } else {
           that.map.setTilt(52)
         }
-        // ������������������v3.0������������������������
         that.map.setMapStyleV2({
           styleJson: [
             {
@@ -1053,6 +1282,76 @@
             },
           ],
         })
+        showNoPoints()
+        this.loading1 = false
+        return
+      }
+      if (this.dataType === 'history') {
+        this.responseJSON = res
+      } else {
+        this.responseJSON = res
+      }
+      // var sensorInfo = this.responseJSON
+      // console.log('������snesor������������')
+      // console.log(this.responseJSON)
+      var trackPoints = []
+      if (this.responseJSON.length > 0) {
+        this.noneData = false
+        $.each(this.responseJSON, (item, value) => {
+          if (typeof value.flyLon === 'undefined') {
+            showNoPoints()
+          } else {
+            var lng = parseFloat(
+              value.flyLon.substr(0, value.flyLon.length - 1)
+            )
+            var lat = parseFloat(
+              value.flyLat.substr(0, value.flyLat.length - 1)
+            )
+            if (lng < 70 || lng > 150 || lat > 60 || lat < 20) {
+              return true
+            }
+            // lng = GPS.gcj_encrypt(lat, lng).lon
+            // lat = GPS.gcj_encrypt(lat, lng).lat
+            // lng = GPS.bd_encrypt(lat, lng).lon
+            // lat = GPS.bd_encrypt(lat, lng).lat
+            // lng = GPS.bd_decrypt(lat, lng).lon
+            // lat = GPS.bd_decrypt(lat, lng).lat
+            var point = new BMapGL.Point(lng, lat)
+            point.a34004 = parseInt(value.a34004)
+            point.a34002 = parseInt(value.a34002)
+            point.a21026 = parseInt(value.a21026)
+            point.a21004 = parseInt(value.a21004)
+            point.a01006 = parseInt(value.a01006)
+            point.a01001 = parseInt(value.a01001)
+            point.a01002 = parseInt(value.a01002)
+            point.a21005 = parseFloat(value.a21005).toFixed(3)
+            point.a05024 = parseInt(value.a05024)
+            point.a99054 = parseFloat(value.a99054).toFixed(3)
+            point.dustld = value.dustld - 0
+            trackPoints.push(point)
+          }
+        })
+        that.sensor = this.sensorKey
+        that.viewType = this.viewKey
+        that.size = this.uvasize
+        that.distance = that.size / 2 / Math.sin((1 * Math.PI) / 4)
+        // ���������������������������������
+        // if (!that.showPoints) {
+        //   console.log(111)
+        //   that.map = new window.BMapGL.Map('map_container')
+        // }
+        // that.map.enableScrollWheelZoom(true) // ������������������������������������������������������s
+        // that.map.setMapType(BMAP_EARTH_MAP) // ���������������������������������
+        // that.map.setDisplayOptions({
+        //   street: false, // ������������������������������������������������������������
+        // })
+        // that.map.setHeading(20) // ������������������
+        // if (that.viewKey === '2D') {
+        //   that.map.setTilt(0) // ������������
+        // } else {
+        //   that.map.setTilt(52)
+        // }
+        // ������������������v3.0������������������������
 
         // that.map.setDisplayOptions({
         //   // ������������������
@@ -1060,7 +1359,7 @@
         //   building: true, // ������������������
         //   poiText: false, // ������poi������
         // })
-        // that.map.addControl(new BMapGL.NavigationControl3D()) // ������3d������
+        // that.map.addControl(new window.BMapGL.NavigationControl3D()) // ������3d������
         if (this.responseJSON.length === 0) {
           showNoPoints()
         }
@@ -1071,20 +1370,21 @@
         // console.log(that.mapZoom, 'that.mapZoom')
         that.centerPoint = that.viewport.center
         if (that.firstPlayFlag) {
-          console.log(that.mapZoom, that.centerPoint, '1')
           that.map.centerAndZoom(that.centerPoint, that.mapZoom)
           that.view = new mapvgl.View({
             map: that.map,
           })
           that.firstPlayFlag = false
+          that.loading1 = false
         } else {
-          console.log(that.mapZoom, that.centerPoint, '2')
           this.view.removeAllLayers()
           this.map.clearOverlays()
           that.map.centerAndZoom(that.centerPoint, that.mapZoom)
           that.view = new mapvgl.View({
             map: that.map,
           })
+          that.loading1 = false
+
           // that.map.centerAndZoom(that.centerPoint, 18)
         }
       }
@@ -1135,12 +1435,12 @@
               new BMapGL.Point(sw.lng, ne.lat), // ���������
             ],
             {
-              strokeWeight: 0.1, //������������������,������������������
+              strokeWeight: 0.1, // ������������������,������������������
               // strokeOpacity: 0.0, //������������������
-              fillColor: color, //���������������������
-              fillOpacity: 0.8, //������������������������0~1������
-              strokeColor: 'black', //������������������
-              strokeStyle: 'solid', //������������������solid���dashed���
+              fillColor: color, // ���������������������
+              fillOpacity: 0.8, // ������������������������0~1������
+              strokeColor: 'black', // ������������������
+              strokeStyle: 'solid', // ������������������solid���dashed���
             }
           )
           that.map.addOverlay(polygon)
@@ -1216,6 +1516,7 @@
             }
           }
           points.push(point1)
+          // console.log(points, 'image.png')
           // if (flag) {
           //   points.push(point1)
           //   console.log(points, 'points')
@@ -1711,20 +2012,26 @@
       }
       this.initStart(this.carData)
     },
-    changeCode1(index) {
-      this.changeColor1 = index
-      if (index === 0) {
-        this.viewKey = '2D'
-      } else {
-        this.viewKey = '3D'
-      }
-      this.getStart()
-    },
   },
 }
 </script>
 
-<style  lang="scss" >
+<style  lang="scss" scoped>
+.main-container {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-orient: vertical;
+  -webkit-box-direction: normal;
+  -ms-flex-flow: column;
+  flex-flow: column;
+  min-height: 100%;
+  -webkit-transition: margin-left 0.28s;
+  transition: margin-left 0.28s;
+  margin-left: 210px;
+  position: relative;
+  height: 100%;
+}
 /deep/.BMap_cpyCtrl {
   display: none;
 }
@@ -1816,6 +2123,7 @@
 }
 .activeArea {
   background-color: #f5f7fa;
+  color: rgb(36, 36, 36);
 }
 /*������������*/
 .textShow {
@@ -1843,6 +2151,12 @@
 .per-text-data:nth-last-child(1) {
   padding-bottom: 8px;
 }
+.el-collapse {
+  border-top: 1px solid #ebeef5;
+  border-bottom: 1px solid #ebeef5;
+  width: 280px;
+}
+
 /deep/.el-scrollbar__wrap {
   overflow-x: hidden;
   //overflow-y: hidden;
@@ -1892,6 +2206,80 @@
 /deep/.inputNum {
   width: 4% !important;
 }
+
+.numss {
+  width: 700px;
+  background-color: white;
+  margin-top: 17px;
+  display: flex;
+  height: 60px;
+}
+/deep/.el-select {
+  width: 8% !important;
+}
+.Duo {
+  display: flex;
+  overflow: hidden;
+  background-color: white;
+  width: 750px;
+  padding-left: 10px;
+}
+.spantu {
+  width: 190px;
+  // margin-top: 10px;
+  // margin-left: 20px;
+  // background-color: white;
+  // height: 40px;
+  display: flex;
+  margin-left: 10px;
+  line-height: 60px;
+  font-weight: 5px;
+  color: #696b6f;
+  .inputtu {
+    width: 40%;
+    margin-left: 5px;
+  }
+}
+.slee {
+  line-height: 60px;
+  width: 100px;
+  margin-left: 25px;
+}
+.spantuu {
+  width: 400px;
+  line-height: 60px;
+  color: #696b6f;
+  .inputtu {
+    width: 20%;
+  }
+}
+
+.BMap_cpyCtrl {
+  display: none;
+}
+.anchorBL {
+  display: none;
+}
+.el-collapse-item__arrow.is-active {
+  -webkit-transform: rotate(90deg);
+  transform: rotate(90deg);
+  position: absolute;
+  top: -3px;
+  right: -3px;
+}
+/* ������������������������ x ��������������� */
+.el-scrollbar__wrap {
+  overflow-x: hidden;
+}
+</style>
+<style >
+.jlpMySelectPopper.el-picker-panel {
+  width: 280px;
+  height: 330px;
+}
+.jlpMySelectPopper.el-date-picker table {
+  width: 88%;
+}
 .dateArrClass {
   position: relative;
 }
@@ -1906,51 +2294,4 @@
   z-index: 999;
   background-color: #f40;
 }
-.numss {
-  width: 750px;
-  background-color: white;
-  padding: 10px;
-  margin-top: 17px;
-  display: flex;
-}
-/deep/.el-select {
-  width: 8% !important;
-}
-.Duo {
-  height: 70px;
-  display: flex;
-  overflow: hidden;
-}
-.spantu {
-  width: 190px;
-  // margin-top: 10px;
-  // margin-left: 20px;
-  // background-color: white;
-  // height: 40px;
-  display: flex;
-  margin-left: 20px;
-  line-height: 70px;
-  font-weight: 5px;
-
-  .inputtu {
-    width: 35%;
-  }
-}
-.slee {
-  line-height: 70px;
-}
-.spantuu {
-  width: 400px;
-  line-height: 70px;
-  .inputtu {
-    width: 20%;
-  }
-}
-.jlpMySelectPopper.el-picker-panel {
-  width: 280px;
-  height: 330px;
-}
-.jlpMySelectPopper.el-date-picker table {
-  width: 88%;
-}
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0