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 | 95 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 75 insertions(+), 20 deletions(-) diff --git a/src/components/left/layerTree/messageInfo.vue b/src/components/left/layerTree/messageInfo.vue index 11fe5e2..ab246e4 100644 --- a/src/components/left/layerTree/messageInfo.vue +++ b/src/components/left/layerTree/messageInfo.vue @@ -5,23 +5,30 @@ <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> </div> <div class="modelContent"> <div v-show="!showMenuGrid" class="contentMessage" v-for="(item, index) in modelOption" :key="index"> - <div>{{ item.name }}</div> + <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 != '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 +39,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 +50,9 @@ return { modelOption: null, showMenuGrid: false, + disabled: true, + gid: null, + obj: null, }; }, mounted() { @@ -52,37 +62,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 =='缃戞牸'){ + for (var i in data) { + if (data[i].name == "TYPE" && data[i].value == 'DrawGrid') { flag = true; - } - if(data[i].name =='ID'){ - id=data[i].value; + break; } } - if(flag){ - this.getInfoMessage(id) - }else{ + 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 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); - console.log(data) + 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> @@ -127,6 +178,7 @@ font-size: 14x; margin-left: 20px; + } } @@ -153,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 { @@ -163,8 +218,8 @@ } .contentMessage:first-child { - border-top: 1px solid white; - ; + border-top: 1px solid white !important; + } } -- Gitblit v1.9.3