管道基础大数据平台系统开发-【前端】-新系統界面
src/components/MapView/mapSpacePop.vue
@@ -490,76 +490,80 @@
          message: '柱状图查询成功',
          type: 'success'
        });
      }
      var val = data.result;
      val = val.filter((res) => {
        setTimeout(() => {
          var val = data.result;
          val = val.filter((res) => {
        if (res.dirName) {
          res.dirid = res.dirName
        }
        if (res.depName) {
          res.depid = res.depName
        }
        if (res.verName) {
          res.verid = res.verName
        }
        if (res.updateName) {
          res.updateuser = res.updateName
        }
        if (res.createName) {
          res.createuser = res.createName
        }
        if (res.createtime) {
          res.createtime = this.format(res.createtime)
        }
        if (res.updatetime) {
          res.createtime = this.format(res.updatetime)
        }
        return res
      })
      this.listdata.count = data.count;
      this.tableData = val;
      this.showHistogramLayer(data.count)
      this.$refs.filterTable.doLayout();
      var that = this;
      window.histogramHandler = new Cesium.ScreenSpaceEventHandler(
        sgworld.Viewer.scene.canvas
      )
      window.histogramHandler.setInputAction((event) => {
        var pick = sgworld.Viewer.scene.pick(event.endPosition);
        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 (res.dirName) {
              res.dirid = res.dirName
            }
            that.$store.state.propertiesFlag = "2"
          } else {
            if (propertiesFlag == 1) {
              that.$store.state.propertiesFlag = propertiesFlag
            if (res.depName) {
              res.depid = res.depName
            }
            if (res.verName) {
              res.verid = res.verName
            }
            if (res.updateName) {
              res.updateuser = res.updateName
            }
            if (res.createName) {
              res.createuser = res.createName
            }
            if (res.createtime) {
              res.createtime = this.format(res.createtime)
            }
            if (res.updatetime) {
              res.createtime = this.format(res.updatetime)
            }
            return res
          })
          this.listdata.count = data.count;
          this.tableData = val;
          this.showHistogramLayer(data.count)
          this.$refs.filterTable.doLayout();
          var that = this;
          window.histogramHandler = new Cesium.ScreenSpaceEventHandler(
            sgworld.Viewer.scene.canvas
          )
          window.histogramHandler.setInputAction((event) => {
            var pick = sgworld.Viewer.scene.pick(event.endPosition);
            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,
                }
                that.$store.state.propertiesFlag = "2"
              } else {
                if (propertiesFlag == 1) {
                  that.$store.state.propertiesFlag = propertiesFlag
                } else {
                  that.$store.state.propertiesFlag = null
                }
              }
            } else {
              that.$store.state.propertiesFlag = null
              if (propertiesFlag == 1) {
                that.$store.state.propertiesFlag = propertiesFlag
              } else {
                that.$store.state.propertiesFlag = null
              }
            }
          }
        } else {
          if (propertiesFlag == 1) {
            that.$store.state.propertiesFlag = propertiesFlag
          } else {
            that.$store.state.propertiesFlag = null
          }
        }
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE)
          }, Cesium.ScreenSpaceEventType.MOUSE_MOVE)
        }, 500);
      }
    },
    async showHistogramLayer(res) {
      var obj = {
@@ -609,27 +613,38 @@
            }
          }
        }
        // var outlineList = [
        //   'rgba(141,135,114,1)',
        //   'rgba(248,235,179,1)',
        //   'rgba(185,183,151,1)',
        //   'rgba(224,222,94,1)',
        //   'rgba(250,190,153,1)',
        //   'rgba(197,222,130,1)',
        //   'rgba(208,228,177,1)',
        // ]
        var outlineList = [
          'rgba(141,135,114,1)',
          'rgba(248,235,179,1)',
          'rgba(185,183,151,1)',
          'rgba(224,222,94,1)',
          'rgba(250,190,153,1)',
          'rgba(197,222,130,1)',
          'rgba(208,228,177,1)',
          { 'name': '粉质黏土', 'color': 'rgba(139,106,77,1)' },
          { 'name': '淤泥质粉土', 'color': 'rgba(141,85,69,1)' },
          { 'name': '圆砾', 'color': 'rgba(102,166,184,1)' },
          { 'name': '卵石', 'color': 'rgba(54,83,173,1)' },
          { 'name': '泥岩', 'color': 'rgba(47,30,13,1)' },
          { 'name': '细砂', 'color': 'rgba(93,88,15,1)' },
          { 'name': '中砂', 'color': 'rgba(164,140,21,1)' }
        ]
        var num = res.elev;
        var height = 0;
        for (var i = 0; i < val.length; i++) {
          var fill, line;
          if (i >= outlineList.length) {
            var len = outlineList.length - 1;
            fill = outlineList[len];
            line = outlineList[len];
          } else {
            fill = outlineList[i];
            line = outlineList[i];
          }
          var line;
          var geoname = val[i].geoname;
          var col = outlineList.filter((res) => {
            if (res.name == geoname) {
              return res
            }
          })
          line = col[0].color
          var height = num - val[i].botdepth
          var layer = Viewer.entities.add({
            position: Cesium.Cartesian3.fromDegrees(coord[0], coord[1]),