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