// 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: { }, /** * 组件的初始数据 */ data: { selectLinkman:null, linkmanList:[], showMask:false, editId:null }, lifetimes: { attached: function() { // 在组件实例进入页面节点树时执行 // 获取默认联系人 commonApi.user_post("token/check").then(res=>{ if(res.code==1){ userApi.user_post("user/getDefaultContact",{ contactType:"CONSIGNEE" }).then(res=>{ console.log(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){ this.getDefault() } }) } }, 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 }).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 }) 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" }).then(res=>{ console.log(res) this.setData({ selectLinkman:res.data }) if(res.data){ this.triggerEvent("setAddress",res.data) } this.getLinkmanList() }) } }) } } })