From 22f9e400ea731da9ee6be6fa389adebfc3438f63 Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期二, 04 七月 2023 15:32:24 +0800
Subject: [PATCH] 对接接口

---
 src/pages/show/showIndex/showIndex.vue |  318 +++++++++++++++++------------------------------------
 1 files changed, 102 insertions(+), 216 deletions(-)

diff --git a/src/pages/show/showIndex/showIndex.vue b/src/pages/show/showIndex/showIndex.vue
index 3876f73..02ec8b2 100644
--- a/src/pages/show/showIndex/showIndex.vue
+++ b/src/pages/show/showIndex/showIndex.vue
@@ -9,6 +9,19 @@
     </baidu-map>
     <!--<div class="map_container" id="map_container"></div>-->
   </div>
+  <div class="upload-box">
+    <el-dropdown @command="uploadClick">
+      <el-button class="uploadBtn" plain size="small">
+        涓婁紶鏂囦欢<i class="el-icon-arrow-down el-icon--right"></i>
+      </el-button>
+      <el-dropdown-menu slot="dropdown">
+        <el-dropdown-item command="1">
+          鎶ヨ
+        </el-dropdown-item>
+        <el-dropdown-item  command="0">鐘舵�佸��</el-dropdown-item>
+      </el-dropdown-menu>
+    </el-dropdown>
+  </div>
   <div class="showIndex-wrap-inside">
     <div class="indexMoudleBlock-box">
       <IndexMoudleBlock></IndexMoudleBlock>
@@ -20,7 +33,7 @@
       <TimesLogs></TimesLogs>
     </div>
   </div>
-
+  <uploadForm ref="uploadForm" v-if="uploadVisiable"></uploadForm>
 </div>
 </template>
 
@@ -28,12 +41,15 @@
   import IndexMoudleBlock from "./IndexMoudleBlock";
   import TimesLogs from "./TimesLogs";
   import YunweiBlock from "./YunweiBlock";
