204 lines
4.5 KiB
JavaScript
204 lines
4.5 KiB
JavaScript
// user/address/address.js
|
|
const app = getApp();
|
|
const util = app.loadUtils("util");
|
|
const regeneratorRuntime = app.loadAsync();
|
|
const model = app.loadModel("index");
|
|
const http = app.loadHttp();
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
system: app.globalData.system, //设备相关信息
|
|
pageTitle: "添加地址", //头部标题
|
|
isBack: true,//显示返回
|
|
conten: "",//地址显示
|
|
name: "",//收货人姓名
|
|
tel: "",//收货人手机号
|
|
detail: "",//收货地址详情
|
|
radioItems: [
|
|
{ name: '是', value: '0', checked: 'true' },
|
|
{ name: '否', value: '1', },
|
|
],
|
|
updateAdd: "",//修改收货地址
|
|
modify: null,//0 修改地址 1 增加地址
|
|
isAdd: false,//防止表单重复提交
|
|
},
|
|
radioChange: function (e) {
|
|
var checked = e.detail.value
|
|
var changed = {}
|
|
for (var i = 0; i < this.data.radioItems.length; i++) {
|
|
if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
|
|
changed['radioItems[' + i + '].checked'] = true
|
|
} else {
|
|
changed['radioItems[' + i + '].checked'] = false
|
|
}
|
|
}
|
|
this.setData(changed)
|
|
},
|
|
// 接收修改地址
|
|
async upAdd() {
|
|
let add = await model.storage.getSetting("updataAdd")
|
|
if (!!add) {
|
|
model.storage.deleteStorage('updataAdd')
|
|
let conten = {
|
|
id: add.id,
|
|
address: add.address,
|
|
address_component: {
|
|
province: add.provinceName,
|
|
city: add.cityName,
|
|
district: add.countryName
|
|
}
|
|
}
|
|
this.setData({
|
|
updateAdd: add,
|
|
conten: conten
|
|
})
|
|
}
|
|
},
|
|
// 选择地址的方法
|
|
async add() {
|
|
let data = await util.selectAdd()
|
|
let conten = this.data.conten
|
|
data.result.id = conten.id
|
|
this.setData({
|
|
conten: data.result
|
|
})
|
|
},
|
|
// 提交收货地址
|
|
async subAdd(e) {
|
|
if (this.data.isAdd) return;
|
|
let value = e.detail.value
|
|
if (value.name == "") {
|
|
model.msg.dataMsg({
|
|
content: "请输入联系人",
|
|
type: "warning"
|
|
})
|
|
return
|
|
}
|
|
if (value.tel == "") {
|
|
model.msg.dataMsg({
|
|
content: "请输入手机号",
|
|
type: "warning"
|
|
})
|
|
return
|
|
}
|
|
if (!(/^1[3456789]\d{9}$/.test(value.tel))) {
|
|
model.msg.dataMsg({
|
|
content: "请输入正确的手机号",
|
|
type: "warning"
|
|
})
|
|
return false;
|
|
}
|
|
if (this.data.conten == "") {
|
|
model.msg.dataMsg({
|
|
content: "请选择收货地址",
|
|
type: "warning"
|
|
})
|
|
return
|
|
}
|
|
if (value.detail == "") {
|
|
model.msg.dataMsg({
|
|
content: "请输入详情地址",
|
|
type: "warning"
|
|
})
|
|
return
|
|
}
|
|
let data = {
|
|
userName: value.name,
|
|
telNumber: value.tel,
|
|
address: this.data.conten.address,
|
|
provinceName: this.data.conten.address_component.province,
|
|
cityName: this.data.conten.address_component.city,
|
|
countryName: this.data.conten.address_component.district,
|
|
detail: value.detail,
|
|
is_default: 0
|
|
}
|
|
// 判断是否选中默认
|
|
if (this.data.radioItems[0].checked) {
|
|
data.is_default = 1
|
|
}
|
|
// 修改地址需要地址id
|
|
if (this.data.modify == 0) {
|
|
data.id = this.data.conten.id
|
|
}
|
|
this.setData({
|
|
isAdd: true
|
|
})
|
|
// 判断是否是修改地址
|
|
let url = this.data.modify == 0 ? `${http.api.editUserAddress}` : `${http.api.userAddress}`
|
|
let res = await http.http.request2({ url: url, method: "POST", data: data })
|
|
|
|
if (res.data.status == 1) {
|
|
model.msg.dataMsg({
|
|
content: res.data.msg,
|
|
type: "success"
|
|
})
|
|
// 成功1s后返回上一页
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
|
|
})
|
|
}, 1000)
|
|
}
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.setData({
|
|
modify: options.modify
|
|
})
|
|
this.upAdd()
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
}
|
|
}) |