From b1a3587b13125c2ff4420c3720d74f59784c98e0 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 13 一月 2025 10:18:37 +0800
Subject: [PATCH] 1.地址控件修改
---
pages/user/address/address.vue | 79 +++++++++++++++++++++++++++++++++------
1 files changed, 67 insertions(+), 12 deletions(-)
diff --git a/pages/user/address/address.vue b/pages/user/address/address.vue
index 82a5fdd..772cdfe 100644
--- a/pages/user/address/address.vue
+++ b/pages/user/address/address.vue
@@ -28,7 +28,7 @@
</view>
</view>
<view class="m-t-12 ">
- <view class="desc-gray">我的收获地址</view>
+ <view class="desc-gray">我的收货地址</view>
</view>
<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
@@ -76,6 +76,9 @@
</view>
<view class="desc del t-green m-l-10" v-if="source==='select'" @click="selectAddress(item)">
选择此地址
+ </view>
+ <view class="desc del t-green m-l-10" v-if="source==='home'" @click="selectAddress(item)">
+ 按此地址定位
</view>
</view>
@@ -278,6 +281,7 @@
// that.search_flow = (location.name || '')
that.$store.commit('setAddressDesc', (location.name || location.address || ''))
that.$forceUpdate()
+ that.backpage()
}
// if (!that.submitForm.province && location.provinceName) {
@@ -370,7 +374,7 @@
// };
const {
code,data
- } = that.$http.request('get', '/api/pub/customer/home/address/parse', {
+ } = await that.$http.request('get', '/api/pub/customer/home/address/parse', {
data: {},
params: {
// https://apis.map.qq.com/ws/geocoder/v1/?location=39.984154,116.307490&key=[你的key]&get_poi=1
@@ -379,9 +383,13 @@
})
console.log('定位成功:', data);
if(data){
- var address = data.address || ''
+ var address = data.result&&data.result.address || ''
that.$store.commit('setAddressDesc', (address || ''))
+ that.$forceUpdate()
+
+ that.backpage()
+
}
@@ -396,7 +404,40 @@
});
},
PickArea(item, e) {
- console.log('PickArea', item, e)
+ if (e.detail.value) {
+ this.submitForm.province = ''
+ this.submitForm.city = ''
+ this.submitForm.region = ''
+ if (e.detail.value.length == 2) {
+ if (!!e.detail.value[0])
+ this.submitForm.province = e.detail.value[0].text
+ if (!!e.detail.value[0])
+ this.submitForm.city = e.detail.value[0].text
+ if (!!e.detail.value[1])
+ this.submitForm.region = e.detail.value[1].text
+ } else if (e.detail.value.length <= 3) {
+ if (!!e.detail.value[0])
+ this.submitForm.province = e.detail.value[0].text
+ if (!!e.detail.value[1])
+ this.submitForm.city = e.detail.value[1].text
+ if (!!e.detail.value[2])
+ this.submitForm.region = e.detail.value[2].text
+ } else {
+ //说明有重复的
+ var plusnum = e.detail.value.length - 3
+ if (!!e.detail.value[plusnum + 0])
+ this.submitForm.province = e.detail.value[plusnum + 0].text
+ if (!!e.detail.value[plusnum + 1])
+ this.submitForm.city = e.detail.value[plusnum + 1].text
+ if (!!e.detail.value[plusnum + 2])
+ this.submitForm.region = e.detail.value[plusnum + 2].text
+ }
+
+ this.$forceUpdate()
+ console.log('submit forn', this.submitForm)
+ }
+ },
+ PickArea2(item, e) {
if (e.detail.value) {
this.submitForm.province = ''
this.submitForm.city = ''
@@ -431,21 +472,25 @@
}
},
async init_area() {
- if (this.regionDataPlus && this.regionDataPlus.length > 0) {
+ // debugger;
+ // if (this.regionDataPlus && this.regionDataPlus.length > 0) {
- } else {
- var a = this.$storage.getItem('cache_area')
+ // } else {
+ // var a = this.$storage.getItem('cache_area')
+ var a =false
if (a) {
this.regionDataPlus = JSON.parse(a) || []
} else {
+ // await this.$http.request('get', '/api/pub/china/area/json/refresh')
const res = await this.$http.request('get', '/api/pub/china/area/json')
// console.log('area', JSON.parse(res.data))
this.regionDataPlus = res.data && JSON.parse(res.data.replaceAll('code', 'value').replaceAll(
'name',
'text')) || []
+
this.$storage.setItem('cache_area', JSON.stringify(this.regionDataPlus))
}
- }
+ // }
},
chooseLocation() {
@@ -524,6 +569,7 @@
this.$store.commit('setDefaultAddress', {
...item
})
+
}
}, err => {
@@ -538,11 +584,20 @@
})
},
async selectAddress(item) {
- await this.$message.confirm('确定选择此地址作为收货地址吗')
//携带,然后返回
- this.$store.commit('setDefaultAddress', {
- ...item
- })
+
+ if(this.source==='home'){
+ this.$store.commit('setAddressDesc', '')
+ this.$store.commit('setDefaultAddress', {
+ ...item
+ })
+ }else{
+ await this.$message.confirm('确定选择此地址作为收货地址吗')
+ this.$store.commit('setDefaultAddress', {
+ ...item
+ })
+
+ }
this.backpage()
},
async deleteAddress(item) {
--
Gitblit v1.9.3