438 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			438 lines
		
	
	
		
			8.2 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="ba-box">
 | |
| 				<u-tabs :list="list1" @click="click"></u-tabs>
 | |
| 			</view> -->
 | |
| 			<view class="box-bb">
 | |
| 				<view class="box-ll" :class="{ 'lan' : tabindex == index }" v-for="(item,index) in tapList" :key="index"
 | |
| 					@click="gettabingex(index)">
 | |
| 					<view class="">{{item.name}}</view>
 | |
| 				</view>
 | |
| 			</view>
 | |
| 			<view class="card-box" v-for="(item,index) in cardsList" :key="index"
 | |
| 				:style="'background: url('+item.bgImg+') no-repeat;background-size: 100% 100%;  '"
 | |
| 				@click="goRecharge(item.cardCouponId,item.bgImg)">
 | |
| 				<view style="width: 20%;"></view>
 | |
| 				<view class="right-box">
 | |
| 					<view class="title">{{item.couponName}}</view>
 | |
| 					<view class="hui-size">{{item.useCondition}}</view>
 | |
| 					<view class="dis-bt">
 | |
| 						有效期:{{item.startTime}} ~ {{item.endTime}}
 | |
| 					</view>
 | |
| 				</view>
 | |
| 			</view>
 | |
| 
 | |
| 			<view v-if="!cardsList || cardsList.length==0">
 | |
| 				<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"></u-empty>
 | |
| 			</view>
 | |
| 
 | |
| 			<u-overlay :show="shows">
 | |
| 
 | |
| 				<view class="boxck">
 | |
| 					<view class="coupbox" v-for="(item,index) in cardFavorableList" :key="index">
 | |
| 						<view class="left_coup">¥{{item.discountAmount}}</view>
 | |
| 						<view class="right_liu">
 | |
| 							<view class="">
 | |
| 								<view class="c_name">{{item.name}}</view>
 | |
| 								<view class="c_time">2023/12/03</view>
 | |
| 							</view>
 | |
| 
 | |
| 						</view>
 | |
| 					</view>
 | |
| 					<view class="_anniuprp" @click="drawDownCardFavorables()">立即领取</view>
 | |
| 				</view>
 | |
| 
 | |
| 			</u-overlay>
 | |
| 
 | |
| 		</view>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	import request from "../../utils/request";
 | |
| 
 | |
