From 59e80a39400f37168027ca02526e9ea3d85680c7 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 14 二月 2023 18:25:57 +0800
Subject: [PATCH] 综合展示样式修改

---
 src/views/Tools/LayerTree.vue |   63 ++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 15 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index fc0c1c1..6696753 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -147,8 +147,8 @@
 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 { 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';
@@ -306,6 +306,30 @@
     deleteNode() {
 
       this.foo();
+      var label = this.currentNode.data.label;
+      if (this.currentNode.data.layerType == 'WMS') {
+        for (var i in window.Viewer.imageryLayers_layers) {
+          if (window.Viewer.imageryLayers_layers[i].name === label) {
+            window.Viewer.imageryLayers.remove(window.Viewer.imageryLayers_layers[i])
+          }
+        }
+
+      } else if (this.currentNode.data.layerType == 'WFS') {
+        for (var i in window.Viewer.dataSources._dataSources) {
+          if (window.Viewer.dataSources._dataSources[i].name == label) {
+            window.Viewer.dataSources.remove(window.Viewer.dataSources._dataSources[i]);
+            std.push(data.label)
+          }
+        }
+      }
+      var layers_ol = window.map.getAllLayers();
+      for (var i in layers_ol) {
+        var layerOl = layers_ol[i];
+        if (layerOl.values_.name == label) {
+          window.map.removeLayer(layerOl); //鏄剧ず鍥惧眰
+        }
+      }
+
       this.$refs.tree.remove(this.currentNode);
     },
 
@@ -330,7 +354,7 @@
       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))
@@ -431,10 +455,12 @@
     setAddLayers(res) {
 
       if (res.layerType == 'WMS') {
+
         var url = geoServerURl;
         if (res.url != null && res.url != undefined) {
           url = res.url
         }
+        var imageryLayers = window.Viewer.scene.imageryLayers;
         let layerWMS = new Cesium.WebMapServiceImageryProvider({
           url: url,
           layers: res.resource,
@@ -444,7 +470,11 @@
           },
         });
         layerWMS.name = res.label;
-        window.Viewer.imageryLayers.addImageryProvider(layerWMS);
+        //閫忔槑搴�
+        var tdtAnnoLayer = imageryLayers.addImageryProvider(layerWMS);
+        if (res.opacity) {
+          tdtAnnoLayer.alpha = parseInt(res.opacity) / 100;
+        }
         var layer2 = new Image({
           name: res.label,
           source: new ImageWMS({
@@ -458,6 +488,9 @@
             },
           }),
         });
+        if (res.opacity) {
+          layer2.setOpacity(parseInt(res.opacity) / 100);
+        }
         window.map.addLayer(layer2);
 
       } else if (res.layerType == 'WFS') {
@@ -470,7 +503,8 @@
           success: function (data) {
             var datasource = Cesium.GeoJsonDataSource.load(data, {
               stroke: Cesium.Color.YELLOW,
-              fill: Cesium.Color.YELLOW.withAlpha(0.5),
+              fill: Cesium.Color.YELLOW.withAlpha(0.1),
+              alpha: 0.1,
               strokeWidth: 8,
               clampToGround: true //鏄惁璐村湴
             });
@@ -486,20 +520,15 @@
         });
 
         var vectorLayer = new VectorLayer({
-           name: res.label,
+          name: res.label,
           source: new VectorSource({
             url: url,
             format: new GeoJSON(),
           }),
-           
+
         });
         window.map.addLayer(vectorLayer);
-
-
       }
-
-
-
     },
     async layersStart() {
       const data = await perms_selectLayers();
@@ -624,17 +653,21 @@
   watch: {
     filterText(val) {
       this.$refs.tree.filter(val);
+
     },
   },
   mounted() {
-
+    this.$bus.$on("treeDataCopy", (res) => {
+      this.$store.state.treeData = this.treeData;
+      this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys()
+    });
 
     if (this.$store.state.showAllLayers == true) {
       this.layersStart();
       this.$store.state.showAllLayers = false;
     } else {
-      this.treelayersStart();
-
+      this.treeData = this.$store.state.treeData;
+      this.$refs.tree.setCheckedKeys(this.$store.state.checkedKeys);
     }
 
   },

--
Gitblit v1.9.3