From 8259d48200ce9477ecbe16e8426161493211b593 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期五, 03 十一月 2023 13:25:07 +0800
Subject: [PATCH] 投影图层修改

---
 src/views/baseMapSwitching/baseMapSwitching.vue |   61 +++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/src/views/baseMapSwitching/baseMapSwitching.vue b/src/views/baseMapSwitching/baseMapSwitching.vue
index 835953d..c90c887 100644
--- a/src/views/baseMapSwitching/baseMapSwitching.vue
+++ b/src/views/baseMapSwitching/baseMapSwitching.vue
@@ -1,14 +1,11 @@
 <template>
-  <div
-    v-drag
-    class="baseMapSwitching"
-  >
+  <div class="baseMapSwitching">
     <div class="baseMapSwitchingTitle">
       <div class="tileLeft">
-        <div class="titleImg">
+        <div class="titleImg" @click="setCloseBaseMap">
           <ArrowLeft />
         </div>
-        <div class="titleLable"> 鎶曞奖鍥惧眰绠$悊</div>
+        <div class="titleLable">鎶曞奖鍥惧眰绠$悊</div>
       </div>
     </div>
     <div class="baseMapSwitching_content">
@@ -20,7 +17,9 @@
           @click="setProjectionLayerChange(item)"
         >
           <div class="baseMapSwitching_list_tr_name">
-            <span :class="{  'baseMapActive' : activceIndex == item.id}">{{item.cnName }}</span>
+            <span :class="{ baseMapActive: activceIndex == item.id }">{{
+              item.cnName
+            }}</span>
           </div>
         </div>
       </div>
@@ -40,15 +39,38 @@
 import { perms_selectProjectLayers } from "@/api/api";
 import server from "@/assets/js/Map/server";
 import store from "@/store";
-
 import projection from "@/assets/js/Map/projectionServer";
+
+import olMap from "@/assets/js/Map/olMap";
+const emits = defineEmits(["setCloseBaseMap"]);
 let list = ref([]);
 const activceIndex = ref();
 const setProjectionLayerChange = (res) => {
-  server.delLayerAll();
-  projection.addTreeData(res);
+  let projection = {
+    code: "",
+    extent: [],
+  };
+  if (res.cnName == "绛夎窛绂诲渾鏌辨姇褰憋紙<75搴︼級") {
+    projection.code = "ESRI:103881";
+    projection.extent = [-180, -75, 180, 75];
+  } else if (res.cnName == "鏈堢悆杩戝湴鎶曞奖") {
+    projection.code = "ESRI:103880";
+    projection.extent = [-90, -90, 90, 90];
+  } else if (res.cnName == "鏈堢悆鍖楁瀬鎶曞奖") {
+    projection.code = "ESRI:103877";
+    projection.extent = [-180, 60, 180, 90];
+  } else if (res.cnName == "鏈堢悆鍗楁瀬鎶曞奖") {
+    projection.code = "ESRI:103878";
+    projection.extent = [-180, -90, 180, -60];
+  } else if (res.cnName == "鏈堢悆杩滃湴鎶曞奖") {
+    projection.code = "ESRI:103879";
+    projection.extent = [-90, -90, 90, 90];
+  }
+  // olMap.initMap();
+ 
+  olMap.addTreeData(res, projection);
   activceIndex.value = res.id;
-  store.state.restLayer = true;
+  // store.state.restLayer = true;
 };
 const getProjectionLayer = async () => {
   const data = await perms_selectProjectLayers();
@@ -58,12 +80,19 @@
       return res;
     }
   });
-  list.value = result.reverse();
-  if (!activceIndex.value) {
-    setProjectionLayerChange(list.value[0]);
-  }
+  var val = result.sort(function (a, b) {
+    return a.orderNum - b.orderNum;
+  });
+  list.value = val;
+  setProjectionLayerChange(list.value[0]);
+  // if (!activceIndex.value) {
+  //   setProjectionLayerChange(list.value[0]);
+  // }
 };
 getProjectionLayer();
+const setCloseBaseMap = () => {
+  emits("setCloseBaseMap", false);
+};
 </script>
 
 <style lang="less" scoped>
@@ -72,6 +101,8 @@
   height: 680px;
   background: rgba(7, 8, 14, 0.8);
   box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
+  z-index: 101;
+  position: relative;
   .baseMapSwitchingTitle {
     width: calc(100% - 27px);
     height: 42px;

--
Gitblit v1.9.3