From 8f85627f215bd0ee61db7a35ca9a83eaca1e892c Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期三, 10 一月 2024 15:42:34 +0800 Subject: [PATCH] 代码更新 --- src/components/left/layerTree/messageInfo.vue | 98 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 72 insertions(+), 26 deletions(-) diff --git a/src/components/left/layerTree/messageInfo.vue b/src/components/left/layerTree/messageInfo.vue index 06bb843..aeb1c92 100644 --- a/src/components/left/layerTree/messageInfo.vue +++ b/src/components/left/layerTree/messageInfo.vue @@ -5,9 +5,10 @@ <div>灞炴�т俊鎭�</div> <div class="modelmenu"> <div v-show="showMenuGrid"> - <el-link style="color: white;font-size: 14x;">缂栬緫</el-link> + <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 class="modelClose" @click="$store.state.showMessageInfo = false">X</div> </div> </div> @@ -21,7 +22,10 @@ <div>{{ item.name }}</div> <div v-show="item.name == 'ID'">{{ item.value }} </div> - <div v-show="item.name != 'ID'"><el-input style="width: 100%;" v-model="item.value" placeholder=""></el-input> + <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> @@ -32,7 +36,7 @@ <script> import model from '../../../assets/js/Layer/model'; import mapInfo from '../../../assets/js/Layer/mapInfo'; -import {Grid_SelectById} from '@/api/api' +import { Grid_SelectById, Grid_UpdateById } from '../../../api/api' export default { name: "modelEdit", components: { @@ -43,6 +47,9 @@ return { modelOption: null, showMenuGrid: false, + disabled: true, + gid: null, + obj: null, }; }, mounted() { @@ -52,41 +59,78 @@ }, methods: { - setLayerStart() { + this.obj = null; var data = mapInfo.mssageInfo; if (!data) { this.$store.state.showMessageInfo = false; return } var flag = false; - var id=null; - // for(var i in data){ - // if(data[i].name == '绫诲瀷' && data[i].value =='缃戞牸'){ - // flag = true; - // } - // if(data[i].name =='ID'){ - // id=data[i].value; - // } - // } - // if(flag){ - // this.getInfoMessage(id) - // }else{ - // this.setInfoMesgData(data); - // } + 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; + } + } - this.setInfoMesgData(data); + } else { + this.setInfoMesgData(data); + } }, setInfoMesgData(res) { this.modelOption = res }, - async getInfoMessage(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){ + 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> @@ -131,6 +175,7 @@ font-size: 14x; margin-left: 20px; + } } @@ -157,6 +202,7 @@ // margin-bottom: 5%; line-height: 50px; border-right: 1px solid white; + border-top: 1px solid white !important; } div:first-child { @@ -167,8 +213,8 @@ } .contentMessage:first-child { - border-top: 1px solid white; - ; + border-top: 1px solid white !important; + } } -- Gitblit v1.9.3