管道基础大数据平台系统开发-【前端】-新系統界面
13693261870
2023-06-12 5cd616e1a141010a391485624e92ef2650410359
src/views/Tools/LayerTree.vue
@@ -122,6 +122,7 @@
        "m_sitepoint",
      ],
      treeData: [], // 树数据
      sourceData: [], // 源数据
      defaultProps: { // 默认属性值
        children: "children",
        label: "cnName",
@@ -172,6 +173,7 @@
      });
      // 存储选中图层
      this.treeData = this.setTreeData(layers);
      this.sourceData = JSON.parse(JSON.stringify(this.treeData));
      this.$refs.tree.setCheckedKeys(checkKey);
      sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers));
    },
@@ -528,7 +530,8 @@
        let layer = Viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({
          url: res.url,
          maximumLevel: 22,
        }), 1); // addImageryProvider -> add
          enablePickFeatures: false
        }), 1);
        layer.id = res.id;
        layer.name = res.cnName;
      }
@@ -645,11 +648,13 @@
        new Cesium.UrlTemplateImageryProvider({
          url: res.url,
          minimumLevel: data.result.min,
          maximumLevel: data.result.max
          maximumLevel: data.result.max,
          enablePickFeatures: false
        }) :
        new Cesium.UrlTemplateImageryProvider({
          url: res.url,
          minimumLevel: data.result.min
          minimumLevel: data.result.min,
          enablePickFeatures: false
        });
      let layer = Viewer.imageryLayers.addImageryProvider(provider, 1);
@@ -674,6 +679,8 @@
        checkedKeys.push(checkedLayers[i].id);
      }
      this.treeData = this.getNewTreeData(code);
      this.$store.state.treeData = this.treeData;
      this.$refs.tree.setCheckedKeys(checkedKeys);
      sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers));
      this.isBusy = false;
@@ -703,8 +710,13 @@
            continue;
          }
          if (layer.type == 2 && (layer.isProject || isPrj)) {
            layers.push(layer);
          //if (layer.type == 2 && (layer.isProject || isPrj)) {
          //  layers.push(layer);
          //}
          if (code) {
            if (layer.type == 2 && (layer.isProject || isPrj)) layers.push(layer);
          } else {
            if (layer.isShow) layers.push(layer);
          }
        }
        return;
@@ -714,6 +726,34 @@
        layers.push(data);
      }
    },
    // 获取新树数据
    getNewTreeData (code) {
      if (!code) return this.sourceData;
      let data = JSON.parse(JSON.stringify(this.sourceData));
      this.setSubTreeData(data, code);
      return data;
    },
    // 设置树数据子节点
    setSubTreeData (data, code) {
      let j = 0;
      while (j < data.length) {
        let d = data[j];
        if (d.type == 1 && d.isProject && d.enName != code) {
          data.splice(j, 1);
          continue;
        }
        j++;
      }
      for (let i = 0, c = data.length; i < c; i++) {
        if (data[i].children && data[i].children.length) {
          this.setSubTreeData(data[i].children, code);
        }
      }
    },
    // 添加WFS图层 *
    addWFSLayers (res) {
      let url =