From 136f8362fb2af4cf98e5593809769821b5dd2c2f Mon Sep 17 00:00:00 2001
From: guoshipeng <3194674006@qq.com>
Date: Mon, 31 Jul 2023 14:39:36 +0800
Subject: [PATCH] fix:loading框加载,样式修改

---
 src/views/UVA/index.vue |  434 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 299 insertions(+), 135 deletions(-)

diff --git a/src/views/UVA/index.vue b/src/views/UVA/index.vue
index d9f8bc1..49aeb6b 100644
--- a/src/views/UVA/index.vue
+++ b/src/views/UVA/index.vue
@@ -3,7 +3,7 @@
     <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
@@ -13,11 +13,13 @@
             ref="datePick"
             v-model="datenum"
             @change="chooseDate"
+            @blur="chooseDate1"
+            @focus="chooseDate2"
             value-format="yyyy-MM-dd"
+            style="width: 280px"
           >
           </el-date-picker>
         </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 +38,47 @@
           </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
+            accordion
+            style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)"
+            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-model="asideData.activeNames"
             accordion
             style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)"
             @change="handleChange"
             ref="collapse"
+            v-show="shou1 === false"
+            v-loading="loading"
           >
             <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 +96,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 +107,7 @@
                     <span>{{
                       item.endTime.substr(11, item.startTime.length)
                     }}</span>
+                    <span> ({{ item.total }}���) </span>
                   </div>
                 </div>
               </el-scrollbar>
@@ -103,6 +133,8 @@
               v-model="radioSeven"
               size="medium"
               @change="changeCode"
+              v-if="selecttrue === 1"
+              style="margin-top: 10px; margin-left: 10px"
             >
               <el-radio-button label="PM2.5"></el-radio-button>
               <el-radio-button label="PM10"></el-radio-button>
@@ -112,24 +144,78 @@
               <el-radio-button label="03"></el-radio-button>
               <el-radio-button label="TVOC"></el-radio-button>
             </el-radio-group>
-            <!-- <el-input
-            placeholder="���������������"
-            v-model="uvasize"
-            class="inputNum"
-            clearable
-          >
-          </el-input> -->
+            <div class="Duo" v-if="selecttrue === 2">
+              <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>
+              <!-- <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
+                  class="inputtu"
+                  v-model="uvasize"
+                  clearable
+                  placeholder="���������������"
+                  ref="uvas"
+                ></el-input>
+              </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="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 === 1" style="margin-left: 10px">
-              <el-button type="primary" @click="gengD" class="gengD"
+              <el-button type="primary" @click="gengD" style="margin-top: 10px"
                 >������������</el-button
               >
             </div>
-            <div v-if="selecttrue === 2" style="margin-left: 10px">
+            <div
+              v-if="selecttrue === 2"
+              style="margin-left: 10px; margin-top: 10px"
+            >
               <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 +226,7 @@
               </el-option>
             </el-select>
             <div class="spantu">
-              <span>������������(���):</span
+              <span>������������(���): </span
               ><el-input
                 class="inputtu"
                 v-model="uvasize"
@@ -150,15 +236,15 @@
               ></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>
   </div>
@@ -360,9 +446,13 @@
   },
   data() {
     return {
+      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) => {
@@ -374,13 +464,13 @@
       },
 
       tallone: 0,
-      talltwo: 500,
+      talltwo: 120,
       // ���������������
       asideData: {
         dates: [], // ������date������
         activeNames: [0],
         uavTimeFly: [], // ���������������������������������������������
-        activeKey: 0,
+        activeKey: -1,
         activeAreaKey: 0,
       },
       load: 1,
@@ -409,6 +499,7 @@
       bdLon: null,
       bdLat: null,
       loading: false,
+      loading1: false,
       snesorParams: [
         'PM2.5',
         'PM10',
@@ -619,8 +710,10 @@
       macs: '',
     }
   },
+
   mounted() {
-    this.$refs.datePick.focus()
+    this.initStart()
+    // this.$refs.datePick.focus()
     // this.getDate()
     // this.flyData()
   },
@@ -651,9 +744,16 @@
     this.newTime(this.timeValue)
     this.newDate()
     this.getDate()
+
+    // this.getFlyData()
   },
   methods: {
     selectDuo() {
+      this.loading1 = true
+      if (this.chosee === 1) {
+        this.$message.warning('������������������������������������')
+        return
+      }
       if (this.view) {
         this.view.removeAllLayers()
         this.map.clearOverlays()
@@ -665,16 +765,16 @@
         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 +788,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: '930px' })
     },
     shou() {
       this.selecttrue = 1
-      $('.dds').css({ height: '100px' })
+      $('.numss').css({ width: '690px' })
     },
     parseTime(time, cFormat) {
       if (arguments.length === 0 || !time) {
@@ -847,6 +950,8 @@
     },
     // ���������������������������������
     getTimeAreaData(item) {
+      // this.asideData.uavTimeFly = []
+      this.loading = true
       this.$request({
         url: 'uav/queryTimeSlot',
         method: 'get',
@@ -855,14 +960,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 +989,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
@@ -896,16 +1013,16 @@
         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 +1047,40 @@
         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')
+        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 +1114,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 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({
         //   // ������������������
@@ -1071,20 +1202,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)
         }
       }
@@ -1216,6 +1348,7 @@
             }
           }
           points.push(point1)
+          // console.log(points, 'image.png')
           // if (flag) {
           //   points.push(point1)
           //   console.log(points, 'points')
@@ -1816,6 +1949,7 @@
 }
 .activeArea {
   background-color: #f5f7fa;
+  color: rgb(36, 36, 36);
 }
 /*������������*/
 .textShow {
@@ -1843,6 +1977,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;
@@ -1907,19 +2047,21 @@
   background-color: #f40;
 }
 .numss {
-  width: 750px;
+  width: 700px;
   background-color: white;
-  padding: 10px;
   margin-top: 17px;
   display: flex;
+  height: 60px;
 }
 /deep/.el-select {
   width: 8% !important;
 }
 .Duo {
-  height: 70px;
   display: flex;
   overflow: hidden;
+  background-color: white;
+  width: 750px;
+  padding-left: 10px;
 }
 .spantu {
   width: 190px;
@@ -1928,20 +2070,24 @@
   // background-color: white;
   // height: 40px;
   display: flex;
-  margin-left: 20px;
-  line-height: 70px;
+  margin-left: 10px;
+  line-height: 60px;
   font-weight: 5px;
-
+  color: #696b6f;
   .inputtu {
-    width: 35%;
+    width: 40%;
+    margin-left: 5px;
   }
 }
 .slee {
-  line-height: 70px;
+  line-height: 60px;
+  width: 100px;
+  margin-left: 25px;
 }
 .spantuu {
   width: 400px;
-  line-height: 70px;
+  line-height: 60px;
+  color: #696b6f;
   .inputtu {
     width: 20%;
   }
@@ -1953,4 +2099,22 @@
 .jlpMySelectPopper.el-date-picker table {
   width: 88%;
 }
+.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>
\ No newline at end of file

--
Gitblit v1.8.0