2017-05-09 17:34:21 +08:00

129 lines
2.6 KiB
JavaScript

// pages/address/add.js
import WxValidate from '../../utils/WxValidate'
import {
addUserAddr, getUserAddr
} from '../../utils/apis'
import {
alert, getCurrentAddress,
getPrevPage
} from '../../utils/util'
Page({
data: {
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
this.id = options.id || 194
this.callback = options.callback
this.initValidate()
if (this.id) {
this.loadData()
} else {
this.initAddress()
}
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
},
initValidate() {
this.validate = new WxValidate({
receiver: {
required: true,
},
phone: {
required: true,
tel: true,
},
}, {
receiver: {
required: '请输入您的姓名'
},
phone: {
required: '请输入手机号',
tel: '请输入有效手机号码'
},
})
},
initAddress() {
var that = this
getCurrentAddress(address => {
that.setData({
address
})
})
},
loadData() {
var that = this
var addr_id = this.id
wx.showNavigationBarLoading()
getUserAddr({
addr_id,
success(data) {
that.setData({
receiver: data.receiver,
phone: data.phone,
detail: data.detail,
address: {
title: data.addr,
city: data.city_name,
district: data.district_name,
city_id: data.city_id,
district_id: data.district_id,
gps: `${data.longitude},${data.latitude}`
}
})
wx.hideNavigationBarLoading()
},
error() {
wx.hideNavigationBarLoading()
}
})
},
formSubmit(e) {
var that = this
var {loading, address} = this.data
if (loading) {
return
}
if (!address) {
return alert('请选择收货地址')
}
if (!this.validate.checkForm(e)) {
const error = this.validate.errorList[0]
return alert(error.msg)
}
this.setData({
loading: true
})
var {
receiver, phone, detail
} = e.detail.value
addUserAddr({
receiver, phone, detail,
address,
addr_id: that.id,
success(data) {
that.setData({
loading: false
})
getPrevPage()[that.callback]()
wx.navigateBack()
},
error() {
that.setData({
loading: false
})
}
})
},
})