From c819024e241b9f7c54cc3786373ad0d2998f2190 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 05 五月 2023 08:55:46 +0800
Subject: [PATCH] 修改

---
 src/components/Tab/Plot.vue |   77 +++++++++++++++++++++++++++-----------
 1 files changed, 55 insertions(+), 22 deletions(-)

diff --git a/src/components/Tab/Plot.vue b/src/components/Tab/Plot.vue
index 15a6b1b..1834109 100644
--- a/src/components/Tab/Plot.vue
+++ b/src/components/Tab/Plot.vue
@@ -12,7 +12,7 @@
                         创建
                     </el-button>
                 </el-col>
-                <el-col :span="6">
+                <!-- <el-col :span="6">
                     <el-button
                         icon="el-icon-delete"
                         size="small"
@@ -21,7 +21,7 @@
                     >
                         清空
                     </el-button>
-                </el-col>
+                </el-col> -->
                 <el-col :span="6">
                     <el-button
                         icon="el-icon-view"
@@ -44,18 +44,19 @@
                         circle
                         @click="() => focusHandle(label.attr.id)"
                     />
-                    <el-button
-                        icon="el-icon-edit"
-                        size="mini"
-                        circle
-                        @click="() => editHandle(label)"
-                    />
+
+<!--                    <el-button-->
+<!--                        icon="el-icon-edit"-->
+<!--                        size="mini"-->
+<!--                        circle-->
+<!--                        @click="() => editHandle(label)"-->
+<!--                    />-->
                     <el-button
                         icon="el-icon-delete"
                         type="danger"
                         size="mini"
                         circle
-                        @click="() => removeHandle(label.attr.id)"
+                        @click="() => removeHandle(label)"
                     />
                 </el-col>
             </el-row>
@@ -70,6 +71,15 @@
         >
             <p>请输入内容:</p>
             <el-input v-model="label.name" placeholder="请输入内容" />
+            <p>请选择风险等级:</p>
+            <el-select v-model="color" placeholder="请选择" >
+                <el-option
+                v-for="item in colorList"
+                :key="item.id"
+                :value="item.name"
+                :label="item.text"
+                ></el-option>
+            </el-select>
             <span slot="footer" class="dialog-footer">
         <el-button @click="closeCreateHandle">取 消</el-button>
         <el-button type="primary" @click="createHandle">确 定</el-button>
@@ -79,7 +89,7 @@
 </template>
 
 <script>
-    import { addMap } from '@/api/fourColorMap'
+    import { addMap , deleteColorMap} from '@/api/fourColorMap'
     import { global } from '../../global';
 
     // 默认样式
@@ -98,6 +108,7 @@
     };
 
     export default {
+        props:['type','colorMapList'],
         components: {},
         data() {
             return {
@@ -105,6 +116,8 @@
                     id: null,
                     name: '',
                 },
+                color:'',
+                colorList:[{id:1,name:'blue',text:'低风险'},{id:2,name:'yellow',text:'一般风险'},{id:3,name:'orange',text:'较大风险'},{id:4,name:'red',text:'重大风险'},],
                 showCreatePanel: false,
                 showPlot: true,
                 form:{
@@ -113,10 +126,10 @@
                     "type": "Feature",
                     "properties": {
                     "type": "polygon",
-                    "style": { "text": "D号楼", "clampToGround": true },
+                    "style": { "text": "D号楼", "clampToGround": true ,color:'',},
                     "attr": {
-                        "name": "D号楼",
-                        "id": "8a65b4df-2450-4dab-958d-fbd182cfd92d"
+                        "name": "",
+                        "id": ""
                     }
                     },
                     "geometry": {
@@ -162,10 +175,26 @@
                 };
                 this.showCreatePanel = true;
             },
-            removeHandle(id) {
+            removeHandle(label) {
                 if (!global.map) return;
-                global.map.deletePlot(id);
-                this.$store.dispatch('map/updateTimestamp');
+                for(let i in this.colorMapList){
+                    if(JSON.parse(this.colorMapList[i].properties).attr.id === label.attr.id){
+                        deleteColorMap({id:this.colorMapList[i].id}).then(res =>{
+                        if(res.data.code === '200'){
+                            this.$message({
+                                title:'成功',
+                                message:'删除成功',
+                                duration:2000,
+                                type:'success'
+                                })
+                        global.map.deletePlot(label.attr.id);
+                        this.$store.dispatch('map/updateTimestamp');
+                            }
+                        })
+                    }
+                }
+
+
             },
             closeCreateHandle() {
                 this.showCreatePanel = false;
@@ -180,7 +209,6 @@
                 };
             },
             async createHandle() {
-                // debugger
                 // this.form.geometry = JSON.stringify(this.form.geometry)
                 // this.form.properties = JSON.stringify(this.form.properties)
                 // let res = await addMap(this.form)
@@ -198,31 +226,35 @@
                     map.startDraw(
                         {
                             type: 'polygon',
-                            style: { text: name },
+                            style: { text: name ,color:this.color, clampToGround: true},
                             attr: {
                                 name,
                             },
                         },
                         (entity) => {
+                            console.log(wutu3d.draw.attr.getCoordinates(entity));
                             this._initLabel();
                             this.$store.dispatch('map/updateTimestamp');
                             this.form = {
                                 id:'',
-                                etype:1,
+                                etype:this.type,
                                 "type": "Feature",
-                                "properties": 
+                                "properties":
                                     JSON.stringify(entity.attribute),
                                 "geometry": JSON.stringify({
                                 "type": "Polygon",
                                 "coordinates": [
-                                
+
                                     wutu3d.draw.attr.getCoordinates(entity)
-                                     
+
                                     ]
                                 })
                             }
+                            // this.form.properties.style.color = this.color
+                            // this.form.properties = JSON.stringify(this.form.properties)
                             addMap(this.form).then(res =>{
                                 if(res.data.code === '200'){
+                                    // this.$emit('testLoadedData')
                                     this.$message({
                                         type:'success',
                                         duration:2000,
@@ -230,6 +262,7 @@
                                         message:'四色图新增成功',
                                     })
                                 }
+                                this.$emit('getList')
                             })
                         }
                     );

--
Gitblit v1.9.2