| | |
| | | <template> |
| | | <div class="resourceQuery"> |
| | | <moon-map></moon-map> |
| | | <div class="bottom_btn_TWO"> |
| | | <div |
| | | v-show="mapFlag == '2D'" |
| | | class="ChangeMap twoImg" |
| | | @click="setMapImg('2D')" |
| | | ></div> |
| | | <div |
| | | v-show="mapFlag != '2D'" |
| | | class="ChangeMap threeImg" |
| | | @click="setMapImg('3D')" |
| | | ></div> |
| | | </div> |
| | | <div |
| | | class="left_menu" |
| | | @click="leftDialog =true" |
| | |
| | | <el-form-item label="时间范围"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="form.acqTime" |
| | | v-model="acqTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | |
| | | @click="setDrawMenu(5)" |
| | | > |
| | | <span>清除</span> |
| | | <div class="btn_bg db"></div> |
| | | <div class="btn_bg qc"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <span class="attribute_content">{{ e.name }}</span> |
| | | </div> |
| | | <div class="attribute"> |
| | | <span class="attribute_title">存情位量:</span> |
| | | <span class="attribute_content">{{ e.time }}</span> |
| | | <span class="attribute_title">存储位置:</span> |
| | | <span class="attribute_content">{{ e.path }}</span> |
| | | </div> |
| | | <div class="attribute"> |
| | | <span class="attribute_title">生产时间:</span> |
| | | <span class="attribute_content">{{ e.data }}</span> |
| | | <span class="attribute_content">{{ e.createTime }}</span> |
| | | </div> |
| | | <div |
| | | class="attribute" |
| | | style="margin: 0" |
| | | > |
| | | <span class="attribute_title">数据大小:</span> |
| | | <span class="attribute_content">dsadas</span> |
| | | <span class="attribute_content">{{ e.sizes }}M</span> |
| | | </div> |
| | | </div> |
| | | <div |
| | |
| | | class="bottom_box" |
| | | v-show="listDialog" |
| | | > |
| | | <span class="msg_box">显示第{{ (( (form.pageIndex - 1)*form.pageSize)+1 )}}到{{(form.pageIndex*form.pageSize) |
| | | <span class="msg_box">显示第{{ (( (form.pageIndex - 1)* form.pageSize) + 1 )}}到{{(form.pageIndex*form.pageSize) |
| | | |
| | | }}条,共{{ list.length }}条记录,已选择{{ |
| | | listChecked.length |
| | |
| | | ></i> |
| | | </div> |
| | | <div class="details_table"> |
| | | <div class="table_header"> |
| | | <div class="table_td">属性</div> |
| | | <div class="table_td">属性值</div> |
| | | </div> |
| | | <div style="height: 430px;overflow: auto;"> |
| | | <div class="table_header"> |
| | | <div class="table_td">属性</div> |
| | | <div class="table_td">属性值</div> |
| | | </div> |
| | | |
| | | <div |
| | | class="table_tr" |
| | | v-for="(e,key, i) in tableList" |
| | | v-for="(e, i) in tableList" |
| | | :key="i" |
| | | > |
| | | <div class="table_td">{{ key}}</div> |
| | | <div class="table_td">{{ e }}</div> |
| | | <div class="table_td">{{ e.alias}}</div> |
| | | <div class="table_td">{{ e.value }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | import * as turf from "@turf/turf" |
| | | import moonMap from "../../components/MapView/moonMap.vue"; //地图 |
| | | import { meta_type, sensor_type } from "../datamanage/js/layerManage"; |
| | | import { select_meta_ByPageAndCount, encr } from '../../api/api' |
| | | import { select_meta_ByPageAndCount, encr, selectByPageAndCount } from '../../api/api' |
| | | export default { |
| | | components: { |
| | | moonMap, |
| | |
| | | pageNo: 1, |
| | | pageSize: 10, |
| | | }, |
| | | tableList: [ |
| | | |
| | | ], |
| | | tableList: [], |
| | | listChecked: [], |
| | | list: [ |
| | | |
| | | ], |
| | | list: [], |
| | | currentPage4: 4, |
| | | form: { |
| | | name: "", |
| | | sensorType: 0, |
| | | mataType: 0, |
| | | acqTime: null, |
| | | wkt: null, |
| | | pageIndex: 1, |
| | | pageSize: 100, |
| | | count: 0, |
| | | startDate: null, |
| | | endDate: null |
| | | }, |
| | | acqTime: '', |
| | | sensorOption: [], |
| | | metaOption: [], |
| | | detailsBox: false, |
| | |
| | | dialogVisible: false, |
| | | bufferNumber: 100, |
| | | geoWkt: null, |
| | | wktEntity: null |
| | | wktEntity: null, |
| | | mapFlag: '2D' |
| | | }; |
| | | }, |
| | | methods: { |
| | | setMapImg(res) { |
| | | if (res == "2D") { |
| | | this.mapFlag = "3D"; |
| | | window.earthCtrl.coreMap.scene.mode = SmartEarth.Cesium.SceneMode.SCENE2D; |
| | | } else if (res == "3D") { |
| | | this.mapFlag = "2D"; |
| | | window.earthCtrl.coreMap.scene.mode = SmartEarth.Cesium.SceneMode.SCENE3D; |
| | | } |
| | | }, |
| | | setListCheckAll() { |
| | | for (var i in this.list) { |
| | | var checked = this.list[i].checked |
| | | if (!checked) { |
| | | this.list[i].checked = true; |
| | | this.listChecked.push(this.list[i]); |
| | | this.setAddCheckLayer(this.list[i]); |
| | | } |
| | | } |
| | | }, |
| | | setListRemoveCheckAll() { |
| | | for (var i in this.list) { |
| | | this.list[i].checked = false; |
| | | if (this.list[i].checked) { |
| | | this.list[i].checked = false; |
| | | this.setRemoveCheckLayer(this.list[i]); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | this.listChecked = []; |
| | | }, |
| | | details(e) { |
| | | async details(e) { |
| | | |
| | | const data = await selectByPageAndCount({ |
| | | ns: 'lf', |
| | | pageIndex: 1, |
| | | pageSize: 100000, |
| | | tab: 'sys_meta' |
| | | }) |
| | | if (data.code != 200) return |
| | | var std = []; |
| | | var result = data.result; |
| | | for (var i in result) { |
| | | for (var key in e) { |
| | | if (result[i].field == key) { |
| | | result[i].value = e[key] |
| | | } |
| | | if (result[i].field == 'gid' && key == 'id') { |
| | | result[i].value = e[key] |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | this.detailsBox = true; |
| | | this.tableList = e; |
| | | this.tableList = result; |
| | | }, |
| | | setQueryRestRetrieval() { |
| | | this.listDialog = false; |
| | | this.setFromStart(); |
| | | this.setDrawMenu(5); |
| | | this.listChecked = []; |
| | | Viewer.entities.removeAll() |
| | | }, |
| | | async setQueryRetrieval() { |
| | | if (this.geoWkt) { |
| | |
| | | } else { |
| | | this.form.wkt = null; |
| | | } |
| | | if (this.acqTime) { |
| | | this.form.endDate = this.setFromDate(this.acqTime[0]) |
| | | this.form.startDate = this.setFromDate(this.acqTime[1]) |
| | | } else { |
| | | this.form.endDate = null |
| | | this.form.startDate = null |
| | | } |
| | | const data = await select_meta_ByPageAndCount(this.form); |
| | | if (data.code != 200) return; |
| | | if (data.code != 200) return |
| | | this.form.count = data.count; |
| | | this.list = data.result; |
| | | var result = data.result; |
| | | |
| | | for (var i in result) { |
| | | if (result[i].createTime) { |
| | | result[i].createTime = this.setFromDate(result[i].createTime) |
| | | } |
| | | if (result[i].updateTime) { |
| | | result[i].updateTime = this.setFromDate(result[i].updateTime) |
| | | } |
| | | if (result[i].acqTime) { |
| | | result[i].acqTime = this.setFromDate(result[i].acqTime) |
| | | } |
| | | |
| | | } |
| | | |
| | | if (result) { |
| | | this.list = result; |
| | | } else { |
| | | this.list = []; |
| | | } |
| | | this.listDialog = true; |
| | | }, |
| | | setFromDate(res) { |
| | | var time = new Date(res); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | var s = time.getSeconds(); |
| | | return ( |
| | | y + |
| | | '-' + |
| | | this.add0(m) + |
| | | '-' + |
| | | this.add0(d) + |
| | | ' ' + |
| | | this.add0(h) + |
| | | ':' + |
| | | this.add0(mm) + |
| | | ':' + |
| | | this.add0(s) |
| | | ); |
| | | }, |
| | | //格式化时间 |
| | | add0(m) { |
| | | |
| | | return m < 10 ? "0" + m : m; |
| | | }, |
| | | //大小值改变 |
| | | handleSizeChange(val) { |
| | | this.form.pageIndex = 1; |
| | | this.form.pageSize = val; |
| | |
| | | val.checked = !val.checked; |
| | | if (val.checked) { |
| | | this.listChecked.push(val); |
| | | this.setAddCheckLayer(val); |
| | | } |
| | | |
| | | if (this.listChecked.length > 0) { |
| | |
| | | this.listChecked.forEach((e, i) => { |
| | | if (e.id == val.id) { |
| | | this.listChecked.splice(i, 1); |
| | | this.setRemoveCheckLayer(val); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | setAddCheckLayer(res) { |
| | | if (!res.geom) return |
| | | var wkt = this.$wkt.parse(res.geom).coordinates[0] |
| | | var geom = []; |
| | | for (var i in wkt) { |
| | | geom.push(Cesium.Cartesian3.fromDegrees(wkt[i][0], wkt[i][1])) |
| | | } |
| | | Viewer.entities.add({ |
| | | name: res.name + "&&" + res.id, |
| | | polygon: { |
| | | hierarchy: geom, |
| | | material: Cesium.Color.WHITE.withAlpha(0.1), |
| | | // heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | outline: true, |
| | | outlineColor: Cesium.Color.fromCssColorString("rgba(130,167,33, 1)"), |
| | | outlineWidth: 10, |
| | | classificationType: Cesium.ClassificationType.BOTH,//贴地形和3dtile |
| | | clampToGround: true,//开启贴地 |
| | | height: 0, |
| | | }, |
| | | |
| | | }); |
| | | }, |
| | | setRemoveCheckLayer(res) { |
| | | var name = res.name + "&&" + res.id; |
| | | var entity = Viewer.entities._entities._array |
| | | for (var i = 0; i < entity.length; i++) { |
| | | if (entity[i].name == name) { |
| | | Viewer.entities.remove(entity[i]) |
| | | i--; |
| | | } |
| | | } |
| | | |
| | | |
| | | }, |
| | | setDrawMenu(res) { |
| | | this.bufferNumber = 100; |
| | |
| | | } |
| | | var that = this; |
| | | sgworld.Creator.createSimpleGraphic(this.drawType, config, (entity) => { |
| | | sgworld.Creator.SimpleGraphic.clear() |
| | | |
| | | that.querySatialQuery(entity); |
| | | }); |
| | | }, |
| | |
| | | res_val = res.polygon.hierarchy.getValue().positions; |
| | | break; |
| | | } |
| | | sgworld.Creator.SimpleGraphic.clear() |
| | | this.geoWkt = this.getEntityGeometry(res_val, this.drawType) |
| | | if (this.geoWkt) { |
| | | |
| | | this.setAddWktEntity(this.geoWkt) |
| | | this.$nextTick(() => { |
| | | this.setAddWktEntity(this.geoWkt) |
| | | }) |
| | | } |
| | | |
| | | }, |
| | |
| | | var wkt = this.$wkt.parse(res).coordinates[0]; |
| | | var geom = []; |
| | | for (var i in wkt) { |
| | | |
| | | geom.push(Cesium.Cartesian3.fromDegrees(wkt[i][0], wkt[i][1], wkt[i][2] ?? 0)) |
| | | } |
| | | this.wktEntity = Viewer.entities.add({ |
| | | name: '资源查询', |
| | | polygon: { |
| | | hierarchy: geom, |
| | | material: Cesium.Color.BLUE.withAlpha(0), |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | material: Cesium.Color.WHITE.withAlpha(0.2), |
| | | //heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | outline: true, |
| | | outlineColor: Cesium.Color.GREEN, |
| | | outlineWidth: 5, |
| | | outlineColor: Cesium.Color.RED, |
| | | outlineWidth: 10, |
| | | classificationType: Cesium.ClassificationType.BOTH,//贴地形和3dtile |
| | | clampToGround: true,//开启贴地 |
| | | height: 0, |
| | |
| | | name: "", |
| | | sensorType: 0, |
| | | mataType: 0, |
| | | acqTime: null, |
| | | wkt: null, |
| | | pageIndex: 1, |
| | | pageSize: 100, |
| | | count: 0, |
| | | startDate: null, |
| | | endDate: null |
| | | } |
| | | this.acqTime = '' |
| | | } |
| | | }, |
| | | created() { }, |
| | |
| | | } |
| | | .db { |
| | | background: url("../../assets/img/db.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | } |
| | | .qc { |
| | | background: url("../../assets/img/清除.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | } |
| | | } |
| | |
| | | .dialogContent /deep/.el-icon-plus { |
| | | color: #606266 !important; |
| | | } |
| | | .bottom_btn_TWO { |
| | | position: absolute; |
| | | z-index: 39; |
| | | /* prettier-ignore */ |
| | | bottom: 68PX; |
| | | /* prettier-ignore */ |
| | | right: 70PX; |
| | | |
| | | .ChangeMap { |
| | | /* prettier-ignore */ |
| | | width: 30PX; |
| | | /* prettier-ignore */ |
| | | height: 30PX; |
| | | /* prettier-ignore */ |
| | | border: 1PX solid rgba(255, 255, 255, 0.1); |
| | | } |
| | | .twoImg { |
| | | background: url("../../assets/img/2D.png") no-repeat; |
| | | } |
| | | .threeImg { |
| | | background: url("../../assets/img/3D.png") no-repeat; |
| | | } |
| | | } |
| | | </style> |