From cfc1abd6b855c3575d5d20646bb4dd97d8601469 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 16 十月 2023 10:51:06 +0800
Subject: [PATCH] 钻孔柱状图修改

---
 src/components/MapView/mapSpacePop.vue |  157 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 91 insertions(+), 66 deletions(-)

diff --git a/src/components/MapView/mapSpacePop.vue b/src/components/MapView/mapSpacePop.vue
index 318a72c..ceb8d8c 100644
--- a/src/components/MapView/mapSpacePop.vue
+++ b/src/components/MapView/mapSpacePop.vue
@@ -9,7 +9,7 @@
         <el-form-item>
           <el-input
             size="small"
-            style="width:47vh"
+            style="width:30vh"
             v-model="ruleForm.fileName"
             disabled
             placeholder="璇疯緭鍏�..."
@@ -507,8 +507,12 @@
     async getTableselectFields() {
       const data = await inquiry_selectFields({ name: this.spaceLayer })
       if (data.code != 200) {
-        this.$message.error("鍒楄〃璋冪敤澶辫触")
+        this.$message.error("鍒楄〃璋冪敤瀛楁澶辫触")
       }
+      if (data.result.length == 0) {
+        this.$message("鍒楄〃璋冪敤瀛楁鏌ユ棤鏁版嵁")
+      }
+
       this.filedsOption = [];
       this.optionx = []
       var valadata = data.result
@@ -590,10 +594,14 @@
     },
     //鍒濆鍖栨煡璇㈤槇鍊艰〃
     async getDomainsLayer() {
+      this.$store.state.loading = true;
       const data = await inquiry_selectDomains({ name: this.spaceLayer })
       if (data.code != 200) {
-        this.$message.error("鍒楄〃璋冪敤澶辫触")
+        this.$message.error("鍒楄〃闃堝�艰皟鐢ㄥけ璐�")
       }
+      // if (data.result.length == 0) {
+      //   this.$message("鍒楄〃闃堝�兼煡鏃犳暟鎹�")
+      // }
       this.domainsLayer = data.result
 
       this.setListDataStart()
@@ -625,9 +633,16 @@
       }
 
       const data = await dataQuerySelectByPage(this.listdata)
+      this.$store.state.loading = false;
       if (data.code != 200) {
-        this.$message.error("鍒楄〃璋冪敤澶辫触")
+        return this.$message.error("鍒楄〃璋冪敤澶辫触")
       }
