From 4e3d77dcbe421a4d6611ebcdd1ac3165cb36ad4b Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 06 二月 2023 14:59:33 +0800 Subject: [PATCH] 系统界面翻新,回车登录,综合展示菜单重复 --- src/views/Tools/LayerTree.vue | 197 +++++++++++++++++++++++++++++++----------------- 1 files changed, 127 insertions(+), 70 deletions(-) diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index e5ad2fd..f73c16e 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -116,8 +116,10 @@ </template> <script> +import { image_layer } from '../../assets/js/index.js'; import ImageWMS from 'ol/source/ImageWMS'; import Image from 'ol/layer/Image'; +import { perms_selectLayers } from '../../api/api.js' export default { name: 'tree', data() { @@ -142,37 +144,7 @@ 'm_sitepoint', ], treeData: [ - { - id: 1, - label: 'LF', - isEdit: false, - children: [ - { - id: 11, - label: '绠¢亾涓績绾�', - resource: 'LF:m_pipeline', - isEdit: false, - }, - { - id: 12, - label: '鎴樼暐閫氶亾', - resource: 'LF:th_strategic_channel', - isEdit: false, - }, - { - id: 13, - label: '椤圭洰', - resource: 'LF:bs_project', - isEdit: false, - }, - { - id: 14, - label: '绔欏満', - resource: 'LF:m_sitepoint', - isEdit: false, - }, - ], - }, + ], defaultProps: { children: 'children', @@ -317,7 +289,8 @@ console.log('tree drop: ', dropNode.label, dropType); }, handleCheckChange(data, checked, indeterminate) { - if (data.children != null) return; + + if (data.type != 2) return; var std = []; var layers_ol = window.map.getAllLayers(); for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { @@ -330,6 +303,7 @@ img_layer.show = checked; } } + if (std.length == 0 && checked == true) { this.setAddLayers(data) } @@ -343,7 +317,7 @@ } }, setAddLayers(res) { - + let layerWMS = new Cesium.WebMapServiceImageryProvider({ url: geoServerURl, layers: res.resource, @@ -355,21 +329,113 @@ layerWMS.name = res.label; window.Viewer.imageryLayers.addImageryProvider(layerWMS); - var layer2 = new Image({ - name: res.label, - source: new ImageWMS({ - crossOrigin: 'anonymous', - url: geoServerURl, - params: { - FORMAT: 'image/png', - VERSION: '1.1.1', - LAYERS: res.resource, - }, - }), - }); - window.map.addLayer(layer2); }, + async layersStart() { + const data = await perms_selectLayers(); + if (data.code != 200) { + return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); + + } + var std = []; + var layer_list = []; + var layer_groups = []; + for (var i in data.result) { + if (data.result[i].type == 1) { + layer_groups.push({ + id: data.result[i].id, + label: data.result[i].cnName, + type: data.result[i].type, + isEdit: false, + children: [], + }) + } else if (data.result[i].type == 2) { + if (data.result[i].url != null) { + var layer_entity = { + id: data.result[i].id, + pid: data.result[i].pid, + label: data.result[i].cnName, + resource: data.result[i].url, + type: data.result[i].type, + isEdit: false, + } + layer_list.push(layer_entity) + + if (data.result[i].isShow == 1) { + std.push(data.result[i].id); + this.setAddLayers(layer_entity); + } + + } + } + } + + for (var i in layer_list) { + for (var j in layer_groups) { + if (layer_list[i].pid === layer_groups[j].id) { + layer_groups[j].children.push(layer_list[i]) + } + } + } + this.treeData = layer_groups; + this.$refs.tree.setCheckedKeys(std); + }, + async treelayersStart() { + const data = await perms_selectLayers(); + if (data.code != 200) { + return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); + } + var std = []; + var layer_list = []; + var layer_groups = []; + for (var i in data.result) { + if (data.result[i].type == 1) { + layer_groups.push({ + id: data.result[i].id, + label: data.result[i].cnName, + type: data.result[i].type, + isEdit: false, + children: [], + }) + } else if (data.result[i].type == 2) { + if (data.result[i].url != null) { + var layer_entity = { + id: data.result[i].id, + pid: data.result[i].pid, + label: data.result[i].cnName, + resource: data.result[i].url, + type: data.result[i].type, + isEdit: false, + } + layer_list.push(layer_entity) + } + } + } + for (var i in layer_list) { + for (var j in layer_groups) { + if (layer_list[i].pid === layer_groups[j].id) { + layer_groups[j].children.push(layer_list[i]) + } + } + } + this.treeData = layer_groups; + + for (var i in data.result) { + if (data.result[i].type == 2 && data.result[i].url != null) { + for (var j = 0; j < window.Viewer.imageryLayers._layers.length; j++) { + var val_id = window.Viewer.imageryLayers._layers[j]; + if (val_id.show == true) { + + if (val_id.imageryProvider.name == data.result[i].cnName) { + std.push(data.result[i].id); + } + } + } + } + } + this.$refs.tree.setCheckedKeys(std); + + } }, watch: { filterText(val) { @@ -377,34 +443,16 @@ }, }, mounted() { - var std = []; - var val = this.treeData[0].children; + if (this.$store.state.showAllLayers == true) { - for (var j = 0; j < val.length; j++) { - if (val[j].id != 13 && val[j].id != 14) { - std.push(val[j].id); - this.setAddLayers(val[j]); - } - - } + this.layersStart(); this.$store.state.showAllLayers = false; - - } else { - for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { - var val_id = window.Viewer.imageryLayers._layers[i]; - if (val_id.show == true) { - for (var j = 0; j < val.length; j++) { - if (val_id.imageryProvider.name == val[j].label) { - std.push(val[j].id); - } - } - } - } - } + this.treelayersStart(); - this.$refs.tree.setCheckedKeys(std); + } + }, }; </script> @@ -605,7 +653,6 @@ display: block; z-index: 10000; - background-color: #fff; padding: 10px 0; border: 1px solid #ebeef5; border-radius: 4px; @@ -634,4 +681,14 @@ color: #fff !important; border: 1px solid !important; } +/deep/.el-tree .el-tree-node__content:hover { + background-color: transparent !important; +} +/deep/.el-tree { + color: white !important; + background: transparent !important; +} +/deep/.el-tree-node:focus > .el-tree-node__content { + background: transparent !important; +} </style> -- Gitblit v1.9.3