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

185 lines
4.2 KiB

4 years ago
// pages/user/address/index.js
import user from "../../../utils/https/user.js"
import util from "../../../utils/util.js"
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
pageNo:1,
list:[],
isMore:true,
fromOrder:null,
safeBottom:app.globalData.safeBottom
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
fromOrder:options.from || null,
pid:options.pid || null,
sid:options.sid || null
})
},
// 如果是来自订单的点击选中联系人
setOrderLinkman:function(e){
console.log(this.data.fromOrder)
if(this.data.fromOrder=='order'){
let pid = this.data.pid,sid = this.data.sid;
app.globalData.shoppingCart.map((item,index,arr)=>{
if(item.baseInfo.id==pid && item.skuInfo.id==sid){
// 只有当产品id和规格id一致的时候才把联系人赋值进去
// 并且只有当这个联系人没有在选中的联系人中才需要赋值
let index = item.linkman.findIndex((l)=>l.id==e.currentTarget.dataset.item.id);
if(item.productNum<=item.linkman.length && index==-1){
item.linkman[item.linkman.length-1] = e.currentTarget.dataset.item
}
else if(index==-1){
item.linkman.push(e.currentTarget.dataset.item)
}
}
})
util.back()
}
else if(this.data.fromOrder=='CtripOrder'){
// 携程下单来的
app.globalData.product.linkman = e.currentTarget.dataset.item;
util.back();
}
},
getList: function () {
user.user_post("user/getContactOrConsignee", {
contactType:"CONTACT",
offset: this.data.list.length,
limit: 10
}).then(res => {
let list = this.data.list.concat(res.data),isMore = true;
if(res.data.length<10){
isMore = false;
}
this.setData({
list: list,
isMore: isMore
})
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
// 设为默认
setDefault:function(e){
let item = e.currentTarget.dataset.item;
if(item.is_default==1) return;
user.user_post("user/setDefaultContact",{contactId:item.id}).then(res=>{
// 设置默认成功
let list = this.data.list;
if(res.data){
wx.showToast({
title: '操作成功!',
icon:"success"
});
list.map((i,index,arr)=>{
if(i.id==item.id){
i.is_default = 1;
}
else {
i.is_default = '0';
}
})
this.setData({
list:list
})
}
})
},
// 删除单个地址
del: function (e) {
let that = this, id = e.currentTarget.dataset.id, index = e.currentTarget.dataset.index;
wx.showModal({
title: '提示',
content: '确定删除吗?',
success: function (res) {
if (res.confirm) {
// 确定删除
user.user_post("user/delContact", { contactId: id }).then(res => {
if (res.code==1) {
wx.showToast({
title: '删除成功',
icon: 'success'
})
let data = that.data.list;
data.splice(index, 1)
that.setData({
list: data
})
}
})
}
}
})
},
add: function (e) {
console.log(e)
if (e.target.dataset.id) {
wx.navigateTo({
url: './add/index?id=' + e.target.dataset.id
})
}
else {
wx.navigateTo({
url: './add/index?id='
})
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.setData({
list:[],
pageNo:1,
isMore:true
})
this.getList();
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(this.data.isMore){
this.getList();
}
}
})