| 	export default {
 | |
| 		data() {
 | |
| 			return {
 | |
| 				idList: [],
 | |
| 				cardFavorableList: [],
 | |
| 				cardsList: [],
 | |
| 				shows: false,
 | |
| 				query: {
 | |
| 					storeId: '',
 | |
| 					status: 0,
 | |
| 					page: 1,
 | |
| 					pageSize: 1000
 | |
| 				},
 | |
| 				title: '',
 | |
| 				tabindex: 0,
 | |
| 				tapList: [{
 | |
| 						name: "未使用"
 | |
| 					},
 | |
| 					{
 | |
| 						name: "已使用"
 | |
| 					},
 | |
| 					{
 | |
| 						name: "已失效"
 | |
| 					},
 | |
| 				],
 | |
| 				list1: [{
 | |
| 					name: '全部',
 | |
| 				}, {
 | |
| 					name: '优惠券',
 | |
| 				}, {
 | |
| 					name: '兑换券'
 | |
| 				}, {
 | |
| 					name: '洗车券'
 | |
| 				}]
 | |
| 
 | |
| 			}
 | |
| 		},
 | |
| 
 | |
| 		components: {
 | |
| 
 | |
| 		},
 | |
| 		onLoad() {
 | |
| 			this.query.storeId = uni.getStorageSync("storeId")
 | |
| 			this.getGiftRecords()
 | |
| 		},
 | |
| 		onShow() {
 | |
| 
 | |
| 
 | |
| 			console.log(this.query);
 | |
| 		},
 | |
| 
 | |
| 		methods: {
 | |
| 			getAllCardFavorables() {
 | |
| 				request({
 | |
| 					url: 'business/marketingActivity/cardFavorable/appletList',
 | |
| 					method: 'get',
 | |
| 					params: this.query
 | |
| 				}).then(res => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.cardFavorableList = res.data.records;
 | |
| 						if (this.cardFavorableList.length == 0) {
 | |
| 							this.shows = false
 | |
| 						}
 | |
| 						// console.log("555" + this.cardFavorableList)
 | |
| 						for (var i = 0; i < res.data.records.length; i++) {
 | |
| 							this.idList.push(res.data.records[i].id)
 | |
| 						}
 | |
| 
 | |
| 						/* this.cardFavorableList.forEach(item => this.idList.push(item.id));
 | |
| 						console.log("333" + idList) */
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			drawDownCardFavorables() {
 | |
| 				request({
 | |
| 					url: 'business/marketingActivity/cardFavorableRecord/drawDown',
 | |
| 					method: 'post',
 | |
| 					data: {
 | |
| 						idList: this.idList
 | |
| 					}
 | |
| 				}).then(res => {
 | |
| 					console.log("222" + res)
 | |
| 					if (res.code == 200 && res.data == true) {
 | |
| 						this.shows = false
 | |
| 						this.getGiftRecords()
 | |
| 						uni.showToast({
 | |
| 							title: '领取成功!'
 | |
| 						})
 | |
| 					} else {
 | |
| 						this.shows = false
 | |
| 						uni.showToast({
 | |
| 							title: '领取失败!'
 | |
| 						})
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			isDrawDown() {
 | |
| 				request({
 | |
| 					url: 'business/marketingActivity/cardFavorableRecord/isDrawDown',
 | |
| 					method: 'get',
 | |
| 					params: this.query
 | |
| 				}).then(res => {
 | |
| 
 | |
| 					if (res.code == 200 && res.data == true) {
 | |
| 						this.shows = true
 | |
| 
 | |
| 					} else {
 | |
| 						this.shows = false
 | |
| 					}
 | |
| 
 | |
| 				})
 | |
| 			},
 | |
| 			goRecharge(id, bgImg) {
 | |
| 				uni.navigateTo({
 | |
| 					url: '/pagesMy/Coupons/details?certificateId=' + id + '&bgImg=' + bgImg
 | |
| 				})
 | |
| 			},
 | |
| 			click(item) {
 | |
| 				console.log('item', item);
 | |
| 
 | |
| 				this.cardsList = []
 | |
| 				if (item.name == "全部") {
 | |
| 					this.query.couponType = ''
 | |
| 					this.getGiftRecords()
 | |
| 				} else {
 | |
| 					this.query.couponType = item.name
 | |
| 					console.log(this.query.couponType);
 | |
| 					this.getGiftRecords()
 | |
| 				}
 | |
| 			},
 | |
| 			gettabingex(index) {
 | |
| 				// useStatus
 | |
| 				this.tabindex = index
 | |
| 				console.log(index);
 | |
| 				this.cardsList = []
 | |
| 				this.query.status = index
 | |
| 				this.getGiftRecords()
 | |
| 
 | |
| 
 | |
| 			},
 | |
| 			/* onCoupons() {
 | |
| 				this.shows = false
 | |
| 				uni.showToast({
 | |
| 					title: '领取成功'
 | |
| 				})
 | |
| 			}, */
 | |
| 			goback() {
 | |
| 				uni.navigateBack()
 | |
| 			},
 | |
| 			getGiftRecords() {
 | |
| 				request({
 | |
| 					url: 'cardCouponUser/queryPage',
 | |
| 					method: 'get',
 | |
| 					params: this.query
 | |
| 				}).then(res => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.cardsList = res.data.records
 | |
| 					}
 | |
| 				})
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style scoped lang="scss">
 | |
| 	.content {
 | |
| 		background: #fff;
 | |
| 	}
 | |
| 
 | |
| 	.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;
 | |
| 	}
 | |
| 
 | |
| 	.card-box {
 | |
| 		width: 95%;
 | |
| 		background: #ffffff;
 | |
| 		height: 90px;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 15px;
 | |
| 
 | |
| 		margin: 10px auto;
 | |
| 		display: flex;
 | |
| 	}
 | |
| 
 | |
| 	.right-box {
 | |
| 		width: 80%;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	.left-img {
 | |
| 		width: 70px;
 | |
| 		height: 70px;
 | |
| 		background: url('http://47.95.206.185:83/hbao.png')center no-repeat;
 | |
| 		background-size: 100% 100%;
 | |
| 		margin-right: 10px;
 | |
| 	}
 | |
| 
 | |
| 	.dis-bt {
 | |
| 		font-size: 12px;
 | |
| 		color: #E02020;
 | |
| 	}
 | |
| 
 | |
| 	.hui-size {
 | |
| 		font-size: 12px;
 | |
| 		color: #999999;
 | |
| 		white-space: nowrap;
 | |
| 		text-overflow: ellipsis;
 | |
| 		overflow: hidden;
 | |
| 		margin: 5px 0;
 | |
| 	}
 | |
| 
 | |
| 	.title {
 | |
| 		font-size: 16px;
 | |
| 		font-weight: bold;
 | |
| 		color: #333333;
 | |
| 	}
 | |
| 
 | |
| 	.anniu {
 | |
| 		width: 64px;
 | |
| 		height: 24px;
 | |
| 		background: linear-gradient(90deg, #FC3E33 0%, #FF6B40 100%);
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		border-radius: 50px;
 | |
| 		color: #ffffff;
 | |
| 		font-size: 12px;
 | |
| 	}
 | |
| 
 | |
| 	.huiz {
 | |
| 		font-size: 14px;
 | |
| 		font-weight: bold;
 | |
| 		margin: 12px 0px;
 | |
| 		text-align: center;
 | |
| 		color: #8F5624;
 | |
| 	}
 | |
| 
 | |
| 	.hui-icon {
 | |
| 		text-align: center;
 | |
| 
 | |
| 		image {
 | |
| 			width: 34px;
 | |
| 			height: 26px;
 | |
| 			margin: 6px 0px;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	.cbai {
 | |
| 		font-size: 14px;
 | |
| 		color: #ffffff;
 | |
| 		text-align: center;
 | |
| 	}
 | |
| 
 | |
| 	.ba-box {
 | |
| 		background: #ffffff;
 | |
| 	}
 | |
| 
 | |
| 	.box-bb {
 | |
| 		width: 100%;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-between;
 | |
| 		box-sizing: border-box;
 | |
| 		background-color: #ffffff;
 | |
| 		padding: 10px 15px;
 | |
| 	}
 | |
| 
 | |
| 	.box-ll {
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		color: #999999;
 | |
| 		font-size: 14px;
 | |
| 		padding: 4px 10px;
 | |
| 		margin-right: 15px;
 | |
| 		border-bottom: 1px solid transparent;
 | |
| 	}
 | |
| 
 | |
| 	.lan {
 | |
| 		color: #FA6400;
 | |
| 		border-bottom: 1px solid #FA6400 !important;
 | |
| 	}
 | |
| 
 | |
| 	.boxck {
 | |
| 		width: 280px;
 | |
| 		height: 350px;
 | |
| 		margin: 20px auto;
 | |
| 		margin-top: 200px;
 | |
| 		background: url('http://47.95.206.185:83/yhqbj.png')center no-repeat;
 | |
| 		background-size: 100% 100%;
 | |
| 		position: relative;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 5px 32px;
 | |
| 	}
 | |
| 
 | |
| 	._anniuprp {
 | |
| 		width: 172px;
 | |
| 		height: 36px;
 | |
| 		background: linear-gradient(90deg, #FFF4CB 0%, #FDDC66 100%);
 | |
| 		border-radius: 18px 18px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		position: absolute;
 | |
| 		bottom: 20px;
 | |
| 		left: 50%;
 | |
| 		transform: translate(-50%, -50%);
 | |
| 		color: #E11E27;
 | |
| 		font-size: 14px;
 | |
| 		font-weight: bold;
 | |
| 	}
 | |
| 
 | |
| 	.coupbox {
 | |
| 		width: 100%;
 | |
| 		height: 60px;
 | |
| 		background: url('http://47.95.206.185:83/yhtz.png')center no-repeat;
 | |
| 		background-size: 100% 100%;
 | |
| 		margin: 10px auto;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	.left_coup {
 | |
| 		width: 35%;
 | |
| 		height: 100%;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		font-size: 16px;
 | |
| 		font-weight: bold;
 | |
| 		color: #FF4747;
 | |
| 	}
 | |
| 
 | |
| 	.right_liu {
 | |
| 		width: 65%;
 | |
| 		height: 100%;
 | |
| 		text-align: center;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 	}
 | |
| 
 | |
| 	.c_time {
 | |
| 		font-size: 12px;
 | |
| 		color: #999999;
 | |
| 	}
 | |
| 
 | |
| 	.c_name {
 | |
| 		font-size: 16px;
 | |
| 		font-weight: bold;
 | |
| 		color: #7D592C;
 | |
| 	}
 | |
| </style> |