<template>
|
<view>
|
<u-toast ref="uToast" /><u-no-network></u-no-network>
|
<u-navbar title="地址列表" safeAreaInsetTop fixed placeholder>
|
<view class="coreshop-navbar-left-slot" slot="left">
|
<u-icon name="arrow-left" size="19" @click="goNavigateBack"></u-icon>
|
<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
|
<u-icon name="home" size="22" @click="goHome"></u-icon>
|
</view>
|
<view slot="right">
|
</view>
|
</u-navbar>
|
<view class="content">
|
<view v-if="list.length">
|
<view class="item coreshop-display-flex coreshop-flex-nowrap" v-for="(item, key) in list" :key="key">
|
<view @click="isSelect(item)">
|
<view class="top">
|
<view class="name">{{ item.name }}</view>
|
<view class="phone">{{ item.mobile }}</view>
|
<view class="tag">
|
<text class="red" v-if="item.isDefault">默认</text>
|
</view>
|
</view>
|
<view class="bottom">
|
{{item.areaName }} {{item.street}} {{item.address}}
|
</view>
|
</view>
|
<u-icon name="edit-pen-fill" :size="20" color="#999999" v-show="type != 'order'" @click="toEdit(item.id)"></u-icon>
|
|
</view>
|
</view>
|
<!-- 无数据时默认显示 -->
|
<view class="coreshop-emptybox" v-else>
|
<u-empty :icon="$globalConstVars.apiFilesUrl+'/static/images/empty/address.png'" icon-size="150" text="暂无地址信息" mode="list"></u-empty>
|
</view>
|
|
<!--按钮-->
|
<view class="coreshop-bg-white coreshop-footer-fixed coreshop-foot-padding-bottom">
|
<u-button class="coreshop-percent-100" type="error" size="normal" @click="toAdd">新增收货地址</u-button>
|
</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
list: [],// 用户收货地址列表
|
type: ''
|
}
|
},
|
onLoad(e) {
|
if (e.type) {
|
this.type = e.type;
|
}
|
},
|
onShow() {
|
this.userShipList();
|
},
|
methods: {
|
// 获取收货地址列表
|
userShipList() {
|
this.$u.api.userShip().then(res => {
|
if (res.status) {
|
this.list = res.data
|
}
|
})
|
},
|
//编辑
|
toEdit(id) {
|
this.$u.route('/pages/member/address/index/index?shipId=' + id);
|
},
|
//添加
|
toAdd() {
|
this.$u.route('/pages/member/address/index/index');
|
},
|
//选择
|
isSelect(data) {
|
if (this.type == 'order') {
|
let pages = getCurrentPages();//当前页
|
let beforePage = pages[pages.length - 2];//上个页面
|
|
// #ifdef MP-ALIPAY || MP-TOUTIAO
|
this.$db.set('addressUserShip', data, true);
|
// #endif
|
|
// #ifdef APP-PLUS || APP-PLUS-NVUE
|
this.$store.commit("userShip", data)
|
// #endif
|
|
// #ifdef MP-WEIXIN
|
beforePage.$vm.userShip = data;
|
beforePage.$vm.params.userShipId = data.id;
|
beforePage.$vm.params.areaId = data.areaId;
|
// #endif
|
|
uni.navigateBack({
|
delta: 1
|
});
|
// this.$u.route("/pages/placeOrder/index/index")
|
}
|
},
|
// #ifdef MP-WEIXIN
|
wechatAddress: function () {
|
let _that = this;
|
wx.chooseAddress({
|
success: res => {
|
if (res.errMsg == "chooseAddress:ok") {
|
//获取成功
|
//存储这个收获地区信息到数据库
|
let data = {
|
provinceName: res.provinceName,
|
cityName: res.cityName,
|
countyName: res.countyName,
|
postalCode: res.postalCode
|
};
|
let areaId = 0;
|
this.$u.api.getAreaId(data).then(res1 => {
|
if (res1.status) {
|
//存储用户收货信息
|
let userShipId = 0;
|
let userShipData = {
|
areaId: res1.data,
|
name: res.userName,
|
address: res.detailInfo,
|
mobile: res.telNumber,
|
isDefault: 2
|
}
|
this.$u.api.saveUserShipWx(userShipData).then(res2 => {
|
if (res2.status) {
|
this.$refs.uToast.show({
|
title: '存储微信地址成功', type: 'success', complete: function () {
|
_that.userShipList();
|
}
|
});
|
} else {
|
this.$refs.uToast.show({ message: '存储微信地址失败', type: 'error' });
|
}
|
});
|
} else {
|
this.$refs.uToast.show({ message: '获取微信地址失败', type: 'error' });
|
}
|
});
|
} else {
|
this.$refs.uToast.show({ message: '获取微信地址失败', type: 'error' });
|
}
|
}
|
});
|
},
|
// #endif
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
@import "list.scss";
|
</style>
|