|
|
@ -13,7 +13,7 @@ |
|
|
|
<view class="name">所在地区</view> |
|
|
|
<view class="name">所在地区</view> |
|
|
|
<view class="picker acea-row row-between-wrapper select-value form-control"> |
|
|
|
<view class="picker acea-row row-between-wrapper select-value form-control"> |
|
|
|
<view class="address"> |
|
|
|
<view class="address"> |
|
|
|
<CitySelect ref="cityselect" :defaultValue="addressText" @callback="result" :items="district"></CitySelect> |
|
|
|
<CitySelect ref="cityselect" :defaultValue="defaultAddress" @callback="result" :items="district"></CitySelect> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="iconfont icon-dizhi font-color-red"></view> |
|
|
|
<view class="iconfont icon-dizhi font-color-red"></view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -28,7 +28,7 @@ |
|
|
|
<view class="checkbox-wrapper"> |
|
|
|
<view class="checkbox-wrapper"> |
|
|
|
<checkbox-group @change="ChangeIsDefault"> |
|
|
|
<checkbox-group @change="ChangeIsDefault"> |
|
|
|
<label class="well-check"> |
|
|
|
<label class="well-check"> |
|
|
|
<checkbox :value="userAddress.isDefault==1?'checked':''" :checked="userAddress.isDefault ? true : false"></checkbox> |
|
|
|
<checkbox :value="userAddress.isDefault == 1 ? 'checked' : ''" :checked="userAddress.isDefault ? true : false"></checkbox> |
|
|
|
<text class="def">设置为默认地址</text> |
|
|
|
<text class="def">设置为默认地址</text> |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
</checkbox-group> |
|
|
|
</checkbox-group> |
|
|
@ -42,17 +42,17 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script type="text/babel"> |
|
|
|
<script type="text/babel"> |
|
|
|
import CitySelect from "@/components/CitySelect"; |
|
|
|
import CitySelect from '@/components/CitySelect' |
|
|
|
import { getAddress, postAddress, getCity } from "@/api/user"; |
|
|
|
import { getAddress, postAddress, getCity } from '@/api/user' |
|
|
|
import attrs, { required, chs_phone } from "@/utils/validate"; |
|
|
|
import attrs, { required, chs_phone } from '@/utils/validate' |
|
|
|
import { validatorDefaultCatch } from "@/utils/dialog"; |
|
|
|
import { validatorDefaultCatch } from '@/utils/dialog' |
|
|
|
// import { openAddress } from "@/libs/wechat"; |
|
|
|
// import { openAddress } from "@/libs/wechat"; |
|
|
|
import { isWeixin } from "@/utils"; |
|
|
|
import { isWeixin } from '@/utils' |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "AddAddress", |
|
|
|
name: 'AddAddress', |
|
|
|
components: { |
|
|
|
components: { |
|
|
|
CitySelect |
|
|
|
CitySelect, |
|
|
|
}, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
@ -61,73 +61,75 @@ export default { |
|
|
|
userAddress: { isDefault: 0 }, |
|
|
|
userAddress: { isDefault: 0 }, |
|
|
|
address: {}, |
|
|
|
address: {}, |
|
|
|
isWechat: isWeixin(), |
|
|
|
isWechat: isWeixin(), |
|
|
|
addressText: "" |
|
|
|
defaultAddress: {}, |
|
|
|
}; |
|
|
|
addressText: '', |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted: function() { |
|
|
|
mounted: function() { |
|
|
|
let id = this.$yroute.query.id; |
|
|
|
let id = this.$yroute.query.id |
|
|
|
this.id = id; |
|
|
|
this.id = id |
|
|
|
this.getUserAddress(); |
|
|
|
this.getUserAddress() |
|
|
|
this.getCityList(); |
|
|
|
this.getCityList() |
|
|
|
}, |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
watch: { |
|
|
|
addressText(nextModel2) { |
|
|
|
addressText(nextModel2) { |
|
|
|
console.log(nextModel2, 8585858585); |
|
|
|
console.log(nextModel2, 8585858585) |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
getCityList: function() { |
|
|
|
getCityList: function() { |
|
|
|
let that = this; |
|
|
|
let that = this |
|
|
|
getCity() |
|
|
|
getCity() |
|
|
|
.then(res => { |
|
|
|
.then(res => { |
|
|
|
that.district = res.data; |
|
|
|
that.district = res.data |
|
|
|
that.ready = true; |
|
|
|
that.ready = true |
|
|
|
}) |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
.catch(err => { |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
title: err.msg, |
|
|
|
title: err.msg, |
|
|
|
icon: "none", |
|
|
|
icon: 'none', |
|
|
|
duration: 2000, |
|
|
|
duration: 2000, |
|
|
|
}); |
|
|
|
}) |
|
|
|
}); |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
getUserAddress: function() { |
|
|
|
getUserAddress: function() { |
|
|
|
if (!this.id) return false; |
|
|
|
if (!this.id) return false |
|
|
|
let that = this; |
|
|
|
let that = this |
|
|
|
getAddress(that.id).then(res => { |
|
|
|
getAddress(that.id).then(res => { |
|
|
|
that.userAddress = res.data; |
|
|
|
that.userAddress = res.data |
|
|
|
that.addressText = |
|
|
|
that.defaultAddress = { |
|
|
|
res.data.province + " " + res.data.city + " " + res.data.district; |
|
|
|
province: { |
|
|
|
that.address.province = res.data.province; |
|
|
|
n: res.data.province, |
|
|
|
that.address.city = res.data.city; |
|
|
|
}, |
|
|
|
that.address.district = res.data.district; |
|
|
|
city: { |
|
|
|
}); |
|
|
|
n: res.data.city, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
district: { |
|
|
|
|
|
|
|
n: res.data.district, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
that.addressText = res.data.province + ' ' + res.data.city + ' ' + res.data.district |
|
|
|
|
|
|
|
that.address.province = res.data.province |
|
|
|
|
|
|
|
that.address.city = res.data.city |
|
|
|
|
|
|
|
that.address.district = res.data.district |
|
|
|
|
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
getAddress() {}, |
|
|
|
getAddress() {}, |
|
|
|
async submit() { |
|
|
|
async submit() { |
|
|
|
console.log(this); |
|
|
|
|
|
|
|
console.log(this.address); |
|
|
|
|
|
|
|
console.log(this.addressText); |
|
|
|
|
|
|
|
let name = this.userAddress.realName, |
|
|
|
let name = this.userAddress.realName, |
|
|
|
phone = this.userAddress.phone, |
|
|
|
phone = this.userAddress.phone, |
|
|
|
addressText = this.addressText, |
|
|
|
addressText = this.addressText, |
|
|
|
detail = this.userAddress.detail, |
|
|
|
detail = this.userAddress.detail, |
|
|
|
isDefault = this.userAddress.isDefault; |
|
|
|
isDefault = this.userAddress.isDefault |
|
|
|
try { |
|
|
|
try { |
|
|
|
await this.$validator({ |
|
|
|
await this.$validator({ |
|
|
|
name: [ |
|
|
|
name: [required(required.message('姓名')), attrs.range([2, 16], attrs.range.message('姓名'))], |
|
|
|
required(required.message("姓名")), |
|
|
|
phone: [required(required.message('联系电话')), chs_phone(chs_phone.message())], |
|
|
|
attrs.range([2, 16], attrs.range.message("姓名")) |
|
|
|
addressText: [required('请选择地址')], |
|
|
|
], |
|
|
|
detail: [required(required.message('具体地址'))], |
|
|
|
phone: [ |
|
|
|
}).validate({ name, phone, addressText, detail }) |
|
|
|
required(required.message("联系电话")), |
|
|
|
|
|
|
|
chs_phone(chs_phone.message()) |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
addressText: [required("请选择地址")], |
|
|
|
|
|
|
|
detail: [required(required.message("具体地址"))] |
|
|
|
|
|
|
|
}).validate({ name, phone, addressText, detail }); |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
} catch (e) { |
|
|
|
return validatorDefaultCatch(e); |
|
|
|
return validatorDefaultCatch(e) |
|
|
|
} |
|
|
|
} |
|
|
|
try { |
|
|
|
try { |
|
|
|
let that = this, |
|
|
|
let that = this, |
|
|
@ -138,21 +140,21 @@ export default { |
|
|
|
address: this.address, |
|
|
|
address: this.address, |
|
|
|
detail: detail, |
|
|
|
detail: detail, |
|
|
|
is_default: isDefault ? true : false, |
|
|
|
is_default: isDefault ? true : false, |
|
|
|
post_code: "" |
|
|
|
post_code: '', |
|
|
|
}; |
|
|
|
} |
|
|
|
postAddress(data).then(function() { |
|
|
|
postAddress(data).then(function() { |
|
|
|
if (that.id) { |
|
|
|
if (that.id) { |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
title: "修改成功", |
|
|
|
title: '修改成功', |
|
|
|
icon: "none", |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
duration: 2000, |
|
|
|
}); |
|
|
|
}) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
title: "操作成功", |
|
|
|
title: '操作成功', |
|
|
|
icon: "none", |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
duration: 2000, |
|
|
|
}); |
|
|
|
}) |
|
|
|
// uni.showToast({ |
|
|
|
// uni.showToast({ |
|
|
|
// title: "已取消绑定", |
|
|
|
// title: "已取消绑定", |
|
|
|
// icon: "none", |
|
|
|
// icon: "none", |
|
|
@ -162,41 +164,41 @@ export default { |
|
|
|
// path: "/pages/user/PersonalData/index" |
|
|
|
// path: "/pages/user/PersonalData/index" |
|
|
|
// }); |
|
|
|
// }); |
|
|
|
} |
|
|
|
} |
|
|
|
that.$yrouter.back(); |
|
|
|
that.$yrouter.back() |
|
|
|
}); |
|
|
|
}) |
|
|
|
} catch (err) { |
|
|
|
} catch (err) { |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
title: err.msg || err.response.data.msg || err.response.data.message, |
|
|
|
title: err.msg || err.response.data.msg || err.response.data.message, |
|
|
|
icon: "none", |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
duration: 2000, |
|
|
|
}); |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
ChangeIsDefault: function() { |
|
|
|
ChangeIsDefault: function() { |
|
|
|
this.userAddress.isDefault = !this.userAddress.isDefault; |
|
|
|
this.userAddress.isDefault = !this.userAddress.isDefault |
|
|
|
}, |
|
|
|
}, |
|
|
|
result(values) { |
|
|
|
result(values) { |
|
|
|
console.log(this); |
|
|
|
console.log(this) |
|
|
|
console.log(values); |
|
|
|
console.log(values) |
|
|
|
this.address = { |
|
|
|
this.address = { |
|
|
|
province: values.province.name || "", |
|
|
|
province: values.province.name || '', |
|
|
|
city: values.city.name || "", |
|
|
|
city: values.city.name || '', |
|
|
|
district: values.district.name || "", |
|
|
|
district: values.district.name || '', |
|
|
|
city_id: values.city.id |
|
|
|
city_id: values.city.id, |
|
|
|
}; |
|
|
|
} |
|
|
|
this.addressText = `${this.address.province}${this.address.city}${this.address.district}`; |
|
|
|
this.addressText = `${this.address.province}${this.address.city}${this.address.district}` |
|
|
|
// this.addressText = |
|
|
|
// this.addressText = |
|
|
|
// this.address.province + this.address.city + this.address.district; |
|
|
|
// this.address.province + this.address.city + this.address.district; |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
}, |
|
|
|
}; |
|
|
|
} |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="less"> |
|
|
|
<style lang="less"> |
|
|
|
.address { |
|
|
|
.address { |
|
|
|
text { |
|
|
|
text { |
|
|
|
width: 100%; |
|
|
|
width: 100%; |
|
|
|
display: block; |
|
|
|
display: block; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|