<template>
	<view>
		<view class="width100 fotct coupon-status font20 fcorred" v-if="couponDesInfo.highUserCoupon.status == 2">已使用
		</view>
		<view class="width100 fotct coupon-status font20 fcor41c" v-if="couponDesInfo.highUserCoupon.status == 1">未使用
		</view>
		<view class="width100 fotct coupon-status font20 fcor41c" v-if="couponDesInfo.highUserCoupon.status  == 0">已过期
		</view>
		<view class="line1"></view>
		<view class="width90">
			<view class="flright fotct">
				<image class="coupon-img" :src="imageUrl+couponDesInfo.couponInfo.couponImg"></image>
			</view>
			<view class="coupon-mes mart10">
				<view class="fcor333 fontwig6 font24 width100 text2">{{couponDesInfo.couponInfo.couponName}}</view>
				<view class="fcor666  font13 width100 mart5" v-if="oneTime">
					领取时间:{{oneTime | formatDate('-')}}</view>
				<view class="fcor666  font13 width100 mart5" v-if="twoTime">
					使用有效期:{{twoTime | formatDate('-')}}</view>
				<view class="fcorred  font15 width100 mart5" v-if="threeTime">
					消费时间:{{threeTime | formatDate('-')}}</view>
			</view>
		</view>
		<view class="line1 mart15"></view>
		<view class="width90 mart10 fcor666" v-if="couponDesInfo.highUserCoupon.status  != 0">核销码(商户扫客户)</view>
		<view class="mart20 fotct fcorred font15 marb20" v-if="couponDesInfo.highUserCoupon.status  != 0">请告知加油员用码商支付</view>
		<view class="width90 mart20 fotct" v-if="couponDesInfo.highUserCoupon.status  != 0">
			<image class="coupon-qr" :src="imageUrl+'couponCode/'+couponDesInfo.highUserCoupon.qrCodeImg"></image>
		</view>
		<view class="fotct fcor333 font15 marb10 mart10">{{couponDesInfo.couponCodeInfo.codeKey}}</view>
		<view class="width90 mart20" style="height: 80px;" v-for="(store,i) in storeList" :key="i">
			<view class="coupon-des flleft">
				立即<br>前往
			</view>
			<view class="coupon-cont-dh">
				<view class="coupon-title flleft width70">
					<view class="font20 fcor333 fontwig6 width100 text1">{{store.storeName}}</view>
					<view class="font14 fcor999 width100 text2 mart5">{{store.address}}</view>
				</view>
				<view class="coupon-map flright width30 fotrt" @click="seeloaction(store)">
					<!-- 地图logo -->
					<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image>
					<view class="mart5 fcor999 font13">{{store.distance}}km</view>
				</view>
			</view>
		</view>
		<view class="height60"></view>
		<button class="czlq width100" v-if="couponDesInfo.highUserCoupon.status  == 0"
			@click="againReceiveCoupon">重新领取</button>
	</view>
</template>

