65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
const { listAddresses, createAddress, setDefaultAddress } = require('../../api/addressApi')
|
|
const { setField } = require('../../utils/request')
|
|
|
|
Page({
|
|
data: {
|
|
addresses: [],
|
|
submitting: false,
|
|
form: {
|
|
contactName: '',
|
|
phone: '',
|
|
building: '',
|
|
room: '',
|
|
detail: '',
|
|
default: false
|
|
}
|
|
},
|
|
|
|
onLoad() {
|
|
this.load()
|
|
},
|
|
|
|
load() {
|
|
return listAddresses()
|
|
.then((addresses) => this.setData({ addresses: addresses || [] }))
|
|
.catch((error) => wx.showToast({ title: error.message, icon: 'none' }))
|
|
},
|
|
|
|
onFieldInput(event) {
|
|
setField(this, event)
|
|
},
|
|
|
|
submit() {
|
|
if (this.data.submitting) {
|
|
return
|
|
}
|
|
this.setData({ submitting: true })
|
|
createAddress(this.data.form)
|
|
.then(() => {
|
|
wx.showToast({ title: '已保存' })
|
|
this.setData({
|
|
form: {
|
|
contactName: '',
|
|
phone: '',
|
|
building: '',
|
|
room: '',
|
|
detail: '',
|
|
default: false
|
|
}
|
|
})
|
|
return this.load()
|
|
})
|
|
.catch((error) => wx.showToast({ title: error.message, icon: 'none' }))
|
|
.finally(() => this.setData({ submitting: false }))
|
|
},
|
|
|
|
setDefault(event) {
|
|
setDefaultAddress(event.currentTarget.dataset.id)
|
|
.then(() => {
|
|
wx.showToast({ title: '已设默认' })
|
|
return this.load()
|
|
})
|
|
.catch((error) => wx.showToast({ title: error.message, icon: 'none' }))
|
|
}
|
|
})
|