From 9b3f59ebe897d76b3a6108781e232d6e3967ca0f Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 10 五月 2022 14:54:23 +0800
Subject: [PATCH] 四色图

---
 src/components/Tab/index.vue                                                             |   19 +++--
 public/data/plots_namisuo.geojson                                                        |    4 
 src/components/Tab/Plot.vue                                                              |   57 +++++++++++++++----
 src/views/doublePreventAction/riskLevelManage/fourColorMap/sixty/index.vue               |   18 ++++-
 src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue                    |    6 +-
 src/components/Tab/Model.vue                                                             |    4 
 src/views/doublePreventAction/riskLevelManage/fourColorMap/oneHundredAndThirty/index.vue |   29 ++++++++-
 src/api/fourColorMap.js                                                                  |   11 +++
 8 files changed, 111 insertions(+), 37 deletions(-)

diff --git a/public/data/plots_namisuo.geojson b/public/data/plots_namisuo.geojson
index 9a882b5..a19bf6e 100644
--- a/public/data/plots_namisuo.geojson
+++ b/public/data/plots_namisuo.geojson
@@ -8,7 +8,7 @@
         "style": { "text": "F号楼", "clampToGround": true },
         "attr": {
           "name": "F号楼",
-          "id": "1"
+          "id": "cabe679c-373b-4890-ae0c-7a7061f89dfd"
         }
       },
       "geometry": {
@@ -57,7 +57,7 @@
       "type": "Feature",
       "properties": {
         "type": "polygon",
-        "style": { "text": "E号楼", "clampToGround": true },
+        "style": { "text": "E号楼", "clampToGround": true, "color": "#ff0000" },
         "attr": {
           "name": "E号楼",
           "id": "7a3094db-d227-4b3f-bf35-1ce64c365e42"
diff --git a/src/api/fourColorMap.js b/src/api/fourColorMap.js
index e21e91e..fc57bfa 100644
--- a/src/api/fourColorMap.js
+++ b/src/api/fourColorMap.js
@@ -21,4 +21,15 @@
         method: 'post',
         params:params?params:{}
     });
+}
+
+export function deleteColorMap(data) {
+    return request({
+        headers:{
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API+'/fourColorMap/del2',
+        method: 'post',
+        data
+    });
 }
\ No newline at end of file
diff --git a/src/components/Tab/Model.vue b/src/components/Tab/Model.vue
index 4b62e25..7764f68 100644
--- a/src/components/Tab/Model.vue
+++ b/src/components/Tab/Model.vue
@@ -10,14 +10,14 @@
                 >
                     添加
                 </el-button>
-                <el-button
+                <!-- <el-button
                     icon="el-icon-delete"
                     size="small"
                     type="danger"
                     @click="clearHandle"
                 >
                     清空
-                </el-button>
+                </el-button> -->
                 <el-button
                     icon="el-icon-view"
                     size="small"
diff --git a/src/components/Tab/Plot.vue b/src/components/Tab/Plot.vue
index 15a6b1b..d062258 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"
@@ -55,7 +55,7 @@
                         type="danger"
                         size="mini"
                         circle
-                        @click="() => removeHandle(label.attr.id)"
+                        @click="() => removeHandle(label)"
                     />
                 </el-col>
             </el-row>
@@ -70,6 +70,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 +88,7 @@
 </template>
 
 <script>
-    import { addMap } from '@/api/fourColorMap'
+    import { addMap , deleteColorMap} from '@/api/fourColorMap'
     import { global } from '../../global';
 
     // 默认样式
@@ -98,6 +107,7 @@
     };
 
     export default {
+        props:['type','colorMapList'],
         components: {},
         data() {
             return {
@@ -105,6 +115,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 +125,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 +174,27 @@
                 };
                 this.showCreatePanel = true;
             },
-            removeHandle(id) {
+            removeHandle(label) {
                 if (!global.map) return;
-                global.map.deletePlot(id);
-                this.$store.dispatch('map/updateTimestamp');
+                debugger
+                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;
@@ -198,17 +227,18 @@
                     map.startDraw(
                         {
                             type: 'polygon',
-                            style: { text: name },
+                            style: { text: name ,color:this.color},
                             attr: {
                                 name,
                             },
                         },
                         (entity) => {
+                            debugger
                             this._initLabel();
                             this.$store.dispatch('map/updateTimestamp');
                             this.form = {
                                 id:'',
-                                etype:1,
+                                etype:this.type,
                                 "type": "Feature",
                                 "properties": 
                                     JSON.stringify(entity.attribute),
@@ -221,8 +251,11 @@
                                     ]
                                 })
                             }
+                            // 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,
diff --git a/src/components/Tab/index.vue b/src/components/Tab/index.vue
index 317b4f8..4198424 100644
--- a/src/components/Tab/index.vue
+++ b/src/components/Tab/index.vue
@@ -16,26 +16,26 @@
         <el-tab-pane label="模型" name="model">
           <model-panel />
         </el-tab-pane>
-        <el-tab-pane label="标注" name="label">
+        <!-- <el-tab-pane label="标注" name="label">
           <label-panel />
-        </el-tab-pane>
+        </el-tab-pane> -->
         <el-tab-pane label="电子围栏" name="plot">
-          <plot-panel />
+          <plot-panel :type='type' :colorMapList='colorMapList'/>
         </el-tab-pane>
-        <el-tab-pane label="图标" name="marker">
+        <!-- <el-tab-pane label="图标" name="marker">
           <marker-panel />
-        </el-tab-pane>
+        </el-tab-pane> -->
         <!-- <el-tab-pane label="波动圈" name="wave">
           <wave-panel />
         </el-tab-pane>
         <el-tab-pane label="光柱" name="beam">
           <beam-panel />
         </el-tab-pane> -->
-        <el-tab-pane label="动画轨迹" name="line">
+        <!-- <el-tab-pane label="动画轨迹" name="line">
           <animate-line-panel />
-        </el-tab-pane>
+        </el-tab-pane> -->
       </el-tabs>
-      <tool-panel />
+      <!-- <tool-panel /> -->
     </div>
   </div>
 </template>
@@ -51,6 +51,7 @@
 import AnimateLinePanel from './AnimateLine';
 
 export default {
+  props:['type','colorMapList'],
   components: {
     LabelPanel,
     PlotPanel,
@@ -67,6 +68,8 @@
       showTab: true,
     };
   },
+  methods : { 
+  }
 };
 </script>
 
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
index 34e3041..9586da1 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
@@ -119,11 +119,11 @@
                 </el-table-column>
                 <el-table-column label="巡检人" prop="execUname" align="center">
                 </el-table-column>
-                <el-table-column label="巡检开始时间" prop="execUname" align="center">
+                <el-table-column label="巡检开始时间" prop="expTime" align="center">
                 </el-table-column>
-                <el-table-column label="巡检结束时间" prop="execUname" align="center">
+                <el-table-column label="巡检结束时间" prop="endTime" align="center">
                 </el-table-column>
-                <el-table-column label="巡检提交时间" prop="execUname" align="center">
+                <el-table-column label="巡检提交时间" prop="execTime" align="center">
                 </el-table-column>
                 <el-table-column label="任务状态" prop="status" align="center">
                      <template slot-scope="scope">
diff --git a/src/views/doublePreventAction/riskLevelManage/fourColorMap/oneHundredAndThirty/index.vue b/src/views/doublePreventAction/riskLevelManage/fourColorMap/oneHundredAndThirty/index.vue
index 4920741..4a1b871 100644
--- a/src/views/doublePreventAction/riskLevelManage/fourColorMap/oneHundredAndThirty/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/fourColorMap/oneHundredAndThirty/index.vue
@@ -2,7 +2,7 @@
     
     <div class="map-layout">
         <Map @init="init" :option="option" v-if="option" />
-        <Tab v-if="loaded" />
+        <Tab v-if="loaded" :type='type' :colorMapList='colorMapList'/>
     </div>
 
 
@@ -16,7 +16,7 @@
         getCatesian3FromPX,
         Cartesian3_to_WGS84,
     } from '../../../../../components/Map/libs/Point';
