Files
CompanyProject/衣莎项目/源码/YiShaXiYi/user/address/address.js
2024-09-27 01:32:49 +08:00

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 () {
}
})