月球大数据地理空间分析展示平台-【前端】-月球2期前端
1
WX
2023-07-20 c55220698eef71fabc462dcf84858f95cf830a9d
src/views/layer/layerManage.vue
@@ -90,6 +90,7 @@
import layerDetail from "./layerDetail";
import { useStore } from "vuex"; // 引入useStore 方法
import { layer_selectAll } from "@/api/api";
import server from "@/assets/js/Map/server";
const store = useStore(); // 该方法用于返回store 实例
const stretchValue = ref("");
@@ -187,10 +188,105 @@
};
//选择图层
const handleCheckChange = (data, checked) => {
  let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  // this.setVisiable(data, isCheck);
  let son = estreeRef.value.getCheckedNodes();
  store.commit("SET_CHECKLAYER", son);
  setVisiable(data, isCheck);
  let layerArr = [];
  son.forEach((e) => {
    if (e.type == 2) {
      layerArr.push(e);
    }
  });
  // server.addLayer(layerArr, isCheck);
};
const setVisiable = (treeNode, checked) => {
  if (checked !== undefined) {
    treeNode.checked = checked;
  } else {
    treeNode.checked = !treeNode.checked;
  }
  if (treeNode.children) {
    treeNode.children.forEach((item) => {
      setVisiable(item, treeNode.checked);
    });
    return;
  } else if (treeNode._children) {
    if (treeNode.thisView === "ewzj") {
      treeNode._children[0].checked = treeNode.checked;
      if (treeNode._children[0].children) {
        treeNode._children[0].children.forEach((item) => {
          item.checked = treeNode.checked;
          server.addTreeData(item);
        });
      } else {
        server.addTreeData(treeNode._children[0]);
      }
    } else if (treeNode.thisView === "swzj") {
      for (let i = 1; i < treeNode._children.length; i++) {
        treeNode._children[i].checked = treeNode.checked;
      }
      treeNode._children.forEach((item, index) => {
        index !== 0 && server.addTreeData(item);
      });
    } else if (!treeNode.thisView) {
      treeNode._children.forEach((item, index) => {
        item.checked = treeNode.checked;
        if (item.children) {
          item.children.forEach((_item) => {
            _item.checked = item.checked;
            server.addTreeData(_item);
          });
        } else {
          server.addTreeData(item);
        }
      });
    }
    return;
  }
  if (!treeNode.isAdd) {
    server.addTreeData(treeNode);
    return;
  }
  // let data = _getTreeData(treeNode.id);
  // if (data) {
  //   data.item &&
  //     data.item.setVisibility &&
  //     data.item.setVisibility(treeNode.checked);
  //   data.item && data.item.setVisible && data.item.setVisible(treeNode.checked);
  //   data.item &&
  //     data.item.show !== undefined &&
  //     (data.item.show = treeNode.checked);
  //   if (data.datatype === "particle") {
  //     data.item.forEach((item) => {
  //       item.show = treeNode.checked;
  //     });
  //   }
  // } else {
  //   if (treeNode.id && treeNode.id.indexOf && treeNode.id.indexOf("---") > -1) {
  //     var ids = id.split("---");
  //     ids.forEach((item) => {
  //       sgworld.ProjectTree.setVisibility(item, treeNode.checked);
  //     });
  //   } else {
  //     sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked);
  //     var dd = Viewer.dataSources._dataSources.filter((item) => {
  //       return item.name == treeNode.id;
  //     });
  //     if (dd && dd.length > 0) {
  //       dd[0].show = treeNode.checked;
  //     }
  //   }
  // }
};
const clickdropdown = (res, e) => {
  layerAttributeIsshow.value = false;
  layerDetailIsshow.value = false;
@@ -210,7 +306,7 @@
//编辑图层树
const addlayer = (res) => {
  menuOption.push(res);
  treeData.value = handleTree(menuOption, "id", "pid", "children");
  // treeData.value = handleTree(menuOption, "id", "pid", "children");
};
//删除图层树
const delLayer = (res) => {
@@ -224,10 +320,13 @@
const getLayer = async () => {
  const dt = await layer_selectAll();
  treeData.value = setTreeData(dt.result);
  treeData.value = JSON.parse(JSON.stringify(treeData.value));
  if (dt.code == 200) {
    treeData.value = setTreeData(dt.result);
  }
  console.log(treeData.value);
  // treeData.value = JSON.parse(JSON.stringify(treeData.value));
  // console.log(treeData.value);
};
//构造树
@@ -294,7 +393,7 @@
    }
  }
  .layerContent {
    height: 635px;
    height: 625px;
    padding: 0 8px;
    overflow: auto;
    overflow-y: auto;