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.
 

275 lines
7.4 KiB

// pages/order/components/contact/index.js
import userApi from "../../../../utils/https/user"
import commonApi from "../../../../utils/https/common"
let app = getApp()
Component({
/**
* 组件的属性列表
*/
options: {
styleIsolation: 'apply-shared',
addGlobalClass: true
},
properties: {
showSelect: {
type: Boolean,
value: true
},
},
/**
* 组件的初始数据
*/
data: {
selectLinkman: null,
linkmanList: [],
showMask: false,
editId: null
},
lifetimes: {
attached: function () {
// 在组件实例进入页面节点树时执行
// 获取默认联系人 如果有临时存储的联系人则不获取默认联系人
commonApi.user_post("token/check").then(res => {
if (res.code == 1) {
console.log(wx.getStorageSync('linkMan'));
if (wx.getStorageSync('linkMan')) {
this.getLinkmanList()
} else {
userApi.user_post("user/getDefaultContact", {
contactType: "CONSIGNEE",
tm_flag: true,
}).then(res => {
this.setData({
selectLinkman: res.data
})
if (res.data) {
this.triggerEvent("setAddress", res.data)
}
this.getLinkmanList()
})
}
}
})
},
detached: function () {
// 在组件实例被从页面节点树移除时执行
},
},
pageLifetimes: {
show: function () {
// 页面被展示
if (this.data.editId) {
let editId = this.data.editId;
userApi.user_post("user/getContactInfoById", {
id: editId
}).then(res => {
let selectLinkman = this.data.selectLinkman,
linkmanList = this.data.linkmanList;
if (selectLinkman.id == editId) {
selectLinkman.name = res.data.name;
selectLinkman.tel = res.data.tel;
selectLinkman.address = res.data.address;
selectLinkman.is_default = res.data.is_default;
}
linkmanList.map(item => {
if (item.id == editId) {
item.name = res.data.name;
item.tel = res.data.tel;
item.address = res.data.address;
item.is_default = res.data.is_default;
} else if (res.data.is_default == 1 && item.is_default == 1) {
item.is_default = 0;
}
})
this.setData({
linkmanList: linkmanList,
selectLinkman: selectLinkman
})
this.triggerEvent("setAddress", res.data)
})
} else {
commonApi.user_post("token/check").then(res => {
if (res.code == 1) {
if (!wx.getStorageSync('linkMan')) {
this.getDefault()
}else{
this.setData({
selectLinkman: wx.getStorageSync('linkMan')
})
this.triggerEvent("setAddress",wx.getStorageSync('linkMan'))
this.getLinkmanList()
}
}
})
}
},
hide: function () {
// 页面被隐藏
},
resize: function (size) {
// 页面尺寸变化
}
},
/**
* 组件的方法列表
*/
methods: {
gotoEdit: function (e) {
this.setData({
editId: e.currentTarget.dataset.item.id
})
wx.navigateTo({
url: '/pages/user/address/add/index?id=' + this.data.editId + '&from=order',
})
this.setData({
editId: null
})
},
showLinkman: function () {
this.setData({
showMask: !this.data.showMask
})
},
cancel: function () {
// let selectLinkman = this.data.selectLinkman,linkmanList = this.data.linkmanList;
// linkmanList.map(linkman=>{
// linkman.selected = 0;
// if(selectLinkman.id==linkman.id){
// linkman.selected = 1;
// }
// })
// this.setData({
// linkmanList:linkmanList
// })
this.showLinkman()
},
confirm: function () {
let linkmanList = this.data.linkmanList,
selectLinkman = null;
linkmanList.map(linkman => {
if (linkman.selected == 1) {
selectLinkman = (linkman);
}
})
this.setData({
selectLinkman: selectLinkman
})
this.triggerEvent("setAddress", selectLinkman)
this.showLinkman()
},
getLinkmanList: function () {
// 直接获取1000条出行人信息 就不要分页了
userApi.user_post("user/getContactOrConsignee", {
contactType: "CONSIGNEE",
offset: 0,
limit: 1000,
tm_flag: true,
}).then(res => {
let list = res.data;
this.setData({
linkmanList: list
})
})
},
setDefault: function (e) {
let item = e.currentTarget.dataset.item,
linkmanList = this.data.linkmanList;
userApi.user_post("user/setDefaultConsignee", {
id: item.id
}).then(res => {
if (res.code == 1) {
wx.showToast({
title: '设置成功',
icon: 'success'
})
linkmanList.map(linkman => {
if (linkman.id == item.id) {
linkman.is_default = 1;
} else {
linkman.is_default = 0;
}
})
this.setData({
linkmanList: linkmanList
})
}
})
},
delLinkman: function (e) {
wx.showLoading({
title: '加载中',
})
let index = e.currentTarget.dataset.index,
selectLinkman = this.data.selectLinkman;
selectLinkman.splice(index, 1);
this.setData({
selectLinkman: selectLinkman
})
wx.hideLoading()
},
del: function (e) {
let item = e.currentTarget.dataset.item,
index = e.currentTarget.dataset.index,
that = this,
linkmanList = this.data.linkmanList;
wx.showModal({
title: "提示",
content: "确定删除吗?",
success(res) {
if (res.confirm) {
userApi.user_post("user/delConsignee", {
id: item.id
}).then(res => {
if (res.code == 1) {
wx.showToast({
title: '删除成功',
icon: "success"
})
linkmanList.splice(index, 1);
that.setData({
linkmanList: linkmanList
})
}
})
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
},
selectIt: function (e) {
let item = e.currentTarget.dataset.item;
this.setData({
selectLinkman: item,
showMask: false
})
wx.setStorageSync('linkMan', item)
console.log(wx.getStorageSync('linkMan'));
this.triggerEvent("setAddress", item)
},
getDefault: function (e) {
commonApi.user_post("token/check").then(res => {
if (res.code == 1) {
userApi.user_post("user/getDefaultContact", {
contactType: "CONSIGNEE",
tm_flag: true,
}).then(res => {
console.log(res)
this.setData({
selectLinkman: res.data
})
if (res.data) {
this.triggerEvent("setAddress", res.data)
}
this.getLinkmanList()
})
}
})
}
}
})