From 1355c04087927dfed32827d23609e2b04a8cabea Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 04 九月 2023 11:27:37 +0800
Subject: [PATCH] 影像对比,地名查询,图层管理界面修改

---
 src/views/baseMapSwitching/baseMapSwitching.vue |    1 
 src/views/query/SpatialQuery.vue                |    4 
 src/views/layer/attributeList.vue               |    2 
 src/views/layer/layerSet.vue                    |    9 -
 src/views/menus.vue                             |   28 ++++-
 src/views/search/search.vue                     |   38 +++++--
 src/assets/js/Map/olMap.js                      |   20 ++++
 src/views/export/exportMap.vue                  |    1 
 src/assets/js/Map/rightServer.js                |   48 +++++++++
 src/components/mouseMove.vue                    |   18 --
 src/views/login.vue                             |   10 -
 src/views/Map/mapView.vue                       |   10 -
 src/views/layer/doubleLayer.vue                 |   46 ++++++++-
 src/components/topBtn.vue                       |    2 
 src/views/layer/layerDetail.vue                 |    2 
 src/assets/js/Map/menuTool.js                   |    4 
 src/views/plotting/plotting.vue                 |   11 +
 src/views/layer/layerManage.vue                 |    8 
 18 files changed, 188 insertions(+), 74 deletions(-)

diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js
index 874b603..66dfe8e 100644
--- a/src/assets/js/Map/menuTool.js
+++ b/src/assets/js/Map/menuTool.js
@@ -324,6 +324,9 @@
   },
   thematicTools(res) {
     switch (res.id) {
+      case "t1":
+        store.state.setLayerManager = !store.state.setLayerManager;
+        break;
       case "t2":
         this.createSimpleGraphic("rectangle", "square");
         break;
@@ -430,6 +433,7 @@
     window.rightViewer.scene.skyAtmosphere.show = false;
     const compass = document.getElementsByClassName("bottom_btn")[0];
     compass.style.right = "calc(50% + 70px)";
+    compass.style.positions = "absolute";
     store.state.doubleMap = true;
     setTimeout(() => {
       window.functionGetLayer({
diff --git a/src/assets/js/Map/olMap.js b/src/assets/js/Map/olMap.js
index 696d1e5..5b90955 100644
--- a/src/assets/js/Map/olMap.js
+++ b/src/assets/js/Map/olMap.js
@@ -196,7 +196,27 @@
     });
     if (this.map) {
       this.map.addLayer(this.Layer);
+      var that = this;
+      window.olMap = this.map;
+      window.layer = this.Layer
+      setTimeout(() => {
+        that.getLayersExtent();
+      }, 1000)
+      // this.Layer.getSource().on('addfeature', function () {
+      //   this.map.getView().fit(this.Layer.getSource().getExtent());
+      // });
+
+
     }
   },
+  getLayersExtent() {
+    // 缂╂斁鑷冲浘灞傝寖鍥�
+
+    this.map.getView().fit(this.Layer.renderer_.renderedExtent_);
+
+
+
+  }
+
 };
 export default olMap;
diff --git a/src/assets/js/Map/rightServer.js b/src/assets/js/Map/rightServer.js
index 4c85743..d5e9a48 100644
--- a/src/assets/js/Map/rightServer.js
+++ b/src/assets/js/Map/rightServer.js
@@ -353,5 +353,53 @@
         let img_layer = window.rightViewer.imageryLayers.addImageryProvider(layer);
         this.layerList.push({ id: res.id, layerData: img_layer, type: "wmts" });
     },
+    addGeoServerMmsLayers(layer, url) {
+        var that = this
+        var getFeatureInfoFormat = new SmartEarth.Cesium.GetFeatureInfoFormat("html", null, function (html) {
+            that.getFeatureInfo(html)
+        });
+        let wmslayer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
+            url: url,
+            layers: layer.toString(),
+            getFeatureInfoParameters: { info_format: 'text/html' },
+            enablePickFeatures: true,
+            getFeatureInfoFormats: [getFeatureInfoFormat],
+            parameters: {
+                transparent: true,
+                format: "image/png",
+                srs: "EPSG:104903",
+                styles: "",
+            },
+            tileWidth: 512,
+            tileHeight: 512,
+        });
+        wmslayer.name = `Wms_Layer_geo`;
+        let img_layer = window.rightViewer.imageryLayers.addImageryProvider(wmslayer);
+        this.layerList.push({ id: 1001011, layerData: img_layer, type: "wmts" });
+    },
+
+    delLayerAll() {
+        this.layerList.forEach((e, i) => {
+            switch (e.type) {
+                case "wmts":
+                    window.rightViewer.imageryLayers.remove(e.layerData);
+                    break;
+                case "tms":
+                    window.rightViewer.imageryLayers.remove(e.layerData);
+                    break;
+                case "dem":
+                    window.rightViewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
+                        {}
+                    );
+                    break;
+                case "tileset":
+                    window.rightViewer.scene.primitives.remove(e.layerData)
+                    break;
+            }
+            this.layerList.splice(i, 1);
+        });
+
+    },
+
 };
 export default rightServer;
