| | |
| | | <el-select |
| | | v-model="menuTopFrom.queryLayer" |
| | | :title="treeChange" |
| | | placeholder="请选择..." |
| | | placeholder="请选择数据..." |
| | | :popper-append-to-body="false" |
| | | > |
| | | <el-option |
| | |
| | | show-checkbox |
| | | node-key="id" |
| | | ref="tree" |
| | | accordion |
| | | highlight-current |
| | | :props="defaultProps" |
| | | > |
| | |
| | | <el-select |
| | | @change="changeValue($event)" |
| | | v-model="menuTopFrom.queryType" |
| | | placeholder="请选择..." |
| | | placeholder="选择范围" |
| | | :popper-append-to-body="false" |
| | | > |
| | | <el-option |
| | |
| | | >确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { |
| | | inquiry_SelectTabs, |
| | | inquiry_uploadShp, |
| | | decr, |
| | | encr, |
| | | dataLib_selectTabs, |
| | | pipelines_selectSegNames, |
| | | dataLib_selectTabed |
| | | } from "../../api/api.js" |
| | | import { selectPipelines } from "@/api/screen.js" |
| | | import { getToken } from "@/utils/auth" |
| | | import * as turf from "@turf/turf" |
| | | import { wktToGeoJSON } from "@terraformer/wkt" |
| | | import { getTreeData } from "@/utils/treeData.js" |
| | | export default { |
| | | components: { queryinfo }, |
| | | data() { |
| | | return { |
| | | selectTree: "", |
| | | menuTopFrom: { |
| | | queryType: "", |
| | | pipeline: "", |
| | |
| | | analyGid: null, |
| | | dialogFormVisible: false, |
| | | bufferLinePosition: [], |
| | | dialogExtentVisible: false, |
| | | setExtent: 10, |
| | | wktExtent: null, |
| | | layerTabe: [], |
| | | } |
| | | }, |
| | | |
| | | mounted() { |
| | | this.menuTopFrom.queryType = "rectangle" |
| | | // this.menuTopFrom.queryType = "rectangle" |
| | | this.getAllTable() |
| | | this.getPipelineData() |
| | | this.$bus.$on("setExtentBUff", res => { |
| | | this.setExtentBuffer(res); |
| | | }) |
| | | }, |
| | | watch: { |
| | | analyGid(newVal, oldVal) { |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | setExtentBuffer(res) { |
| | | // var wkt = this.$wkt.parse(this.wktExtent) |
| | | // var wkt = encr(this.wktExtent) |
| | | var wkt1 = decr(this.wktExtent) |
| | | |
| | | var wkt = this.$wkt.parse(wkt1) |
| | | |
| | | var restVal = turf.buffer(wkt, res, { units: "meters", steps: 64 }) |
| | | |
| | | var options = { precision: 6, coordinates: 2 }; |
| | | |
| | | var truncated = turf.truncate(restVal, options); |
| | | |
| | | var options1 = { tolerance: 0.01, highQuality: false }; |
| | | var simplified = turf.simplify(truncated, options1); |
| | | |
| | | var wkt2 = this.$wkt.convert(simplified.geometry) |
| | | var wkt3 = encr(wkt2) |
| | | |
| | | this.$store.state.mapMenuShpFile = wkt3 |
| | | |
| | | var points = simplified.geometry.coordinates[0] |
| | | var degreesArray = this.pointsToDegreesArray(points) |
| | | let array = Cesium.Cartesian3.fromDegreesArray(degreesArray) |
| | | const hierarchy = new Cesium.PolygonHierarchy(array) |
| | | const bufferPolygon = sgworld.Viewer.entities.add({ |
| | | polygon: { |
| | | hierarchy: hierarchy, |
| | | material: Cesium.Color.RED.withAlpha(0.5), |
| | | classificationType: Cesium.ClassificationType.BOTH, |
| | | }, |
| | | }) |
| | | this.bufferEntities.push(bufferPolygon) |
| | | sgworld.Navigate.flyToObj(bufferPolygon) |
| | | |
| | | this.showMapMenuPop() |
| | | |
| | | }, |
| | | getDownLoadExtent(res) { |
| | | this.wktExtent = res.result.wkt |
| | | |
| | | this.$bus.$emit('showExtentLayer', true); |
| | | |
| | | |
| | | // this.dialogExtentVisible = true |
| | | // this.$store.state.mapMenuShpFile = rs.result.wkt |
| | | // |
| | | }, |
| | | |
| | | changeValue(value) { |
| | | var obj = {} |
| | | obj = this.queryOption.find(function (item) { |
| | |
| | | } |
| | | }, |
| | | async getAllTable() { |
| | | const data = await dataLib_selectTabs({ |
| | | pageIndex: 1, |
| | | pageSize: 500, |
| | | const data = await dataLib_selectTabed({ |
| | | hasGeom: "true", |
| | | name: null, |
| | | }) |
| | | if (data.code != 200) { |
| | | this.$message.error("列表调用失败") |
| | | } |
| | | |
| | | // var val = data.result.filter(res => { |
| | | // if (res.rows != 0) { |
| | | // return res |
| | | // } |
| | | // }) |
| | | var val = data.result |
| | | var std = []; |
| | | val.filter((item) => { |
| | | if (std.indexOf(item.bak) == -1) { |
| | | std.push(item.bak); |
| | | this.layerData.push( |
| | | { |
| | | val: item.bak, |
| | | label: item.bak, |
| | | children: [], |
| | | } |
| | | ) |
| | | } |
| | | }); |
| | | |
| | | this.layerData.filter((item) => { |
| | | val.filter((res) => { |
| | | if (item.val === res.bak && res.rows != 0 && res.rows) { |
| | | console.log(res) |
| | | res.label = res.tabDesc |
| | | item.children.push(res) |
| | | } |
| | | }) |
| | | }) |
| | | var val = data.result |
| | | this.layerData = getTreeData(val) |
| | | // var std = []; |
| | | // val.filter((item) => { |
| | | // if (std.indexOf(item.bak) == -1) { |
| | | // std.push(item.bak); |
| | | // this.layerData.push( |
| | | // { |
| | | // val: item.bak, |
| | | // label: item.bak, |
| | | // children: [], |
| | | // } |
| | | // ) |
| | | // } |
| | | // }); |
| | | // for (var i in this.layerData) { |
| | | // var item = this.layerData[i]; |
| | | // for (var j in val) { |
| | | // var res = val[j]; |
| | | |
| | | // if (item.val === res.bak) { |
| | | |
| | | // res.label = res.tabDesc |
| | | // this.layerData[i].children.push(res) |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | }, |
| | | //获取选择树的节点 |
| | | getCheckedNodes() { |
| | | this.layerTabe = []; |
| | | var valTree = this.$refs.tree.getCheckedNodes() |
| | | var parentIds = this.$refs.tree.getHalfCheckedKeys(true) |
| | | if (valTree.length == 0) return |
| | | this.menuTopFrom.queryLayer = valTree[0].tabDesc; |
| | | this.treeChange = []; |
| | | this.menuTopFrom.queryLayer = null; |
| | | if (parentIds.length > 0) { |
| | | this.menuTopFrom.queryLayer = this.$refs.tree.getNode(parentIds[0]).data.label |
| | | } else { |
| | | this.menuTopFrom.queryLayer = valTree[0].label |
| | | } |
| | | this.$store.state.propertiesName = valTree[0]; |
| | | |
| | | for (var i = 0; i < valTree.length; i++) { |
| | | if (valTree[i].entity) { |
| | | this.treeChange.push(valTree[i]) |
| | | // if (!this.menuTopFrom.queryLayer) { |
| | | // this.menuTopFrom.queryLayer = valTree[i].tabDesc; |
| | | // } |
| | | this.layerTabe.push(valTree[i]) |
| | | // this.treeChange.push(valTree[i]) |
| | | } |
| | | |
| | | } |
| | | }, |
| | | //清空树选中的节点 |
| | | resetCheckedNodes() { |
| | | this.layerData = [] |
| | | this.getAllTable() |
| | | this.$refs.tree.setCheckedKeys([]); |
| | | this.treeChange = [] |
| | | this.layerTabe = [] |
| | | this.menuTopFrom.queryLayer = null |
| | | this.$refs.tree.setCheckedKeys([]) |
| | | |
| | | }, |
| | | //导入shp文件 |
| | | async setMenuTopFile() { |
| | |
| | | }) |
| | | return |
| | | } |
| | | var that = this; |
| | | $.ajax(BASE_URL + "/inquiry/uploadShp?token=" + getToken(), { |
| | | type: "post", |
| | | data: formData, |
| | |
| | | contentType: false, |
| | | success: rs => { |
| | | if (rs.code !== 200) { |
| | | return this.$message.error("用户角色请求错误") |
| | | return this.$message.error("数据解析失败") |
| | | } |
| | | |
| | | this.$store.state.mapMenuShpFile = rs.result.wkt |
| | | this.showMapMenuPop() |
| | | that.getDownLoadExtent(rs); |
| | | |
| | | }, |
| | | error: e => { |
| | | console.log(e) |
| | |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer) |
| | | this.$store.state.primitLayer = null |
| | | } |
| | | if (this.treeChange.length == 0) { |
| | | |
| | | |
| | | |
| | | |
| | | if (this.layerTabe.length == 0) { |
| | | this.$message.error("请选择要查询的数据") |
| | | return |
| | | } |
| | |
| | | this.showMapMenuPop() |
| | | }, |
| | | showMapMenuPop() { |
| | | this.$store.state.mapSpaceQueryLayer = this.treeChange |
| | | this.$store.state.mapSpaceQueryLayer = this.layerTabe |
| | | this.$store.state.mapPopBoxFlag = "1" |
| | | this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close() |
| | | this.$refs && |
| | |
| | | }, |
| | | clearQuery() { |
| | | // 清楚buffer |
| | | this.layerData = []; |
| | | this.getAllTable(); |
| | | this.clearBufferEntities() |
| | | this.$refs.pathClear.value = "" |
| | | this.treeChange = [] |
| | | this.layerTabe = [] |
| | | this.menuTopFrom.queryLayer = null |
| | | this.menuTopFrom.queryType = "rectangle" |
| | | this.menuTopFrom.queryType = "" |
| | | this.$refs.tree.setCheckedKeys([]) |
| | | //清空标绘 |
| | | sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }) |