| | |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="small" |
| | | <el-button |
| | | size="small" |
| | | plain |
| | | @click="setSpaceTableLayer" |
| | | >查询</el-button> |
| | | <el-button |
| | | plain size="small" |
| | | plain |
| | | size="small" |
| | | @click="restSpacePopLayer" |
| | | >重置</el-button> |
| | | </el-form-item> |
| | |
| | | attributeData: [], |
| | | optionx: [], |
| | | options: [], |
| | | conditions: [ |
| | | ['<>', 'like'], |
| | | ['>=', '>', ' =', '<=', '<', '<>'], |
| | | ['>=', '<='], |
| | | ], |
| | | options1: [ |
| | | { |
| | | value: '=', |
| | |
| | | this.showSpacePopLayer(); |
| | | }, |
| | | changeValue(value) { |
| | | |
| | | var obj = {}; |
| | | obj = this.optionx.find(function (item) { |
| | | return item.value === value; |
| | | return item.field === value; |
| | | }); |
| | | if (obj.type == 'serial' || obj.type == 'int') { |
| | | this.options = this.options2; |
| | | // debugger |
| | | // if (obj.type == 'serial' || obj.type == 'int') { |
| | | // this.options = this.options2; |
| | | // } else { |
| | | // this.options = this.options1; |
| | | // } |
| | | this.options = []; |
| | | |
| | | var std = []; |
| | | |
| | | if (obj.type == "text" || obj.type == "blob") { |
| | | std = this.conditions[0]; |
| | | } else if (obj.type == "date" || obj.type == "datetime") { |
| | | std = this.conditions[2]; |
| | | } else { |
| | | this.options = this.options1; |
| | | std = this.conditions[1]; |
| | | } |
| | | for (var i in std) { |
| | | this.options.push({ |
| | | label: std[i], |
| | | value: std[i], |
| | | }); |
| | | } |
| | | |
| | | this.formInline.region = this.options[0].value; |
| | | }, |
| | | setListDataStart() { |
| | |
| | | showSpacePopLayer() { |
| | | let val_date = this.optionx[0]; |
| | | this.formInline.name = val_date.field; |
| | | if (val_date.type == 'serial' || val_date.type == 'int') { |
| | | this.options = this.options2; |
| | | this.options = []; |
| | | var std = []; |
| | | if (val_date.type == "text" || val_date.type == "blob") { |
| | | std = this.conditions[0]; |
| | | } else if (val_date.type == "date" || val_date.type == "datetime") { |
| | | std = this.conditions[2]; |
| | | } else { |
| | | this.options = this.options1; |
| | | std = this.conditions[1]; |
| | | } |
| | | for (var i in std) { |
| | | this.options.push({ |
| | | label: std[i], |
| | | value: std[i], |
| | | }); |
| | | } |
| | | |
| | | this.formInline.region = this.options[0].value; |
| | | this.getSpaceTableLayer(); |
| | | }, |
| | |
| | | var val1 = decr(data.result); |
| | | if (val1) { |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Viewer.entities.remove(this.$store.state.primitLayer); |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer); |
| | | this.$store.state.primitLayer = null; |
| | | } |
| | |
| | | this.getSpaceTableLayer(); |
| | | }, |
| | | setMapLoaction(res) { |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer); |
| | | this.$store.state.primitLayer = null; |
| | | } |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer); |
| | | // this.$store.state.primitLayer = null; |
| | | sgworld.Viewer.entities.remove(this.$store.state.primitLayer); |
| | | this.$store.state.primitLayer = null; |
| | | } |
| | | var coord = res.coordinates; |
| | | if (res.type == 'Point') { |
| | | this.$store.state.primitLayer = sgworld.Creator.CreateLabel( |
| | | { X: coord[0], Y: coord[1], Altitude: 2000 }, |
| | | '', |
| | | SmartEarthRootUrl + 'Workers/image/mark.png', |
| | | { |
| | | disableDepthTestDistance: Infinity, |
| | | scale: 0.8, |
| | | }, |
| | | 0, |
| | | '巡检点' |
| | | var val = Cesium.Cartesian3.fromDegrees( |
| | | res.coordinates[0], |
| | | res.coordinates[1], |
| | | |
| | | ); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item); |
| | | } else if (res.type == 'MultiPolygon') { |
| | | this.$store.state.primitLayer = Viewer.entities.add({ |
| | | position: val, |
| | | billboard: { |
| | | // 图像地址,URI或Canvas的属性 |
| | | image: SmartEarthRootUrl + "Workers/image/mark.png", |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | // 大小是否以米为单位 |
| | | sizeInMeters: false, |
| | | // 相对于坐标的垂直位置 |
| | | verticalOrigin: Cesium.VerticalOrigin.CENTER, |
| | | // 相对于坐标的水平位置 |
| | | horizontalOrigin: Cesium.HorizontalOrigin.LEFT, |
| | | // 应用于图像的统一比例。比例大于会1.0放大标签,而比例小于会1.0缩小标签。 |
| | | scale: 1.0, |
| | | // 是否显示 |
| | | show: true |
| | | } |
| | | }); |
| | | this.$store.state.primitLayer.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY; |
| | | |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer) |
| | | |
| | | } else if (res.type == 'MultiPolygon' || res.type == 'LineString') { |
| | | var val = res.coordinates[0][0]; |
| | | var std = []; |
| | | for (var i in val) { |
| | | |
| | | std.push({ x: val[i][0], y: val[i][1], z: 1000 }) |
| | | std.push({ x: val[i][0], y: val[i][1] }) |
| | | } |
| | | this.$store.state.primitLayer = sgworld.Creator.createPolygon(std, { |
| | | fillColor: '#ffff00', |
| | | outlineColor: '#fff', |
| | | outlineWidth: 2 |
| | | }, 1, 0, "面"); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item); |
| | | this.$store.state.primitLayer = Viewer.entities.add({ |
| | | polyline: { |
| | | positions: Cesium.Cartesian3.fromDegreesArray(std), |
| | | width: 5, |
| | | material: new Cesium.Color(1.0, 0.0, 0.0, 0.3), |
| | | clampToGround: true, |
| | | } |
| | | }) |
| | | |
| | | // this.$store.state.primitLayer = sgworld.Creator.createPolygon(std, { |
| | | // fillColor: '#ffff00', |
| | | // outlineColor: '#fff', |
| | | // outlineWidth: 2 |
| | | // }, 1, 0, "面"); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer); |
| | | } else if (res.type == 'MultiLineString') { |
| | | var line = res.coordinates[0]; |
| | | var std = []; |
| | |
| | | |
| | | std.push({ x: line[i][0], y: line[i][1], z: 1000 }) |
| | | } |
| | | this.$store.state.primitLayer = sgworld.Creator.createPolyline(std, "#ffff00", 1, 0, "线"); |
| | | this.$store.state.primitLayer = sgworld.Creator.createPolyline(std, "#ffff00", 1, 0, "线"); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item); |
| | | } |
| | | }, |
| | |
| | | } |
| | | .rightTitle { |
| | | padding: 5px; |
| | | |
| | | |
| | | width: 100%; |
| | | .boxClose { |
| | | float: right; |
| | | margin-right: 20px; |
| | | |
| | | } |
| | | } |
| | | .bottomPage { |
| | | position: absolute; |
| | | bottom: 1%; |
| | | } |
| | | |
| | | |
| | | } |
| | | </style> |