| | |
| | | clearable |
| | | filterable |
| | | style="width :100%" |
| | | @change="setproChange" |
| | | @change="prjChanged" |
| | | placeholder="请选择项目"> |
| | | <el-option v-for="item in optionts" |
| | | <el-option v-for="item in menus" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code"> |
| | |
| | | showLocal: false, // 定位 |
| | | showOpacity: false, // 不透明度 |
| | | menuVisible: false, // 菜单 |
| | | levelArray: [ // 调试数组 |
| | | levelArray: [ // 高程数组 |
| | | 0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000, |
| | | 250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200, |
| | | 100, 50, 25, 10, 0, |
| | | ], |
| | | eleId: "", |
| | | isShow: false, |
| | | currentData: "", |
| | | currentNode: "", |
| | | firstLevel: false, |
| | | filterText: "", |
| | | appendNodetitle: "", |
| | | maxexpandId: 4, |
| | | rightClickMenuStyle: {}, |
| | | handleTreeCheck: [], |
| | | dialogVisible: false, |
| | | showModelAttach: false, |
| | | addFormServer: { |
| | | opacity: 100, |
| | | serveType: "WMS", |
| | | type: 2, |
| | | }, |
| | | filterText: "", // 关键字过滤 |
| | | currentData: "", // 当前数据 |
| | | currentNode: "", // 当前节点 |
| | | rightClickMenuStyle: {}, // 右键菜单样式 |
| | | handleTreeCheck: [], // 默认选中键 |
| | | layerId: [ |
| | | "m_pipeline", |
| | | "th_strategic_channel", |
| | | "bs_project", |
| | | "m_sitepoint", |
| | | ], |
| | | treeData: [], |
| | | defaultProps: { |
| | | treeData: [], // 树数据 |
| | | defaultProps: { // 默认属性值 |
| | | children: "children", |
| | | label: "cnName", |
| | | }, |
| | | options: [{ |
| | | value: "WMS", |
| | | label: "WMS", |
| | | }, { |
| | | value: "WFS", |
| | | label: "WFS", |
| | | }, |
| | | ], |
| | | childOption: [], |
| | | mptLayer: [], |
| | | optionts: [], |
| | | proValue: null, |
| | | mptLayer: [], // Mpt图层 |
| | | menus: [] // 菜单项 |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | // 获取菜单 |
| | | async getMenus () { |
| | | let data = await project_selectDirAll(); |
| | | if (data && data.code == 200) this.optionts = data.result; |
| | | if (data && data.code == 200) this.menus = data.result; |
| | | }, |
| | | // 初始化图层 |
| | | async layersStart () { |
| | |
| | | cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除:60 |
| | | preloadWhenHidden: true, |
| | | preferLeaves: true, // 预装子节点:false |
| | | maximumMemoryUsage: 512, // 内存分配变小有利于内存回收,提升性能体验 |
| | | maximumMemoryUsage: 768, // 内存分配变小有利于内存回收,提升性能体验 |
| | | progressiveResolutionHeightFraction: 0.5, // 数值偏于0能够让初始加载变得模糊 |
| | | dynamicScreenSpaceErrorDensity: 0.5, // 数值加大,能让周边加载变快 |
| | | dynamicScreenSpaceErrorFactor: 2, // 动态屏幕空间误差的系数 |
| | |
| | | }, |
| | | // 添加TMS图层 |
| | | addTMSLayers (layers) { |
| | | let url = res.url; |
| | | if (res.url.indexOf("{host}") != -1) { |
| | | url = res.url.replace("{host}", iisHost); |
| | | } |
| | | for (let i in layers) { |
| | | let res = layers[i]; |
| | | let url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url; |
| | | |
| | | if (res.pubid) { |
| | | this.setQueryPubid(res); |
| | | } else { |
| | | let layer = Viewer.imageryLayers.addImageryProvider( |
| | | new Cesium.UrlTemplateImageryProvider({ |
| | | url: url, |
| | | maximumLevel: 22, |
| | | }) |
| | | ); |
| | | if (res.pubid) { |
| | | this.setQueryPubid(res); |
| | | continue; |
| | | } |
| | | |
| | | let layer = Viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({ |
| | | url: url, |
| | | maximumLevel: 22, |
| | | })); |
| | | layer.id = res.id; |
| | | layer.name = res.cnName; |
| | | this.setChangeWMS(); |
| | | } |
| | | }, |
| | | // 切换Mpt |
| | |
| | | }, |
| | | // 添加Mpt图层 |
| | | addMptLayers (layers) { |
| | | if (res.url.indexOf("{host}") != -1) { |
| | | res.url = res.url.replace("{host}", iisHost); |
| | | } |
| | | let url = res.url.split(';') |
| | | for (let i in layers) { |
| | | let res = layers[i]; |
| | | if (res.url.indexOf("{host}") > -1) res.url = res.url.replace("{host}", iisHost); |
| | | let urls = res.url.split(';') |
| | | |
| | | let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", { |
| | | url: url[0], |
| | | layers: url[1] |
| | | }, "0", undefined, true, ""); |
| | | this.mptLayer.push(layer) |
| | | setTimeout(() => { |
| | | this.setChangeWMS(); |
| | | }, 500); |
| | | let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", { |
| | | url: urls[0], |
| | | layers: urls[1] |
| | | }, "0", undefined, true, ""); |
| | | this.mptLayer.push(layer); |
| | | } |
| | | }, |
| | | // 切换DEM |
| | | setChangeDEM (layers, checked) { |
| | |
| | | this.setChangeWMS(); |
| | | } |
| | | }, |
| | | // 切换项目 |
| | | async prjChanged (res) { |
| | | |
| | | }, |
| | | |
| | | async setproChange (res) { |
| | | if (res) { |
| | | this.setCheeckedLayer = this.$refs.tree.getCheckedKeys(); |
| | | this.$store.state.pigCode = res; |
| | | let st_code = this.optionts.filter(rs => { |
| | | let st_code = this.menus.filter(rs => { |
| | | if (rs.code == res) { |
| | | return rs |
| | | } |