From b487b91abd2a0d769b82ddf90924f93afe9b05b3 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 22 Apr 2024 13:17:21 +0800
Subject: [PATCH] Merge branch 'feature_1.0'

---
 src/views/list/road.vue |  100 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 94 insertions(+), 6 deletions(-)

diff --git a/src/views/list/road.vue b/src/views/list/road.vue
index ea2465c..b302774 100644
--- a/src/views/list/road.vue
+++ b/src/views/list/road.vue
@@ -28,6 +28,9 @@
         <a-button type="primary" style="margin-left: 10px" @click="selectCheck"
           >������</a-button
         >
+        <a-button type="primary" style="margin-left: 10px" @click="reosurce"
+          >������������������</a-button
+        >
       </div>
       <div class="left-five">
         <a-input
@@ -40,6 +43,12 @@
         >
         <a-button type="primary" style="margin-left: 10px" @click="clearPolygon"
           >������������</a-button
+        >
+        <a-button
+          type="primary"
+          style="margin-left: 10px"
+          @click="showAllPolygon"
+          >������������������</a-button
         >
       </div>
       <div class="left-two">
@@ -315,6 +324,10 @@
         <a-divider type="vertical" />
         <a onClick={() => this.canvasbatch(record)}> ������������������ </a>
         <a-divider type="vertical" />
+        <a onClick={() => this.handleEditCanves(record)}> ������������ </a>
+        <a-divider type="vertical" />
+        <a onClick={() => this.handleShowPolygon(record)}> ������������ </a>
+        <a-divider type="vertical" />
         <a-popconfirm
           title="������������������"
           ok-text="������"
@@ -371,9 +384,50 @@
       // this.selectCar()
     });
   }
+  // ������������������
+  showAllPolygon() {
+    console.log("this.dataSource", this.dataSource);
+    this.dataSource.forEach((item: any) => {
+      if (item.bdValues) {
+        let pointList = item.bdValues.map((item: any) => {
+          return new BMapGL.Point(item.lng, item.lat);
+        });
+        let polygon = new BMapGL.Polygon([...pointList]);
+        console.log("polygon", polygon);
+        this.map.addOverlay(polygon);
+      }
+    });
+  }
+  // ������������
+  handleShowPolygon(record: any) {
+    console.log(record);
+    if (record.bdValues) {
+      let pointList = record.bdValues.map((item: any) => {
+        return new BMapGL.Point(item.lng, item.lat);
+      });
+      let polygon = new BMapGL.Polygon([...pointList]);
+      console.log("polygon", polygon);
+      this.map.addOverlay(polygon);
+    }
+  }
+  // ������������
+  private handleEditCanves(record: any) {
+    console.log("this.turfPolygon", this.turfPolygon);
+    if (this.roadbaiduPolygon.length > 0) {
+      post("coordinate/updateCruiserRoad", {
+        coordinateId: record.coordinateId,
+        bdValue: this.roadbaiduPolygon,
+        value: this.road84Polygon,
+      }).then((res) => {
+        this.$message.success("������������");
+        this.selectLu();
+      });
+    } else {
+      this.$message.warning("���������������");
+    }
+  }
   private canvasbatch(record: any) {
     let ptsWithin = turf.pointsWithinPolygon(this.multiPt, this.turfPolygon);
-    console.log("ptsWithin", ptsWithin);
     let data: { flylon: number; flylat: number }[] = [];
     turf.coordEach(ptsWithin, (currentCoord) => {
       data.push({
@@ -504,7 +558,20 @@
       // console.log(this.carDate,'this.carDate');
       this.carDate = [];
       this.pointshow = false;
+      this.map.removeOverlay();
       this.setMarker(res);
+    });
+  }
+  reosurce() {
+    console.log("this.timevalue", this.timevalue);
+    post("coordinateDetail/queryAll", {
+      mac: this.carvalue,
+      time1: this.timevalue[0],
+      time2: this.timevalue[1],
+    }).then((res) => {
+      console.log(res.data.data, "res");
+      this.$message.success("������������");
+      // console.log(this.carDate,'this.carDate');
     });
   }
   private markerdata: any = [];
@@ -535,9 +602,20 @@
   };
   private actNav: String = "";
   private clearPolygon() {
+    //������������overlays
+    let overlays = this.map.getOverlays();
     this.drawingManager.clearOverlays();
+    //���������Marker������������Label������
+    overlays.forEach((overlay: any) => {
+      if (overlay.toString() === "Polygon") {
+        this.map.removeOverlay(overlay);
+      }
+    });
+    // this.map.clearOverlays();
   }
   private turfPolygon: any = null;
+  private roadbaiduPolygon: any = [];
+  private road84Polygon: any = [];
   private draw(drawingType: String) {
     console.log("new BMapGLLib", this.drawingManager);
     this.actNav = drawingType;
@@ -557,13 +635,15 @@
       const polygon = e.overlay;
       // ���������������������������
       const polygonPoints = polygon.getPath();
-      console.log("polygonPoints1", polygonPoints);
+      this.roadbaiduPolygon = polygonPoints;
       let transformationPoints = polygonPoints.map((coord: any) => {
         const [x, y] = [coord.lng, coord.lat];
         const [lng1, lat1] = coordtransform.bd09togcj02(x, y);
         const [lng2, lat2] = coordtransform.gcj02towgs84(lng1, lat1);
         return { lng: lng2, lat: lat2 };
       });
+
+      this.road84Polygon = transformationPoints;
       console.log("polygonPoints2", transformationPoints);
       this.turfPolygon = turf.polygon([
         transformationPoints.map((item: any) => [item.lng, item.lat]),
@@ -612,21 +692,27 @@
         );
         bPoints.push(statePoint);
         if (i === 0) {
-          that.marker[i] = new BMapGL.Marker(statePoint, { icon: startIcon });
+          that.marker[i] = new BMapGL.Marker(statePoint, {
+            icon: startIcon,
+          });
           that.marker[i].customData = {
             data: that.carDate[i].data,
             state: that.carDate[i].state,
           };
           that.marker[i].iconPng = "startIcon";
         } else if (i === that.carDate.length - 1) {
-          that.marker[i] = new BMapGL.Marker(statePoint, { icon: endIcon });
+          that.marker[i] = new BMapGL.Marker(statePoint, {
+            icon: endIcon,
+          });
           that.marker[i].customData = {
             data: that.carDate[i].data,
             state: that.carDate[i].state,
           };
           that.marker[i].iconPng = "endIcon";
         } else {
-          that.marker[i] = new BMapGL.Marker(statePoint, { icon: myIcon });
+          that.marker[i] = new BMapGL.Marker(statePoint, {
+            icon: myIcon,
+          });
           that.marker[i].customData = {
             data: that.carDate[i].data,
             state: that.carDate[i].state,
@@ -717,7 +803,9 @@
         // console.log(statePoint,'statePoint');
         aPoints.push(statePoint);
         //���marker���������data��������� ������������������
-        that.markerdata[i] = new BMapGL.Marker(statePoint, { icon: myIcon });
+        that.markerdata[i] = new BMapGL.Marker(statePoint, {
+          icon: myIcon,
+        });
         that.markerdata[i].customData = {
           data: that.carDataList[i].code,
           state: that.carDataList[i].state,

--
Gitblit v1.8.0