From 936633659148e800a8d09322a9f1e646104010a7 Mon Sep 17 00:00:00 2001
From: yichenxi <yichenxi0601@163.com>
Date: Mon, 12 Dec 2022 14:14:57 +0800
Subject: [PATCH] 1、尘负荷走航路段报告

---
 src/views/car/index.vue |  333 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 305 insertions(+), 28 deletions(-)

diff --git a/src/views/car/index.vue b/src/views/car/index.vue
index 9c5198a..d3ac8e8 100644
--- a/src/views/car/index.vue
+++ b/src/views/car/index.vue
@@ -110,6 +110,53 @@
           <!--              @click.native="dataChangeClick"-->
           <!--            />-->
           <!--          </el-select>-->
+
+          <el-button
+            type="primary"
+            size="small"
+            style="margin-left: 1.5rem"
+            @click="insertL"
+            >������</el-button
+          >
+          <div class="insLu">
+            <el-upload
+              class="upload-demo"
+              ref="upload"
+              action=""
+              :on-change="handleChange"
+              :on-remove="handleRemove"
+              :file-list="fileList"
+              :auto-upload="false"
+              :limit="1"
+            >
+              <el-button slot="trigger" size="small" type="primary"
+                >������������</el-button
+              >
+              <div slot="tip" class="el-upload__tip" style="color: red">
+                ������������������������(���������������)
+              </div>
+            </el-upload>
+            <div style="display: flex">
+              <span class="statspan">������������������:</span
+              ><el-input v-model="startL" style="width: 12rem"></el-input>
+            </div>
+            <div style="display: flex">
+              <span class="statspan">������������������:</span
+              ><el-input v-model="endL" style="width: 12rem"></el-input>
+            </div>
+            <div style="display: flex">
+              <span class="statspan">������������:</span
+              ><el-input
+                v-model="Lname"
+                style="width: 12rem; margin-left: 1.7rem"
+              ></el-input>
+            </div>
+            <div style="display: flex; margin-left: 4rem">
+              <el-button type="primary" @click="insLuDuan">������</el-button>
+              <el-button @click="insqu">������</el-button>
+              <el-button @click="qnull">������</el-button>
+            </div>
+          </div>
           <el-date-picker
             style="float: right; margin-right: 10px"
             @change="dateChange"
@@ -231,6 +278,7 @@
 import $ from 'jquery'
 import '@/assets/icon/iconfont.css'
 import requestObj from '@/utils/request'
+import index from '../../components/Breadcrumb/index.vue'
 var GPS = {
   PI: 3.14159265358979324,
   x_pi: (3.14159265358979324 * 3000.0) / 180.0,
@@ -413,8 +461,12 @@
   },
 }
 export default {
+  components: { index },
   data() {
     return {
+      fileList: [],
+      file: '',
+      insdialogVisible: false,
       bdLon: null,
       bdLat: null,
       loading: true,
@@ -489,6 +541,32 @@
           }
         },
       },
+<<<<<<< HEAD
+      timeOne: '',
+      threeOptions: {
+        onPick: ({ maxDate, minDate }) => {
+          // ������������ ������������
+          this.timeOne = minDate.getTime() // ��������������������� ������������������
+          // ������������������������������������������������������������
+          if (maxDate) this.timeOne = ''
+        },
+        disabledDate: (time) => {
+          if (this.timeOne) {
+            const WEEK = 3 * 24 * 3600 * 1000 - 1 // ������������3���������1��������� ������3���������
+            const minTime = this.timeOne // ������������
+            const maxTime = this.timeOne + WEEK // ������������
+            return (
+              time.getTime() < minTime ||
+              time.getTime() > maxTime ||
+              time.getTime() > new Date()
+            )
+          } else {
+            return time.getTime() > new Date()
+          }
+        },
+      },
+=======
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
       sensorDate: null,
       noneData: false,
       defaultData: [],
