月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-19 bfe436e493006bea75d32383d6bdfc0af8c7e5d0
src/views/layer/layerManage.vue
@@ -127,7 +127,11 @@
    }
    store.state.editTemporaryId = data.id;
    sgworld.Creator.SimpleGraphic.SimpleGraphicObj.push(data.id);
    sgworld.Creator.SimpleGraphic.edit(true, { editProp: false });
    sgworld.Creator.SimpleGraphic.edit(true, {
      editProp: false, tipText: {
        ActiveText: '点击激活编辑'
      }
    });
  } else if (res == 2) {
    var layerId = []
    layerId.push(data.sid)
@@ -151,7 +155,18 @@
    if (checkedKeys.indexOf(temporary.value) > -1) {
      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1)
    }
    estreeRef.value.setCheckedKeys(checkedKeys, true);
    estreeRef.value.setCheckedKeys([], true);
    nextTick(() => {
      var layerIds = [];
      for (var i in checkedKeys) {
        var val = estreeRef.value.getNode(checkedKeys[i]).data;
        if (val.isLayer == 1) {
          layerIds.push(checkedKeys[i]);
        }
      }
      estreeRef.value.setCheckedKeys(layerIds, true);
    })
  }
};
//选择图层
@@ -160,16 +175,34 @@
  layerDetailIsshow.value = false;
  let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  if (isCheck) {
    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);
    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);
        }
      }
    } else {
      if (data.shpType && data.shpType == 'temporaryLayer') {//临时图层添加
        temporaryTool.addTemporaryTool(data);
      } else {
        server.addTreeData(layerArr);
        let son = estreeRef.value.getCheckedNodes().reverse();
        for (var i in son) {
          var layerArr = son[i];
          layerArr.checked = true;
          if (layerArr.shpType && layerArr.shpType == 'temporaryLayer') {//临时图层添加
          } else {
            server.addTreeData(layerArr);
          }
        }
      }
    }
  } else {
    if (data.isLayer == 0) {
@@ -182,6 +215,7 @@
        }
      }
    } else {
      if (data.shpType && data.shpType == 'temporaryLayer') {//临时图层添加
        temporaryTool.removeTemporaryLayer(data);
      } else {
@@ -190,52 +224,6 @@
    }
  }
  //判断是否为父级
  // if (data.isLayer == 0) {//为父级
  //   let son = estreeRef.value.getCheckedNodes().reverse();
  //   for(var i in )
  // } else {//为子级
  // }
  //
  // if (data.shpType && data.shpType == 'temporaryLayer') {
  //   if (isCheck) {
  //     temporaryTool.addTemporaryTool(data);
  //   } else if(!isCheck) {
  //     temporaryTool.removeTemporaryLayer(data);
  //   }
  // } else {
  //   if (isCheck) {
  //     let son = estreeRef.value.getCheckedNodes().reverse();
  //     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") {
  //           server.addTreeData(layerArr)
  //         }
  //       } else {
  //         server.addTreeData(layerArr);
  //       }
  //     }
  //     store.commit("SET_CHECKLAYER", son);
  //   } else {
  //
  //   }
  // }
};
const setVisiable = (treeNode, checked) => {
  if (checked !== undefined) {
@@ -276,10 +264,15 @@
      layerAttributeIsshow.value = true;
      store.state.tab = e;
    } else if (res == 3) {
      let son = estreeRef.value.getCheckedNodes()
      var layerId = getCheckedLayerID(e, son);
      let son = estreeRef.value.getCheckedKeys();
      var layerId = getCheckedLayerPID(e, son);
      if (layerId.length <= 0) {
        return ElMessage.error("请先勾选图层");
      }
      layerDetailIsshow.value = true;
      store.state.layerGroups = {
        id: e.id,
        layerIds: layerId
      }
    } else {
      var val = estreeRef.value!.getCheckedKeys(false);
@@ -292,14 +285,15 @@
  })
};
const getCheckedLayerID = (res, result) => {
const getCheckedLayerPID = (res, result) => {
  var temp = [];
  var ids = result
  let forFn = (data) => {
    data.children.forEach(item => {
      if (item.children) {
        forFn(item)
        temp.push(item.id)
      } else {
        if (result.indexOf(item.id) > -1) {
        if (ids.indexOf(item.id) > -1) {
          temp.push(item.id)
        }
      }
@@ -309,10 +303,14 @@
  return temp;
};
const setSpatialClose = (res) => {
  layerAttributeIsshow.value = res;
};
const detailClose = (res) => {
  layerDetailIsshow.value = res;
  if (res.type == 0) {
    estreeRef.value.getNode(store.state.layerGroups.id).data.alpha = res.val;
  }
  layerDetailIsshow.value = res.flag;
};
//编辑图层树
const addlayer = (res) => {
@@ -381,7 +379,14 @@
  // server.delLayerAll();
  const dt = await perms_selectLayers();
  if (dt.code == 200) {
    treeData.value = setTreeData(dt.result).sort(function (a, b) {
    var va_data = dt.result.filter((res) => {
      if (res.isLayer == 0) {
        res.alpha = 1;
      }
      return res;
    })
    treeData.value = setTreeData(va_data).sort(function (a, b) {
      return a.orderNum - b.orderNum;
    });
    const comperLayer = await mark_selectByPageAndCount({
@@ -430,25 +435,7 @@
    //添加默认选中图层
    layerListData.value = dt.result;
    defaultLayer(dt.result);
    // var setGeoWms = [];
    // var url = null;
    // for (var i in adLayer) {
    //   var layer = adLayer[i];
    //   if (layer.category == 2 && layer.type == 3) {
    //     if (layer.tab != "moon:geo_mappable_unit") {
    //       // setGeoWms.push(layer.tab);
    //       // url = layer.url;
    //       server.addTreeData(layer);
    //     }
    //   } else {
    //     server.addTreeData(layer);
    //   }
    // }
    // if (setGeoWms.length > 0) {
    //   server.addGeoServerMmsLayers(setGeoWms, url);
    // }
    //;
    nextTick(() => {
      let son = estreeRef.value.getCheckedNodes();
      setRestLayerData()
@@ -526,10 +513,7 @@
    }
  }
  nextTick(() => {
    estreeRef.value.setCheckedKeys(checkedKeys, true);
  });
};
const setEditLayerChange = async (res) => {