管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-06 4e3d77dcbe421a4d6611ebcdd1ac3165cb36ad4b
src/views/Thematic/index.vue
@@ -287,7 +287,8 @@
var Viewer = null;
import mapsdk from '../../components/mapsdk.vue';
import { right_menu, right_list, image_layer } from './index.js';
import { right_menu, right_list, image_layer } from '../../assets/js/index.js';
import { perms_selectLayers } from '../../api/api.js';
import echart11 from '../../components/echart11.vue';
import echart12 from '../../components/echart12.vue';
import echart13 from '../../components/echart13.vue';
@@ -362,15 +363,19 @@
    };
  },
  mounted() {
    this.treeData = image_layer;
    this.rightList = right_list[0];
    this.rightMenu = right_menu;
    this.changeSelectli = this.rightList[0].id;
    this.changeSelectStyle = this.rightMenu[0].id;
    this.initMapView();
    this.addImageLayer();
  },
  created() { },
  created() {
  },
  methods: {
    setTopReturn() {
      this.$router.push('/Synthesis');
@@ -558,24 +563,67 @@
        Viewer.imageryLayers._layers[3].show = true;
      }
    },
    addImageLayer() {
      var val_layer = this.treeData[0].children;
    async addImageLayer() {
      const data = await perms_selectLayers();
      // var val_layer = this.treeData[0].children;
      // var std = [];
      // for (var i = 0; i < val_layer.length; i++) {
      //   if (val_layer[i].id != 13 && val_layer[i].id != 14) {
      //     let layerWMS = new Cesium.WebMapServiceImageryProvider({
      //       url: geoServerURl,
      //       layers: val_layer[i].resource,
      //       parameters: {
      //         transparent: true,
      //         format: 'image/png',
      //       },
      //     });
      //     layerWMS.name = val_layer[i].label;
      //     Viewer.imageryLayers.addImageryProvider(layerWMS);
      //     std.push(val_layer[i].id);
      //   }
      // }
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
      }
      var std = [];
      for (var i = 0; i < val_layer.length; i++) {
        if (val_layer[i].id != 13 && val_layer[i].id != 14) {
          let layerWMS = new Cesium.WebMapServiceImageryProvider({
            url: geoServerURl,
            layers: val_layer[i].resource,
            parameters: {
              transparent: true,
              format: 'image/png',
            },
          });
          layerWMS.name = val_layer[i].label;
          Viewer.imageryLayers.addImageryProvider(layerWMS);
          std.push(val_layer[i].id);
      var layer_list = [];
      var layer_groups = [];
      for (var i in data.result) {
        if (data.result[i].type == 1) {
          layer_groups.push({
            id: data.result[i].id,
            label: data.result[i].cnName,
            type: data.result[i].type,
            isEdit: false,
            children: [],
          })
        } else if (data.result[i].type == 2) {
          if (data.result[i].url != null) {
            var layer_entity = {
              id: data.result[i].id,
              pid: data.result[i].pid,
              label: data.result[i].cnName,
              resource: data.result[i].url,
              type: data.result[i].type,
              isEdit: false,
            }
            layer_list.push(layer_entity)
            if (data.result[i].isShow == 1) {
              std.push(data.result[i].id);
            this.setAddImageLayer(layer_entity);
            }
          }
        }
      }
      for (var i in layer_list) {
        for (var j in layer_groups) {
          if (layer_list[i].pid === layer_groups[j].id) {
            layer_groups[j].children.push(layer_list[i])
          }
        }
      }
      this.treeData = layer_groups;
      this.$refs.tree.setCheckedKeys(std);
    },
    handleCheckChange(data, checked, indeterminate) {
@@ -914,5 +962,15 @@
      }
    }
  }
  /deep/.el-tree .el-tree-node__content:hover {
    background-color: transparent !important;
  }
  /deep/.el-tree {
    color: white !important;
    background: transparent !important;
  }
  /deep/.el-tree-node:focus > .el-tree-node__content {
    background: transparent !important;
  }
}
</style>