var app = getApp(); var WXAPI = require('../../utils/server.js'); var t = 0; var moveY = 200; var index = [0, 0, 0]; var sheng = [];//省 var shi = [];//城市 var xian = [];//区县 Page({ data: { sheng: sheng, shi: shi, xian: xian, value: [0, 0, 0], cartId: 0, arr: [], show: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { wx.setNavigationBarColor({ frontColor: app.d.frontColor, backgroundColor: app.d.bgcolor, //页面标题为路由参数 animation: { duration: 400, timingFunc: 'easeIn' } }) this.setData({ bgcolor: app.d.bgcolor, cartId: options.cartId }); this.AddressManagement(); }, aotuAddress: function () { var that = this; console.log(that.data.arr) wx.chooseAddress({ success: function (res) { var user_name = res.userName; var mobile = res.telNumber; var address = res.detailInfo; that.setData({ sheng: res.provinceName, shi: res.cityName, xian: res.countyName, province: res.provinceName, city: res.cityName, county: res.countyName, user_name: user_name, mobile: mobile, address: address, }); } }) }, /** * 添加地址 */ AddressManagement: function () { var that = this; WXAPI.addressManagement({ openid: app.globalData.userInfo.openid, }).then(res => { if (res.code == 200) { var data = res; var sheng = data.sheng; var shi = data.shi; var xian = data.xian; that.setData({ sheng: sheng, shi: shi, xian: xian }); } else { wx.showToast({ title: '非法操作!', duration: 2000 }); } }); }, // 点击选择城市 translate: function (e) { moveY = 200; this.data.show = true; t = 0; var province = this.data.province ? this.data.province : this.data.sheng[0].G_CName, city = this.data.city ? this.data.city : this.data.shi[0].G_CName, county = this.data.county ? this.data.county : this.data.xian[0].G_CName; console.log(province, city, county); this.setData({ province: province, city: city, county: county }); animationEvents(this, moveY, this.data.show); }, //隐藏弹窗浮层 hiddenFloatView(e) { moveY = 200; this.setData({ show: false }); t = 1; }, //滑动事件 bindChange: function (e) { var val = e.detail.value //判断滑动的是第几个column //若省份column做了滑动则定位到地级市和区县第一位 if (index[0] != val[0]) { val[1] = 0; val[2] = 0; index[1] = 0; index[2] = 0; this.getCityArr(val[0]);//获取地级市数据 this.getCountyInfo(val[0], val[1]);//获取区县数据 } else { //若省份column未做滑动,地级市做了滑动则定位区县第一位 if (index[1] != val[1]) { val[2] = 0; index[2] = 0; this.getCountyInfo(val[0], val[1]);//获取区县数据 } } index = val; this.Preservation(index); }, // 根据省获取市 getCityArr: function (count) { var that = this; WXAPI.getCityArr({ count: count, }).then(res => { if (res.code == 200) { var data = res; that.setData({ shi: data.shi }); } else { wx.showToast({ title: '非法操作!', duration: 2000 }); } }); }, // 根据省市获取县 getCountyInfo: function (count, column) { var that = this; WXAPI.getCountyInfo({ count: count, column: column, }).then(res => { if (res.code == 200) { var data = res; that.setData({ xian: data.xian }); } else { wx.showToast({ title: '非法操作!', duration: 2000 }); } }); }, // 滑动事件结束 Preservation: function (rew) { var that = this; WXAPI.preservation({ sheng: rew[0], shi: rew[1], xuan: rew[2] }).then(res => { if (res.code == 200) { var data = res; var province = data.province; var city = data.city; var county = data.county; that.setData({ province: province, city: city, county: county, }); } else { wx.showToast({ title: '非法操作!', duration: 2000 }); } }); }, // 点击保存 SaveAddress: function (e) { if (e.detail.value.user_name.length == 0) { wx.showToast({ title: '联系人不得为空!', icon: 'loading', duration: 1500 }) wx.hideToast() } else if (e.detail.value.mobile.length == 0) { wx.showToast({ title: '电话不得为空!', icon: 'loading', duration: 1500 }) wx.hideToast() } else if (e.detail.value.province.length == 0) { wx.showToast({ title: '城市不得为空!', icon: 'loading', duration: 1500 }) wx.hideToast() } else { var cartId = this.data.cartId, mobile = e.detail.value.mobile; //预处理验证手机号码 if (mobile.match(/^\d{11}$/)) { WXAPI.saveAddress({ openid: app.globalData.userInfo.openid, user_name: e.detail.value.user_name, mobile: e.detail.value.mobile, province: e.detail.value.province, city: e.detail.value.city, county: e.detail.value.county, address: e.detail.value.address }).then(res => { if (res.code == 200) { var data = res; wx.showToast({ title: data.info, icon: 'loading', duration: 1500 }) } else { app.d.islogin = true; wx.showToast({ title: data.info, icon: 'success', duration: 1000 }); //成功后返回上一页面 wx.navigateBack({ delta: 1 }); } }); } else { wx.showToast({ title: '手机号码格式错误,请重新输入!', icon: 'none', duration: 1000 }); } } } }) //动画事件 function animationEvents(that, moveY, show) { that.animation = wx.createAnimation({ transformOrigin: "50% 50%", duration: 400, timingFunction: "linear", delay: 0 }) that.animation.translateY(moveY + 'vh').step() that.setData({ animation: that.animation.export(), show: show }) }