月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-30 ecf3ad202a851caa39660ddfaa16e1bf16565b2e
src/views/layer/layerManage.vue
@@ -190,37 +190,29 @@
    // for (var i in keys) {
    //   checkedKeys.push(keys[i]);
    // }
    var keys = estreeRef.value.getCheckedKeys();
    var val = treeData.value[0].children;
    for (var i = 0; i < val.length; i++) {
      if (val[i].id == data.id) {
        val.splice(i, 1);
      }
    }
    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);
    var std = [];
    for (var i in keys) {
      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
        std.push(checkedKeys[i]);
      }else if(layer_res.isLayer == 1){
        std.push(checkedKeys[i]);
    }
    // nextTick(() => {
    // var str = JSON.parse(std)
    // var layerIds = [];
    // if (str.indexOf(data.id) > -1) {
    //   str.splice(str.indexOf(data.id), 1);
    // }
    // if (str.indexOf(str.value) > -1) {
    //   str.splice(str.indexOf(str.value), 1);
    // }
    // for (var i in str) {
    //   var val = estreeRef.value.getNode(str[i]).data;
    //   if (val.isLayer == 1) {
    //     layerIds.push(str[i]);
    //   }
    // }
    // estreeRef.value.setCheckedKeys(layerIds, true);
    // });
    }
    estreeRef.value.setCheckedKeys([], true);
    console.log(data.id);
    nextTick(() => {
      console.log(std);
      estreeRef.value.setCheckedKeys(std, true);
    });
  } else if (res == 3) {
    let son = estreeRef.value.getCheckedKeys();
    if (son.indexOf(data.id) < 0) {
@@ -234,8 +226,11 @@
  layerAttributeIsshow.value = false;
  layerDetailIsshow.value = false;
  // let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  let son = estreeRef.value.getCheckedNodes();
  store.commit("SET_CHECKLAYER", son);
  temporaryTool.removeTemporaryLayerAll();
  server.delLayerAll();
  var alphaGroup = [];
  var idGroup = [];
  for (var i in server.layerList) {
@@ -246,16 +241,16 @@
    }
  }
  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 (layerArr.isLayer == 1) {
      if (layerArr.category == 2 && layerArr.type == 3) {
        if (layerArr.tab != "moon:geo_mappable_unit") {
          var id = layerArr.id;
@@ -274,6 +269,7 @@
        }
      } else {
        server.addTreeData(layerArr);
        }
      }
    }
  }
@@ -441,10 +437,12 @@
const setRestLayerData = () => {
  let son = estreeRef.value.getCheckedNodes().reverse();
  var setGeoWms = [];
  var geoUrl = null;
  for (var i in son) {
    var layerArr = son[i];
    console.log(layerArr.isLayer);
    layerArr.checked = true;
    if (layerArr.category == 2 && layerArr.type == 3) {
      if (layerArr.tab != "moon:geo_mappable_unit") {
@@ -554,20 +552,26 @@
    name: res.cnName,
    wkt: JSON.stringify(res),
  };
  var checkedKeys = estreeRef.value.getCheckedKeys();
  const data = await mark_insert(obj);
  if (data.code != 200 || !data.result) return;
  store.state.temporaryLayer = null;
  res.sid = data.result;
  treeData.value[0].children.push(res);
  var id = res.id;
  nextTick(() => {
    var checkedKeys = estreeRef.value.getCheckedKeys();
    if (checkedKeys.indexOf(temporary.value) > -1) {
      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
    var std = [res.id];
    for (var i in checkedKeys) {
      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
        std.push(checkedKeys[i]);
      }else if(layer_res.isLayer == 1){
        std.push(checkedKeys[i]);
    }
    checkedKeys.push(id);
    estreeRef.value.setCheckedKeys(checkedKeys, true);
    }
    estreeRef.value.setCheckedKeys([], true);
    estreeRef.value.setCheckedKeys(std, true);
    temporaryTool.addTemporaryTool(res);
  });
};