月球大数据地理空间分析展示平台-【前端】-月球2期前端
1
WX
2023-07-20 c55220698eef71fabc462dcf84858f95cf830a9d
1
已删除1个文件
已修改6个文件
174 ■■■■ 文件已修改
MoonWeb.zip 补丁 | 查看 | 原始文档 | blame | 历史
package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/server.js 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerManage.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MoonWeb.zip
Binary files differ
package.json
@@ -15,7 +15,7 @@
    "amfe-flexible": "^2.2.1",
    "axios": "^1.3.4",
    "default-passive-events": "^2.0.0",
    "element-plus": "^2.3.8",
    "element-plus": "^2.3.0",
    "js-base64": "^3.7.5",
    "jsencrypt": "^3.3.2",
    "mitt": "^3.0.1",
src/assets/js/Map/config.js
@@ -1,5 +1,5 @@
//是否为生产环境
const isWeb = true;
const isWeb = false;
//是否为生产环境
const webUrl = isWeb ? "/web" : "";
//配置文件地址
src/assets/js/Map/index.js
@@ -48,7 +48,6 @@
      tilingScheme: new Cesium.GeographicTilingScheme({
        ellipsoid: Cesium.Ellipsoid.MOON,
      }),
    });
    window.Viewer.terrainProvider = terrain;
@@ -75,8 +74,6 @@
    // //添加鼠标左击事件
    // this.addMouseLeftClickEvents();
    // this.addMouseMouseMoveEvents();
  },
  //鼠标左键点击事件添加
  addMouseLeftClickEvents() {
src/assets/js/Map/server.js
@@ -1,4 +1,37 @@
const server = {
  addTreeData(treeNode, checked) {
    console.log(treeNode, checked);
    let _data = sgworld.ProjectTree.getObject(treeNode.id);
    let pID = 0;
    console.log(_data);
    if (_data) {
      sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked);
      return;
    } else {
      // _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;
      //     });
      //   }
      //   return;
      // }
    }
    switch (treeNode.sourceType) {
      case "tms":
        break;
    }
  },
  //添加geoserver服务wms服务
  AddGeoWmsLayer(url) {
    window.layerWMS = new SmartEarth.Cesium.WebMapServiceImageryProvider({
@@ -23,10 +56,16 @@
    //   url: url + "/{z}/{x}/{y}.png"
    // });
    // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider);
    sgworld.Creator.createUrlTemplateImageryProvider('tms服务', {
      url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"),
    }, '0', undefined, true, "");
    sgworld.Creator.createUrlTemplateImageryProvider(
      "tms服务",
      {
        url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"),
      },
      "0",
      undefined,
      true,
      ""
    );
  },
  AddWmtesLayer(url) {
    var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({
src/utils/request.js
@@ -7,10 +7,10 @@
 */
import axios from "axios";
import { ElMessage, ElLoading } from "element-plus";
import { useRouter } from "vue-router";
import router from "@/router/index";
import { getToken } from "@/utils/auth";
const router = useRouter();
// create an axios instance
const service = axios.create({
  baseURL: BASE_URL, // api的base_url
@@ -47,10 +47,9 @@
    // 报错提示
    if (response.data.code !== 200) {
      ElMessage.error(response.data.msg);
    } else if (
      response.data.code !== 200 &&
      response.data.result == "用户未登录"
    ) {
    }
    if (response.data.code !== 200 && response.data.result == "用户未登录") {
      ElMessage.error("登录过期,请重新登录");
      router.push({ path: "/login" });
    }
    return response.data;
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;