<template>
|
<!-- 改动的默认地址通过全局变量来控制吧 -->
|
<view class="flex location-select" @click="goToAddress" >
|
<uni-icons type="location" size="24" style="padding-top: 16rpx;margin-right: 8rpx;"></uni-icons>
|
<view class="info">
|
<view class="name" v-if="!address.id">请前往设置地址信息</span>
|
</view>
|
<view class="name">{{address.name || '-'}}<span class="tel">{{address.tel || '-'}}</span>
|
</view>
|
<view class="address">{{address.schoolAreaStr || ''}} {{address.blockStr || ''}} {{address.room || ''}} {{address.address || ''}}</view>
|
</view>
|
<view class="right-icon" style="padding-top: 16rpx;">
|
<uni-icons type="right" size="18" color="#B3B3B3"></uni-icons>
|
</view>
|
|
|
</view>
|
</template>
|
|
<script>
|
import {
|
mapState
|
} from 'vuex'
|
export default {
|
computed: {
|
...mapState({
|
address: state => {
|
return state.defaultaddress || {}
|
},
|
currentInfo: state => {
|
return state.currentInfo || {}
|
},
|
}),
|
},
|
name:"common-address-select",
|
data() {
|
return {
|
};
|
},
|
async onShow(){
|
|
},
|
methods:{
|
async init(){
|
//获取默认地址并且填充
|
if(!this.address.id){
|
this.$message.showLoading()
|
const {data} = await this.$http.request('get','/api/address/customer/default/get')
|
this.$message.hideLoading()
|
if(data){
|
//提交更新默认地址
|
this.$store.commit('setDefaultAddress',{...data})
|
}
|
}
|
|
},
|
goToAddress(){
|
if(!this.currentInfo.id){
|
this.$message.showToast('请先前往登录')
|
return
|
}
|
uni.navigateTo({
|
url:'/pages/address/address?source=select'
|
})
|
}
|
},
|
props:{
|
// address:{
|
// type:Object,
|
// default(){
|
// return {}
|
// }
|
// }
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
|
.location-select{
|
.info{
|
// margin-bottom: 16rpx;
|
.name{
|
font-weight: 400;
|
font-size: 32rpx;
|
color: #000000;
|
margin-left: 6rpx;
|
.tel{
|
margin-left: 6rpx;
|
font-size: 28rpx;
|
color: #666666;
|
}
|
}
|
.address{
|
font-size: 24rpx;
|
color: #666666;
|
line-height: 28rpx;
|
margin-top: 6rpx;
|
max-width: 580rpx;
|
margin-left: 6rpx;
|
word-wrap: break-word;
|
}
|
|
}
|
.right-icon{
|
margin-left: auto;
|
margin-right: 0rpx;
|
}
|
}
|
</style>
|