月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-30 5251468b491c8cbc34b92bd2fdf144c08ae38196
src/views/layer/layerManage.vue
@@ -84,6 +84,7 @@
    :layerTree="treeData"
    @addlayer="addlayer"
    @delLayer="delLayer"
    @onSubmit = "editLayer"
  ></layer-set>
  <attribute-list
    v-if="layerAttributeIsshow"
@@ -400,7 +401,16 @@
      node = estreeRef.value.getNode(e);
    }
  });
  var checKey = estreeRef.value.getCheckedKeys();
  let checkid=[];
  for(var i in checKey){
      if( estreeRef.value.getNode(checKey[i]).data.isLayer ==1){
        checkid.push(checKey[i])
      }
  }
  // 将变动之前的node备份
  estreeRef.value.setCheckedKeys([], true);
  let copyNode = { ...node };
  copyNode.previousSibling = { ...node.previousSibling };
  copyNode.nextSibling = { ...node.nextSibling };
@@ -426,6 +436,7 @@
      estreeRef.value.insertAfter(copyNode.data, copyNode.nextSibling.data);
    }
  }
  estreeRef.value.setCheckedKeys(checkid, true);
};
//删除图层树
const delLayer = (res) => {
@@ -434,7 +445,20 @@
  // });
  // treeData = handleTree(menuOption, "id", "pid", "children");
};
const editLayer=()=>{
 var layer =store.state.chekNowLayers;
 var std =[];
 for(var i in layer){
  if(layer[i].isLayer ==1){
    std.push(layer[i].id)
  }
 }
 estreeRef.value.setCheckedKeys([], true);
 nextTick(()=>{
  estreeRef.value.setCheckedKeys(std, true);
 })
}
const setRestLayerData = () => {
  let son = estreeRef.value.getCheckedNodes().reverse();
@@ -619,6 +643,7 @@
  () => store.state.restLayer,
  (nVal, oVal) => {
    if (nVal) {
      setRestLayerData();
    }
  },
@@ -628,6 +653,7 @@
  () => store.state.temporaryLayer,
  (nVal, oVal) => {
    if (nVal) {
      addTemporaryLayer(nVal);
    }
  },
@@ -637,6 +663,7 @@
  () => store.state.editTemporarName,
  (nVal, oVal) => {
    if (nVal) {
      editTemporaryLayerName(nVal);
    }
  },
@@ -646,12 +673,13 @@
  () => store.state.editTemporaryback,
  (nVal, oVal) => {
    if (nVal) {
      editTemporaryBackById(nVal);
    }
  },
  { deep: true }
);
onMounted(() => {
  window.setLayer = getLayer;
});