diff --git a/src/components/mouseMove.vue b/src/components/mouseMove.vue
index 0e06feb..0d2f2cc 100644
--- a/src/components/mouseMove.vue
+++ b/src/components/mouseMove.vue
@@ -141,7 +141,7 @@
     // 褰撳墠楂樺害
     let height = Viewer.camera.positionCartographic.height;
     heightlevel = getLevel(height);
-    console.log(heightlevel);
+
     if (heightlevel == 6) {
       gridDel();
       grid(5);
@@ -178,7 +178,7 @@
   //     ])
   //   );
   // }
-  // console.log(ps);
+
   // let polylineGeometry = new Cesium.PolylineGeometry({
   //   positions: ps,
   //   width: 5,
@@ -203,16 +203,6 @@
 const grid = (degree) => {
   const entities = Viewer.entities;
   for (let longitude = -180; longitude <= 180; longitude += degree) {
-    console.log(
-      Cesium.Cartesian3.fromDegreesArray([
-        longitude,
-        -90,
-        longitude,
-        0,
-        longitude,
-        90,
-      ])
-    );
     let text = "";
     if (longitude === 0) {
       text = "0";
@@ -260,7 +250,7 @@
     if (lat === 0) {
       text = "";
     }
-    // console.log(lat, "---lat");
+
     let obj = entities.add({
       position: Cesium.Cartesian3.fromDegrees(0, lat),
       polyline: {
@@ -291,7 +281,7 @@
     });
     entitiesObj.latLine.push(obj);
   }
-  console.log(entitiesObj);
+
   // 鎶楅敮榻�
   if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) {
     //鍒ゆ柇鏄惁鏀寔鍥惧儚娓叉煋鍍忕礌鍖栧鐞�
diff --git a/src/components/topBtn.vue b/src/components/topBtn.vue
index 8b4b9f4..cd267ab 100644
--- a/src/components/topBtn.vue
+++ b/src/components/topBtn.vue
@@ -101,7 +101,7 @@
   } else {
     if (res.level == 1) {
       checkFlag.value = null;
-      // console.log(res);
+
       if (res.name == "娓呴櫎") {
         menuTool.clearALL(checkArr);
       }
diff --git a/src/views/Map/mapView.vue b/src/views/Map/mapView.vue
index 4f9cfd1..122a5ce 100644
--- a/src/views/Map/mapView.vue
+++ b/src/views/Map/mapView.vue
@@ -1,9 +1,7 @@
 <template>
-  <div
-    id="cesiumContainer"
-    class="cesiumContainer"
-  >
-
+  <div class="MapViewBox">
+    <div id="cesiumContainer">
+    </div>
   </div>
 </template>
 
@@ -35,7 +33,7 @@
 </script>
 
 <style  lang="less" scoped>
-.cesiumContainer {
+.MapViewBox {
   width: 100%;
   height: 100%;
   margin: 0;
diff --git a/src/views/baseMapSwitching/baseMapSwitching.vue b/src/views/baseMapSwitching/baseMapSwitching.vue
index 62cfd66..a101b79 100644
--- a/src/views/baseMapSwitching/baseMapSwitching.vue
+++ b/src/views/baseMapSwitching/baseMapSwitching.vue
@@ -45,7 +45,6 @@
 let list = ref([]);
 const activceIndex = ref();
 const setProjectionLayerChange = (res) => {
-  console.log(res);
   let projection = {
     code: "",
     extent: [],
diff --git a/src/views/export/exportMap.vue b/src/views/export/exportMap.vue
index a98663b..bafcabc 100644
--- a/src/views/export/exportMap.vue
+++ b/src/views/export/exportMap.vue
@@ -139,7 +139,6 @@
   // window.Viewer.scene.render();
   const myCanvas = window.Viewer.scene.canvas;
   var res = canvas2image.convertToImage(myCanvas, "869", "783", "png");
-  debugger;
   url.value = res.src;
 };
 onMounted((res) => {
diff --git a/src/views/layer/attributeList.vue b/src/views/layer/attributeList.vue
index 410bc80..1ede907 100644
--- a/src/views/layer/attributeList.vue
+++ b/src/views/layer/attributeList.vue
@@ -304,7 +304,6 @@
       value: std[i],
     });
   }
-  debugger;
   condOption.value = str;
   formSql.value.type = std[0];
 };
@@ -323,7 +322,6 @@
 watch(
   () => props.layerData,
   (nVal, oVal) => {
-    // console.log("鍊煎彂鐢熶簡鍙樻洿", nVal, oVal);
     startQueryData();
   },
   { deep: true }
diff --git a/src/views/layer/doubleLayer.vue b/src/views/layer/doubleLayer.vue
index 26535af..186343f 100644
--- a/src/views/layer/doubleLayer.vue
+++ b/src/views/layer/doubleLayer.vue
@@ -148,10 +148,29 @@
   let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
   // this.setVisiable(data, isCheck);
 
-  let son = estreeRef.value.getCheckedNodes();
+  let son = estreeRef.value.getCheckedNodes().reverse();
+  rightServer.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 {
+      rightServer.addTreeData(layerArr);
+    }
+  }
+  if (setGeoWms.length > 0) {
+    rightServer.addGeoServerMmsLayers(setGeoWms.reverse(), url);
+  }
 
   store.commit("SET_CHECKLAYER", son);
-  setVisiable(data, isCheck);
+  //setVisiable(data, isCheck);
 
   // server.addLayer(layerArr, isCheck);
 };
@@ -170,7 +189,7 @@
   }
 
   if (!treeNode.isAdd) {
-    rightServer.addTreeData(treeNode);
+    //rightServer.addTreeData(treeNode);
     return;
   }
 };
@@ -191,7 +210,6 @@
 
   if (res == 2) {
     layerAttributeIsshow.value = true;
-    debugger;
     store.state.tab = e;
   } else {
     if (!e.checked) {
@@ -270,13 +288,29 @@
       }
     });
     DefaultId.value = std;
-
     //娣诲姞榛樿閫変腑鍥惧眰
     layerListData.value = dt.result;
     defaultLayer(dt.result);
+
+    var setGeoWms = [];
+    var url = null;
+    for (var i in dt.result) {
+      var layer = dt.result[i];
+      if (layer.category == 2 && layer.type == 3) {
+        if (layer.tab != "moon:geo_mappable_unit") {
+          setGeoWms.push(layer.tab);
+          url = layer.url;
+        }
+      } else {
+        rightServer.addTreeData(layer);
+      }
+    }
+    if (setGeoWms.length > 0) {
+      rightServer.addGeoServerMmsLayers(setGeoWms.reverse(), url);
+    }
+
     nextTick(() => {
       let son = estreeRef.value.getCheckedNodes();
-
       store.commit("SET_CHECKLAYER", son);
     });
   }
diff --git a/src/views/layer/layerDetail.vue b/src/views/layer/layerDetail.vue
index 14fe6fa..2c404d0 100644
--- a/src/views/layer/layerDetail.vue
+++ b/src/views/layer/layerDetail.vue
@@ -199,7 +199,7 @@
   //   let aa = stretchOptions[index];
   //   let value = aa.value;
   //   if (brand === value) {
-  //     console.log(select.value.$el.children);
+
   //     select.value.$el.children[0].children[0].setAttribute(
   //       "style",
   //       "background:url(" +
diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
index ac879e4..647fa23 100644
--- a/src/views/layer/layerManage.vue
+++ b/src/views/layer/layerManage.vue
@@ -108,7 +108,7 @@
 import { ElMessage } from "element-plus";
 const store = useStore(); // 璇ユ柟娉曠敤浜庤繑鍥瀞tore 瀹炰緥
 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);
