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