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/exportMap/index.vue | 155 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 100 insertions(+), 55 deletions(-) diff --git a/src/views/exportMap/index.vue b/src/views/exportMap/index.vue index bb7f266..5074b30 100644 --- a/src/views/exportMap/index.vue +++ b/src/views/exportMap/index.vue @@ -3,7 +3,6 @@ id="mapView" class="MapBox" v-loading="loading" - element-loading-background="rgba(0, 0, 0, 0.8)" > <div class="topMenu"> @@ -111,7 +110,7 @@ v-show="lefMenuContent" > <el-tree - :data="data" + :data="treeData" show-checkbox node-key="id" :props="defaultProps" @@ -307,8 +306,9 @@ import mapviewVue from '../../components/mapview.vue'; import { removeToken, getToken } from '@/utils/auth'; import $ from 'jquery'; -import { exportSelectByPage } from '../../api/api.js'; +import { exportSelectByPage, perms_selectLayers } from '../../api/api.js'; import moment from 'moment'; +import { image_layer } from '../../assets/js/index.js'; export default { data() { return { @@ -339,41 +339,8 @@ { label: 'A6', value: 'A6' }, ], value: 'A4', - data: [ - { - id: 1, - label: '鍥惧眰', - children: [ - { - id: 11, - label: '椤圭洰', - value: '椤圭洰', - layer: 'LF:bs_project', - isEdit: false, - }, - { - id: 12, - label: '绔欏満', - value: '绔欏満', - layer: 'LF:m_sitepoint', - isEdit: false, - }, - { - id: 13, - label: '绠¢亾涓績绾�', - value: '绠¢亾涓績绾�', - layer: 'LF:m_pipeline', - isEdit: false, - }, - { - id: 14, - label: '鎴樼暐閫氶亾', - value: '鎴樼暐閫氶亾', - layer: 'LF:th_strategic_channel', - isEdit: false, - }, - ], - }, + treeData: [ + ], arrList: [], defaultProps: { @@ -392,32 +359,86 @@ count: 0, }; }, + mounted() { + this.LayerStart(); this.initMap(); this.showMapLayer(); }, methods: { - showMapLayer() { - var val = this.data[0].children; + async LayerStart() { + const data = await perms_selectLayers(); + if (data.code != 200) { + return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); + } var std = []; - for (var i = 0; i < val.length; i++) { - var layer2 = new Image({ - name: val[i].label, - source: new ImageWMS({ - crossOrigin: 'anonymous', - url: geoServerURl, + 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.showMapLayer(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) { - params: { - FORMAT: 'image/png', - VERSION: '1.1.1', - LAYERS: val[i].layer, - }, - }), - }); - mapView.addLayer(layer2); - std.push(val[i].id); + if (val_id.imageryProvider.name == data.result[i].cnName) { + std.push(data.result[i].id); + } + } + } + } } this.$refs.tree.setCheckedKeys(std); + }, + showMapLayer(val) { + var layer2 = new Image({ + name: val.label, + source: new ImageWMS({ + crossOrigin: 'anonymous', + url: geoServerURl, + + params: { + FORMAT: 'image/png', + VERSION: '1.1.1', + LAYERS: val.resource, + }, + }), + }); + mapView.addLayer(layer2); }, showLeftMenu(res) { switch (res) { @@ -604,9 +625,12 @@ var layers = mapView.getAllLayers(); for (var i in layers) { var layer = layers[i]; + var str = 0; if (layer.values_.name == data.label) { + layer.setVisible(nodes); //鏄剧ず鍥惧眰 if (nodes == true) { + str++; this.arrList.push({ name: data.label, }); @@ -619,6 +643,16 @@ } } } + + if (str == 0 && nodes == true) { + + this.showMapLayer(data) + this.arrList.push({ + name: data.label, + }); + } + + this.tableData = this.arrList; }, setAddMapLayer() { @@ -728,6 +762,7 @@ padding: 20px; display: flex; justify-content: space-between; + overflow: auto; } .CenDiv { height: 40px; @@ -890,5 +925,15 @@ /deep/.el-loading-spinner i { color: #409eff !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