Files
xuan_wechat/pages/site/edit/edit.js
2023-08-15 17:18:15 +08:00

226 lines
5.5 KiB
JavaScript

/*
* 手太欠
* 愿这世界都如故事里一样 美好而动人~
*/
Page({
data: {
addressId : '',
nameValue : '',
mobile : '',
address : '',
isDefault : '',
disabled : false,
//省份选择
areas : [],
areaId : '',
areaIndex : 0,
//市级选择
cityList : [],
cityId : 0,
cityIndex : 0,
//区域选择
regiList : [],
regiId : 0,
regiIndex : 0,
},
onLoad(options) {
this.setData({
addressId: options.addressid
})
},
onShow() {
// 获取收货人信息
this.getUserAddress()
},
/**
* 收货人信息
*/
getUserAddress(){
wx.$api.site.siteSee(this.data.addressId).then(res => {
let areasValue = res.data.provinces.findIndex(val=> val.name == res.data.province.name),
cityValue = res.data.cities.findIndex(val=> val.name == res.data.city.name),
regiValue = res.data.districts.findIndex(val=> val.name == res.data.district.name)
this.setData({
nameValue : res.data.name,
mobile : res.data.mobile,
areas : res.data.provinces,
cityList : res.data.cities,
regiList : res.data.districts,
areaIndex : areasValue,
cityIndex : cityValue,
regiIndex : regiValue,
areaId : res.data.province.region_id,
cityId : res.data.city.region_id,
regiId : res.data.district.region_id,
address : res.data.address,
isDefault : res.data.default
})
}).catch(err => {})
},
/**
* 省市区列表
*/
createInfo() {
wx.$api.site.create().then(res => {
let areas = res.data,
areaIndex = this.data.areaIndex
this.setData({
areas : areas,
areaId : areas[areaIndex].id,
})
this.citylist(areas[areaIndex].id)
}).catch(err => {})
},
/**
* 所在省份-下拉
*/
areasChange(e) {
let area = this.data.areas,
index = e.detail.value,
atcode = area[index].id
if (index != this.data.areaIndex) {
this.setData({
areaIndex : index,
areaId : atcode
})
// 获取市级列表
this.citylist(atcode)
}
},
/**
* 市级列表
*/
citylist(cityId) {
wx.$api.site.create({
parent_id: cityId
}).then(res=>{
let cityArr = res.data
this.setData({
cityId : cityArr[0].id,
cityIndex : 0,
cityList : cityArr
})
// 获取区级列表
this.regilist(cityArr[0].id)
})
},
/**
* 市级下拉筛选
*/
cityDrop(e) {
let city = this.data.cityList,
index = e.detail.value,
citycode = city[index].id
if (index != this.data.cityIndex) {
this.setData({
cityIndex : index,
cityId : citycode
})
// 获取区列表
this.regilist(citycode)
}
},
/**
* 区列表
*/
regilist(areaId) {
wx.$api.site.create({
parent_id: areaId
}).then(res=>{
this.setData({
regiList : res.data,
regiId : res.data[0].id,
regiIndex : 0
})
})
},
/**
* 区下拉筛选
*/
regiDrop(e) {
let newIndex = e.detail.value
this.setData({
regiIndex : newIndex,
regiId : this.data.regiList[newIndex].id
})
},
/**
* 默认地址
*/
addressDefault() {
wx.$api.site.siteDefault(this.data.addressId).then(res => {
this.setData({
isDefault: !this.data.isDefault
})
}).catch(err => {})
},
/*
姓名截取
*/
bindinput(e) {
this.setData({
nameValue: e.detail.value.substr(0,5)
})
},
/**
* 提交表单
*/
siteform(e) {
let value = e.detail.value
let data = {
name : this.data.nameValue,
mobile : value.mobile,
address : value.address,
province_id : this.data.areaId,
city_id : this.data.cityId,
district_id : this.data.regiId,
is_default : this.data.isDefault
}
wx.$api.site.siteEdit(this.data.addressId, data).then(res => {
this.setData({
disabled: true
})
wx.navigateBack()
}).catch(err => {})
},
/**
* 删除地址
*/
addressRemove(){
wx.showModal({
title : '提示',
content : '是否删除地址',
success : res=> {
if (res.confirm) {
wx.showLoading({
title: '删除中',
})
wx.$api.site.siteDel(this.data.addressId).then(res=>{
wx.navigateBack()
})
}
}
})
},
})