From adba628772067ff547396522c245d1fcfe6d9f7e Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 14 二月 2023 12:15:52 +0800
Subject: [PATCH] 1

---
 src/views/Tools/LayerTree.vue |  113 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 36 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index 2e1a70b..0ff06e5 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -15,7 +15,8 @@
       @node-contextmenu="rightClick"
       @check-change="handleCheckChange"
       :default-checked-keys="handleTreeCheck"
-      ref="tree"     >
+      ref="tree"
+    >
       <span
         class="slot-t-node"
         slot-scope="{ node, data }"
@@ -38,7 +39,7 @@
           ></el-input>
         </span>
       </span>
-      
+
     </el-tree>
 
     <el-card
@@ -143,6 +144,14 @@
 import { image_layer } from '../../assets/js/index.js';
 import ImageWMS from 'ol/source/ImageWMS';
 import Image from 'ol/layer/Image';
+import GeoJSON from 'ol/format/GeoJSON.js';
+import Map from 'ol/Map.js';
+
+import {   Vector as VectorSource } from "ol/source";
+import { Vector as VectorLayer,  } from "ol/layer";
+
+import View from 'ol/View.js';
+import { Fill, Stroke, Style } from 'ol/style.js';
 import { perms_selectLayers } from '../../api/api.js'
 export default {
   name: 'tree',
@@ -317,41 +326,41 @@
 
 
     menuMoveF(type) {
-        // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤
-        var node= this.currentNode;
-        var data = this.currentData;
-        let copyNode = this.currentNode
-        debugger
-        // copyNode.previousSibling = {...node. }
-        // copyNode.nextSibling = {...node.nextSibling}
-        // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode))
-        let nodeData = {}
-        if (type==='up') {
-           // 涓婄Щ
-          if (node.previousSibling) {
-            // 鍒犻櫎鍘熷厛鐨刵ode
-            this.$refs.tree.remove(node.data)
-            // 鎷垮埌copy鐨刵ode
-            // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
-            // // 澶嶅埗璇ode鍒版寚瀹氫綅缃�(鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫悗涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node)
-            // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data)
-            window.sessionStorage.removeItem('menuNode')
-          } else {
-            this.$message.warning('璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓婄骇')
-          }
+      // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤
+      var node = this.currentNode;
+      var data = this.currentData;
+      let copyNode = this.currentNode
+      debugger
+      // copyNode.previousSibling = {...node. }
+      // copyNode.nextSibling = {...node.nextSibling}
+      // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode))
+      let nodeData = {}
+      if (type === 'up') {
+        // 涓婄Щ
+        if (node.previousSibling) {
+          // 鍒犻櫎鍘熷厛鐨刵ode
+          this.$refs.tree.remove(node.data)
+          // 鎷垮埌copy鐨刵ode
+          // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
+          // // 澶嶅埗璇ode鍒版寚瀹氫綅缃�(鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫悗涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node)
+          // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data)
+          window.sessionStorage.removeItem('menuNode')
         } else {
-          // 涓嬬Щ
-          if (node.nextSibling) {
-            this.$refs.tree.remove(node.data)
-            nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
-            // 鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫墠涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node
-            this.$refs.tree.insertAfter(nodeData.data,nodeData.nextSibling.data)
-            window.sessionStorage.removeItem('menuNode')
-          } else {
-            this.$message.warning('璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓嬬骇')
-          }
+          this.$message.warning('璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓婄骇')
         }
-      },
+      } else {
+        // 涓嬬Щ
+        if (node.nextSibling) {
+          this.$refs.tree.remove(node.data)
+          nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode'))
+          // 鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫墠涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node
+          this.$refs.tree.insertAfter(nodeData.data, nodeData.nextSibling.data)
+          window.sessionStorage.removeItem('menuNode')
+        } else {
+          this.$message.warning('璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓嬬骇')
+        }
+      }
+    },
 
 
     handleDragStart(node, ev) {
@@ -411,7 +420,13 @@
       if (std.length == 0 && checked == true) {
         this.setAddLayers(data)
       }
-
+      var layers_ol = window.map.getAllLayers();
+      for (var i in layers_ol) {
+        var layerOl = layers_ol[i];
+        if (layerOl.values_.name == data.label) {
+          layerOl.setVisible(checked); //鏄剧ず鍥惧眰
+        }
+      }
     },
     setAddLayers(res) {
 
@@ -430,6 +445,20 @@
         });
         layerWMS.name = res.label;
         window.Viewer.imageryLayers.addImageryProvider(layerWMS);
+        var layer2 = new Image({
+          name: res.label,
+          source: new ImageWMS({
+            crossOrigin: 'anonymous',
+            url: url,
+            params: {
+              FORMAT: 'image/png',
+              VERSION: '1.1.1',
+              LAYERS: res.resource,
+            },
+          }),
+        });
+        window.map.addLayer(layer2);
+
       } else if (res.layerType == 'WFS') {
 
         var url = res.url + "?service=WFS&version=1.0.0&request=GetFeature&typeName=" + res.resource + "&outputFormat=application%2Fjson"
@@ -454,6 +483,18 @@
             console.log("error");
           }
         });
+
+        var vectorLayer = new VectorLayer({
+         
+          source: new VectorSource({
+            url: url,
+            format: new GeoJSON(),
+          }),
+           
+        });
+        window.map.addLayer(vectorLayer);
+
+
       }
 
 

--
Gitblit v1.9.3