260 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			260 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
| 	<view class="content">
 | |
| 		<view class="container">
 | |
| 			<view class="my-header">
 | |
| 				<view class="my-icons" @click="goback"> <uni-icons type="left" size="16"></uni-icons> </view>
 | |
| 				<view class="my-text">收货地址</view>
 | |
| 				<view class="my-icons"></view>
 | |
| 			</view>
 | |
| 			<!-- 顶部区域 -->
 | |
| 			<view class="box-xianze" v-for="(item,index) in dataList" :key="index">
 | |
| 				<view class="" @click="choose(item)">
 | |
| 					<view style="display: flex;align-items: center;margin-bottom: 5px;">
 | |
| 						<view class="">{{item.name || '--'}}</view>
 | |
| 						<view style="margin: 0 10px;" v-if="item.sex==0"> 先生</view>
 | |
| 						<view style="margin: 0 10px;" v-if="item.sex==1"> 女士</view>
 | |
| 						<view class=""> {{item.mobile || '--'}}</view>
 | |
| 					</view>
 | |
| 				</view>
 | |
| 				<view class="box-xia">
 | |
| 
 | |
| 					<view class="box-left" @click="chooseDefault(item)">
 | |
| 
 | |
| 						<view class="acvf" v-if="item.checked == false"></view>
 | |
| 						<view class="acv" v-else><u-icon name="checkbox-mark" color="#fff" size="14"></u-icon></view>
 | |
| 						<view style="font-size: 14px; color: #999; ">默认信息</view>
 | |
| 					</view>
 | |
| 					<view class="box-right">
 | |
| 						<view style="display: flex;" @click="goedit(item)">
 | |
| 							<u-icon name="edit-pen-fill" size="12"></u-icon>
 | |
| 							<view style="margin-left: 5px;">编辑</view>
 | |
| 						</view>
 | |
| 
 | |
| 						<view style="display: flex;" @click="delInfo(item)">
 | |
| 							<u-icon name="trash" size="12"></u-icon>
 | |
| 							<view style="margin-left: 5px;">删除</view>
 | |
| 						</view>
 | |
| 
 | |
| 					</view>
 | |
| 				</view>
 | |
| 			</view>
 | |
| 
 | |
| 			<view class="bottom-anniu" @click="goedit()">
 | |
| 				<view class="">新增预留信息</view>
 | |
| 			</view>
 | |
| 
 | |
| 		</view>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	import config from '@/config'
 | |
| 	import request from '../../utils/request'
 | |
| 
 | |
