From 7692655063cbb653e4fe71dfe7c96562191c5df5 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 11 九月 2023 16:14:50 +0800 Subject: [PATCH] 图层管理详情界面修改,属性信息弹窗修改,空间查询修改 --- src/views/query/detailsQuery.vue | 20 +++++- src/assets/js/Map/server.js | 6 ++ src/views/query/SpatialQuery.vue | 39 +++++++++++- src/views/layer/attributeList.vue | 58 +++++++++++++++++-- src/views/layer/layerDetail.vue | 31 +++++----- src/views/search/search.vue | 8 +- src/views/layer/layerManage.vue | 8 ++ src/assets/js/Map/rightServer.js | 7 ++ src/assets/img/location.png | 0 9 files changed, 143 insertions(+), 34 deletions(-) diff --git a/src/assets/img/location.png b/src/assets/img/location.png new file mode 100644 index 0000000..ad1941b --- /dev/null +++ b/src/assets/img/location.png Binary files differ diff --git a/src/assets/js/Map/rightServer.js b/src/assets/js/Map/rightServer.js index 134c302..475706f 100644 --- a/src/assets/js/Map/rightServer.js +++ b/src/assets/js/Map/rightServer.js @@ -235,8 +235,13 @@ 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鏈嶅姟 diff --git a/src/assets/js/Map/server.js b/src/assets/js/Map/server.js index e3ceb5a..a140f51 100644 --- a/src/assets/js/Map/server.js +++ b/src/assets/js/Map/server.js @@ -240,8 +240,13 @@ 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鏈嶅姟 @@ -426,6 +431,7 @@ 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( diff --git a/src/views/layer/attributeList.vue b/src/views/layer/attributeList.vue index dacc7f0..4ec72af 100644 --- a/src/views/layer/attributeList.vue +++ b/src/views/layer/attributeList.vue @@ -57,7 +57,7 @@ > <template #default="scope"> <el-button - :icon="Location" + class="el-icon-map" size="small" @click.prevent="spaceLocation(scope.$index, scope.row)" > @@ -230,9 +230,37 @@ 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鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲 + 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", @@ -246,8 +274,17 @@ 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(); }; @@ -418,7 +455,16 @@ 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; diff --git a/src/views/layer/layerDetail.vue b/src/views/layer/layerDetail.vue index 755880b..de400e2 100644 --- a/src/views/layer/layerDetail.vue +++ b/src/views/layer/layerDetail.vue @@ -1,7 +1,7 @@ <template> <div class="content"> <div class="title"> - <label>璇︾粏缂栬緫</label> + <label> {{ layerData.cnName }}</label> <el-icon @click="setSpatialClose" :size="20" @@ -11,16 +11,14 @@ </el-icon> </div> <div class="layer_box"> - <div class="check_box"> - <!-- <el-checkbox @change="handlCheckAllChange" v-model="layerState">{{ - layerName - }}</el-checkbox> --> - {{ layerData.cnName }} - <img - src="../../assets/img/layer.png" - alt="" - /> - </div> + <!-- <div class="check_box"> + + {{ layerData.cnName }} + <img + src="../../assets/img/layer.png" + alt="" + /> + </div> --> <div class="slider-demo-block" v-show="diaphaneityShow" @@ -469,16 +467,19 @@ <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; diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue index 647fa23..4b91f4e 100644 --- a/src/views/layer/layerManage.vue +++ b/src/views/layer/layerManage.vue @@ -280,15 +280,18 @@ }); 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); } } }); @@ -299,8 +302,9 @@ 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); diff --git a/src/views/query/SpatialQuery.vue b/src/views/query/SpatialQuery.vue index e8f81bb..ae5b9ac 100644 --- a/src/views/query/SpatialQuery.vue +++ b/src/views/query/SpatialQuery.vue @@ -77,7 +77,7 @@ > <template #default="scope"> <el-button - :icon="Location" + class="el-icon-map" size="small" @click.prevent="spaceLocation(scope.$index, scope.row)" > @@ -513,7 +513,19 @@ 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 setQueySpatialFields = async () => { @@ -531,8 +543,17 @@ } }); - 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(); }; @@ -786,6 +807,16 @@ 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" > diff --git a/src/views/query/detailsQuery.vue b/src/views/query/detailsQuery.vue index 413c334..b418d09 100644 --- a/src/views/query/detailsQuery.vue +++ b/src/views/query/detailsQuery.vue @@ -82,7 +82,17 @@ 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 () => { @@ -149,7 +159,6 @@ arr[vla.alias] = valste[vla.field]; } } - tableData.value = sortObj(arr); }; const sortObj = (obj) => { @@ -160,8 +169,13 @@ arr.reverse(); var len = arr.length; var obj = {}; + for (var i = 0; i < len; i++) { - obj[arr[i][1]] = arr[i][0]; + if (arr[i][1].indexOf("鏃堕棿") > -1) { + obj[arr[i][1]] = format(arr[i][0]); + } else { + obj[arr[i][1]] = arr[i][0]; + } } return obj; }; diff --git a/src/views/search/search.vue b/src/views/search/search.vue index f3b59ae..5a3b7f2 100644 --- a/src/views/search/search.vue +++ b/src/views/search/search.vue @@ -87,7 +87,7 @@ @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> @@ -129,8 +129,10 @@ const NumhandleChange = (value: number) => {}; const handleChange = (val: string[]) => {}; const setPoitCannel = () => { - imageLabel.deleteObject(); - imageLabel = null; + if (imageLabel) { + imageLabel.deleteObject(); + imageLabel = null; + } }; const setPointLocal = (res) => { if (imageLabel) { -- Gitblit v1.9.3