月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-27 af90b0acc0cd09dcf72bcad45f186ba59311dd19
src/views/layer/layerManage.vue
@@ -199,14 +199,13 @@
    }
    var keys = estreeRef.value.getCheckedKeys();
    if (val.length <= 0 && keys.indexOf(data.id) > -1) {
      keys.splice(keys.indexOf(data.id), 1);
      estreeRef.value.setCheckedKeys(keys, true);
    }
    // nextTick(() => {
    // var str = JSON.parse(std)
    // console.log(str)
    // var layerIds = [];
    // if (str.indexOf(data.id) > -1) {
    //   str.splice(str.indexOf(data.id), 1);
@@ -234,63 +233,54 @@
const handleCheckChange = (data, checked) => {
  layerAttributeIsshow.value = false;
  layerDetailIsshow.value = false;
  let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  nextTick(() => {
    let son = estreeRef.value.getCheckedNodes();
    store.commit("SET_CHECKLAYER", son);
  });
  if (isCheck) {
    if (data.isLayer == 0) {
      let son = estreeRef.value.getCheckedNodes().reverse();
      for (var i in son) {
        var layerArr = son[i];
        layerArr.checked = true;
        if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
          //临时图层添加
          temporaryTool.addTemporaryTool(layerArr);
        } else {
          server.addTreeData(layerArr);
        }
      }
  // let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  let son = estreeRef.value.getCheckedNodes();
  store.commit("SET_CHECKLAYER", son);
  var alphaGroup = [];
  var idGroup = [];
  for (var i in server.layerList) {
    const layerData = server.layerList[i];
    if (layerData.layerData && layerData.id != server.wmsLayerId) {
      alphaGroup.push(layerData.layerData.alpha);
      idGroup.push(layerData.layerData.id);
    }
  }
  server.delLayerAll();
  temporaryTool.removeAll();
  var setGeoWms = [];
  var geoUrl = null;
  var layerTreeDate = estreeRef.value.getCheckedNodes().reverse();
  for (var i in layerTreeDate) {
    var layerArr = layerTreeDate[i];
    if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
      temporaryTool.addTemporaryTool(layerArr);
    } else {
      if (data.shpType && data.shpType == "temporaryLayer") {
        //临时图层添加
        temporaryTool.addTemporaryTool(data);
      } else {
        let son = estreeRef.value.getCheckedNodes().reverse();
        for (var i in son) {
          var layerArr = son[i];
          layerArr.checked = true;
          if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
            //临时图层添加
      if (layerArr.category == 2 && layerArr.type == 3) {
        if (layerArr.tab != "moon:geo_mappable_unit") {
          var id = layerArr.id;
          if (idGroup.indexOf(id) > -1) {
            var alpha = alphaGroup[idGroup.indexOf(id)];
            if (alpha == 1) {
              setGeoWms.push(layerArr.tab);
              geoUrl = layerArr.url;
            } else {
              server.setAddGeoWmsLayer(layerArr, alpha);
            }
          } else {
            server.addTreeData(layerArr);
            setGeoWms.push(layerArr.tab);
            geoUrl = layerArr.url;
          }
        }
      }
    }
  } else {
    if (data.isLayer == 0) {
      var layers = getCheckedLayerChildren(data);
      // var layers = data.children;
      for (var i in layers) {
        if (layers[i].shpType && layers[i].shpType == "temporaryLayer") {
          //临时图层添加
          temporaryTool.removeTemporaryLayer(layers[i]);
        } else {
          server.delLayer(layers[i].id);
        }
      }
    } else {
      if (data.shpType && data.shpType == "temporaryLayer") {
        //临时图层添加
        temporaryTool.removeTemporaryLayer(data);
      } else {
        server.delLayer(data.id);
        server.addTreeData(layerArr);
      }
    }
  }
  if (setGeoWms.length > 0) {
    server.addGeoServerMmsLayers(setGeoWms, geoUrl);
  }
  menuTool.setImageLayerChange();
};
const setVisiable = (treeNode, checked) => {
@@ -363,13 +353,13 @@
          forFn(item);
        } else {
          if (ids.indexOf(item.id) > -1) {
            temp.push(item.id);
            temp.push(item);
          }
        }
      });
    } else {
      if (ids.indexOf(data.id) > -1) {
        temp.push(data.id);
        temp.push(data);
      }
    }
  };
@@ -448,24 +438,27 @@
  // });
  // treeData = handleTree(menuOption, "id", "pid", "children");
};
const setRestLayerData = () => {
  let son = estreeRef.value.getCheckedNodes().reverse();
  var setGeoWms = [];
  var geoUrl = null;
  for (var i in son) {
    var layerArr = son[i];
    layerArr.checked = true;
    if (layerArr.category == 2 && layerArr.type == 3) {
      if (layerArr.tab != "moon:geo_mappable_unit") {
        // setGeoWms.push(layerArr.tab);
        // url = layerArr.url;
        server.addTreeData(layerArr);
        setGeoWms.push(layerArr.tab);
        geoUrl = layerArr.url;
        // server.addTreeData(layerArr);
      }
    } else {
      server.addTreeData(layerArr);
    }
  }
  // if (setGeoWms.length > 0) {
  //   server.addGeoServerMmsLayers(setGeoWms, url);
  // }
  if (setGeoWms.length > 0) {
    server.addGeoServerMmsLayers(setGeoWms, geoUrl);
  }
  store.commit("SET_CHECKLAYER", son);
};
const getLayer = async () => {