<template>
  <view class="coupon-popup" :class="showActivity && 'show'" >
    <global-loading />
    <view class="mask" @click="closePopup"></view>
    <view class="couponShow-box" id="popupInner">
        <view class="tabsbox">
            <u-tabs
              :list="activeTypeList"
              bar-width="0"
              bar-height="0"
              :bold="false"
              active-color="#C5AA7B"
              inactive-color="#999999"
              :is-scroll="false"
              :current="activeTypeFlag"
              @change="activeTypeActive"
            ></u-tabs>
        </view>
        <view v-show="activeTypeFlag === 0">
          <view class="couponShow">
            <view class="title-box">
              <image class="close-btn" @click="onActivityClose" src="https://ceres.zkthink.com/static/images/close.png"></image>
            </view>
            <view class="shopCouponBox" :class="markTools.length === 0 && 'flex'">
              <view class="list" v-if="markTools.length > 0">
                <view class="item"
                      v-for="(item, index) in markTools"
                      :key="index"
                      :class="{received: item.state === 1}"
                >
                  <view class="info-box">
                    <view class="discoun" v-if="item.couponType == 1"><text style="font-size: 28rpx">￥</text>{{item.reduceMoney}}</view>
                    <view class="discoun" v-if="item.couponType == 2">{{item.reduceMoney}}折</view>
                    <view class="info-date">{{getDate(item.startTime)}}-{{getDate(item.endTime)}}</view>
                    <view class="info-condition mar-top-30">{{item.content}}</view>
                    <!--                  <view class="info-condition" v-if="item.couponType == 2">{{item.reduceMoney}}折优惠</view>-->
                    <wx-send-coupon @success="success" v-if="item.state === 3" :couponList="[item]">
                      <view class="use-btn mar-top-10"
                            v-if="item.state === 3">
                        立即领取
                      </view>
                    </wx-send-coupon>
                    <view class="use-btn mar-top-10" v-if="item.state === 0">已领取</view>
                    <view class="use-btn mar-top-10" v-if="item.state === 1">已使用</view>
                  </view>
                </view>
              </view>
              <view v-else class="emptyOrder-box flex-items-plus flex-column">
                <image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
                <label class="font-color-999 fs26 mar-top-30">你还没有优惠券哦～</label>
              </view>
            </view>
          </view>
        </view>
        <view v-show="activeTypeFlag === 1">
          <view class="couponShow">
            <view class="title-box">
              <image class="close-btn" @click="onActivityClose" src="https://ceres.zkthink.com/static/images/close.png"></image>
            </view>
            <view class="shopCouponBox" :class="shopMarkTools.length === 0 && 'flex'">
              <view class="list" v-if="shopMarkTools.length > 0">
                <view
                    class="item"
                    v-for="(item, index) in shopMarkTools"
                    :key="index"
                    :class="{received: item.state === 1}"
                >
                  <view class="info-box">
                    <view class="discoun" v-if="item.couponType === 1"><text
                        style="font-size: 28rpx">￥</text>{{item.reduceMoney}}</view>
                    <view class="discoun" v-if="item.couponType === 2">{{item.reduceMoney}}折</view>
                    <view class="info-date">{{getDate(item.startTime)}}-{{getDate(item.endTime)}}</view>
                    <view class="info-condition" v-if="item.couponType === 1">
                      满{{item.fullMoney}}元减{{item.reduceMoney}}元</view>
                    <view class="info-condition" v-if="item.couponType === 2">{{item.reduceMoney}}折优惠
                    </view>
                    <view class="use-btn" @click="receiveTap(item,1)" v-if="item.state === 3">立即领取
                    </view>
                    <view class="use-btn" v-if="item.state === 0">已领取</view>
                  </view>
                </view>
              </view>
              <view v-else class="emptyOrder-box flex-items-plus flex-column">
                <image class="emptyOrder-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
                <label class="font-color-999 fs26 mar-top-30">你还没有优惠券哦～</label>
              </view>
            </view>
          </view>
        </view>
        <view class="receive-success" v-if="isShowSuccess">
            <view class="success-box">
                <image class="success-img" src="https://ceres.zkthink.com/static/images/success_tu.png"></image>
                <view class="text">领取成功</view>
            </view>
        </view>
    </view>
  </view>
</template>

<script>
import WxSendCoupon from "@/components/wx/wxSendCoupon";
const NET = require('../../utils/request')
const API = require('../../config/api')

