管道基础大数据平台系统开发-【前端】-新系統界面
1
13693261870
2023-05-23 ebba9f6ff44536c38545e68bccc6abe2ef589438
1
已修改1个文件
106 ■■■■■ 文件已修改
src/views/Tools/LayerTree.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/LayerTree.vue
@@ -6,9 +6,9 @@
                   clearable
                   filterable
                   style="width :100%"
                   @change="setproChange"
                   @change="prjChanged"
                   placeholder="请选择项目">
          <el-option v-for="item in optionts"
          <el-option v-for="item in menus"
                     :key="item.code"
                     :label="item.name"
                     :value="item.code">
@@ -100,51 +100,29 @@
      showLocal: false, // 定位
      showOpacity: false, // 不透明度
      menuVisible: false, // 菜单
      levelArray: [ // 调试数组
      levelArray: [ // 高程数组
        0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000,
        250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200,
        100, 50, 25, 10, 0,
      ],
      eleId: "",
      isShow: false,
      currentData: "",
      currentNode: "",
      firstLevel: false,
      filterText: "",
      appendNodetitle: "",
      maxexpandId: 4,
      rightClickMenuStyle: {},
      handleTreeCheck: [],
      dialogVisible: false,
      showModelAttach: false,
      addFormServer: {
        opacity: 100,
        serveType: "WMS",
        type: 2,
      },
      filterText: "", // 关键字过滤
      currentData: "", // 当前数据
      currentNode: "", // 当前节点
      rightClickMenuStyle: {}, // 右键菜单样式
      handleTreeCheck: [], // 默认选中键
      layerId: [
        "m_pipeline",
        "th_strategic_channel",
        "bs_project",
        "m_sitepoint",
      ],
      treeData: [],
      defaultProps: {
      treeData: [], // 树数据
      defaultProps: { // 默认属性值
        children: "children",
        label: "cnName",
      },
      options: [{
        value: "WMS",
        label: "WMS",
      }, {
        value: "WFS",
        label: "WFS",
      },
      ],
      childOption: [],
      mptLayer: [],
      optionts: [],
      proValue: null,
      mptLayer: [], // Mpt图层
      menus: [] // 菜单项
    };
  },
  watch: {
@@ -170,7 +148,7 @@
    // 获取菜单
    async getMenus () {
      let data = await project_selectDirAll();
      if (data && data.code == 200) this.optionts = data.result;
      if (data && data.code == 200) this.menus = data.result;
    },
    // 初始化图层
    async layersStart () {
@@ -421,7 +399,7 @@
            cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除:60
            preloadWhenHidden: true,
            preferLeaves: true, // 预装子节点:false
            maximumMemoryUsage: 512, // 内存分配变小有利于内存回收,提升性能体验
            maximumMemoryUsage: 768, // 内存分配变小有利于内存回收,提升性能体验
            progressiveResolutionHeightFraction: 0.5, // 数值偏于0能够让初始加载变得模糊
            dynamicScreenSpaceErrorDensity: 0.5, // 数值加大,能让周边加载变快
            dynamicScreenSpaceErrorFactor: 2, // 动态屏幕空间误差的系数
@@ -475,22 +453,21 @@
    },
    // 添加TMS图层
    addTMSLayers (layers) {
      let url = res.url;
      if (res.url.indexOf("{host}") != -1) {
        url = res.url.replace("{host}", iisHost);
      }
      for (let i in layers) {
        let res = layers[i];
        let url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url;
      if (res.pubid) {
        this.setQueryPubid(res);
      } else {
        let layer = Viewer.imageryLayers.addImageryProvider(
          new Cesium.UrlTemplateImageryProvider({
            url: url,
            maximumLevel: 22,
          })
        );
        if (res.pubid) {
          this.setQueryPubid(res);
          continue;
        }
        let layer = Viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({
          url: url,
          maximumLevel: 22,
        }));
        layer.id = res.id;
        layer.name = res.cnName;
        this.setChangeWMS();
      }
    },
    // 切换Mpt
@@ -515,19 +492,17 @@
    },
    // 添加Mpt图层
    addMptLayers (layers) {
      if (res.url.indexOf("{host}") != -1) {
        res.url = res.url.replace("{host}", iisHost);
      }
      let url = res.url.split(';')
      for (let i in layers) {
        let res = layers[i];
        if (res.url.indexOf("{host}") > -1) res.url = res.url.replace("{host}", iisHost);
        let urls = res.url.split(';')
      let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", {
        url: url[0],
        layers: url[1]
      }, "0", undefined, true, "");
      this.mptLayer.push(layer)
      setTimeout(() => {
        this.setChangeWMS();
      }, 500);
        let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", {
          url: urls[0],
          layers: urls[1]
        }, "0", undefined, true, "");
        this.mptLayer.push(layer);
      }
    },
    // 切换DEM
    setChangeDEM (layers, checked) {
@@ -636,11 +611,16 @@
        this.setChangeWMS();
      }
    },
    // 切换项目
    async prjChanged (res) {
    },
    async setproChange (res) {
      if (res) {
        this.setCheeckedLayer = this.$refs.tree.getCheckedKeys();
        this.$store.state.pigCode = res;
        let st_code = this.optionts.filter(rs => {
        let st_code = this.menus.filter(rs => {
          if (rs.code == res) {
            return rs
          }