Merge branch 'master' of http://192.168.20.92:8888/r/PM20230220027_Web
| | |
| | | if (this.localPoint) { |
| | | this.setLocalPositionClose(); |
| | | } |
| | | var position = { |
| | | X: parseFloat(res.lon), |
| | | Y: parseFloat(res.lat), |
| | | Altitude: parseFloat(res.alt), |
| | | }; |
| | | this.localPoint = window.sgworld.Creator.CreateImageLabel( |
| | | position, |
| | | config.StaticFileBaseUrl + "/Workers/image/mark.png", |
| | | {}, |
| | | 0, |
| | | "标签点" |
| | | ); |
| | | var id = this.localPoint.item.id; |
| | | window.sgworld.Navigate.flyToObj(this.localPoint.item); |
| | | // var position = { |
| | | // X: parseFloat(res.lon), |
| | | // Y: parseFloat(res.lat), |
| | | // Altitude: parseFloat(res.alt), |
| | | // }; |
| | | // this.localPoint = window.sgworld.Creator.CreateImageLabel( |
| | | // position, |
| | | // config.StaticFileBaseUrl + "/Workers/image/mark.png", |
| | | // {}, |
| | | // 0, |
| | | // "标签点" |
| | | // ); |
| | | // var id = this.localPoint.item.id; |
| | | // window.sgworld.Navigate.flyToObj(this.localPoint.item); |
| | | this.localPoint = window.Viewer.entities.add({ |
| | | name: '坐标定位', |
| | | position: Cesium.Cartesian3.fromDegrees(parseFloat(res.lon), parseFloat(res.lat), res.alt == null ? parseFloat(res.alt) : 0), |
| | | billboard: { |
| | | image: config.StaticFileBaseUrl + '/Workers/image/location.png', |
| | | // 设置贴地 |
| | | heightReference: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4), |
| | | verticalOrigin: Cesium.VerticalOrigin.BOTTOM, |
| | | scale: 1.0, |
| | | }, |
| | | }); |
| | | this.setViewerFlyTo(this.localPoint) |
| | | }, |
| | | setLocalPositionClose() { |
| | | this.localPoint.deleteObject(); |
| | | if (this.localPoint) { |
| | | // this.localPoint.deleteObject(); |
| | | window.Viewer.entities.remove(this.localPoint) |
| | | this.localPoint = null; |
| | | } |
| | | |
| | | }, |
| | | //坡度分析 |
| | | setSlopeMap() { |
| | |
| | | // 设置贴地 |
| | | heightReference: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4), |
| | | verticalOrigin: Cesium.VerticalOrigin.BOTTOM, |
| | | scale: 5.0, |
| | | scale: 1.0, |
| | | }, |
| | | }); |
| | | |
| | | this.setViewerFlyTo(position) |
| | | }, |
| | | setViewerFlyTo(entity) { |
| | | |
| | | window.Viewer.flyTo(entity, { |
| | | offset: { |
| | | heading: Cesium.Math.toRadians(0.0), |
| | |
| | | var url = this.getLayrUrl(res); |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: url, |
| | | tilingScheme: new Cesium.GeographicTilingScheme({ |
| | | ellipsoid: Cesium.Ellipsoid.MOON, |
| | | }), |
| | | |
| | | }); |
| | | window.rightViewer.terrainProvider = window.terrainLayer; |
| | | Viewer.terrainProvider = window.terrainLayer; |
| | | Viewer.scene.globe.terrainExaggeration = 1.0000001; |
| | | this.layerList.push({ id: res.id, type: "dem" }); |
| | | }, |
| | | //加载WMS服务 |
| | |
| | | var url = this.getLayrUrl(res); |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: url, |
| | | tilingScheme: new Cesium.GeographicTilingScheme({ |
| | | ellipsoid: Cesium.Ellipsoid.MOON, |
| | | }), |
| | | |
| | | }); |
| | | Viewer.terrainProvider = window.terrainLayer; |
| | | Viewer.scene.globe.terrainExaggeration = 1.0000001; |
| | | this.layerList.push({ id: res.id, type: "dem" }); |
| | | }, |
| | | //加载WMS服务 |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!gindex) return |
| | | var str = html.substr(html.indexOf('<td>'), html.lastIndexOf('</td>') - html.indexOf('<td>') + 5).replaceAll(' ', '').replaceAll('\n', '').split('</td>') |
| | | var gid = parseInt(str[gindex].replaceAll( |
| | |
| | | > |
| | | <template #default="scope"> |
| | | <el-button |
| | | :icon="Location" |
| | | class="el-icon-map" |
| | | size="small" |
| | | @click.prevent="spaceLocation(scope.$index, scope.row)" |
| | | > |
| | |
| | | return ElMessage.error("空间查询失败"); |
| | | } |
| | | listData.value.count = data.count; |
| | | tableData.value = data.result; |
| | | }; |
| | | |
| | | var val = data.result.filter((res) => { |
| | | if (res.apprTime) { |
| | | res.apprTime = format(res.apprTime); |
| | | } |
| | | if (res.createtime) { |
| | | res.apprTime = format(res.createtime); |
| | | } |
| | | if (res.updatetime) { |
| | | res.apprTime = format(res.updatetime); |
| | | } |
| | | return res; |
| | | }); |
| | | tableData.value = val; |
| | | }; |
| | | //格式化时间 |
| | | const format = (shijianchuo) => { |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(shijianchuo); |
| | | 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 + "-" + add0(m) + "-" + add0(d) + " " + h + ":" + mm + ":" + s; |
| | | }; |
| | | //格式化时间 |
| | | const add0 = (m) => { |
| | | return m < 10 ? "0" + m : m; |
| | | }; |
| | | const setQueySpatialFields = async () => { |
| | | const data = await dataQuery_selectFields({ |
| | | ns: "mn", |
| | |
| | | return res; |
| | | } |
| | | }); |
| | | attributeData.value = std; |
| | | fieldOption.value = std; |
| | | var val = std.filter((res) => { |
| | | if (res.field.indexOf("_") > -1) { |
| | | var str = res.field.split("_"); |
| | | res.field = str[0] + str[1][0].toUpperCase() + str[1].slice(1); |
| | | return res; |
| | | } else { |
| | | return res; |
| | | } |
| | | }); |
| | | attributeData.value = val; |
| | | fieldOption.value = val; |
| | | conditionChange(data.result[0]); |
| | | setQueySpatialData(); |
| | | }; |
| | |
| | | padding: 10px; |
| | | height: 40px; |
| | | } |
| | | |
| | | .el-icon-map { |
| | | background: url("../../assets/img/location.png") center no-repeat; |
| | | background-size: 100% 100%; |
| | | border: transparent; |
| | | } |
| | | .el-icon-map:before { |
| | | content: "定位"; |
| | | font-size: 0; |
| | | visibility: hidden; |
| | | } |
| | | /deep/.el-pagination button { |
| | | background: transparent; |
| | | color: #d6e4ff; |
| | |
| | | <template> |
| | | <div class="content"> |
| | | <div class="title"> |
| | | <label>详细编辑</label> |
| | | <label> {{ layerData.cnName }}</label> |
| | | <el-icon |
| | | @click="setSpatialClose" |
| | | :size="20" |
| | |
| | | </el-icon> |
| | | </div> |
| | | <div class="layer_box"> |
| | | <div class="check_box"> |
| | | <!-- <el-checkbox @change="handlCheckAllChange" v-model="layerState">{{ |
| | | layerName |
| | | }}</el-checkbox> --> |
| | | <!-- <div class="check_box"> |
| | | |
| | | {{ layerData.cnName }} |
| | | <img |
| | | src="../../assets/img/layer.png" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | </div> --> |
| | | <div |
| | | class="slider-demo-block" |
| | | v-show="diaphaneityShow" |
| | |
| | | geom: geom, |
| | | pubid: releaseLayer.value.pubid, |
| | | }; |
| | | const data = publish_updateSjService(obj); |
| | | if (data.count != 200) { |
| | | publish_updateSjService(obj).then((res) => { |
| | | if (res.code != 200) { |
| | | return ElMessage(data.msg); |
| | | } |
| | | store.state.restLayer = true; |
| | | setSpatialClose(); |
| | | }); |
| | | // const data = ; |
| | | // console.log("1122223" + data.code); |
| | | }; |
| | | onMounted(() => { |
| | | typeDisplay(props.layerData); |
| | |
| | | |
| | | <style lang="less" scoped> |
| | | .content { |
| | | background: #1e2a3d; |
| | | padding: 20px; |
| | | // height: 400px; |
| | | margin-left: 20px; |
| | | min-width: 300px; |
| | | margin-left: 385px; |
| | | margin-top: 40px; |
| | | min-width: 200px; |
| | | |
| | | z-index: 40; |
| | | position: absolute; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | border: 1px solid #d6e4ff; |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | .title { |
| | | font-size: 18px; |
| | | font-size: 16px; |
| | | font-family: Source Han Sans CN; |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | |
| | | // }); |
| | | // treeData = handleTree(menuOption, "id", "pid", "children"); |
| | | }; |
| | | const setRestLayerData = () => { |
| | | let son = estreeRef.value.getCheckedNodes().reverse(); |
| | | server.delLayerAll(); |
| | | |
| | | var setGeoWms = []; |
| | | var url = null; |
| | | for (var i in son) { |
| | | var layerArr = son[i]; |
| | | layerArr.checked = true; |
| | | if (layerArr.category == 2 && layerArr.type == 3) { |
| | | if (layerArr.tab != "moon:geo_mappable_unit") { |
| | | setGeoWms.push(layerArr.tab); |
| | | url = layerArr.url; |
| | | } |
| | | } else { |
| | | server.addTreeData(layerArr); |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | server.addGeoServerMmsLayers(setGeoWms, url); |
| | | } |
| | | store.commit("SET_CHECKLAYER", son); |
| | | }; |
| | | const getLayer = async () => { |
| | | store.state.restLayer = false; |
| | | server.delLayerAll(); |
| | |
| | | }); |
| | | var std = []; |
| | | var terrainId = null; |
| | | var adLayer = []; |
| | | dt.result.filter((res) => { |
| | | if (res.isLayer == 1 && res.isShow == 1) { |
| | | if (res.type == 1 && res.data == 2) { |
| | | if (!terrainId) { |
| | | terrainId = res.id; |
| | | std.push(res.id); |
| | | adLayer.push(res); |
| | | } |
| | | } else { |
| | | std.push(res.id); |
| | | adLayer.push(res); |
| | | } |
| | | } |
| | | }); |
| | |
| | | defaultLayer(dt.result); |
| | | var setGeoWms = []; |
| | | var url = null; |
| | | for (var i in dt.result) { |
| | | var layer = dt.result[i]; |
| | | |
| | | for (var i in adLayer) { |
| | | var layer = adLayer[i]; |
| | | if (layer.category == 2 && layer.type == 3) { |
| | | if (layer.tab != "moon:geo_mappable_unit") { |
| | | setGeoWms.push(layer.tab); |
| | |
| | | } |
| | | } |
| | | if (setGeoWms.length > 0) { |
| | | server.addGeoServerMmsLayers(setGeoWms.reverse(), url); |
| | | server.addGeoServerMmsLayers(setGeoWms, url); |
| | | } |
| | | //; |
| | | nextTick(() => { |
| | |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | } |
| | | |
| | | watch( |
| | | () => store.state.restLayer, |
| | | (nVal, oVal) => { |
| | | if (nVal) { |
| | | getLayer(); |
| | | setRestLayerData(); |
| | | } |
| | | }, |
| | | { deep: true } |
| | |
| | | <template> |
| | | <div v-drag class="plottingBox"> |
| | | <div |
| | | v-drag |
| | | class="plottingBox" |
| | | > |
| | | <div class="plottingTitle"> |
| | | <div class="tileLeft"> |
| | | <div class="titleImg" @click="setCloseplotting"> |
| | | <div |
| | | class="titleImg" |
| | | @click="setCloseplotting" |
| | | > |
| | | <ArrowLeft /> |
| | | </div> |
| | | <div class="titleLable">标绘查询</div> |
| | |
| | | <div class="plotting_content_btn"> |
| | | <span class="plotting_content_title">标绘工具</span> |
| | | <div class="plotting_btn"> |
| | | <div class="btn_box_d btn_box" @click="setMenuDraw('point')"></div> |
| | | <div class="btn_box_x btn_box" @click="setMenuDraw('polyline')"></div> |
| | | <div class="btn_box_m btn_box" @click="setMenuDraw('polygon')"></div> |
| | | <div |
| | | class="btn_box_d btn_box" |
| | | @click="setMenuDraw('point')" |
| | | ></div> |
| | | <div |
| | | class="btn_box_x btn_box" |
| | | @click="setMenuDraw('polyline')" |
| | | ></div> |
| | | <div |
| | | class="btn_box_m btn_box" |
| | | @click="setMenuDraw('polygon')" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | <div class="plotting_list"> |
| | |
| | | /><span>{{ item.name }}</span> |
| | | </div> |
| | | <div class="plotting_list_tr_btn"> |
| | | <div class="tr_btn dw" @click.stop="setLayerLocation(item)"></div> |
| | | <div class="tr_btn sc" @click.stop="setLayerRemove(item)"></div> |
| | | <div |
| | | class="tr_btn dw" |
| | | @click.stop="setLayerLocation(item)" |
| | | ></div> |
| | | <div |
| | | class="tr_btn sc" |
| | | @click.stop="setLayerRemove(item)" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | placeholder="请输入纬度..." |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="高度:" |
| | | prop="alt" |
| | | > |
| | | <el-form-item label="高度:"> |
| | | <el-input |
| | | v-model="ruleForm.alt" |
| | | placeholder="请输入高度..." |
| | |
| | | > |
| | | <template #default="scope"> |
| | | <el-button |
| | | :icon="Location" |
| | | class="el-icon-map" |
| | | size="small" |
| | | @click.prevent="spaceLocation(scope.$index, scope.row)" |
| | | > |
| | |
| | | return ElMessage.error("空间查询失败"); |
| | | } |
| | | listData.value.count = data.count; |
| | | tableData.value = data.result; |
| | | var val = data.result.filter((res) => { |
| | | if (res.apprTime) { |
| | | res.apprTime = format(res.apprTime); |
| | | } |
| | | if (res.createtime) { |
| | | res.apprTime = format(res.createtime); |
| | | } |
| | | if (res.updatetime) { |
| | | res.apprTime = format(res.updatetime); |
| | | } |
| | | return res; |
| | | }); |
| | | tableData.value = val; |
| | | }; |
| | | |
| | | //格式化时间 |
| | | const format = (shijianchuo) => { |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(shijianchuo); |
| | | 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 + "-" + add01(m) + "-" + add01(d) + " " + h + ":" + mm + ":" + s; |
| | | }; |
| | | //格式化时间 |
| | | const add01 = (m) => { |
| | | return m < 10 ? "0" + m : m; |
| | | }; |
| | | const setQueySpatialFields = async () => { |
| | | const data = await dataQuery_selectFields({ |
| | | ns: "mn", |
| | |
| | | } |
| | | }); |
| | | |
| | | attributeData.value = std; |
| | | fieldOption.value = std; |
| | | var val = std.filter((res) => { |
| | | if (res.field.indexOf("_") > -1) { |
| | | var str = res.field.split("_"); |
| | | res.field = str[0] + str[1][0].toUpperCase() + str[1].slice(1); |
| | | return res; |
| | | } else { |
| | | return res; |
| | | } |
| | | }); |
| | | attributeData.value = val; |
| | | fieldOption.value = val; |
| | | conditionChange(data.result[0]); |
| | | setQueySpatialData(); |
| | | }; |
| | |
| | | color: #d6e4ff !important; |
| | | } |
| | | } |
| | | .el-icon-map { |
| | | background: url("../../assets/img/location.png") center no-repeat; |
| | | background-size: 100% 100%; |
| | | border: transparent; |
| | | } |
| | | .el-icon-map:before { |
| | | content: "定位"; |
| | | font-size: 0; |
| | | visibility: hidden; |
| | | } |
| | | } |
| | | </style> |
| | | <style lang="less" > |
| | |
| | | ElMessage.error("未查询到字段信息"); |
| | | return; |
| | | } |
| | | fieldData.value = data.result; |
| | | var val = data.result; |
| | | val.filter((res) => { |
| | | if (res.field.indexOf("_") > -1) { |
| | | var str = res.field.split("_"); |
| | | res.field = str[0] + str[1][0].toUpperCase() + str[1].slice(1); |
| | | return res; |
| | | } else { |
| | | return res; |
| | | } |
| | | }); |
| | | fieldData.value = val; |
| | | getLayerDomains(); |
| | | }; |
| | | const getLayerDomains = async () => { |
| | |
| | | arr[vla.alias] = valste[vla.field]; |
| | | } |
| | | } |
| | | |
| | | tableData.value = sortObj(arr); |
| | | }; |
| | | const sortObj = (obj) => { |
| | |
| | | arr.reverse(); |
| | | var len = arr.length; |
| | | var obj = {}; |
| | | |
| | | for (var i = 0; i < len; i++) { |
| | | if (arr[i][1].indexOf("时间") > -1) { |
| | | obj[arr[i][1]] = format(arr[i][0]); |
| | | } else { |
| | | obj[arr[i][1]] = arr[i][0]; |
| | | } |
| | | } |
| | | return obj; |
| | | }; |
| | | |
| | |
| | | @click="setPointLocal(item)" |
| | | > |
| | | <div class="table_th_x">{{ flag + 1 }}</div> |
| | | <div class="table_th">{{ item.enName }}</div> |
| | | <div class="table_th">{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | const NumhandleChange = (value: number) => {}; |
| | | const handleChange = (val: string[]) => {}; |
| | | const setPoitCannel = () => { |
| | | if (imageLabel) { |
| | | imageLabel.deleteObject(); |
| | | imageLabel = null; |
| | | } |
| | | }; |
| | | const setPointLocal = (res) => { |
| | | if (imageLabel) { |
| | |
| | | var position = { X: res.lon, Y: res.lat, Altitude: 10 }; |
| | | imageLabel = window.sgworld.Creator.CreateImageLabel( |
| | | position, |
| | | config.StaticFileBaseUrl + "/Workers/image/mark.png", |
| | | config.StaticFileBaseUrl + "/Workers/image/location.png", |
| | | {}, |
| | | 0, |
| | | "标签点" |