From 19a4741002f4208bf7fc951cbf3219897af5699a Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期四, 26 十月 2023 16:41:22 +0800
Subject: [PATCH] 标绘查询修改

---
 src/views/plotting/plottingInquire.vue |  237 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 151 insertions(+), 86 deletions(-)

diff --git a/src/views/plotting/plottingInquire.vue b/src/views/plotting/plottingInquire.vue
index bb13cdf..e320d13 100644
--- a/src/views/plotting/plottingInquire.vue
+++ b/src/views/plotting/plottingInquire.vue
@@ -318,7 +318,7 @@
 let layerNameNum = 0;
 let geoWkt = ref(null);
 let geoWktFlag = ref(false);
-let ws = ref(null);
+let wktType = ref(null);
 //鏂板鍥捐〃
 const addCharts = () => {
   layerArr.value.push({ layerName: `null${layerNameNum}`, points: [] });
@@ -347,17 +347,25 @@
   // if (store.state.plottingInquireData.entitiesData.icon == "d.png") {
 
   // }
-  selectPoint({
-    pixel: val,
-    wkt: store.state.plottingInquireData.entitiesData.wkt,
-  });
+  // selectPoint({
+  //   pixel: val,
+  //   wkt: store.state.plottingInquireData.entitiesData.wkt,
+  // });
+  setOptionStart();
+  setWebScoKet("Point", store.state.plottingInquireData.entitiesData.wkt, val);
 };
 //鑺傜偣閫夋嫨
 const nodesChange = (val) => {
-  selectPolyline({
-    nodes: val,
-    wkt: store.state.plottingInquireData.entitiesData.wkt,
-  });
+  setOptionStart();
+  setWebScoKet(
+    "PolyLine",
+    store.state.plottingInquireData.entitiesData.wkt,
+    val
+  );
+  // selectPolyline({
+  //   nodes: val,
+  //   wkt: store.state.plottingInquireData.entitiesData.wkt,
+  // });
 };
 
 //鍥惧眰閫夋嫨
@@ -414,8 +422,10 @@
     e.min = e.minList.toString();
     e.lng = store.state.plottingInquireData.entitiesData.lng;
     e.lat = store.state.plottingInquireData.entitiesData.lat;
+
     resultList.value.push(e);
   });
+  console.log(resultList.value);
 };
 //闈㈡煡璇㈡帴鍙�
 const selectPolygon = async (res) => {
@@ -463,12 +473,12 @@
       });
     });
   });
-
+  console.log(dt.result);
   layeroptions.value = dt.result;
 
   layerValue.value = layeroptions.value[0].layerName;
   layerArr.value.push(dt.result[0]);
-  chartIsshow.value = true;
+
   layerData.value = dt.result[0];
 
   // dt.result.forEach((e) => {
@@ -505,6 +515,12 @@
       };
       //   store.commit("SET_plotting", obj);
       store.state.plottingInquireData = obj;
+    
+      setCloseWebSocket();
+      inquireData.value = {
+        name: "path #9",
+        icon: "q.png",
+      };
       isShow.value = false;
       break;
     }
@@ -515,101 +531,150 @@
 //     emits("setCloseplotting", false);
 //   };
 let chartIsshow = ref(false);
