| | |
| | | > |
| | | <i class="el-icon-tickets"></i> 钻孔柱状图 |
| | | </div> |
| | | <div |
| | | class="edit" |
| | | v-show="shwoTitle" |
| | | @click="tileDownload()" |
| | | > |
| | | <i class="el-icon-download"></i> 瓦片下载 |
| | | |
| | | </div> |
| | | <!-- <div |
| | | class="edit" |
| | | v-show="showModelAttach" |
| | |
| | | perms_selectLayers, inquiry_selectDomains, comprehensive_selectPubById, |
| | | project_selectDirAll, project_selectByDirid, dataQuerySelectWktById |
| | | } from "../../api/api.js"; |
| | | import { conditions } from '../Archive/Archive.js'; |
| | | export default { |
| | | name: "tree", |
| | | components: { queryinfo }, |
| | |
| | | mptLayer: [], |
| | | optionts: [], |
| | | proValue: null, |
| | | setCheeckedLayer: [] |
| | | setCheeckedLayer: [], |
| | | shwoTitle: false, |
| | | }; |
| | | }, |
| | | methods: { |
| | | //瓦片下载 |
| | | tileDownload() { |
| | | var that = this; |
| | | this.menuVisible = false |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "rectangle", |
| | | {}, |
| | | function (entity) { |
| | | that.getTileRectangle(entity); |
| | | sgworld.Creator.SimpleGraphic.clear() |
| | | |
| | | } |
| | | ); |
| | | }, |
| | | getTileRectangle(res) { |
| | | var value = res.rectangle.coordinates.getValue(); |
| | | var val = { |
| | | pubid: this.currentData.pubid, |
| | | pwd: "", |
| | | title: "", |
| | | xmax: Cesium.Math.toDegrees( |
| | | value.east |
| | | ), |
| | | xmin: Cesium.Math.toDegrees( |
| | | value.west |
| | | ), |
| | | ymax: Cesium.Math.toDegrees( |
| | | value.north |
| | | ), |
| | | ymin: Cesium.Math.toDegrees( |
| | | value.south |
| | | ) |
| | | } |
| | | this.$bus.$emit("titleDown", val) |
| | | |
| | | }, |
| | | //转孔柱状图 |
| | | async histogram() { |
| | | this.menuVisible = false |
| | |
| | | this.currentNode = Node; |
| | | |
| | | this.$store.state.propertiesName = this.currentData; |
| | | if (this.currentData.serveType == "Tileset") { |
| | | this.showModelAttach = false; |
| | | this.shwoTitle = false; |
| | | |
| | | |
| | | if (this.currentData.serveType == 'TMS') { |
| | | this.shwoTitle = true |
| | | } else if (this.currentData.serveType == "Tileset") { |
| | | this.showModelAttach = true; |
| | | } else { |
| | | this.showModelAttach = false; |
| | | } |
| | | if (this.currentData.enName == "s_explorationpoint") { |
| | | this.shwoHistogram = true; |
| | |
| | | console.log("tree drop: ", dropNode.label, dropType); |
| | | }, |
| | | handleCheckChange(data, checked, indeterminate) { |
| | | |
| | | if (data.type == 1) { |
| | | this.childOption = []; |
| | | this.getchilds(data); |
| | |
| | | var listTileset = []; |
| | | var listTMS = []; |
| | | var listMpt = []; |
| | | var listDem = []; |
| | | for (var i in this.childOption) { |
| | | switch (this.childOption[i].serveType) { |
| | | case 'WMS': |
| | |
| | | case 'TMS': |
| | | listTMS.push(this.childOption[i]) |
| | | break; |
| | | |
| | | case 'DEM': |
| | | listDem.push(this.childOption[i]) |
| | | break; |
| | | } |
| | | } |
| | | this.setChangeWMS(listWMS, checked); |
| | |
| | | this.setChangeTileset(listTileset, checked); |
| | | this.setChangeTMS(listTMS, checked); |
| | | this.setChangeMpt(listMpt, checked); |
| | | this.setChangeDem(listDem, checked); |
| | | } else if (data.type == 2) { |
| | | if (data.serveType == "WMS") { |
| | | this.setChangeWMS([data], checked); |
| | |
| | | this.setChangeTMS([data], checked); |
| | | } else if (data.serveType == "Mpt") { |
| | | this.setChangeMpt([data], checked); |
| | | } else if (data.serveType == "DEM") { |
| | | this.setChangeDem([data], checked); |
| | | } |
| | | } |
| | | // if (data.type != 2) return; |
| | | |
| | | |
| | | |
| | | |
| | | // if (data.serveType == "WFS") { |
| | | // if (window.Viewer.dataSources._dataSources.length == 0) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | |
| | | // } |
| | | // } else if (data.serveType == "Tileset") { |
| | | |
| | | // if (Viewer.scene.primitives._primitives.length == 0) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | // var std = []; |
| | | // for (var i in Viewer.scene.primitives._primitives) { |
| | | // Viewer.scene.primitives._primitives[i].show = checked; |
| | | // if (Viewer.scene.primitives._primitives[i].id == data.cnName) { |
| | | // std.push(data.id); |
| | | // Viewer.flyTo(Viewer.scene.primitives._primitives[i]); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (std.length == 0 && checked == true) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | // window.map.getLayers().getArray().forEach(item => { |
| | | // if (item.get("name") == data.cnName) { |
| | | // item.setVisible(checked); |
| | | |
| | | // } |
| | | // }); |
| | | // } |
| | | // } else if (data.serveType == "TMS") { |
| | | |
| | | // if (data.pubid) { |
| | | |
| | | // } else { |
| | | // var res; |
| | | // if (data.url.indexOf("{host}") != -1) { |
| | | // res = data.url.replace("{host}", iisHost); |
| | | // } else { |
| | | // res = data.url |
| | | // } |
| | | // var url = res.split(';') |
| | | |
| | | // window.sgworld.Creator.createImageryProvider('mpt影像', "wms", { |
| | | // url: url[0], |
| | | // layers: url[1] |
| | | // }, "0", undefined, true, ""); |
| | | // } |
| | | |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | // 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); //显示图层 |
| | | // } |
| | | // } |
| | | }, |
| | | setChangeDem(data, checked) { |
| | | this.cannelTerrainLayer(); |
| | | var val = this.$refs.tree.getCheckedKeys(); |
| | | var std = []; |
| | | for (var i = 0; i < val.length; i++) { |
| | | var res = this.$refs.tree.getNode(val[i]).data; |
| | | if (res.serveType && res.serveType != 'DEM') { |
| | | std.push(val[i]) |
| | | } |
| | | } |
| | | var result = data[0] |
| | | if (this.$refs.tree.getNode(result.id).checked) { |
| | | std.push(result.id); |
| | | var base_ulr = result.url; |
| | | if (base_ulr.indexOf('{host}') > -1) { |
| | | base_ulr = base_ulr.replace("{host}", iisHost) |
| | | } |
| | | |
| | | this.setTerrainDemLayer(base_ulr); |
| | | } else { |
| | | this.setTerrainMptLayer(); |
| | | } |
| | | this.$refs.tree.setCheckedKeys(std) |
| | | // |
| | | // this.$nextTick(() => { |
| | | // |
| | | // }); |
| | | |
| | | // setTimeout(() => { |
| | | // |
| | | // }, 500); |
| | | }, |
| | | |
| | | setChangeWMS(result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | this.$bus.$emit("showMenuLayer", value); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // if (checked.checkedKeys) { |
| | | // for (var i in result) { |
| | | // |
| | | // } |
| | | // } else { |
| | | |
| | | // for (var j in result) { |
| | | // console.log(result[j]) |
| | | // // |
| | | // } |
| | | // } |
| | | }, |
| | | setChangeMpt(result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); |
| | | if (branchArr.length > 0) { |
| | | |
| | | branchArr.sort(function (a, b) { |
| | | |
| | | return a.orderNum - b.orderNum |
| | | }) |
| | | } |
| | | |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2; |
| | | // 由此循环多次后,就能形成相应的树形数据结构 |
| | |
| | | }, |
| | | getNewTree(obj, result) { |
| | | for (const i in obj) { |
| | | console.log(obj[i].cnName) |
| | | result.push(obj[i]) |
| | | if (obj[i].children && obj[i].children.length > 0) { |
| | | this.getNewTree(obj[i].children, result) |
| | |
| | | return rs |
| | | } |
| | | }) |
| | | debugger |
| | | var val = this.$store.state.oldTree.filter(rs => { |
| | | if (rs.enName == st_code[0].code) { |
| | | return rs |
| | |
| | | } |
| | | |
| | | } |
| | | this.cannelTerrainLayer(); |
| | | this.setTerrainMptLayer(); |
| | | //清空图层树选中状态 |
| | | this.$refs.tree.setCheckedKeys([]); |
| | | if (val.length > 0) { |
| | | |
| | | if (val[0].type == 1 && val[0].isProject == 1) {//项目分类 |
| | | var std = []; |
| | | |
| | | var std_check = []; |
| | | for (var i in val) { |
| | | var std_val = this.getNewTree([this.$refs.tree.getNode(val[i].id).data], []) |
| | | for (var j in std_val) { |
| | | std.push(std_val[j]) |
| | | std_check.push(std_val[j]) |
| | | } |
| | | } |
| | | |
| | | |
| | | var value = this.$store.state.isProjectLayer; |
| | | for (var i in value) { |
| | | std.push(value[i]) |
| | | |
| | | std_check.push(value[i]) |
| | | } |
| | | |
| | | |
| | | this.setProjectLayer(std); |
| | | this.setProjectLayer(std_check); |
| | | } else { |
| | | this.setChangeProLayer(); |
| | | } |
| | |
| | | } |
| | | |
| | | this.setProjectLayer(std); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | cannelTerrainLayer() { |
| | | //清空地形 |
| | | if (window.terrainMptLayer) { |
| | | window.terrainMptLayer.deleteObject(); |
| | | window.terrainMptLayer = null; |
| | | } |
| | | if (window.terrainDemLayer) { |
| | | Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); |
| | | window.terrainDemLayer = null; |
| | | } |
| | | }, |
| | | setTerrainMptLayer() { |
| | | //默认地形MPT |
| | | var option = { |
| | | url: window.sceneConfig.SGUrl, |
| | | layerName: window.sceneConfig.mptName, |
| | | requestVertexNormals: true, |
| | | }; |
| | | window.terrainMptLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); |
| | | }, |
| | | setTerrainDemLayer(res) { |
| | | window.terrainDemLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: res |
| | | }); |
| | | Viewer.terrainProvider = window.terrainDemLayer |
| | | }, |
| | | setProjectLayer(res) { |
| | | var layerid = []; |
| | | for (var i in res) { |
| | |
| | | this.getMenuProject() |
| | | this.$bus.$on("treeDataCopy", (res) => { |
| | | this.$store.state.treeData = this.treeData; |
| | | this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys(); |
| | | if (this.$refs.tree.getCheckedKeys().length > 0) { |
| | | this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys(); |
| | | } |
| | | }); |
| | | |
| | | if (this.$store.state.showAllLayers == true) { |
| | | this.layersStart(); |
| | | this.$store.state.showAllLayers = false; |
| | | |
| | | } else { |
| | | |
| | | this.treeData = this.$store.state.treeData; |
| | | this.$refs.tree.setCheckedKeys(this.$store.state.checkedKeys); |
| | | } |