| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 | <template>	<view class="address" style="padding-bottom: 150upx;">		<!-- #ifdef MP-WEIXIN -->		<view style="height: max-content;background-color: #FFFFFF;margin-top: 10upx;padding: 30upx 30upx 10upx 40upx;"			v-for="(item,index) in list" :key='index'>			<view @tap='goBackByAddress(item.addressId)'>				<view class="flex align-center">					<view class="text-bold" style="font-size: 38rpx;color: #333333;">{{item.name}}</view>					<view style="font-size: 32rpx;color: #333333;margin-left: 20upx;text-align: right;">{{item.phone}}					</view>				</view>				<view style="display: flex;margin-top: 35rpx;">					<view style="font-size: 32rpx;color: #999999;width: 90%;">						{{item.province}}{{item.city}}{{item.district}} {{item.detailsAddress}}					</view>				</view>			</view>			<view style="margin-top: 15upx;height: 1upx;background-color: #E3E4E5;margin-bottom: 10upx;"></view>			<view style="display: flex;padding: 10rpx 2rpx 10rpx 0rpx;font-size: 32rpx;">				<radio-group name="openWay" style="text-align: left;width: 70%;">					<label class="tui-radio" v-if="item.isDefault == '1'">						<radio :checked="item.isDefault == 1 ? true : false" active-color="#2FB57A" disabled='true'							style="transform:scale(0.8);" />						<text style="font-size: 32rpx;margin-left: 10upx;">默认地址</text>					</label>				</radio-group>				<view style="display: flex;margin-left: 80upx;margin-top: 5upx;width: 40%;text-align: right;">					<view style="font-size: 32rpx;color: #999999;width: 50%;" @tap='deleteAddressList(item.addressId)'>						删除</view>					<view style="font-size: 32rpx;color: #999999;width: 50%;" @tap='goAddress(item.addressId)'>编辑</view>				</view>			</view>		</view>		<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height:150rpx;z-index: 999;">			<button style="margin: 35rpx;position: fixed;bottom: 0upx;width: 686rpx;height: 100rpx;background: #2FB57A;color: #FFFFFF;border-radius: 86rpx 86rpx 86rpx 86rpx;"				@tap="goAddress('')">				+新建地址			</button>		</view>		<empty v-if="list.length == 0"></empty>		<!-- #endif -->		<!-- #ifndef MP-WEIXIN -->		<view style="width: 686rpx;background: #FFFFFF;border-radius: 32rpx 32rpx 32rpx 32rpx;margin: 0 32rpx 20rpx;padding: 24rpx;"			v-for="(item,index) in list" :key='index'>			<view @tap='goBackByAddress(item.addressId)'>				<view style="display: flex;justify-content: space-between;font-weight: bold;font-size: 32rpx;color: #222222;">					<view class="flex">						<view class="">							用户名:						</view>						<view >{{item.name}}</view>					</view>					<view >{{item.phone}}					</view>				</view>				<view style="display: flex;margin-top: 30upx;margin-bottom: 20rpx;">					<view style="font-size: 28rpx;color: #AAAAAA;width: 90%;">						{{item.province}}{{item.city}}{{item.district}} {{item.detailsAddress}}					</view>				</view>			</view>			<view style="margin-top: 10rpx;height: 1upx;background-color: #E3E4E5;margin-bottom: 10upx;"></view>			<view style="display: flex;justify-content:space-between; 15upx 5upx 15upx 0upx;font-size: 30upx;width: 100%;margin-top: 20rpx;">				<!-- <radio-group name="openWay" style="text-align: left;width: 70%;">					<label class="tui-radio" v-if="item.isDefault == '1'">						<radio :checked="item.isDefault == 1 ? true : false" color="#2FB57A" disabled='true'							style="transform:scale(0.8);" />						<text style="color: #07BF89;font-size: 28upx;margin-left: 10upx;">默认地址</text>					</label>				</radio-group> -->				<text v-if="item.isDefault == '1'" style="color: #07BF89;font-size: 28upx;margin-left: 10upx;">默认地址</text>				<view class="" v-else></view>				<view style="display: flex;margin-top: 5upx;text-align: right;font-size: 28rpx;color: #AAAAAA;align-self: flex-end;">					<view style="" @tap='deleteAddressList(item.addressId)'>						删除</view>					<view style="margin-left: 30rpx;" @tap='goAddress(item.addressId)'>编辑</view>				</view>			</view>		</view>		<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height:150rpx;z-index: 999;">			<button style="width: 686rpx;height: 100rpx;line-height: 100rpx;font-weight: bold;font-size: 32rpx;color: #222222;background: linear-gradient( 143deg, #FFE6EE 0%, #FF9AB2 100%);border-radius: 86rpx 86rpx 86rpx 86rpx;;margin: 30upx;position: fixed;bottom: 0upx;"				@tap="goAddress('')">				+新建地址			</button>		</view>		<empty v-if="list.length == 0"></empty>		<!-- #endif -->		<!-- 悬浮上拉 -->		<!-- <view class="scroll_top" @tap="topScrollTap" v-bind:class="[scrollTop ? 'active' : '', '']"			style="bottom: 56px;"><text class="iconfont icon-shangla"></text></view> -->	</view></template><script>	import empty from '@/components/empty.vue'	export default {		components: {			empty,		},		data() {			return {				openWay: 0,				list: [],				// loadingType: 0,				type: 1,				scrollTop: true,				page: 1,				limit: 5,				address: '',				isfa: ''			}		},		onShow() {			let userId = this.$queue.getData('userId');			if (userId) {				this.getAddressList();			}		},		onLoad(e) {			this.isfa = e.id						let userId = this.$queue.getData('userId');			if (userId) {				this.getAddressList();			}		},		methods: {			goBackByAddress(addressId) {				console.log(addressId)				this.$queue.setData('EditAddress', addressId);				console.log(this.isfa)				if (this.isfa == 0) {					console.log('1111111')				}				if (this.isfa == 1) {					uni.navigateBack()				} else if (this.isfa == 3) {					this.updateaddress()				}			},			updateaddress() {				let addressId = this.$queue.getData('EditAddress')				let data = {					ordersId: this.isfa.order,					addressId: addressId				}				this.$Request.post('/app/orders/updateOrdersAddress', data).then(res => {					console.log(res)					if (res.code == 0) {						uni.showToast({							title: '修改成功',							icon: 'none'						})						uni.navigateBack();					}				})			},			deleteAddressList(id) {				console.log(id)				var id = id				let data = {					addressId: id,				}				uni.showModal({					title: '温馨提示',					content: '您确定要删除此地址信息吗?',					showCancel: true,					cancelText: '取消',					confirmText: '确认',					success: res => {						if (res.confirm) {							this.$Request.postT('/app/address/deleteAddress', data).then(res => {								console.log(res)								if (res.code == 0) {									this.$queue.showToast("删除成功!");									this.getAddressList();								} else {									this.$queue.showToast(res.msg);								}							});						}					}				});			},			getAddressList() {				uni.showLoading({					title: '加载中...'				});				let userId = this.$queue.getData('userId');				let data = {					userId: userId,					page: this.page,					limit: this.limit				}				this.$Request.getT('/app/address/selectAddressListById', data).then(res => {					uni.hideLoading();					uni.stopPullDownRefresh();					if (res.code == 0) {						if (this.page == 1) this.list = []						this.list = [...this.list, ...res.data.list]; //追加新数据						this.list.forEach(item=>{							if(item.isDefault == 1){								return this.$queue.setData('EditAddress', item.addressId);							}						})					}				});			},			goAddress(id) {				uni.navigateTo({					url: '/my/address/Endaddress?id=' + id				});			},			tabSlect(item) {				this.tabIndex = item.id;			},			selectWay(id) {				this.openWay = id;			},		},		onReachBottom: function() {			this.page = this.page + 1;			this.getAddressList();		},		onPullDownRefresh: function() {			this.page = 1;			this.getAddressList();		}	}</script><style lang="less">	// @import '../../../static/less/index.less';	// @import '../../../static/css/index.css';	.address {		background: #F6F6F6;		height: calc(100vh - var(--window-top));		padding-top: 20rpx;	}	.tui-line-cell {		width: 100%;		box-sizing: border-box;		display: flex;		align-items: center;		justify-content: space-between;		border-bottom: 2upx solid #f2f2f2;		padding: 0 0 16upx 0;	}	.tui-title {		line-height: 32rpx;		min-width: 120rpx;		flex-shrink: 0;	}	.tui-input {		font-size: 32rpx;		color: #333;		padding-left: 20rpx;		flex: 1;	}</style>
 |