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