| 	export default {
 | |
| 		data() {
 | |
| 			return {
 | |
| 				title: '',
 | |
| 				dataList: '',
 | |
| 				checkboxValue1: [],
 | |
| 				checked: true,
 | |
| 			}
 | |
| 		},
 | |
| 		onShow() {
 | |
| 			this.getList();
 | |
| 		},
 | |
| 		components: {
 | |
| 
 | |
| 		},
 | |
| 		methods: {
 | |
| 			chooseDefault(data) {
 | |
| 				console.log(data);
 | |
| 				if (data.checked == false) {
 | |
| 					data.ifDefault = 1
 | |
| 				} else {
 | |
| 					data.ifDefault = 2
 | |
| 				}
 | |
| 				request({
 | |
| 					url: '/business/userManager/mtUserExpressAddress',
 | |
| 					method: 'put',
 | |
| 					data: data
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.getList()
 | |
| 						console.log(res, 81);
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			getList() {
 | |
| 				request({
 | |
| 					url: '/business/userManager/mtUserExpressAddress/getList',
 | |
| 					method: 'get',
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.dataList = res.data
 | |
| 						this.dataList.forEach(item => {
 | |
| 							item.checked = false
 | |
| 							if (item.ifDefault == 1) {
 | |
| 								item.checked = true
 | |
| 							}
 | |
| 						})
 | |
| 						console.log(res, this.dataList, 98);
 | |
| 						this.$forceUpdate()
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			goedit(data) {
 | |
| 
 | |
| 				if (data != null) {
 | |
| 					console.log(data)
 | |
| 					//传值
 | |
| 					uni.$on('unAddressInfo', function() {
 | |
| 						uni.$emit('addressInfo', data)
 | |
| 					})
 | |
| 				}
 | |
| 				uni.navigateTo({
 | |
| 					url: '/pagesHome/editress/editress'
 | |
| 				})
 | |
| 			},
 | |
| 			// 删除
 | |
| 			delInfo(data) {
 | |
| 				request({
 | |
| 					url: '/business/userManager/mtUserExpressAddress',
 | |
| 					method: 'delete',
 | |
| 					params: {
 | |
| 						id: data.id
 | |
| 					}
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.getList()
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			choose(data) {
 | |
| 				//传值
 | |
| 				uni.$on('unChooseAddr', function() {
 | |
| 					uni.$emit('chooseAddr', data)
 | |
| 				})
 | |
| 				uni.navigateBack()
 | |
| 			},
 | |
| 			goback() {
 | |
| 				uni.navigateBack()
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style scoped lang="scss">
 | |
| 	.content {
 | |
| 		background: #f4f5f6;
 | |
| 	}
 | |
| 
 | |
| 	.container {
 | |
| 		width: 100%;
 | |
| 		height: 100vh;
 | |
| 		box-sizing: border-box;
 | |
| 		padding-top: 88px;
 | |
| 	}
 | |
| 
 | |
| 	.my-header {
 | |
| 		width: 100%;
 | |
| 		height: 88px;
 | |
| 		background: #ffffff;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-between;
 | |
| 		color: #000;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 0px 15px;
 | |
| 		padding-top: 40px;
 | |
| 
 | |
| 		.my-icons {
 | |
| 			width: 20px;
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		position: fixed;
 | |
| 		top: 0px;
 | |
| 	}
 | |
| 
 | |
| 	.bottom-anniu {
 | |
| 		width: 90%;
 | |
| 		height: 40px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		background: #FF9655;
 | |
| 		color: white;
 | |
| 		justify-content: center;
 | |
| 		position: fixed;
 | |
| 		bottom: 40px;
 | |
| 		left: 50%;
 | |
| 
 | |
| 		transform: translateX(-50%);
 | |
| 		border-radius: 50px;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	.box-xianze {
 | |
| 		width: 95%;
 | |
| 		background-color: #ffffff;
 | |
| 		margin: 10px auto;
 | |
| 		padding: 10px;
 | |
| 		box-sizing: border-box;
 | |
| 	}
 | |
| 
 | |
| 	.box-left {
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 	}
 | |
| 
 | |
| 	.box-right {
 | |
| 		width: 30%;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-between;
 | |
| 		font-size: 14px;
 | |
| 		color: #333333;
 | |
| 	}
 | |
| 
 | |
| 	.tapl {
 | |
| 		width: 40px;
 | |
| 		height: 20px;
 | |
| 		border-radius: 6px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		color: #1678ff;
 | |
| 		border: 1px solid #1678ff;
 | |
| 		font-size: 14px;
 | |
| 	}
 | |
| 
 | |
| 	.box-xia {
 | |
| 		display: flex;
 | |
| 		justify-content: space-between;
 | |
| 		margin-top: 20px;
 | |
| 	}
 | |
| 
 | |
| 	.acvf {
 | |
| 		border-radius: 50%;
 | |
| 		border: 1px solid #eee;
 | |
| 		height: 16px;
 | |
| 		width: 16px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		margin-right: 10px;
 | |
| 	}
 | |
| 
 | |
| 	.acv {
 | |
| 		border-radius: 50%;
 | |
| 		border: 1px solid #1678ff;
 | |
| 		height: 16px;
 | |
| 		width: 16px;
 | |
| 		background: #1678ff;
 | |
| 		color: #fff;
 | |
| 		margin-right: 10px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 	}
 | |
| </style> |