+  import uploadForm from "./upload/uploadForm";
+  import {getMapData} from '@/api/daping'
     export default {
         name: "showIndex",
         components: {
             IndexMoudleBlock,
             YunweiBlock,
-            TimesLogs
+            TimesLogs,
+            uploadForm
         },
         data() {
             return{
@@ -42,180 +58,36 @@
                 mapObj:{},
                 mapData:[],
                 mapData2:[],
+                uploadVisiable:false,  //涓婁紶鏂囦欢寮规
+                timer:null
             }
+        },
+        destroyed() {
+          clearInterval(this.timer)
         },
         mounted() {
           //this.getMapData()
           //this.initMap()
+          this.timer = setInterval(() => {
+              this.getMapData()
+          },300000)
         },
         methods: {
-            // initMap() {
-            //    let map = new BMapGL.Map('map_container')
-            //    map.centerAndZoom(new BMapGL.Point(118.183450598,39.6505309225),12)
-            //    let goodsData = require('../../../assets/js/custom_map_config2')
-            //     map.setMapStyleV2({
-            //         styleJson: goodsData
-            //         // styleId: '5f9b8a9639cf6e4ae8806379bedba141'
-            //         // style: 'bluish'
-            //     })
-            //    map.setTilt(0)
-            //    map.setHeading(0)
-            //    map.enableScrollWheelZoom(true)  //寮�鍚缉鏀惧姛鑳�
-            //
-            //     // //鍥惧眰绠$悊鍣紙Api鏂囨。--鍥惧眰绠$悊鍣級
-            //     // var view = new mapvgl.View({
-            //     //     map: map,  //鎶婄敓鎴愮殑鍦板浘map浼犺繘鏉�
-            //     // });
-            //     // //椋炵嚎鍥惧眰鐨勫垱寤烘柟寮忥紙Api鏂囨。--椋炵嚎鍥惧眰锛�
-            //     // var layer = new mapvgl.LineRainbowLayer({
-            //     //     // blend: 'lighter',
-            //     //     // width: 12,
-            //     //     //color: 'rgba(0, 96, 222, 1)',
-            //     //     // lineJoin:'bevel'
-            //     //     //style: 'road', // road, arrow, normal
-            //     //     width: 10,
-            //     //     //animation: true
-            //     //
-            //     // });
-            //     // var layer2 = new mapvgl.LineFlowLayer({
-            //     //     // color: 'rgba(0, 255, 252, 1)',
-            //     //     // width: 14,
-            //     //     // animation: true,
-            //     //     // duration: 1, // 寰幆鏃堕棿2s
-            //     //     // trailLength: 2, // 鎷栧熬闀垮害鍗犻棿闅旂殑0.4
-            //     //     // interval: 0.1, // 绮掑瓙闀垮害鍗犵嚎鏁翠綋闀垮害鐨�0.2
-            //     //     // //step:0.1,
-            //     //     // startTime: 0,
-            //     //     // endTime: 100,
-            //     //     // color: 'rgba(255, 71, 26, 0.9)',
-            //     //     // step: 0.1, // 鍔ㄧ敾鐨勯�熷害
-            //     //     // width: 10,
-            //     //     // animation: true,
-            //     //     // startTime:0,
-            //     //     // endTime:4,
-            //     //     // duration: 1, // 寰幆鏃堕棿2s
-            //     //     // trailLength: 0.2, // 鎷栧熬闀垮害鍗犻棿闅旂殑0.4
-            //     //     // interval: 0.1 // 绮掑瓙闀垮害鍗犵嚎鏁翠綋闀垮害鐨�0.2
-            //     //     color: 'rgba(0, 255, 252, 1)',
-            //     //     width: 6,
-            //     //     animation: true,
-            //     //     duration: 1.5, // 寰幆鏃堕棿2s
-            //     //     trailLength: 1, // 鎷栧熬闀垮害鍗犻棿闅旂殑0.4
-            //     //     interval: 0.05, // 绮掑瓙闀垮害鍗犵嚎鏁翠綋闀垮害鐨�0.2
-            //     //     step:0.02,
-            //     //     startTime: 0,
-            //     //     endTime: 100,
-            //     // });
-            //     // // let layer = new mapvgl.LineTripLayer({
-            //     // //     color: 'rgba(255, 71, 26, 0.9)',
-            //     // //     width: 16,
-            //     // //     animation: true,
-            //     // //     duration: 1, // 寰幆鏃堕棿2s
-            //     // //     trailLength: 20, // 鎷栧熬闀垮害鍗犻棿闅旂殑0.4
-            //     // //     interval: 0.1 // 绮掑瓙闀垮害鍗犵嚎鏁翠綋闀垮害鐨�0.2
-            //     // // });
-            //     // view.addLayer(layer)  //鎶婂浘灞傛坊鍔犲埌鍥惧眰绠$悊鍣ㄩ噸
-            //     // view.addLayer(layer2)  //鎶婂浘灞傛坊鍔犲埌鍥惧眰绠$悊鍣ㄩ噸
-            //     // layer.setData(this.mapData2)   //鍥惧眰鏁版嵁
-            //     // layer2.setData(this.mapData2)   //鍥惧眰鏁版嵁
-            // },
-
-            // getMapData() {
-            //     this.mapData = []
-            //     this.mapData2 = []
-            //     let re2 =  [
-            //         [
-            //             {
-            //                 lng: 118.144674,
-            //                 lat: 39.660641
-            //             },
-            //             {
-            //                 lng: 118.229198,
-            //                 lat: 39.763508
-            //             },
-            //         ],
-            //         [
-            //             {
-            //                 lng: 118.180618,
-            //                 lat: 39.753635
-            //             },
-            //             {
-            //                 lng: 118.229198,
-            //                 lat: 39.753635
-            //             },
-            //         ],
-            //         [
-            //             {
-            //                 lng: 118.232887,
-            //                 lat: 39.619857
-            //             },
-            //             {
-            //                 lng: 118.208669,
-            //                 lat: 39.596232
-            //             }
-            //         ],
-            //         [
-            //             {
-            //                 lng: 118.240577,
-            //                 lat: 39.661919
-            //             },
-            //             {
-            //                 lng: 118.187038,
-            //                 lat: 39.635918
-            //             }
-            //         ],
-            //         [
-            //             {
-            //                 lng: 118.185321,
-            //                 lat: 39.678277
-            //             },
-            //             {
-            //                 lng: 118.217221,
-            //                 lat: 39.677581
-            //             }
-            //         ],
-            //         [
-            //             {
-            //                 lng: 118.184038,
-            //                 lat: 39.631268
-            //             },
-            //             {
-            //                 lng: 118.184042,
-            //                 lat: 39.624384
-            //             }
-            //         ]
-            //     ]
-            //     let re = [
-            //         [118.184038,39.631268],
-            //         [118.184042,39.624384],
-            //
-            //
-            //     ]
-            //     let curve = new mapvgl.BezierCurve()
-            //     for(let i=0; i<re2.length; i++) {
-            //         //re[i].lng
-            //         curve.setOptions({
-            //             start:[re2[i][0].lng,re2[i][0].lat],
-            //             end:[re2[i][1].lng,re2[i][1].lat]
-            //         })
-            //         let cureData = curve.getPoints()
-            //         console.log(re2[i],'re[i]=====')
-            //         this.mapData2.push({
-            //             geometry: {  //鎼哄甫鍦扮悊淇℃伅
-            //                 type: 'LineString',
-            //                 coordinates:cureData,  //鎶婅礉濉炲皵鏇茬嚎鐨勬暟鎹斁杩涙潵
-            //             }
-            //         })
-            //     }
-            //     console.log(this.mapData2,'mapData2===')
-            //     this.mapData.push({
-            //           geometry: {  //鎼哄甫鍦扮悊淇℃伅
-            //               type: 'LineString',
-            //               coordinates:re,  //鎶婅礉濉炲皵鏇茬嚎鐨勬暟鎹斁杩涙潵
-            //           },
-            //       })
-            //     console.log(this.mapData,'mapData===')
-            // }
+            uploadClick(type) {
+                console.log(type,'type===')
+                this.uploadVisiable = true
+                this.$nextTick(() => {
+                    this.$refs.uploadForm.init(type)
+                })
+            },
+            getMapData() {
+                getMapData().then(res => {
+                    if(res.code == 0) {
+                        this.mapData = res.data
+                        this.addMarker()
+                    }
+                })
+            },
             handler({BMap, map}) {
                 this.mapObj = {BMap, map}
                 let goodsData = require('../../../assets/js/custom_map_config2')
@@ -228,62 +100,49 @@
                     // style: 'bluish'
                 })
                 map.setCurrentCity('鍞愬北')   // 璁剧疆鍦板浘鏄剧ず鐨勫煄甯� 姝ら」鏄繀椤昏缃殑
-                this.addMarker()
+                this.getMapData()
 
             },
 
             addMarker() {
-                this.mapData = [
-                    {
-                        latitude: '118.20,39.63',
-                    },
-                    {
-                        latitude: '118.117511,39.625670',
-                    },
-                    {
-                        latitude: '118.114897,39.684427',
-                    },
-                    {
-                        latitude: '118.119517,39.655598',
-                    },
-                    {
-                        latitude: '118.116267,39.694433',
-                    },
-                    {
-                        latitude: '118.311267,39.694433',
-                    },
-                    {
-                        latitude: '118.211267,39.694433',
-                    },
-                    {
-                        latitude: '118.011267,39.674433',
-                    },
-                    {
-                        latitude: '118.011227,39.604433',
-                    }
-                ]
                 let BMap = this.mapObj.BMap
                 let map = this.mapObj.map
                 this.mapData.forEach(item => {   //lng 缁忓害  lat 缁忓害
-                    if(item.latitude != null && item.latitude != '') {
-                        let longitude = item.latitude.split(',')[0]
-                        let latitude = item.latitude.split(',')[1]
-                        let myIcon = new BMap.Icon(
-                            require("../../../assets/img/markerIcon.png"),
-                            new BMap.Size(35, 35),
-                            { imageSize: new BMap.Size(35, 35),anchor : new BMap.Size(35, 35) })
+                    console.log(this.mapData,'this.mapData===')
+                    if(item.lat && item.lat) {
+                        let longitude = item.lon
+                        console.log(item.lon,'缁忕含----')
+                        console.log(item.lat,'缁忕含----')
+                        let latitude = item.lat
+                        let myIcon = ''
+                        if(item.health == 0) {
+                            myIcon = new BMap.Icon(
+                                require("../../../assets/img/markerIcon3.png"),
+                                new BMap.Size(35, 35),
+                                { imageSize: new BMap.Size(35, 35),anchor : new BMap.Size(35, 35) })
+                        }else {
+                            myIcon = new BMap.Icon(
+                                require("../../../assets/img/markerIcon2.png"),
+                                new BMap.Size(35, 35),
+                                { imageSize: new BMap.Size(35, 35),anchor : new BMap.Size(35, 35) })
+                        }
+
                         let point = new BMap.Point(longitude,latitude)
                         let marker = new BMap.Marker(point,{icon:myIcon})
                         map.addOverlay(marker)
-                        map.setZoom(12)
+                        map.setZoom(13)
                         // 娣诲姞榧犳爣鍒掑叆鍧愭爣鐐圭殑鏄剧ず鍐呭
+                        let isH = ''
+                        if(item.health == 0) {
+                            isH = '姝e父'
+                        }else {
+                            isH = '寮傚父'
+                        }
                         let str = '<div style="padding:4px 10px;width:300px;max-width: 400px;display: flex;flex-direction: row;">'
                         str += '<div>'
-                        str += '<h1 style="font-size: 13px;text-align: center;line-height: 2"> ' + item.subjectName + '</h1>'
                         str += '<div style="display: flex;flex-direction: column">'
-                        str += '<div><h1 style="font-size: 12px;padding:2px 0;width: 100%;white-space:pre-wrap">妗堜欢鎻忚堪锛�'+item.casePoint+'</h1></div>'
+                        str += '<div><h1 style="font-size: 12px;padding:2px 0;width: 100%;white-space:pre-wrap">閫氳鐘舵�侊細'+isH+'</h1></div>'
                         str += '<div><h1 style="font-size: 12px;padding:2px 0"">鍦板潃锛�'+item.address+'</h1></div>'
-                        str += '<div><h1 style="font-size: 12px;padding:2px 0">鏃堕棿锛�'+item.time+'</h1></div>'
                         str += '</div>'
                         str += '</div>'
                         let opts = {
@@ -305,20 +164,21 @@
                         // 鍦ㄥ叏鏅満鏅唴娣诲姞瑕嗙洊鐗�
                         map.addOverlay(label);
                         marker.addEventListener('mouseover', function () {
+                            console.log(marker,'marker==')
                             //榧犳爣绉诲叆鍔ㄧ敾
                             let divElement = document.createElement('div')
                             divElement.className = 'before'
                             let divElement2 = document.createElement('div')
                             divElement2.className = 'after'
-                            marker.gd.innerHtml = marker.gd.childNodes[0]
-                            marker.gd.appendChild(divElement)
-                            marker.gd.appendChild(divElement2)
-                            marker.gd.className = ''
-                            marker.gd.className = 'mapBGFault'
+                            marker.hd.innerHtml = marker.hd.childNodes[0]
+                            marker.hd.appendChild(divElement)
+                            marker.hd.appendChild(divElement2)
+                            marker.hd.className = ''
+                            marker.hd.className = 'mapBGFault'
                             label.show()
                         })
                         marker.addEventListener('mouseout', function () {
-                            marker.gd.className = ''
+                            marker.hd.className = ''
                             label.hide()
                         })
 
@@ -329,6 +189,22 @@
     }
 </script>
 
+<style lang="scss">
+  .upload-box{
+    .uploadBtn{
+       background: linear-gradient(to right,#0e0e25,#092749);
+    }
+    .el-button.is-plain:focus, .el-button.is-plain:hover{
+      background: transparent;
+    }
+    .el-button{
+      border:1px solid #1ee3f3!important;
+      span{
+        color: #fff;
+      }
+    }
+  }
+</style>
 <style lang="scss" scoped>
 
 .showIndex-wrap{
@@ -336,6 +212,16 @@
   height: calc(100% - 0.4167rem  /* 80/192 */);
   margin-top: 0.1042rem  /* 20/192 */;
   position: relative;
+  .upload-box{
+    position: absolute;
+    right: 0.1042rem  /* 20/192 */;
+    top: -0.09375rem  /* -18/192 */;
+    z-index: 999999999;
+  }
+  .showIndex-wrap-inside{
+    width: 100%;
+    height: 100%;
+  }
   .indexMoudleBlock-box{
     position: absolute;
     left: 0.1823rem  /* 35/192 */;

--
Gitblit v1.9.1