管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-05-12 6e92e7b101c2ea468a4b0d2a19066bc1b4d31764
src/views/Tools/LayerTree.vue
@@ -399,6 +399,9 @@
      } else if (Node.data.children == null && Node.data.serveType != "Tileset") {
        this.showlocal = false;
        this.showopaque = false;
      } else if (Node.data.children == null && Node.data.serveType != "DEM") {
        this.showlocal = false;
        this.showopaque = false;
      }
      this.menuVisible = true;
@@ -687,6 +690,7 @@
      }
    },
    setChangeDem(data, checked) {
      if (data.length <= 0) return
      this.cannelTerrainLayer();
      var val = this.$refs.tree.getCheckedKeys();
      var std = [];
@@ -696,8 +700,10 @@
          std.push(val[i])
        }
      }
      debugger
      var result = data[0]
      if (this.$refs.tree.getNode(result.id).checked) {
        std.push(result.id);
        var base_ulr = result.url;
        if (base_ulr.indexOf('{host}') > -1) {
@@ -933,6 +939,7 @@
        tileset.readyPromise.then((tileset) => {
          tileset.id = res.cnName;
          tileset.layerId = res.id;
          tileset.pubid = res.pubid;
@@ -959,6 +966,9 @@
            window.modelHeight = height;
          } else window.modelHeight = 0;
          this.getTilesetArgs(tileset, res);
        });
        this.$store.state.setAlphaList.push({
          name: res.cnName,
@@ -1010,7 +1020,11 @@
        if (data.code != 200) {
        } else {
          this.reload(tileset, data.result.json)
          if (res.bak != '3dml') {
            this.reload(tileset, data.result.json)
          } else {
            this.tileSet(tileset, parseFloat(res.elev))
          }
        }
      } else {
        this.tileSet(tileset, parseFloat(res.elev))
@@ -1205,7 +1219,7 @@
    },
    getNewTree(obj, result) {
      for (const i in obj) {
        console.log(obj[i].cnName)
        result.push(obj[i])
        if (obj[i].children && obj[i].children.length > 0) {
          this.getNewTree(obj[i].children, result)
@@ -1232,25 +1246,27 @@
            return rs
          }
        })
        debugger
        var val = this.$store.state.oldTree.filter(rs => {
          if (rs.enName == st_code[0].code) {
            return rs
          }
          if (rs.enName && rs.enName.indexOf(st_code[0].code) > -1) {
            return rs
          }
        })
        this.removeAllLayer();
        var obj = {
          dirid: res,
          pageIndex: 1,
          pageSize: 10,
        }
        const data = await project_selectByDirid(obj);
        if (data.code != 200) {
          this.$message.error("列表获取失败");
          return;
        }
        if (data.result[0]) {
          var geom = data.result[0].geom
          if (geom) {
@@ -1259,34 +1275,28 @@
              destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[0].toFixed(6), wkt.coordinates[1].toFixed(6), 5000),
            });
          }
        }
        this.cannelTerrainLayer();
        this.setTerrainMptLayer();
        //清空图层树选中状态
        this.$refs.tree.setCheckedKeys([]);
        if (val.length > 0) {
          if (val[0].type == 1 && val[0].isProject == 1) {//项目分类
            var std_check = [];
            for (var i in val) {
          var std_check = [];
          for (var i in val) {
            if (val[i].type == 1 && val[i].isProject == 1) {//项目分类
              var std_val = this.getNewTree([this.$refs.tree.getNode(val[i].id).data], [])
              for (var j in std_val) {
                std_check.push(std_val[j])
              }
            }
            var value = this.$store.state.isProjectLayer;
            for (var i in value) {
              std_check.push(value[i])
            }
            this.setProjectLayer(std_check);
          } else {
            this.setChangeProLayer();
          }
          var value = this.$store.state.isProjectLayer;
          for (var i in value) {
            std_check.push(value[i])
          }
          this.setProjectLayer(std_check);
        } else {
          this.setChangeProLayer();
        }
@@ -1325,6 +1335,7 @@
      window.terrainMptLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
    },
    setTerrainDemLayer(res) {
      window.terrainDemLayer = new Cesium.CesiumTerrainProvider({
        url: res
      });
@@ -1335,6 +1346,7 @@
      for (var i in res) {
        layerid.push(res[i].id)
      }
      this.$refs.tree.setCheckedKeys(layerid);
      // var value = this.$refs.tree.getCheckedNodes();
      // this.$bus.$emit("showMenuLayer", value);
@@ -1344,6 +1356,7 @@
      var listTileset = [];
      var listTMS = [];
      var listMpt = [];
      var listDem = [];
      for (var i in res) {
        if (res[i].type == 2) {
          switch (res[i].serveType) {
@@ -1362,11 +1375,13 @@
            case 'TMS':
              listTMS.push(res[i])
              break;
            case 'DEM':
              listDem.push(this.childOption[i])
              break;
          }
        }
      }
      // this.setChangeProLayer();
      // this.setChangeDem(listDem, true);
      this.setChangeWMS(listWMS, true);
      this.setChangeWFS(listWFS, true);
      this.setChangeTileset(listTileset, true);