export default {
    name: "coupon-popup",
    components: {
        WxSendCoupon,
    },
    props: {
        markTools: {
            type: Array,
            default: ()=>[]
        },
        shopMarkTools: {
            type: Array,
            default: ()=>[]
        },
        setTop: {
          type: Number,
          default: 0,
        },
        currentActive: {
          type: Number,
          default: 0
        }
    },
    data () {
        return {
            showActivity: false,
            isShowSuccess: false,
            activeTypeFlag: this.currentActive,
            activeTypeList: [{
                name: '平台活动'
            }, {
                name: '店铺活动'
            }],
        }
    },
    methods:{
        activeTypeActive(index) {
          this.activeTypeFlag = index
        },
        //关闭优惠券弹窗
        onActivityClose() {
            this.showActivity = false
        },
        // 时间格式化
        getDate(time) {
            if (!time) return '';
            return time.split(' ')[0].split('-').join('.');
        },
        // 领取优惠券
        receiveTap(couponItemInfo, type) {
            // uni.showLoading({
            //     mask: true,
            //     title: '领取中...',
            // })
            this.$showLoading("领取中...")
            let ReceiveCoupon
            if (type === 0) {
                ReceiveCoupon = {
                    couponId: couponItemInfo.couponId,
                    shopId:this.shopId
                }
            } else {
                ReceiveCoupon = {
                    shopCouponId: couponItemInfo.shopCouponId,
                    shopId:this.shopId
                }
            }
            NET.request(API.ReceiveCoupon, ReceiveCoupon, 'POST').then(res => {
                // uni.hideLoading()
                this.isShowSuccess = true
                setTimeout(() => {
                    this.isShowSuccess = false
                    // this.showActivity = false;
                    // this.queryProductDetail()
                }, 1500);
                // setTimeout(() => {
                // 	this.showActivity = false
                // }, 3000);
            }).catch(res => {
                // uni.hideLoading()
                uni.showToast({
                    title: res.msg,
                    icon: 'none'
                })
            })
        },
		success(){
			this.isShowSuccess = true
			setTimeout(() => {
			    this.isShowSuccess = false
			}, 1500);
		},
        closePopup(){
          this.showActivity = false;
        }
    }
}
</script>

<style lang="scss" scoped>
.coupon-popup{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    // background-color: rgba(0, 0, 0, 0.6);
    z-index: -1;
    opacity: 0;
    &.show{
        z-index: 1000;
        opacity: 1;
        .couponShow-box{
            /*transform: translate3D(0px, 0px, 0px);*/
            bottom: 0;
        }
    }
	.mask{
		display: block;
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		overflow: hidden;
		background-color: rgba(0, 0, 0, 0.6);
		z-index:1001;
	}
    .couponShow-box{
      .couponShow {
        height: 1000rpx;
        z-index: 333;
      }
        width: 100%;
        height: auto;
        /*transform: translate3d(0px, 100%, 0px);*/
        transition: all 0.3s ease-in-out 0s;
        background-color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -100%;
		z-index: 1002;
        .tabsbox{
            padding:0 20rpx;
            /deep/ .u-tab-item{
                height: 100rpx !important;
                line-height: 100rpx !important;
            }
        }
        .title-box .close-btn {
            width: 50upx;
            height: 50upx;
            box-sizing: border-box;
            position: absolute;
            top: 20upx;
            right: 20upx;
        }

        // #ifdef MP-ALIPAY
        .title-box .close-btn {
            width: 30upx;
            height: 30upx;
            top: 10upx;
            right: 10upx;
        }
        // #endif
        .shopCouponBox {
            height: 100%;
            overflow: auto;
            position: relative;
            &.flex{
                display: flex;
                justify-content: center;
                align-items: center;
            }
            .emptyOrder-box {
                position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
                left: 0;
                margin: auto;
                // padding-top: 80upx;
                .emptyOrder-img {
                    width: 225upx;
                    height: 196upx;
                }
            }
            .list {
                display: flex;
                flex-wrap: wrap;
            }
            .item {
                width: 50%;
                height: 291rpx;
                background: url("https://ceres.zkthink.com/static/images/couponsIcon.png") no-repeat center top;
                border-radius: 10rpx;
                margin-top: 20rpx;
                display: flex;
                flex-direction: row;
                position: relative;
                background-size: contain;
                padding: 0 50rpx;
                margin-bottom: 30rpx;
            }
            .received {
                background: url("https://ceres.zkthink.com/static/images/couponsIcon1.png") no-repeat center top;
                background-size: contain;
                .discoun {
                    color: #999999;
                    padding-top: 35rpx;
                }
                .use-btn {
                    height: 48rpx;
                    border: 2rpx solid #CCCCCC;
                    line-height: 48rpx;
                    text-align: center;
                    font-size: 24rpx;
                    font-weight: 400;
                    background-color: #CCCCCC;
                    color: #FFFFFF;
                    margin: 50rpx auto 0 auto;
                    padding: 0 10rpx;
                }
            }

            /*.item:last-child {*/
                /*margin-bottom: 100rpx;*/
            /*}*/

            .discoun {
                display: flex;
                flex-direction: row;
                align-items: baseline;
                font-size: 40rpx;
                color: #C5AA7B;
                margin: 0 auto;
                padding-top: 40rpx;
            }
            .discoun text {
                display: inline-block;
            }
            .info-box {
                width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
            }
            .info-condition {
                font-size: 20rpx;
                font-weight: 400;
                color: #999999;
                margin:0 auto;
            }
            .info-date {
                font-size: 20rpx;
                font-family: PingFang SC;
                font-weight: 400;
                color: #999999;
                margin: 10rpx auto;
                line-height: 20rpx;
            }
            .use-btn {
                height: 48rpx;
                border: 2rpx solid #C5AA7B;
                line-height: 48rpx;
                text-align: center;
                font-size: 24rpx;
                font-weight: 400;
                background-color: #C5AA7B;
                color: #FFFFFF;
                margin: 50rpx auto 0 auto;
                padding: 0 10rpx;
            }
        }
    }
}
.receive-success {
    width: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 8888;
    .success-box {
        width: 380upx;
        height: 280upx;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 10upx;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        .success-img {
            width: 200upx;
            height: 130upx;
        }
        .text {
            font-size: 28upx;
            margin-top: 50upx;
            font-weight: 400;
            color: rgba(255, 255, 255, 1);
        }
    }
}
</style>