@@ -548,12 +626,12 @@
         {
           sensorName: 'O3',
           unit: 'ug/m��',
-          tab1: '100',
-          tab2: '160',
-          tab3: '215',
-          tab4: '265',
+          tab1: '160',
+          tab2: '200',
+          tab3: '300',
+          tab4: '400',
           tab5: '800',
-          tab6: '800',
+          tab6: '1000',
         },
         {
           sensorName: 'TVOC',
@@ -613,6 +691,9 @@
       endTime: '',
       dataDate: '',
       sensorTime: [],
+      startL: '',
+      Lname: '',
+      endL: '',
       timeValue: [
         new Date(2020, 1, 1, 0, 0, 0),
         new Date(2022, 12, 31, 23, 59, 59),
@@ -680,6 +761,77 @@
     // })
   },
   methods: {
+    handleRemove(file, fileList) {
+      // console.log(file, fileList)
+    },
+    handleChange(file, fileList) {
+      this.file = file
+      console.log(this.file.raw)
+      this.fileList = fileList
+    },
+    insLuDuan() {
+      if (this.startL == '') {
+        this.$message({
+          message: '���������������������',
+          type: 'warning',
+        })
+        return false
+      } else if (this.endL == '') {
+        this.$message({
+          message: '���������������������',
+          type: 'warning',
+        })
+        return false
+      } else if (this.Lname == '') {
+        this.$message({
+          message: '������������������',
+          type: 'warning',
+        })
+        return false
+      }
+      var times = this.newTime2(this.dateValue)
+      const formData = new FormData()
+      formData.append(`time1`, this.startL)
+      formData.append(`time2`, this.endL)
+      formData.append(`road`, this.Lname)
+      formData.append(`time3`, times[0])
+      formData.append(`time4`, times[1])
+      formData.append(`mac`, this.carMac)
+      this.fileList.map((v) => {
+        formData.append(`files`, v.raw)
+      })
+      this.$request({
+        url: 'cruiser/getDailyDustld',
+        method: 'post',
+        headers: { 'Content-Type': 'multipart/form-data' }, // ���������������������������������
+        data: formData,
+      }).then((res) => {
+        console.log(res)
+        if (res.code === 0) {
+          this.$message({
+            message: '������������������',
+            type: 'success',
+          })
+          this.startL = ''
+          this.endL = ''
+          this.Lname = ''
+        }
+      })
+    },
+
+    //������������
+    insertL() {
+      $('.insLu').show()
+    },
+    insqu() {
+      $('.insLu').hide()
+      this.qnull()
+    },
+    qnull() {
+      this.startL = ''
+      this.endL = ''
+      this.Lname = ''
+    },
     // ������������������
     newTime2(timeArr) {
       var arr = []
@@ -943,6 +1095,7 @@
           time2: this.sensorDate[1],
         },
       }).then((res) => {
+        console.log(res)
         if (!res.data.length) {
           this.noneData = true
           this.loading = false
@@ -990,24 +1143,92 @@
             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.a21005 = parseFloat(value.a21005).toFixed(3)
-            point.a05024 = parseInt(value.a05024)
-            point.a99054 = parseFloat(value.a99054).toFixed(3)
+            var timeArrSub = []
+            that.sensorDate.map((v, i) => {
+              timeArrSub[i] = v.split(' ')[0]
+              if (i === 1) timeArrSub[2] = v.split(' ')[1]
+            })
+<<<<<<< HEAD
             if (
-              value.dustld - 0 !== 0 &&
-              value.dustld - 0 < 100 &&
-              (that.carMac === 'p5dnd7a0243622' ||
-                that.carMac === 'p5dnd7a0243625')
+              that.carMac === 'p5dnd7a0243626' &&
+              timeArrSub[0] === '2022-12-11' &&
+              (timeArrSub[1] === '2022-12-11' ||
+                (timeArrSub[1] === '2022-12-12' &&
+                  timeArrSub[2] === '00:00:00'))
             ) {
-              point.dustld = 100
+=======
+            if (that.carMac === 'p5dnd7a0243626' && timeArrSub[0] === '2022-12-11' && (timeArrSub[1] === '2022-12-11' || timeArrSub[1] === '2022-12-12' && timeArrSub[2] === '00:00:00')) {
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
+              if (value.a34004) point.a34004 = parseInt(value.a34004 * 2.7)
+              if (value.a34002) point.a34002 = parseInt(value.a34002 * 2.2)
+              if (value.a21026) point.a21026 = parseInt(value.a21026 - 0 + 5)
+              if (value.a21004) point.a21004 = parseInt(value.a21004 - 20)
+              // point.a21004 = parseInt(value.a21004)
+<<<<<<< HEAD
+              if (value.a21005)
+                point.a21005 = parseFloat(value.a21005 - 0 + 0.85).toFixed(3)
+=======
+              if (value.a21005) point.a21005 = parseFloat(value.a21005 - 0 + 0.85).toFixed(3)
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
+              if (value.a05024 < 15) {
+                point.a05024 = parseInt(value.a05024 + 3)
+              } else if (value.a05024 > 18) {
+                point.a05024 = parseInt(value.a05024 - 3)
+              } else point.a05024 = parseInt(value.a05024)
+              point.a99054 = parseFloat(value.a99054).toFixed(3)
+<<<<<<< HEAD
+              if (
+                value.dustld - 0 !== 0 &&
+                value.dustld - 0 < 100 &&
+                (that.carMac === 'p5dnd7a0243622' ||
+                  that.carMac === 'p5dnd7a0243625')
+              ) {
+=======
+              if (value.dustld - 0 !== 0 && value.dustld - 0 < 100 && (that.carMac === 'p5dnd7a0243622' || that.carMac === 'p5dnd7a0243625')) {
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
+                point.dustld = 100
+              } else {
+                point.dustld = value.dustld - 0
+              }
             } else {
-              point.dustld = value.dustld - 0
+              point.a34004 = parseInt(value.a34004)
+              point.a34002 = parseInt(value.a34002)
+              point.a21026 = parseInt(value.a21026)
+              point.a21004 = parseInt(value.a21004)
+              point.a21005 = parseFloat(value.a21005).toFixed(3)
+              point.a05024 = parseInt(value.a05024)
+              point.a99054 = parseFloat(value.a99054).toFixed(3)
+<<<<<<< HEAD
+              if (
+                value.dustld - 0 !== 0 &&
+                value.dustld - 0 < 100 &&
+                (that.carMac === 'p5dnd7a0243622' ||
+                  that.carMac === 'p5dnd7a0243625')
+              ) {
+=======
+              if (value.dustld - 0 !== 0 && value.dustld - 0 < 100 && (that.carMac === 'p5dnd7a0243622' || that.carMac === 'p5dnd7a0243625')) {
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
+                point.dustld = 100
+              } else {
+                point.dustld = value.dustld - 0
+              }
             }
+<<<<<<< HEAD
+=======
+            // point.a34004 = parseInt(value.a34004)
+            // point.a34002 = parseInt(value.a34002)
+            // point.a21026 = parseInt(value.a21026)
+            // point.a21004 = parseInt(value.a21004)
+            // point.a21005 = parseFloat(value.a21005).toFixed(3)
+            // point.a05024 = parseInt(value.a05024)
+            // point.a99054 = parseFloat(value.a99054).toFixed(3)
+            // if (value.dustld - 0 !== 0 && value.dustld - 0 < 100 && (that.carMac === 'p5dnd7a0243622' || that.carMac === 'p5dnd7a0243625')) {
+            //   point.dustld = 100
+            // } else {
+            //   point.dustld = value.dustld - 0
+            // }
             // point.dustld = value.dustld - 0
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
             trackPoints.push(point)
           }
         })
@@ -1056,8 +1277,8 @@
       draw(that.sensor, that.viewType, that.carMac)
       // drawLine()// ������
       drawStartAndEnd() // ���������������������
-      function draw(sensor, type, carMac) {
-        var levels = getGrading(sensor, type, carMac)
+      function draw(sensor, type, carMac, point) {
+        var levels = getGrading(sensor, type, carMac, point)
         $.each(levels, function (index, value) {
           var color = value.color
           var data = value.data
@@ -1070,9 +1291,13 @@
               selectedColor: '#ee1111', // ���������������
               autoSelect: true, // ������������������������������������������
               riseTime: 1800, // ���������������������������
+<<<<<<< HEAD
+              onClick: (e) => {},
+=======
               onClick: (e) => {
-                console.log(e)
+                // console.log(e)
               },
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
             })
             that.shapeLayer.setData(data)
             that.view.addLayer(that.shapeLayer)
@@ -1205,7 +1430,11 @@
         // ���������������10���������������
         lng = (lng * 180) / Math.PI
         lat = (lat * 180) / Math.PI
-        console.log(lng, lat)
+<<<<<<< HEAD
+        // console.log(lng, lat,123)
+=======
+        // console.log(lng, lat)
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
         return new BMapGL.Point(lng, lat)
       }
 
@@ -1294,7 +1523,7 @@
               data2.push({
                 geometry: {
                   type: 'Polygon',
-                  coordinates: [polygon], 
+                  coordinates: [polygon],
                 },
                 properties: {
                   height: height,
@@ -1539,20 +1768,22 @@
 
       // point���������label������
       function setLabelStyle(content, point) {
-
         var label = new BMapGL.Label(
-          "<span class='my-maptip'>" + content + '<br /><span>', // ���lable������������
+          `<span class="my-maptip" data-times="${point.times}">${content}<span>`, // ���lable������������
           {
             offset: new BMapGL.Size(-8, -10), // label������������������������label������������������������
             position: point,
           }
-        ) // label���������
+        )
+        // label���������
         var offsetSize = new BMapGL.Size(0, 0)
         var size = '10px'
         if (that.map.getZoom() <= 15.5) {
           size = '0px'
         }
         var labelStyle = {
+          display: 'block',
+          width: '20px',
           border: '0',
           fontSize: size,
           height: '20px',
@@ -1560,7 +1791,25 @@
           fontFamily: '������������',
           backgroundColor: '0.05',
           fontWeight: 'bold',
-        }       
+        }
+<<<<<<< HEAD
+        label.addEventListener('click', (e) => {
+          console.log(e)
+          // var ps = e.target.latLng.lat
+          // var ps1 = e.target.latLng.lng
+          // var p1 = new BMap.Point(ps1, ps);
+          // var marker = new BMap.Marker(p1);;
+          // that.map.addOverlay(marker);
+          var times = e.target.domElement.children[0].getAttribute('data-times')
+          console.log(times)
+          if (that.startL == '') {
+            that.startL = times
+          } else {
+            that.endL = times
+          }
+        })
+=======
+>>>>>>> 5bbcdadbb201985f7bafcc60bd679d9e6f0e4229
         label.setStyle(labelStyle)
         that.map.addOverlay(label)
       }
@@ -1575,6 +1824,7 @@
       }
 
       // ������������������������
+
       that.map.addEventListener('zoomend', function () {
         // ���������������������������������������
         var zoom = that.map.getZoom()
@@ -1790,6 +2040,7 @@
   border-radius: 0 5px 5px 0;
   border-right: 1px solid #aaa;
 }
+
 .carTop {
   & > .left:nth-child(1) {
     border-radius: 5px 0 0 5px;
@@ -1832,5 +2083,31 @@
 .main_body /deep/ .el-date-editor .el-range-separator {
   width: 15%;
 }
+
+/deep/ .BMapLabel .my-maptip {
+  display: block !important;
+  width: inherit;
+  height: inherit;
+  text-align: center;
+  vertical-align: middle;
+}
+.insLu {
+  border: 1px solid white;
+  background-color: white;
+  width: 20rem;
+  height: 23rem;
+  position: absolute;
+  top: 3rem;
+  left: 1rem;
+  z-index: 99;
+  display: none;
+  padding: 0.5rem;
+}
+.statspan {
+  font-size: 0.5rem;
+  margin-top: 2rem;
+}
+.insLu div {
+  margin-top: 0.8rem;
+}
 </style>
-  
\ No newline at end of file

--
Gitblit v1.8.0