129 lines
2.6 KiB
JavaScript
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
|
|
})
|
|
}
|
|
})
|
|
},
|
|
}) |