You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.3 KiB
77 lines
2.3 KiB
<template> |
|
<view> |
|
<view class="address-window" :class="value === true ? 'on' : ''"> |
|
<view class="title"> |
|
选择地址 |
|
<text class="iconfont icon-guanbi" @click="closeAddress"></text> |
|
</view> |
|
<view class="list" v-if="addressList.length"> |
|
<view |
|
class="item acea-row row-between-wrapper" |
|
:class="item.id === checked ? 'font-color-red' : ''" |
|
v-for="(item, addressIndex) in addressList" |
|
@click="tapAddress(addressIndex)" |
|
:key="addressIndex" |
|
> |
|
<text class="iconfont icon-ditu" :class="item.id === checked ? 'font-color-red' : ''"></text> |
|
<view class="addressTxt"> |
|
<view class="name" :class="item.id === checked ? 'font-color-red' : ''"> |
|
{{ item.realName }} |
|
<text class="phone">{{ item.phone }}</text> |
|
</view> |
|
<view class="line1"> |
|
{{ item.province }}{{ item.city }}{{ item.district |
|
}}{{ item.detail }} |
|
</view> |
|
</view> |
|
<text class="iconfont icon-complete" :class="item.id === checked ? 'font-color-red' : ''"></text> |
|
</view> |
|
</view> |
|
<view class="pictrue" v-if="addressList.length < 1"> |
|
<image :src="`${$VUE_APP_RESOURCES_URL}/images/noAddress.png`" class="image" /> |
|
</view> |
|
<view class="addressBnt bg-color-red" @click="goAddressPages">新加地址</view> |
|
</view> |
|
<view class="mask" @touchmove.prevent :hidden="value === false" @click="closeAddress"></view> |
|
</view> |
|
</template> |
|
<script> |
|
import { getAddressList } from "@/api/user"; |
|
|
|
export default { |
|
name: "AddressWindow", |
|
props: { |
|
value: Boolean, |
|
checked: Number |
|
}, |
|
data: function() { |
|
return { |
|
addressList: [], |
|
current: 0, |
|
cartId: 0, |
|
pinkId: 0, |
|
couponId: 0 |
|
}; |
|
}, |
|
mounted: function() {}, |
|
methods: { |
|
getAddressList: function() { |
|
let that = this; |
|
getAddressList().then(res => { |
|
that.addressList = res.data; |
|
}); |
|
}, |
|
closeAddress() { |
|
this.$emit("input", false); |
|
}, |
|
goAddressPages: function() { |
|
this.$yrouter.push({ path: "/pages/user/address/AddAddress/index" }); |
|
this.$emit("redirect"); |
|
}, |
|
tapAddress: function(index) { |
|
this.$emit("checked", this.addressList[index]); |
|
this.$emit("input", false); |
|
} |
|
} |
|
}; |
|
</script>
|
|
|