You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

227 lines
4.9 KiB
JavaScript

9 months ago
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
pageNumber: 1,
pageSize: 15,
busMode: "",
list: [],
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
this.setData({
busMode: options.busMode,
color:app.globalData.color
})
},
/**
*
*/
onShow: function() {
this.cy_getProgramAddressList();
},
/**
*
*/
cy_getProgramAddressList: function() {
var that = this;
var params = {
method: "program.useraddress.list",
programId: app.globalData.programId,
openId: app.openId,
pageNumber: that.data.pageNumber,
pageSize: that.data.pageSize,
};
console.log(params);
var ignores = ["openId", "pageNumber", "pageSize"];
app.jsapi.memberApi(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores, function(json) {
console.log(json);
wx.stopPullDownRefresh();
var data = json.data;
if (data.status == 1) {
var list = data.list;
if (list.length == 0) {
wx.showToast({
title: '暂无收货地址',
icon: "none"
})
return;
}
for (var item of list) {
if (item.addressType == 0) {
item.desType = "公司";
}
if (item.addressType == 1) {
item.desType = "家";
}
if (item.addressType == 2) {
item.desType = "学校";
}
}
that.setData({
list: list
});
} else {
wx.showToast({
title: data.errMsg,
icon: "none"
})
}
}, function(err) {
wx.showToast({
title: '网络异常,请检查',
icon: "none"
})
});
},
/**
* 选择收货地址
*/
cy_selectAddress: function(e) {
var id = e.currentTarget.dataset.id;
var addressList = this.data.list;
var index = e.currentTarget.dataset.index;
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2] //上一个页面var
if (typeof prevPage.cy_loadAddress == "undefined") {
return;
}
var address = this.data.list[index];
if (this.data.busMode == 3) {
var store = wx.getStorageSync("store");
var distance = app.utils.getDistance(store.latitude, store.longitude, address.latitude, address.longitude);
var deliverKilometre = 5;
if (store.deliverKilometre) {
deliverKilometre = parseFloat(store.deliverKilometre);
}
// console.log(distance, deliverKilometre);
// console.log(distance > deliverKilometre);
if (distance > deliverKilometre) {
wx.showToast({
title: '注意:超过' + deliverKilometre + "公里不支持配送",
icon: "none",
})
return;
}
}
prevPage.cy_loadAddress(address);
wx.navigateBack({
})
},
/**
* 编辑
*/
cy_tapEditAddress: function(e) {
console.log(e)
var index = e.currentTarget.dataset.index;
var item = this.data.list[index];
wx.navigateTo({
url: 'managerNewAddress?address=' + JSON.stringify(item),
})
},
/**
* 删除
*/
cy_tapDeleteAddress: function(e) {
console.log(e);
var that = this;
var index = e.currentTarget.dataset.index;
wx.showModal({
title: "提示",
content: "确定删掉收货地址",
success: res => {
console.log(res);
if (res.confirm) {
that.cy_startDeleteAddress(index);
}
}
})
},
/**
* 确定删除收货地址
*/
cy_startDeleteAddress: function(index) {
var that = this;
var item = this.data.list[index];
console.log(item);
var params = {
method: "program.useraddress.delete",
programId: app.globalData.programId,
id: item.id,
openId: app.openId,
}
var ignores = ["openId"];
app.jsapi.memberApi(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores, function(json) {
console.log(json);
var data = json.data;
if (data.status == 1) {
var list = [];
for (var i = 0; i < that.data.list.length; i++) {
if (i == index) {
continue;
}
var item = that.data.list[i];
list.push(item);
}
that.setData({
list: list
});
} else {
wx.showToast({
title: data.message,
icon: none
})
}
},
function(err) {
});
},
/**
* 新建收货地址
*/
cy_tapNewAddress: function() {
wx.navigateTo({
url: 'managerNewAddress',
})
},
onPullDownRefresh: function() {
console.log("下拉刷新");
this.cy_getProgramAddressList();
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
}
})