管道基础大数据平台系统开发-【前端】-新系統界面
surprise
2023-10-16 cfc1abd6b855c3575d5d20646bb4dd97d8601469
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="请输入..."
@@ -20,7 +20,7 @@
            @click="conditionVisible = true"
            size="small"
            type="success"
          >新增</el-button>
          >{{$t('common.lable6')}}</el-button>
          <el-button
            size="small"
            @click="resetForm"
@@ -466,8 +466,14 @@
      this.formInline.region = this.options[0].value
    },
    setListDataStart() {
      this.listdata.pageSize = 10
      this.listdata.pageIndex = 1
      this.listdata = {
        pageIndex: 1,
        pageSize: 10,
        name: null,
        srid: 4326,
        wkt: null,
        filter: null,
      }
      this.tableData = []
    },
    //初始化查询条件
@@ -501,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
@@ -584,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()
@@ -613,12 +627,22 @@
      } else {
        this.listdata.filter = null;
      }
      if (this.$store.state.pigCode) {
        this.listdata.dirs = this.$store.state.pigCode;
      }
      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) => {
@@ -665,7 +689,7 @@
      this.tableData = val
      this.$refs.filterTable.doLayout()
      // this.$refs.filterTable.doLayout()
    },
    async setCartesianToEightFour(entities) {
@@ -754,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
@@ -774,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);
      }
@@ -897,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) {
@@ -906,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: 1.0, //短轴
            semiMajorAxis: 1.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;
    },
@@ -996,6 +1030,7 @@
          hasGeom: 1,
        }
        const data = await dataQuerySelectByPage(obj)
        if (data.code != 200) {
          return
        }
@@ -1026,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
            })
          }
@@ -1071,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)]);
@@ -1110,6 +1144,7 @@
      //组装顶底面四个顶点
      this.CreateRoundMian(aboveTin, aboveHull, underTin, underHull, materialColor);
      //创建面
      this.CreateTin(aboveTin, materialColor);
      this.CreateTin(underTin, materialColor);
    },
@@ -1182,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);
@@ -1318,7 +1352,6 @@
          this.$store.state.queryInfo.push(point)
          sgworld.Navigate.flyToObj(point)
          this.$store.state.primitLayer = point
          break
        case "LineString":
        case "MultiLineString":
@@ -1378,6 +1411,13 @@
          pick.id.tag &&
          pick.id.tag.includes("properties_")
        ) {
          if (this.spaceLayer == 'msurfacedeformationdata') {
            this.$store.state.surfaceDeForm.flag = true;
            this.$store.state.surfaceDeForm.gid = pick.id.properties.gid._value;
          } else {
            this.$store.state.surfaceDeForm.flag = false;
            this.$store.state.surfaceDeForm.gid = null;
          }
          this.$store.state.propertiesFlag = "1"
          let properties = pick.id.properties
          let propertyNames = pick.id.properties.propertyNames
@@ -1460,7 +1500,7 @@
  }
  .bottomPage {
    position: absolute;
    bottom: 3%;
    bottom: 10px;
  }
  /deep/.el-form-item {
    margin-bottom: 0px;