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