| | |
| | | <template> |
| | | <!-- 收货地址列表 --> |
| | | <view class="p15 container-address"> |
| | | <!-- <view class="search-container m-t-12 flex"> |
| | | <view class="flex1 input"> |
| | | <view class="search-container m-t-12 flex"> |
| | | <view class="flex1 input" @click="selectWxAddress('input')"> |
| | | <u-input placeholder="小区名/店铺名/写字楼/街道名等" disabled v-model="search_flow"> |
| | | <template slot="suffix"> |
| | | <uni-icons color="#20613D" type="search" size="24"></uni-icons> |
| | |
| | | </view> |
| | | <view class="m-t-12 "> |
| | | <view class="desc-gray">当前位置</view> |
| | | <view class="flex"> |
| | | <view class="flex1"></view> |
| | | <view @click="selectWxAddress('input')"> |
| | | <image src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a2/a248385d4fe748ca81ee058ea5bf8c47icon-address.jpg"></image> |
| | | 重新定位 |
| | | <view class="flex current-address"> |
| | | <view class="flex1"> |
| | | {{ addressDesc || (address&&address.id?address.address: '选择地址') }} |
| | | |
| | | </view> |
| | | <view class="flex" @click="changeCurrentAddress"> |
| | | <view> |
| | | <image style="width: 30rpx;height: 30rpx;" class="m-t-2" |
| | | src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a2/a248385d4fe748ca81ee058ea5bf8c47icon-address.jpg"> |
| | | </image> |
| | | </view> |
| | | <view>重新定位</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | --> |
| | | <view class="m-t-12 "> |
| | | <view class="desc-gray">我的收获地址</view> |
| | | |
| | | </view> |
| | | <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data> |
| | | |
| | | <!-- 循环 --> |
| | | <view v-for="(item,index) of list" :key="index" class="location-each"> |
| | | <view v-for="(item,index) of list" :key="index" class="location-each m-t-12"> |
| | | <view class="flex"> |
| | | <view class="container-info"> |
| | | <view class="flex"> |
| | |
| | | <view style="height: 92rpx;width: 690rpx;"> |
| | | |
| | | </view> |
| | | <view class="button-green button-fixed-bottom" style="width: 690rpx;line-height: 92rpx;height: 92rpx;" |
| | | @click="addAddress">添加收货地址 |
| | | <view class="button-green button-fixed-bottom" v-if="currentInfo.id" |
| | | style="width: 690rpx;line-height: 92rpx;height: 92rpx;" @click="addAddress">添加收货地址 |
| | | </view> |
| | | |
| | | <uni-popup ref="popup_form" type="top" :mask-click="false"> |
| | |
| | | // this.list = [{}, {}] |
| | | this.source = options.source || '' |
| | | this.listApi = '/api/address/list' |
| | | if (!this.currentInfo.id) { |
| | | |
| | | } else { |
| | | await this.getList() |
| | | |
| | | } |
| | | |
| | | }, |
| | | onShow() { |
| | |
| | | address: state => { |
| | | return state.defaultaddress || {} |
| | | }, |
| | | addressDesc: state => { |
| | | return state.addressDesc || '' |
| | | }, |
| | | // search_flow() { |
| | | // return this.addressDesc || '' |
| | | // } |
| | | }), |
| | | |
| | | }, |
| | |
| | | }, |
| | | regionDataPlus: [], |
| | | list: [], |
| | | search_flow: '', |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectWxAddress(source) { |
| | | let that = this |
| | | |
| | | if (source === 'form') { |
| | | { |
| | | //表单选择了地址 |
| | | wx.chooseLocation({ |
| | | success: location => { |
| | |
| | | // latitude: 31.26249 |
| | | // longitude: 120.63212 |
| | | // name: "苏州市吴中区人民政府" |
| | | that.submitForm.address = (location.address || '') + (location.name || '') |
| | | if (source === 'form') { |
| | | // (location.address || '') + |
| | | that.submitForm.address = (location.name || '') |
| | | that.submitForm.latitude = location.latitude || 0 |
| | | that.submitForm.longitude = location.longitude || 0 |
| | | } else if (source === 'input') { |
| | | // (location.address || '') + |
| | | // that.search_flow = (location.name || '') |
| | | that.$store.commit('setAddressDesc', (location.name || '')) |
| | | } |
| | | |
| | | // if (!that.submitForm.province && location.provinceName) { |
| | | // that.submitForm.province = location.provinceName |
| | | // if (!that.submitForm.city && location.cityName) { |
| | |
| | | this.submitForm['region'] = '' |
| | | this.submitForm['isDefault'] = false |
| | | this.openAddressForm() |
| | | }, |
| | | changeCurrentAddress() { |
| | | // if(!this.addressDesc){ |
| | | |
| | | // } |
| | | let that = this |
| | | this.$message.showLoading() |
| | | uni.getLocation({ |
| | | type: 'gcj02', |
| | | geocode: true, |
| | | success: async (res) => { |
| | | // this.location = { |
| | | // latitude: res.latitude, |
| | | // longitude: res.longitude, |
| | | // speed: res.speed, |
| | | // accuracy: res.accuracy, |
| | | // address: res.address, |
| | | // }; |
| | | const { |
| | | code,data |
| | | } = 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 |
| | | location:`${res.latitude},${res.longitude}` |
| | | } |
| | | }) |
| | | console.log('定位成功:', data); |
| | | if(data){ |
| | | var address = data.address || '' |
| | | |
| | | that.$store.commit('setAddressDesc', (address || '')) |
| | | } |
| | | |
| | | |
| | | }, |
| | | fail: (err) => { |
| | | this.error = err; |
| | | console.error('定位失败:', err); |
| | | }, |
| | | complete() { |
| | | this.$message.hideLoading() |
| | | } |
| | | }); |
| | | }, |
| | | PickArea(item, e) { |
| | | console.log('PickArea', item, e) |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .container-address { |
| | | .current-address { |
| | | padding: 20rpx; |
| | | background-color: #FFFFFF; |
| | | border-radius: 16rpx; |
| | | margin-top: 16rpx; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | |
| | | .popup-address-form { |
| | | background: #FFFFFF; |
| | | border-radius: 16rpx; |