From 87e98d5b5efeb7a9cf6330ae03e6dd53699b7ef1 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 15 一月 2024 17:10:25 +0800
Subject: [PATCH] 代码更新

---
 src/components/left/layerTree/messageInfo.vue |  132 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 118 insertions(+), 14 deletions(-)

diff --git a/src/components/left/layerTree/messageInfo.vue b/src/components/left/layerTree/messageInfo.vue
index a733a99..ab246e4 100644
--- a/src/components/left/layerTree/messageInfo.vue
+++ b/src/components/left/layerTree/messageInfo.vue
@@ -3,16 +3,35 @@
     <div>
       <div class="modleTitle ">
         <div>灞炴�т俊鎭�</div>
-        <div class="modelClose" @click="$store.state.showMessageInfo = false"> X</div>
+        <div class="modelmenu">
+          <div v-show="showMenuGrid">
+            <el-link v-show="disabled" @click="disabled = false" style="color: white;font-size: 14x;">缂栬緫</el-link>
+            <el-link v-show="!disabled" @click="setObjSave" style="color: white;font-size: 14x;">淇濆瓨</el-link>
+          </div>
+          <div class="modelClose" @click="$store.state.showMessageInfo = false">X</div>
+        </div>
+
       </div>
     </div>
     <div class="modelContent">
-      <div class="contentMessage" v-for="(item, index) in modelOption" :key="index">
-        <div>{{ item.name }}</div>
+      <div v-show="!showMenuGrid" class="contentMessage" v-for="(item, index) in modelOption" :key="index">
+        <div>
+          <label>{{ item.name }}</label>
+        
+        </div>
         <div>{{ item.value }}</div>
       </div>
+      <div v-show="showMenuGrid" class="contentMessage" v-for="(item, index) in modelOption" :key="index">
+        <div>{{ item.name }}</div>
+        <div v-show="item.name == 'ID'">{{ item.value }}
+        </div>
+        <div v-show="item.name == 'type'">{{ item.value }}
+        </div>
+        <div v-show="item.name != 'ID' && item.name != 'type'"><el-input style="width: 100%;  text-align: center;"
+            v-model="item.value" :disabled="disabled"></el-input>
+        </div>
+      </div>
     </div>
-
 
   </div>
 </template>
@@ -20,8 +39,7 @@
 <script>
 import model from '../../../assets/js/Layer/model';
 import mapInfo from '../../../assets/js/Layer/mapInfo';
-
-
+import { Grid_SelectById, Grid_UpdateById } from '../../../api/api'
 export default {
   name: "modelEdit",
   components: {
@@ -30,8 +48,11 @@
 
   data() {
     return {
-      modelOption: null
-
+      modelOption: null,
+      showMenuGrid: false,
+      disabled: true,
+      gid: null,
+      obj: null,
     };
   },
   mounted() {
@@ -41,12 +62,78 @@
 
   },
   methods: {
-
     setLayerStart() {
-      this.modelOption = mapInfo.mssageInfo;
-    },
+      this.obj = null;
+      var data = mapInfo.mssageInfo;
+      if (!data) {
+        this.$store.state.showMessageInfo = false;
+        return
+      }
+      var flag = false;
+      for (var i in data) {
+        if (data[i].name == "TYPE" && data[i].value == 'DrawGrid') {
+          flag = true;
+          break;
+        }
+      }
+      if (flag) {
+        for (var i in data) {
+          if (data[i].name == "gid") {
+            this.gid = data[i].value
+            this.getInfoMessage(this.gid);
+            break;
+          }
+        }
 
-  }
+      } else {
+        this.setInfoMesgData(data);
+      }
+    },
+    setInfoMesgData(res) {
+      this.modelOption = res
+    },
+    async setObjSave() {
+      var properties = this.obj.features[0].properties;
+      for (var key in properties) {
+        for (var i in this.modelOption) {
+          if (this.modelOption[i].name == key) {
+            properties[key] = this.modelOption[i].value
+          }
+        }
+      }
+      const data = await Grid_UpdateById({
+        id: this.gid,
+        json: JSON.stringify(this.obj.features[0])
+      });
+      if (data.status == 200) {
+        this.$message({
+          message: "淇濆瓨鎴愬姛",
+          type: "success",
+        });
+        this.disabled = true;
+      }
+    },
+    async getInfoMessage(res) {
+      const data = await Grid_SelectById(res);
+      if (data.status == 200) {
+        this.obj = data.data;
+        var properties = this.obj.features[0].properties;
+        console.log(data.data.features[0])
+        var std = [];
+        for (var key in properties) {
+          std.push({
+            name: key,
+            value: properties[key]
+          })
+        }
+        this.showMenuGrid = true
+        this.modelOption = std;
+
+      }
+    }
+
+  },
+
 };
 </script>
 
@@ -75,6 +162,12 @@
     align-items: center;
     padding: 0% 5%;
 
+    .modelmenu {
+      display: flex;
+      align-items: center;
+
+    }
+
     .modelClose {
       height: 16px;
       width: 16px;
@@ -83,6 +176,8 @@
       justify-content: center;
       background: rgba(128, 128, 128, 0.6);
       font-size: 14x;
+      margin-left: 20px;
+
 
     }
   }
@@ -96,6 +191,7 @@
 
     overflow-y: auto;
     overflow-x: hidden;
+
     .contentMessage {
       width: 100%;
       color: white;
@@ -109,6 +205,9 @@
         // margin-bottom: 5%;
         line-height: 50px;
         border-right: 1px solid white;
+        border-top: 1px solid white !important;
+        word-wrap:break-word;
+   
       }
 
       div:first-child {
@@ -119,11 +218,16 @@
     }
 
     .contentMessage:first-child {
-      border-top: 1px solid white;
-      ;
+      border-top: 1px solid white !important;
+
     }
   }
 
+  /deep/.el-input__inner {
+    background: transparent !important;
+    border: transparent !important;
+    color: white !important;
+  }
 
 }
 </style>

--
Gitblit v1.9.3