164 lines
3.8 KiB
JavaScript
164 lines
3.8 KiB
JavaScript
// eaterplanet_ecommerce/moduleB/rider/index.js
|
|
var app = getApp();
|
|
var location = require("../../utils/Location")
|
|
|
|
Page({
|
|
data: {
|
|
orderdistribution_info: {},
|
|
waite_get_count: 0,
|
|
sending_count: 0,
|
|
sended_count: 0,
|
|
waite_send_list: [],
|
|
sending_send_list: [],
|
|
scale:'15',
|
|
controls:'40',
|
|
latitude:'',
|
|
longitude:'',
|
|
markers: [],
|
|
},
|
|
handlerGobackClick(delta) {
|
|
const pages = getCurrentPages();
|
|
if (pages.length >= 2) {
|
|
wx.navigateBack({
|
|
delta: delta
|
|
});
|
|
} else {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
}
|
|
},
|
|
handlerGohomeClick(url) {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
},
|
|
onLoad: function (options) {
|
|
this.getMyLocal();
|
|
},
|
|
|
|
onReady: function (e) {
|
|
this.mapCtx = wx.createMapContext('myMap')
|
|
},
|
|
|
|
getMyLocal: function() {
|
|
let that = this;
|
|
location.getGps().then(ret=>{
|
|
that.setData({
|
|
scale: 12,
|
|
longitude: ret.longitude,
|
|
latitude: ret.latitude
|
|
})
|
|
// wx.getLocation({
|
|
// type: 'wgs84',
|
|
// success: (res) => {
|
|
// console.log("getMyLocal",res)
|
|
// that.setData({
|
|
// scale: 12,
|
|
// longitude: res.longitude,
|
|
// latitude: res.latitude
|
|
// })
|
|
// }
|
|
// });
|
|
}).catch(()=>{
|
|
app.util.message('地图功能开启失败', '', 'error');
|
|
})
|
|
},
|
|
|
|
getMemberMarkers: function(listData) {
|
|
var market = [];
|
|
// 待取货
|
|
if(listData[0] && listData[0].length) {
|
|
for (let item of listData[0]) {
|
|
let marker1 = this.createMarker(item);
|
|
market.push(marker1)
|
|
}
|
|
}
|
|
// 配送中
|
|
if(listData[1] && listData[1].length) {
|
|
for (let item of listData[1]) {
|
|
let marker1 = this.createMarker(item, 1);
|
|
market.push(marker1)
|
|
}
|
|
}
|
|
return market;
|
|
},
|
|
|
|
createMarker: function(point, type=0) {
|
|
let latitude = point.shop_lat;
|
|
let longitude = point.shop_lon;
|
|
if(type==1){
|
|
latitude = point.member_lat;
|
|
longitude = point.member_lon;
|
|
}
|
|
let marker = {
|
|
iconPath: type==0?"../images/location-red.png":"../images/location-green.png",
|
|
id: point.order_id+'_'+type,
|
|
title: type==0?'待取货':'配送中',
|
|
latitude,
|
|
longitude,
|
|
label:{
|
|
anchorX: -12,
|
|
anchorY: 0,
|
|
content: type==0?'商家':'客户'
|
|
},
|
|
width: 30,
|
|
height: 30
|
|
};
|
|
return marker;
|
|
},
|
|
|
|
markertap: function(e){
|
|
console.log(e.detail)
|
|
},
|
|
|
|
controltap: function(e) {
|
|
this.moveToLocation()
|
|
},
|
|
|
|
moveToLocation: function () {
|
|
this.mapCtx.moveToLocation()
|
|
},
|
|
|
|
regionchange: function(){
|
|
|
|
},
|
|
|
|
onShow: function () {
|
|
this.getData();
|
|
},
|
|
|
|
getData: function () {
|
|
let token = wx.getStorageSync('token');
|
|
app.util.ProReq('localtown.get_orderdistribution_info', { token }).then(res => {
|
|
let { orderdistribution_info, waite_get_count, sending_count, sended_count, waite_send_list, sending_send_list } = res.data;
|
|
let markers = this.getMemberMarkers([waite_send_list, sending_send_list]);
|
|
this.setData({
|
|
orderdistribution_info, waite_get_count, sending_count, sended_count, waite_send_list, sending_send_list, markers
|
|
})
|
|
}).catch(err => {
|
|
console.log(err)
|
|
app.util.message(err.msg || '请求出错', 'switchTo:/eaterplanet_ecommerce/pages/user/me', 'error');
|
|
})
|
|
},
|
|
|
|
goLink: function(event) {
|
|
let link = event.currentTarget.dataset.link;
|
|
var pages_all = getCurrentPages();
|
|
if (pages_all.length > 3) {
|
|
wx.redirectTo({
|
|
url: link
|
|
})
|
|
} else {
|
|
wx.navigateTo({
|
|
url: link
|
|
})
|
|
}
|
|
},
|
|
|
|
// 接单状态切换
|
|
switchState: function(e){
|
|
console.log(e.detail.value)
|
|
}
|
|
})
|