@@ -311,7 +311,6 @@
       }
     }
     if (setGeoWms.length > 0) {
-      console.log(setGeoWms);
       server.addGeoServerMmsLayers(setGeoWms.reverse(), url);
     }
     //;
@@ -350,6 +349,7 @@
   },
   { deep: true }
 );
+
 // getLayer();
 onMounted(() => {
   window.setLayer = getLayer;
diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue
index f91eb0a..adf4b63 100644
--- a/src/views/layer/layerSet.vue
+++ b/src/views/layer/layerSet.vue
@@ -793,9 +793,7 @@
   data: Tree,
   checked: boolean,
   indeterminate: boolean
-) => {
-  console.log(data, checked, indeterminate);
-};
+) => {};
 const onSubmit = () => {
   if (!checkedStaste) {
     return ElMessage.warning("璇峰厛鐐瑰嚮閫変腑鐩稿簲鍥惧眰");
@@ -808,9 +806,6 @@
   copyNode.nextSibling = { ...node.nextSibling };
   copyNode.parent = { ...node.parent };
 
-  // console.log(1111111111111, copyNode.previousSibling);
-  // console.log(2222222222222, copyNode.nextSibling);
-  // console.log(3333333333333, copyNode.parent);
   if (Object.keys(copyNode.previousSibling).length !== 0) {
     // 鍒犻櫎鍘熷厛鐨刵ode
     treeRef.value.remove(node.data);
@@ -843,8 +838,6 @@
 
 // 澶勭悊鑺傜偣鐐瑰嚮浜嬩欢
 function handleNodeClick(data: any) {
-  console.log(data);
-
   if (data.id === selectedNodeId.value) {
     // 濡傛灉褰撳墠鑺傜偣宸茬粡閫変腑锛屽垯鍙栨秷閫変腑
     selectedNodeId.value = null;
diff --git a/src/views/login.vue b/src/views/login.vue
index 85a51bd..6bf00ee 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -64,9 +64,7 @@
             />
           </el-form-item>
           <el-form-item prop="verify">
-            <div
-              style="display: flex; justify-content: space-between; width: 100%"
-            >
+            <div style="display: flex; justify-content: space-between; width: 100%">
               <el-input
                 placeholder="璇疯緭鍏ラ獙璇佺爜锛堝拷鐣ュぇ灏忓啓锛�"
                 v-model="ruleForm.verify"
@@ -80,8 +78,7 @@
               type="primary"
               class="nobr loginbtn btnbox"
               @click="submitForm(ruleFormRef)"
-              >鐧诲綍</el-button
-            >
+            >鐧诲綍</el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -156,11 +153,10 @@
 
   formEl.validate((valid) => {
     if (valid) {
-      console.log("submit!");
       setLogin();
     } else {
       emitter.emit("handleDraw", true);
-      console.log("erro submit!");
+
       return false;
     }
   });
diff --git a/src/views/menus.vue b/src/views/menus.vue
index 09c41e8..0c7afb4 100644
--- a/src/views/menus.vue
+++ b/src/views/menus.vue
@@ -48,10 +48,20 @@
       v-show="checkMenuFlag == 'l1'"
       style="position: relative; display: flex"
     >
-      <layer-manage @setCloseLayer="setCloseLayer"> </layer-manage>
+
     </div>
-    <div v-show="checkMenuFlag == 'l2'">
-      <plotting> </plotting>
+    <div
+      style="position: relative; display: flex"
+      v-show="store.state.setLayerManager"
+    >
+      <layer-manage @setCloseLayer="setCloseLayer"></layer-manage>
+    </div>
+
+    <div
+      style="position: relative; display: flex"
+      v-show="checkMenuFlag == 'l2'"
+    >
+      <plotting @setCloseplotting="setCloseplotting"> </plotting>
     </div>
     <div v-show="checkMenuFlag == 'l5'">
       <baseMapSwitching> </baseMapSwitching>
@@ -130,10 +140,8 @@
 const setShowMapChange = (res) => {
   switch (res.id) {
     case "15":
-      debugger;
       break;
     default:
-      debugger;
       break;
   }
   // store.state.isShowMap = res;
@@ -143,7 +151,6 @@
     // fullScreen.value = !fullScreen.value;
     screen();
   }
-  debugger;
   if (res.id == "l3") {
     thematicMapState.value = false;
     thematicMapBtnState.value = false;
@@ -157,8 +164,16 @@
     checkMenuFlag.value = res.id;
     menuTool.leftTools(res);
   }
+  if (res.id == "l1") {
+    store.state.setLayerManager = !store.state.setLayerManager;
+  } else {
+    store.state.setLayerManager = false;
+  }
 };
 const setCloseLayer = (res) => {
+  store.state.setLayerManager = false;
+};
+const setCloseplotting = (res) => {
   checkMenuFlag.value = null;
 };
 // 鍒囨崲娴忚鍣ㄥ叏灞�
@@ -192,7 +207,6 @@
   if (!isFullScreen()) {
     if (!fullScreen.value) {
       fullScreen.value = !fullScreen.value;
-      console.log(fullScreen.value);
     }
   }
 });
diff --git a/src/views/plotting/plotting.vue b/src/views/plotting/plotting.vue
index ebf2e59..3426ac5 100644
--- a/src/views/plotting/plotting.vue
+++ b/src/views/plotting/plotting.vue
@@ -5,7 +5,10 @@
   >
     <div class="plottingTitle">
       <div class="tileLeft">
-        <div class="titleImg">
+        <div
+          class="titleImg"
+          @click="setCloseplotting"
+        >
           <ArrowLeft />
         </div>
         <div class="titleLable">鏍囩粯鏌ヨ</div>
@@ -52,6 +55,7 @@
   defineProps,
   defineEmits,
 } from "vue";
+const emits = defineEmits(["setCloseplotting"]);
 let list = ref([
   {
     name: "Path #9",
@@ -69,6 +73,9 @@
     icon: "m.png",
   },
 ]);
+const setCloseplotting = () => {
+  emits("setCloseplotting", false);
+};
 </script>
 
 <style lang="less" scoped>
@@ -78,7 +85,7 @@
   background: rgba(7, 8, 14, 0.8);
   box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
   z-index: 40;
-  position: absolute;
+
   .plottingTitle {
     width: calc(100% - 27px);
     height: 42px;
diff --git a/src/views/query/SpatialQuery.vue b/src/views/query/SpatialQuery.vue
index 9a6cb27..efe40e0 100644
--- a/src/views/query/SpatialQuery.vue
+++ b/src/views/query/SpatialQuery.vue
@@ -349,14 +349,14 @@
   if (!formEl) return;
   formEl.validate((valid) => {
     if (valid) {
-      console.log("submit!");
+
       if (multipleSelection.value.length <= 0) {
         ElMessage.error("璇烽�夋嫨瑕佷笅杞界殑琛�");
       } else {
         setDownLoadFrom();
       }
     } else {
-      console.log("erro submit!");
+   
       return false;
     }
   });
diff --git a/src/views/search/search.vue b/src/views/search/search.vue
index a65c2c3..dafb57a 100644
--- a/src/views/search/search.vue
+++ b/src/views/search/search.vue
@@ -7,20 +7,37 @@
         placeholder="璇疯緭鍏ュ湴鍚�"
       >
         <template #suffix>
-          <el-icon title="娓呴櫎" @click="setSearchClose" class="el-input__icon">
+          <el-icon
+            title="娓呴櫎"
+            @click="setSearchClose"
+            class="el-input__icon"
+          >
             <Close />
           </el-icon>
         </template>
         <template #prefix>
-          <el-icon @click="setSearchClick" title="鏌ヨ" class="el-input__icon">
+          <el-icon
+            @click="setSearchClick"
+            title="鏌ヨ"
+            class="el-input__icon"
+          >
             <search />
           </el-icon>
         </template>
       </el-input>
     </div>
-    <div v-if="searchFLag" class="search_content">
-      <el-collapse v-model="activeNames" @change="handleChange">
-        <el-collapse-item title="鏌ヨ缁撴灉" name="1">
+    <div
+      v-if="searchFLag"
+      class="search_content"
+    >
+      <el-collapse
+        v-model="activeNames"
+        @change="handleChange"
+      >
+        <el-collapse-item
+          title="鏌ヨ缁撴灉"
+          name="1"
+        >
           <div class="search_content_text">鎬绘煡璇㈢粨鏋�:{{ listData.count }}</div>
           <div class="search_content_text paging">
             鎬婚〉鏁帮細{{ listData.page }}
@@ -109,12 +126,8 @@
   pageSize: 10,
 });
 const imageLabel = null;
-const NumhandleChange = (value: number) => {
-  console.log(value);
-};
-const handleChange = (val: string[]) => {
-  console.log(val);
-};
+const NumhandleChange = (value: number) => {};
+const handleChange = (val: string[]) => {};
 const setPoitCannel = () => {
   imageLabel.deleteObject();
   imageLabel = null;
@@ -185,7 +198,7 @@
     filter: "name like '" + searchValue.value + "'",
     pageIndex: listData.value.pageIndex,
     pageSize: listData.value.pageSize,
-    name: "lunarplacenane",
+    name: "lunarplacename",
     hasGeom: 1,
   };
   const data = await dataQuery_selectByPage(obj);
@@ -221,6 +234,7 @@
   width: 243px;
   //   background: rgba(7, 8, 14, 0.8);
   border-radius: 4px;
+  z-index: 40px;
   .el-collapse,
   /deep/ .el-collapse-item__wrap {
     border: 0;

--
Gitblit v1.9.3