月球大数据地理空间分析展示平台-【前端】-月球2期前端
Surpriseplus
2023-09-14 0e828960b1ffc10f19303316e7e1a10c9117614e
src/views/layer/layerManage.vue
@@ -108,7 +108,7 @@
import { ElMessage } from "element-plus";
const store = useStore(); // 该方法用于返回store 实例
const stretchValue = ref("");
const emits = defineEmits(["setCloseLayer"]);
let estreeRef = ref();
const setLayer = ref();
const transparence = ref(0);
@@ -126,7 +126,7 @@
const layerObjData = ref(null);
// 当前选中的节点 id
const selectedNodeId = ref(null as any); //做类型断言处理
const emits = defineEmits(["setCloseLayer"]);
//默认选中id
const DefaultId = ref([]);
//图层设置弹框
@@ -138,6 +138,7 @@
  layerSetIsshow.value = res;
};
const setCloseLayer = () => {
  store.state.setLayerManager = false;
  emits("setCloseLayer", false);
};
//选择图层
@@ -166,7 +167,6 @@
    }
  }
  if (setGeoWms.length > 0) {
    console.log(setGeoWms);
    server.addGeoServerMmsLayers(setGeoWms.reverse(), url);
  }
  store.commit("SET_CHECKLAYER", son);
@@ -208,6 +208,7 @@
  layerDetailIsshow.value = false;
  layerObjData.value = e;
  store.state.spatialTitle = e.cnName;
  if (res == 2) {
    layerAttributeIsshow.value = true;
    store.state.tab = e;
@@ -268,7 +269,29 @@
  // });
  // treeData = handleTree(menuOption, "id", "pid", "children");
};
const setRestLayerData = () => {
  let son = estreeRef.value.getCheckedNodes().reverse();
  server.delLayerAll();
  var setGeoWms = [];
  var url = 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;
      }
    } else {
      server.addTreeData(layerArr);
    }
  }
  if (setGeoWms.length > 0) {
    server.addGeoServerMmsLayers(setGeoWms, url);
  }
  store.commit("SET_CHECKLAYER", son);
};
const getLayer = async () => {
  store.state.restLayer = false;
  server.delLayerAll();
@@ -279,15 +302,18 @@
    });
    var std = [];
    var terrainId = null;
    var adLayer = [];
    dt.result.filter((res) => {
      if (res.isLayer == 1 && res.isShow == 1) {
        if (res.type == 1 && res.data == 2) {
          if (!terrainId) {
            terrainId = res.id;
            std.push(res.id);
            adLayer.push(res);
          }
        } else {
          std.push(res.id);
          adLayer.push(res);
        }
      }
    });
@@ -298,8 +324,9 @@
    defaultLayer(dt.result);
    var setGeoWms = [];
    var url = null;
    for (var i in dt.result) {
      var layer = dt.result[i];
    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);
@@ -310,8 +337,7 @@
      }
    }
    if (setGeoWms.length > 0) {
      console.log(setGeoWms);
      server.addGeoServerMmsLayers(setGeoWms.reverse(), url);
      server.addGeoServerMmsLayers(setGeoWms, url);
    }
    //;
    nextTick(() => {
@@ -340,16 +366,17 @@
    return father.pid == 0; // 返回一级菜单
  });
}
watch(
  () => store.state.restLayer,
  (nVal, oVal) => {
    if (nVal) {
      getLayer();
      setRestLayerData();
    }
  },
  { deep: true }
);
// getLayer();
onMounted(() => {
  window.setLayer = getLayer;
});