<script>
	import {
		getUserCouponDetail,
		getStoreListByCoupon,
		againReceiveCoupon
	} from "../../../Utils/Api.js"
	let app = getApp()
	export default {
		data() {
			return {
				couDesId: '',
				imageUrl: app.globalData.imgUrl,
				couponDesInfo: [],
				storeList: [],
				oneTime: '',
				twoTime: '',
				threeTime: '',
				menddesId: ''
			}
		},
		onLoad(option) {
			this.couDesId = option.id;
			this.menddesId = option.mendId;
			this.getUserCouponDetail();
			this.getStoreListByCoupon();
		},
		filters: {
			//过滤器 用于格式化时间
			formatDate: function(value, spe = '/') {
				let data = new Date(value);
				let year = data.getFullYear();
				let month = data.getMonth() + 1;
				let day = data.getDate();
				let h = data.getHours();
				let mm = data.getMinutes();
				let s = data.getSeconds();
				month = month >= 10 ? month : "0" + month;
				day = day >= 10 ? day : "0" + day;
				h = h >= 10 ? h : "0" + h;
				mm = mm >= 10 ? mm : "0" + mm;
				s = s >= 10 ? s : "0" + s;
				return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`;
			}
		},
		onReachBottom() {
			this.getStoreListByCoupon();
		},
		methods: {
			//我的卡券详情
			getUserCouponDetail() {
				uni.showLoading({
					title: '加载中...'
				})
				let params = {
					userCouponId: this.couDesId
				}
				getUserCouponDetail(params).then(res => {
					if (res.return_code == '000000') {
						this.couponDesInfo = res.return_data;
						this.oneTime = res.return_data.highUserCoupon.createTime;
						this.twoTime = res.return_data.highUserCoupon.useEndTime;
						this.threeTime = res.return_data.highUserCoupon.consumeTime;
						uni.hideLoading()
					} else {
						uni.hideLoading()
					}
				})
			},
			//导航
			seeloaction(e) {
				uni.openLocation({
					latitude: Number(e.latitude), //目的地的定位
					longitude: Number(e.longitude), //目的地的定位
					name: e.storeName,
					address: e.address
				})
			},

			/**
			 * 查询门店列表
			 */
			getStoreListByCoupon() {
				uni.showLoading({
					title: '加载中...'
				})

				let params = {
					couponId: this.menddesId,
					longitude: app.globalData.longitude,
					latitude: app.globalData.latitude
				}
				getStoreListByCoupon(params).then(res => {
					if (res.return_code == '000000' && res.return_data.list != '') {
						uni.hideLoading();
						this.storeList = res.return_data;
					} else {
						this.storeList = [];
						uni.hideLoading()
					}
				})
			},
			//领取
			againReceiveCoupon() {
				uni.showLoading({
					title: '领取中...'
				})
				let params = {
					couponId: this.couponDesInfo.couponInfo.id
				}
				againReceiveCoupon(params).then(res => {
					if (res.return_code == '000000') {
						uni.hideLoading();
						uni.showToast({
							icon: 'none',
							title: '领取成功',
							duration: 2000
						})
						this.couponDesInfo = res.return_data;
						this.oneTime = res.return_data.highUserCoupon.createTime;
						this.twoTime = res.return_data.highUserCoupon.useEndTime;
						this.threeTime = res.return_data.highUserCoupon.consumeTime;
					} else {
						uni.hideLoading();
						uni.showToast({
							icon: 'none',
							title: res.return_msg,
							duration: 2000
						})
					}
				})
			},
			scan() {
				uni.scanCode({
					success: function(res) {
						console.log('条码类型：' + res.scanType);
						console.log('条码内容：' + res.result);
					}
				});
			}
		}
	}
</script>

<style lang="scss">
	.loading-text {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60upx;
		color: #979797;
		font-size: 24upx;
	}

	.coupon-status {
		height: 35px;
		line-height: 35px;
	}

	.coupon-mes {
		margin-right: 90px;
	}

	.coupon-img {
		width: 80px;
		height: 80px;
	}

	.coupon-qr {
		width: 250px;
		height: 250px;
	}

	.coupon-des {
		width: 80px;
		height: 80px;
		text-align: center;
		color: white;
		font-size: 28px;
		border-radius: 10px;
		background-color: red;
	}

	.coupon-cont-dh {
		margin-left: 90px;
	}

	.coupon-map image {
		width: 45px;
		height: 45px;
	}

	.coupon-no {
		height: 80px;
		line-height: 80px;
		border: 1px solid #b2b2b2;
		border-radius: 10px;
	}

	.coupne-btn {
		position: fixed;
		bottom: 0px;
		background-color: red;
		color: #FFFFFF;
	}

	.czlq {
		position: absolute;
		bottom: 0;
		background-color: red;
		color: #FFFFFF;
	}
</style>
