| 
						 | 
						- <template>
 - 	<view class="page">
 - 		<!-- 导航栏 -->
 - 		<navbar title="礼包列表" leftClick @leftClick="$utils.navigateBack" bgColor="#E3441A" color="#fff" />
 - 
 - 		<!-- 订单筛选 -->
 - 		<view class="tabs">
 - 			<uv-tabs :list="tabs" 
 - 			:activeStyle="{color : 'rgb(235, 51, 0)', fontWeight : 600}" 
 - 			lineColor="rgb(235, 51, 0)"
 - 			:inactiveStyle="{color: 'rgba(235, 51, 0, .8)'}" 
 - 			lineHeight="8rpx" 
 - 			lineWidth="50rpx" 
 - 			:current="current"
 - 			:scrollable="false"
 - 			@click="clickTabs"></uv-tabs>
 - 		</view>
 - 
 - 		<view class="list">
 - 			<view class="item" v-for="(item, index) in list" @click="toGiftDetail(item.id)" :key="index">
 - 				<view class="content">
 - 					<view class="top">
 - 						<view class="service">
 - 							{{ item.title }}
 - 						</view>
 - 						<view class="status">
 - 							<text>{{ item.state === 0 ? '待领取' : '已领取' }}</text>
 - 						</view>
 - 					</view>
 - 
 - 					<view class="main">
 - 						<view class="left">
 - 							<image mode="aspectFill" :src="item.image && item.image.split(',')[0]"></image>
 - 						</view>
 - 
 - 						<view class="right">
 - 							<view class="text-hidden-1">
 - 								赠送人:{{item.senderName}}
 - 							</view>
 - 							<view class="text-hidden-1">
 - 								赠送时间:{{item.createTime}}
 - 							</view>
 - 							<view class="text-hidden-2">
 - 								祝福语:{{item.message}}
 - 							</view>
 - 						</view>
 - 					</view>
 - 				</view>
 - 
 - 				<view class="bottom">
 - 					<view class="price">
 - 						<text class="total-title">礼包价值:</text>
 - 						<text class="unit">¥</text>
 - 						<text class="num">{{item.price}}</text>
 - 						<text class="c-unit">元</text>
 - 					</view>
 - 
 - 					<view @click.stop="receiveGift(item)" class="btn" 
 - 					v-if="item.state == 0 && queryParams.type == 1">
 - 						立即领取
 - 					</view>
 - 				</view>
 - 			</view>
 - 			
 - 			<view style="margin-top: 20rpx; min-width: 700rpx;">
 - 				<uv-empty mode="list" v-if="list.length === 0"></uv-empty>
 - 			</view>
 - 		</view>
 - 	</view>
 - </template>
 - 
 - <script>
 - 	import mixinsList from '@/mixins/list.js'
 - 	
 - 	export default {
 - 		mixins: [mixinsList],
 - 		data() {
 - 			return {
 - 				mixinsListApi: 'getMyGiftOrder',
 - 				tabs: [
 - 					{
 - 						name: '我赠送的'
 - 					},
 - 					{
 - 						name: '我收到的'
 - 					}
 - 				],
 - 				current : 0,
 - 			}
 - 		},
 - 		onLoad() {
 - 			this.queryParams.type = 0
 - 		},
 - 		methods: {
 - 			clickTabs({index}){
 - 				this.list = []
 - 				this.queryParams.type = index
 - 				this.getData()
 - 			},
 - 			// 跳转礼包详情
 - 			toGiftDetail(id) {
 - 				uni.navigateTo({
 - 					url: '/pages_order/order/giftDetail?id=' + id
 - 				})
 - 			},
 - 			// 领取礼包
 - 			receiveGift(item) {
 - 				uni.showModal({
 - 					title: '提示',
 - 					content: '确认领取该礼包吗?',
 - 					success: async (res) => {
 - 						if (res.confirm) {
 - 							await this.$http.post('/gift/receive', {
 - 								id: item.id
 - 							})
 - 							uni.showToast({
 - 								title: '领取成功',
 - 								icon: 'success'
 - 							})
 - 							this.getData()
 - 						}
 - 					}
 - 				})
 - 			}
 - 		}
 - 	}
 - </script>
 - 
 - <style scoped lang="scss">
 - 	.list {
 - 		.item {
 - 			width: calc(100% - 40rpx);
 - 			background-color: #fff;
 - 			margin: 20rpx;
 - 			box-sizing: border-box;
 - 			border-radius: 16rpx;
 - 			padding: 30rpx;
 - 
 - 			.content {
 - 				.top {
 - 					display: flex;
 - 					justify-content: space-between;
 - 					align-items: center;
 - 					font-size: 34rpx;
 - 
 - 					.status {
 - 						font-weight: 600;
 - 						color: #FFAC2F;
 - 						flex-shrink: 0;
 - 						margin-left: 20rpx;
 - 					}
 - 				}
 - 
 - 				.main {
 - 					display: flex;
 - 					margin: 20rpx 0rpx;
 - 
 - 					.left {
 - 						display: flex;
 - 						align-items: center;
 - 						justify-content: center;
 - 						width: 180rpx;
 - 						height: 180rpx;
 - 
 - 						image {
 - 							width: 95%;
 - 							height: 95%;
 - 							border-radius: 10rpx;
 - 						}
 - 					}
 - 
 - 					.right {
 - 						display: flex;
 - 						flex-direction: column;
 - 						justify-content: space-between;
 - 						width: calc(100% - 200rpx);
 - 						color: #777;
 - 						font-size: 26rpx;
 - 						padding: 30rpx 20rpx;
 - 						box-sizing: border-box;
 - 						margin-left: 20rpx;
 - 						border-radius: 10rpx;
 - 						background-color: #F8F8F8;
 - 					}
 - 				}
 - 			}
 - 
 - 			.bottom {
 - 				display: flex;
 - 				justify-content: space-between;
 - 				font-size: 25rpx;
 - 
 - 				.price {
 - 					.num {
 - 						font-size: 36rpx;
 - 					}
 - 
 - 					.num,
 - 					.unit,
 - 					.c-unit {
 - 						color: $uni-color;
 - 					}
 - 				}
 - 
 - 				.btn {
 - 					border: 1px solid #C7C7C7;
 - 					padding: 10rpx 20rpx;
 - 					border-radius: 40rpx;
 - 					color: #575757;
 - 				}
 - 			}
 - 		}
 - 	}
 - </style>
 
 
  |