-const setMenuClose = ()=>{
+const setMenuClose = () => {
+  isShow.value = false;
   setCloseWebSocket();
-  isShow.value=false;
-}
-const setCloseWebSocket = () => {
-  if( Window.ws){
-    Window.ws.close();
-  Window.ws.onclose = () => {
-    console.log("鏈嶅姟鍣ㄥ叧闂�");
+  store.state.plottingInquireData = null;
+  inquireData.value = {
+    name: "path #9",
+    icon: "q.png",
   };
-  Window.ws = null;
+};
+const setCloseWebSocket = () => {
+  if (Window.ws) {
+    Window.ws.close();
+    Window.ws.onclose = () => {
+      console.log("鏈嶅姟鍣ㄥ叧闂�");
+    };
+    Window.ws = null;
   }
-
 };
 const setWebScoKet = async (type, wkt, node) => {
   const data = await rasterAnalysis_selectByWktForPost({
     wkt: wkt,
     size: node,
   });
-  console.log(data)
+
   if (data) {
     return;
-  } else {
-   
-    Window.ws.option = () => {};
-    Window.ws.onmessage = (msg) => {
-      // console.log('鏉ヨ嚜鏈嶅姟鍣ㄧ鐨勬暟鎹細' + msg.data); //鐩戝惉鎺ュ彈鏉ヨ嚜鏈嶅姟绔殑淇℃伅
-      if (msg.data != "杩炴帴鎴愬姛") {
-        var val = JSON.parse(msg.data);
-        console.log(val);
-  
-        if (val.analysisForPost) {
-          console.log(val);
-        }
-      } else {
-        console.log(msg.data);
-      }
-    };
   }
+};
+const setOptionStart = () => {
+  resultList.value = [];
+  layerArr.value = [];
+
+  layeroptions.value = [];
+};
+const setWebSocketStart = () => {
+  // if (Window.ws) {
+  //   setCloseWebSocket();
+  // }
+  setOptionStart();
+  var token = getToken();
+  var url = socketUrl + "?token=" + token;
+  Window.ws = new WebSocket(url);
+  Window.ws.option = () => {};
+  Window.ws.onmessage = (msg) => {
+    // console.log('鏉ヨ嚜鏈嶅姟鍣ㄧ鐨勬暟鎹細' + msg.data); //鐩戝惉鎺ュ彈鏉ヨ嚜鏈嶅姟绔殑淇℃伅
+    if (msg.data != "杩炴帴鎴愬姛") {
+      var val = JSON.parse(msg.data);
+
+      if (val.analysisForPost && val.analysisForPost.token == token) {
+        var data = val.analysisForPost;
+        switch (wktType.value) {
+          case "Point":
+            setWebSocketPoint(data);
+            break;
+          case "Polygon":
+            setWebSocketPoint(data);
+            break;
+          case "LineString":
+            setWebSocketPLine(data);
+            break;
+        }
+      }
+    }
+  };
+};
+const setWebSocketPoint = (res) => {
+  var obj = {
+    avg: res.avgList.length <= 0 ? "--" : res.avgList.toString(),
+    layerName: res.layerName,
+    max: res.maxList.length <= 0 ? "--" : res.maxList.toString(),
+    min: res.minList.length <= 0 ? "--" : res.minList.toString(),
+    lng: store.state.plottingInquireData.entitiesData.lng,
+    lat: store.state.plottingInquireData.entitiesData.lat,
+  };
+  resultList.value.push(obj);
+};
+const setWebSocketPLine = (res) => {
+  res.points.forEach((element) => {
+    element.vals.forEach((v) => {
+      v = keepThreeNum(v);
+    });
+  });
+  layeroptions.value.push(res);
+  var data = layeroptions.value[0];
+  layerValue.value = data.layerName;
+  layerArr.value.push(data);
+  layerData.value = data;
 };
 watch(
   () => store.state.plottingInquireData,
   (nVal, oVal) => {
-    if (Window.ws) {
-      setCloseWebSocket();
-    }
-    var url = socketUrl+"?token=" + getToken();
-    Window.ws = new WebSocket(url);
-    isShow.value = nVal.isshow;
-    inquireData.value = nVal.entitiesData;
-    geoWktFlag.value = false;
-    if (inquireData.value.wkt) {
-      var wkt = WKT.parse(inquireData.value.wkt);
+    if (!nVal) return;
+    setOptionStart();
+    if (nVal.entitiesData.name != inquireData.value.name) {
+      isShow.value = nVal.isshow;
+      inquireData.value = nVal.entitiesData;
+      geoWktFlag.value = false;
+      if (inquireData.value.wkt) {
+        var wkt = WKT.parse(inquireData.value.wkt);
+        wktType.value = wkt.type;
+        if (wkt.type == "Point") {
+          geoWkt.value =
+            wkt.coordinates[0].toFixed(6) + " " + wkt.coordinates[1].toFixed(6);
+          geoWktFlag.value = true;
+        }
+        if (wkt.type == "Polygon") {
+          var Polygon = turf.multiPolygon([wkt.coordinates]);
+          var center = turf.center(Polygon);
+          geoWkt.value =
+            center.geometry.coordinates[0].toFixed(6) +
+            " " +
+            center.geometry.coordinates[1].toFixed(6);
+          geoWktFlag.value = true;
+        }
+      }
+      setWebSocketStart();
 
-      if (wkt.type == "Point") {
-        geoWkt.value =
-          wkt.coordinates[0].toFixed(6) + " " + wkt.coordinates[1].toFixed(6);
-        geoWktFlag.value = true;
+      if (nVal.entitiesData.icon == "x.png") {
+        pixelIsShow.value = true;
+        chartIsshow.value = true;
+        setWebScoKet("pline", nVal.entitiesData.wkt, ScopeBox.value.nodes);
+        // selectPolyline({
+        //   nodes: ScopeBox.value.nodes,
+        //   wkt: nVal.entitiesData.wkt,
+        // });
       }
-      if (wkt.type == "Polygon") {
-        var Polygon = turf.multiPolygon([wkt.coordinates]);
-        var center = turf.center(Polygon);
-        geoWkt.value =
-          center.geometry.coordinates[0].toFixed(6) +
-          " " +
-          center.geometry.coordinates[1].toFixed(6);
-        geoWktFlag.value = true;
+      if (nVal.entitiesData.icon == "m.png") {
+        chartIsshow.value = false;
+        // if (nVal.entitiesData.name == oVal.entitiesData.name) {
+        //   return;
+        // }
+        pixelIsShow.value = false;
+        // selectPolygon({ wkt: nVal.entitiesData.wkt });
+        setWebScoKet("polygon", nVal.entitiesData.wkt, 0);
       }
-    }
-
-    if (nVal.entitiesData.icon == "x.png") {
-      pixelIsShow.value = true;
-      setWebScoKet("pline", nVal.entitiesData.wkt, ScopeBox.value.nodes);
-      // selectPolyline({
-      //   nodes: ScopeBox.value.nodes,
-      //   wkt: nVal.entitiesData.wkt,
-      // });
-    }
-    if (nVal.entitiesData.icon == "m.png") {
-      chartIsshow.value = false;
-      if (nVal.entitiesData.name == oVal.entitiesData.name) {
-        return;
+      if (nVal && nVal.entitiesData.icon == "d.png") {
+        chartIsshow.value = false;
+        pixelIsShow.value = true;
+        // selectPoint({
+        //   pixel: ScopeBox.value.pixel,
+        //   wkt: nVal.entitiesData.wkt,
+        // });
+        setWebScoKet("polygon", nVal.entitiesData.wkt, ScopeBox.value.pixel);
       }
-      pixelIsShow.value = false;
-      // selectPolygon({ wkt: nVal.entitiesData.wkt });
-      setWebScoKet("polygon", nVal.entitiesData.wkt, 0);
-    }
-    if (nVal && nVal.entitiesData.icon == "d.png") {
-      chartIsshow.value = false;
-      pixelIsShow.value = true;
-      // selectPoint({
-      //   pixel: ScopeBox.value.pixel,
-      //   wkt: nVal.entitiesData.wkt,
-      // });
-      setWebScoKet("polygon", nVal.entitiesData.wkt, ScopeBox.value.pixel);
     }
   },
   { deep: true }

--
Gitblit v1.9.3