119 lines
2.9 KiB
Vue
119 lines
2.9 KiB
Vue
<template>
|
|
<view style="height: 100vh;width: 100%;">
|
|
<view class="fixedheader">
|
|
<headers :showBack="true">
|
|
<view class="headerName">
|
|
|
|
</view>
|
|
</headers>
|
|
</view>
|
|
<view class="page-body">
|
|
<view class="page-section page-section-gap">
|
|
<map style="width: 100%; height: 100vh;" :markers="markersArr" :latitude="latitude"
|
|
:longitude="longitude" @markertap="markTap">
|
|
</map>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
id: 0, // 使用 marker点击事件 需要填写id
|
|
title: 'map',
|
|
latitude: 39.909,
|
|
longitude: 116.39742,
|
|
projectSn: "",
|
|
markersArr: [],
|
|
alarmPersonName:"",
|
|
}
|
|
},
|
|
onLoad(option) {
|
|
console.log(666777)
|
|
this.latitude = option.latitude ? option.latitude : '39.909';
|
|
this.longitude = option.longitude ? option.longitude : '116.39742';
|
|
this.alarmPersonName = option.alarmPersonName ? option.alarmPersonName : '';
|
|
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
|
|
this.getListData();
|
|
},
|
|
methods: {
|
|
markTap(e) {
|
|
console.log('ccccccc')
|
|
console.log(JSON.stringify(e))
|
|
console.log('ccccccc')
|
|
uni.openLocation({
|
|
// 目标位置的经纬度
|
|
latitude: parseFloat(e.target.latitude),
|
|
longitude: parseFloat(e.target.longitude),
|
|
// 调用成功时的回调函数
|
|
success: function(res) {
|
|
console.log('调用成功:', res)
|
|
},
|
|
// 调用失败时的回调函数
|
|
fail: function(res) {
|
|
console.log('调用失败:', res)
|
|
},
|
|
// 调用完成时的回调函数
|
|
complete: function(res) {
|
|
console.log('调用完成:', res)
|
|
}
|
|
})
|
|
|
|
},
|
|
//获取记录
|
|
getListData() {
|
|
let that = this;
|
|
//获取我整改的巡查记录数量
|
|
this.sendRequest({
|
|
url: 'xmgl/xzEmergencyReliefGoods/list',
|
|
method: 'get',
|
|
data: {
|
|
projectSn: this.projectSn,
|
|
},
|
|
success: res => {
|
|
console.log(res)
|
|
const newResult = res.result.filter(item => item.longitude || item.latitude).map(
|
|
(item, index) => {
|
|
return {
|
|
id: index + 1,
|
|
latitude: item.latitude ? item.latitude : 0,
|
|
longitude: item.longitude ? item.longitude : 0,
|
|
title: item.goodsName,
|
|
label: {
|
|
content: item.goodsName,
|
|
textAlign: "center",
|
|
},
|
|
iconPath: '/static/address-logo1.png',
|
|
}
|
|
});
|
|
|
|
that.markersArr = newResult.concat([{
|
|
id: -1,
|
|
latitude: that.latitude,
|
|
longitude: that.longitude,
|
|
label: {
|
|
content: that.alarmPersonName,
|
|
textAlign: "center",
|
|
},
|
|
// title: item.goodsName,
|
|
iconPath: '/static/address-logo2.png',
|
|
}])
|
|
|
|
}
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.fixedheader {
|
|
background-color: transparent;
|
|
:deep(.headerBox ){
|
|
background-color: transparent;
|
|
color: #fff;
|
|
}
|
|
}
|
|
</style> |