-
+    import { getMap } from '@/api/fourColorMap'
     export default {
         name: 'App',
         components: {
@@ -31,6 +31,8 @@
                 option: null,
                 heatLayer: null,
                 shineishiwai: true,
+                colorMapList:[],
+                type:2,
             };
         },
         mounted() {
@@ -115,9 +117,26 @@
             testLoadedData() {
                 const map = global.map;
                 if (!map) return;
-                $.get('./public/data/plots_namisuo.geojson', res => {
-                    map.loadGeoJSON(res);
-                });
+                let params = {}
+                params['eType'] = 2
+                getMap(params).then(res =>{
+                    this.colorMapList = res.data.result
+                    const list = res.data.result.map(item =>{
+                        return{
+                            type:item.type,
+                            geometry:JSON.parse(item.geometry),
+                            properties:JSON.parse(item.properties)
+                        }
+                    })
+                    const fourMapList = {
+                            "type": "FeatureCollection",
+                            "features": list
+                    }
+                    map.loadGeoJSON(fourMapList)
+                })
+                // $.get('./public/data/plots_namisuo.geojson', res => {
+                //     map.loadGeoJSON(res);
+                // });
             },
             initEvent(map) {
                 let popup = null;
diff --git a/src/views/doublePreventAction/riskLevelManage/fourColorMap/sixty/index.vue b/src/views/doublePreventAction/riskLevelManage/fourColorMap/sixty/index.vue
index 18f51e6..3cf2945 100644
--- a/src/views/doublePreventAction/riskLevelManage/fourColorMap/sixty/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/fourColorMap/sixty/index.vue
@@ -2,7 +2,7 @@
     
     <div class="map-layout">
         <Map @init="init" :option="option" v-if="option" />
-        <Tab v-if="loaded" />
+        <Tab v-if="loaded" :type='type' :colorMapList='colorMapList'/>
     </div>
 
 
@@ -31,6 +31,8 @@
                 option: null,
                 heatLayer: null,
                 shineishiwai: true,
+                colorMapList:[],
+                type:1,
             };
         },
         mounted() {
@@ -115,22 +117,28 @@
             testLoadedData() {
                 const map = global.map;
                 if (!map) return;
-                let params = {}
+                const params = {}
+        
                 params['eType'] = 1
                 getMap(params).then(res =>{
-                    const list = res.data.result.map(item =>{
+                    let list = []
+                    let fourMapList = []
+                    this.colorMapList = res.data.result
+                    list = res.data.result.map(item =>{
                         return{
                             type:item.type,
                             geometry:JSON.parse(item.geometry),
                             properties:JSON.parse(item.properties)
                         }
                     })
-                    const fourMapList = {
+                    fourMapList = {
                             "type": "FeatureCollection",
                             "features": list
                     }
-                    debugger
                     map.loadGeoJSON(fourMapList)
+                    // $.get('./public/data/plots_namisuo.geojson', res => {
+                    // map.loadGeoJSON(res);
+                    // });
                 })
             },
             initEvent(map) {

--
Gitblit v1.9.2