[更新]
This commit is contained in:
240
pages/address_form/address_form.js
Normal file
240
pages/address_form/address_form.js
Normal file
@@ -0,0 +1,240 @@
|
||||
|
||||
/*
|
||||
* 本时生活
|
||||
*/
|
||||
|
||||
const app = getApp()
|
||||
|
||||
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
addressInfo: '',
|
||||
type : '', //类型
|
||||
addressId : '',
|
||||
defaultVal :'',
|
||||
name : '',
|
||||
mobile : '',
|
||||
address : '',
|
||||
|
||||
//省份选择
|
||||
areas : [],
|
||||
areaSn : '',
|
||||
areaIndex : 0,
|
||||
|
||||
//市级选择
|
||||
cityList : [],
|
||||
cityId : 0,
|
||||
cityIndex : 0,
|
||||
|
||||
//区域选择
|
||||
regiList : [],
|
||||
regiId : 0,
|
||||
regiIndex : 0,
|
||||
|
||||
cityLayer : false
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad (options) {
|
||||
this.setData({
|
||||
type : options.type
|
||||
})
|
||||
if (options.type == 'Add') {
|
||||
wx.setNavigationBarTitle({
|
||||
title: '添加收货地址'
|
||||
})
|
||||
// 获取位置
|
||||
wx.getLocation({
|
||||
type: 'gcj02',
|
||||
success: res=> {
|
||||
this.setData({
|
||||
longitude : res.longitude,
|
||||
latitude : res.latitude
|
||||
})
|
||||
// 解析坐标
|
||||
getApp().qqmapsdk.reverseGeocoder({
|
||||
location: {
|
||||
latitude : res.latitude,
|
||||
longitude : res.longitude
|
||||
},
|
||||
success: res=>{
|
||||
if(res.message == "query ok"){
|
||||
let addressInfo = res.result.address_component
|
||||
let areaIndex = this.data.areas.findIndex(val => val.name == addressInfo.province)
|
||||
this.setData({
|
||||
areaIndex : areaIndex
|
||||
})
|
||||
this.getProvince()
|
||||
}else{
|
||||
wx.showToast({
|
||||
title: res.message,
|
||||
icon : 'none'
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
this.getProvince()
|
||||
} else if (options.type == 'Compile') {
|
||||
wx.setNavigationBarTitle({
|
||||
title: '编辑收货地址'
|
||||
})
|
||||
this.setData({
|
||||
addressId: options.id
|
||||
})
|
||||
this.getUserAddress()
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取收货人信息
|
||||
*/
|
||||
getUserAddress(){
|
||||
wx.$api.address.edit(this.data.addressId).then(res=>{
|
||||
let areasValue = res.data.provinces.findIndex(val=> val.name == res.data.address.province_name),
|
||||
cityValue = res.data.cities.findIndex(val=> val.name == res.data.address.city_name),
|
||||
regiValue = res.data.districts.findIndex(val=> val.name == res.data.address.district_name)
|
||||
this.setData({
|
||||
name : res.data.address.name,
|
||||
mobile : res.data.address.mobile,
|
||||
areas : res.data.provinces,
|
||||
cityList : res.data.cities,
|
||||
regiList : res.data.districts,
|
||||
areaIndex : areasValue,
|
||||
cityIndex : cityValue,
|
||||
regiIndex : regiValue,
|
||||
areaSn : res.data.address.province_id,
|
||||
cityId : res.data.address.city_id,
|
||||
regiId : res.data.address.district_id,
|
||||
address : res.data.address.address,
|
||||
defaultList : res.data.address,
|
||||
isDefault : res.data.address.is_default
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取省信息
|
||||
*/
|
||||
getProvince() {
|
||||
wx.$api.address.create().then(res=>{
|
||||
let areaArr = res.data.provinces,
|
||||
areaIndex = this.data.areaIndex
|
||||
this.citylist(areaArr[areaIndex].code)
|
||||
this.setData({
|
||||
areaSn : areaArr[areaIndex].code,
|
||||
areas : areaArr
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 所在省份
|
||||
*/
|
||||
areasChange(e) {
|
||||
let area = this.data.areas,
|
||||
index = e.detail.value,
|
||||
atcode = area[index].code
|
||||
if (index != this.data.areaIndex) {
|
||||
this.setData({
|
||||
areaIndex : index,
|
||||
areaSn : atcode
|
||||
})
|
||||
|
||||
// 获取市级列表
|
||||
this.citylist(atcode)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 市级列表
|
||||
*/
|
||||
citylist(code) {
|
||||
wx.$api.address.children(code).then(res=>{
|
||||
let cityArr = res.data
|
||||
this.regilist(cityArr[0].code)
|
||||
this.setData({
|
||||
cityId : cityArr[0].code,
|
||||
cityList : cityArr,
|
||||
cityIndex : 0
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 市级下拉筛选
|
||||
*/
|
||||
city(e) {
|
||||
let city = this.data.cityList,
|
||||
index = e.detail.value,
|
||||
citycode = city[index].code
|
||||
if (index != this.data.areaIndex) {
|
||||
this.setData({
|
||||
cityIndex: index,
|
||||
cityId : citycode
|
||||
})
|
||||
|
||||
// 获取市级列表
|
||||
this.regilist(citycode)
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 区列表
|
||||
*/
|
||||
regilist(areaCode) {
|
||||
wx.$api.address.children(areaCode).then(res=>{
|
||||
this.setData({
|
||||
regiList : res.data,
|
||||
regiId : res.data[0].code,
|
||||
regiIndex : 0
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 区下拉筛选
|
||||
*/
|
||||
regi(e) {
|
||||
let newIndex = e.detail.value
|
||||
this.setData({
|
||||
regiIndex : newIndex,
|
||||
regiId : this.data.regiList[newIndex].code
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 保存信息
|
||||
*/
|
||||
siteform(e) {
|
||||
if(this.data.type == 'Compile') {
|
||||
// 编辑地址
|
||||
wx.$api.address.keep(this.data.addressId, e.detail.value.name, e.detail.value.mobile, this.data.areaSn, this.data.cityId, this.data.regiId, e.detail.value.address).then(res=>{
|
||||
wx.navigateBack()
|
||||
})
|
||||
} else {
|
||||
// 创建地址
|
||||
wx.$api.address.add(e.detail.value.name, e.detail.value.mobile, this.data.areaSn, this.data.cityId, this.data.regiId, e.detail.value.address, this.data.defaultVal).then(res=>{
|
||||
wx.navigateBack()
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 设为默认地址
|
||||
*/
|
||||
addressDefault(e) {
|
||||
let val = e.detail.value
|
||||
this.setData({
|
||||
defaultVal: val
|
||||
})
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user