+      if (data.result.length == 0) {
+        return this.$message("鍒楄〃鏌ユ棤鏁版嵁")
+      }
+
+
+
       var val = data.result;
       val = val.filter((res) => {
 
@@ -674,7 +689,7 @@
 
 
       this.tableData = val
-      this.$refs.filterTable.doLayout()
+      // this.$refs.filterTable.doLayout()
     },
 
     async setCartesianToEightFour(entities) {
@@ -763,19 +778,27 @@
           )
           window.histogramHandler.setInputAction((event) => {
             var pick = sgworld.Viewer.scene.pick(event.endPosition);
+            if (pick) {
 
-            var propertiesFlag = that.$store.state.propertiesFlag
+              var propertiesFlag = that.$store.state.propertiesFlag
 
-            if (Cesium.defined(pick)) {
-              if (pick && pick.id && pick.id.tag && pick.id.tag == "Histogram") {
-                that.$store.state.propertiesInfo = {
-                  title: pick.id.properties._exppointid._value,
-                  name: pick.id.properties._geoname._value,
-                  type: pick.id.properties.geotype._value,
-                  botdepth: pick.id.properties._botdepth._value,
-                  describe: pick.id.properties._describe._value,
+              if (Cesium.defined(pick)) {
+                if (pick && pick.id && pick.id.tag && pick.id.tag == "Histogram") {
+                  that.$store.state.propertiesInfo = {
+                    title: pick.id.properties._exppointid._value,
+                    name: pick.id.properties._geoname._value,
+                    type: pick.id.properties.geotype._value,
+                    botdepth: pick.id.properties._botdepth._value,
+                    describe: pick.id.properties._describe._value,
+                  }
+                  that.$store.state.propertiesFlag = "2"
+                } else {
+                  if (propertiesFlag == 1) {
+                    that.$store.state.propertiesFlag = propertiesFlag
+                  } else {
+                    that.$store.state.propertiesFlag = null
+                  }
                 }
-                that.$store.state.propertiesFlag = "2"
               } else {
                 if (propertiesFlag == 1) {
                   that.$store.state.propertiesFlag = propertiesFlag
@@ -783,13 +806,8 @@
                   that.$store.state.propertiesFlag = null
                 }
               }
-            } else {
-              if (propertiesFlag == 1) {
-                that.$store.state.propertiesFlag = propertiesFlag
-              } else {
-                that.$store.state.propertiesFlag = null
-              }
             }
+
           }, Cesium.ScreenSpaceEventType.MOUSE_MOVE)
         }, 500);
       }
@@ -906,7 +924,8 @@
       var coord = wkt.coordinates;
 
       var std = [];
-      var num = res.elev;
+      var num = res.elev == null ? 0 : res.elev;
+
       var height = 0;
       for (var i in data) {
         if (data[i].exppointid == exppointid) {
@@ -915,45 +934,51 @@
       }
 
       var outlineList = this.outlineList;
-      for (var i in std) {
-        var line;
-        var geoname = std[i].geoname;
-        var col = outlineList.filter((ste) => {
-          if (ste.name == geoname) {
-            return res
-          }
-        })
-        console.log(1, col)
-        if (col.length == 0) {
-          col = outlineList.filter((ste) => {
-            if (ste.name == '鍏朵粬') {
+      if (std.length > 0) {
+        for (var i in std) {
+          var line;
+          var geoname = std[i].geoname;
+          var col = outlineList.filter((ste) => {
+            if (ste.name == geoname) {
               return res
             }
           })
+
+          if (col.length == 0) {
+            col = outlineList.filter((ste) => {
+              if (ste.name == '鍏朵粬') {
+                return res
+              }
+            })
+          }
+          line = col[0].color
+
+          var height = num - std[i].botdepth
+          // console.log(num, std[i].botdepth)
+          var layer = Viewer.entities.add({
+            position: Cesium.Cartesian3.fromDegrees(coord[0], coord[1]),
+            tag: 'Histogram',
+            properties: std[i],
+            ellipse: {
+              semiMinorAxis: 2.0, //鐭酱
+              semiMajorAxis: 2.0, //闀胯酱
+              height: height, //鎷変几楂樺害    elev  gwaterdep
+              extrudedHeight: num, //绂诲湴楂樺害
+              rotation: Cesium.Math.toRadians(0), //鏃嬭浆
+              fill: true, //鏄惁鏄剧ず鍦嗙殑濉厖
+              material: Cesium.Color.fromCssColorString(line), //鍦嗙殑棰滆壊,
+              outline: false, //鏄惁鏄剧ず鍦嗚疆寤�
+
+            },
+          });
+          num -= std[i].botdepth;
+          this.$store.state.histogramLayer.push(layer)
         }
-        line = col[0].color
-
-        var height = num - std[i].botdepth
-        var layer = Viewer.entities.add({
-          position: Cesium.Cartesian3.fromDegrees(coord[0], coord[1]),
-          tag: 'Histogram',
-          properties: std[i],
-          ellipse: {
-            semiMinorAxis: 2.0, //鐭酱
-            semiMajorAxis: 2.0, //闀胯酱
-            height: height, //鎷変几楂樺害    elev  gwaterdep
-            extrudedHeight: num, //绂诲湴楂樺害
-            rotation: Cesium.Math.toRadians(0), //鏃嬭浆
-            fill: true, //鏄惁鏄剧ず鍦嗙殑濉厖
-            material: Cesium.Color.fromCssColorString(line), //鍦嗙殑棰滆壊,
-            outline: false, //鏄惁鏄剧ず鍦嗚疆寤�
-
-          },
-        });
-        num -= std[i].botdepth;
-        this.$store.state.histogramLayer.push(layer)
+        this.$store.state.histLenged = true;
       }
-      this.$store.state.histLenged = true;
+
+
+
     },
 
 
@@ -1005,6 +1030,7 @@
           hasGeom: 1,
         }
         const data = await dataQuerySelectByPage(obj)
+        
         if (data.code != 200) {
           return
         }
@@ -1035,11 +1061,12 @@
             var val1 = decr(val[i].geom)
             var wkt = this.$wkt.parse(val1)
             var coord = wkt.coordinates
+            var alt = val[i].elev == null ? 0 : val[i].elev;
             std.push({
               bh: val[i].exppointid,
               X: coord[0],
               Y: coord[1],
-              Z: val[i].elev,
+              Z: alt,
               soilLayers: soilLayers
             })
           }
@@ -1080,18 +1107,16 @@
       for (let i = 0; i < jsonObj.length; i++) {
         var p = jsonObj[i];
         var layers = p.soilLayers;
-        points.features.push(turf.point([parseFloat(p.X), parseFloat(p.Y)], { alt: p.Z }));
+        var alHeight  = p.Z;
+        points.features.push(turf.point([parseFloat(p.X), parseFloat(p.Y)], { alt: alHeight }));
         for (let j = 0; j < layers.length; j++) {
           let obj = layers[j];
-
           if (obj.geoname == zfbh) {
             if (j == 0) {
-
-              featurePoints.push(...[parseFloat(p.X), parseFloat(p.Y), parseFloat(p.Z)]);
-              featurePoints1.push(...[parseFloat(p.X), parseFloat(p.Y), (parseFloat(p.Z) - parseFloat(obj.botdepth))]);
+              featurePoints.push(...[parseFloat(p.X), parseFloat(p.Y), parseFloat(alHeight)]);
+              featurePoints1.push(...[parseFloat(p.X), parseFloat(p.Y), (parseFloat(alHeight) - parseFloat(obj.botdepth))]);
             } else {
-              let obj_height = this.GetRealHeight(j, layers, p.Z);
-
+              let obj_height = this.GetRealHeight(j, layers, alHeight);
               featurePoints.push(...[parseFloat(p.X), parseFloat(p.Y), parseFloat(obj_height.topHeight)]);
               featurePoints1.push(...[parseFloat(p.X), parseFloat(p.Y), parseFloat(obj_height.bottomHeight)]);
 
@@ -1119,6 +1144,7 @@
       //缁勮椤跺簳闈㈠洓涓《鐐�
       this.CreateRoundMian(aboveTin, aboveHull, underTin, underHull, materialColor);
       //鍒涘缓闈�
+      
       this.CreateTin(aboveTin, materialColor);
       this.CreateTin(underTin, materialColor);
     },
@@ -1191,7 +1217,6 @@
     CreateTin(tin, materialColor) {
       for (let n = 0; n < tin.features.length; n++) {
         let geoms = tin.features[n].geometry.coordinates[0];
-
         let points = [];
         let p1 = new Cesium.Cartesian3.fromDegrees(geoms[0][0], geoms[0][1], tin.features[n].properties.a);
         let p2 = new Cesium.Cartesian3.fromDegrees(geoms[1][0], geoms[1][1], tin.features[n].properties.b);
@@ -1475,7 +1500,7 @@
   }
   .bottomPage {
     position: absolute;
-    bottom: 3%;
+    bottom: 10px;
   }
   /deep/.el-form-item {
     margin-bottom: 0px;

--
Gitblit v1.9.3