收货地址的两种状态
This commit is contained in:
parent
cc72e22c35
commit
6f621bc328
@ -1,13 +1,96 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>支付页面</view>
|
<view clang="pay">
|
||||||
|
<!-- 1. 假设本地能拿到收货地址 -->
|
||||||
|
<view v-if="address.userName" class="address" @tap="getAddressHandle">
|
||||||
|
<view class="address_detail">{{addressDetail}}</view>
|
||||||
|
<view class="address_info">
|
||||||
|
<text class="address_text">{{address.userName}}</text>
|
||||||
|
<text class="address_text">{{address.telNumber}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 2. 本地拿不到收货地址 -->
|
||||||
|
<view v-else class="address_empty">
|
||||||
|
<view @tap="getAddressHandle" class="address_empty_button">选择收货地址</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
address: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(){
|
||||||
|
this.address = uni.getStorageSync("address") || {}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取收货地址
|
||||||
|
getAddressHandle(){
|
||||||
|
uni.chooseAddress({
|
||||||
|
success: (res) => {
|
||||||
|
uni.setStorageSync("address", res)
|
||||||
|
console.log(res)
|
||||||
|
this.address = res
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 拼接收货地址
|
||||||
|
addressDetail (){
|
||||||
|
const {detailInfo, countyName, cityName, provinceName} = this.address
|
||||||
|
return provinceName + cityName + countyName + detailInfo
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
page {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
// 有收货地址的状态
|
||||||
|
.address {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
margin: 20rpx;
|
||||||
|
height: 188rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
.address_detail {
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
.address_info {
|
||||||
|
font-size: 26rpx;
|
||||||
|
.address_text {
|
||||||
|
margin-right: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.address_empty {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
margin: 20rpx;
|
||||||
|
height: 188rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
.address_empty_button {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
border-radius: 45rpx;
|
||||||
|
color: #eb4450;
|
||||||
|
border: 2rpx solid #eb4450;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue
Block a user