<template>
  <view class="flash-sale" ref="container">
    <view class="header" v-if="headerImg">
      <image :src="headerImg" />
    </view>
    <scroll-view scroll-y="false" scroll-x="true">
      <view class="timeScroll">
        <div class="logoPic">
          <image src="https://wx.yixiang.co/h5/img/baokuan.6313c8c8.png"></image>
        </div>
        <view v-for="(item, index) in timeList" :key="index">
          <view v-if="active==index" class="timeItem active" @click="setTime(index)">
            <view class="time">{{ item.time }}</view>
            <view class="state">{{ item.state }}</view>
          </view>
          <view v-if="active!=index" class="timeItem" @click="setTime(index)">
            <view class="time">{{ item.time }}</view>
            <view class="state">{{ item.state }}</view>
          </view>
        </view>
      </view>
    </scroll-view>
    <view v-for="(item, index) in timeList" :key="index">
      <view v-if="active == index">
        <!-- <view class="countDown font-color-red acea-row row-center-wrapper">
          <view v-if="item.status === 0" class="activity">活动已结束</view>
          <count-down :isDay="false" :tipText="'距结束仅剩 '" :dayText="false" :hourText="' : '" :minuteText="' : '"
            :secondText="false" :datatime="datatime" v-if="item.status === 1"></count-down>
          <view v-if="item.status === 2" class="activity">活动即将开始</view>
        </view> -->
        <view class="list">
          <view class="item acea-row row-between-wrapper" v-for="(itemSeckill, indexSeckill) in seckillList"
            :key="indexSeckill">
            <view class="pictrue">
              <image :src="itemSeckill.image" />
            </view>
            <view class="text acea-row row-column-around">
              <view class="line1" v-text="itemSeckill.title"></view>
              <view class="money">
                限时价
                <text class="num font-color-red">￥{{itemSeckill.price||''}}</text>
              </view>
              <view class="progress cart-color">
                <view class="bg-red" :style="{ width: loading ? itemSeckill.percent + '%' : '' }"></view>
                <view class="piece font-color-red" v-text="'仅剩' + itemSeckill.stock + '件'"></view>
              </view>
            </view>
            <view class="grab bg-color-red" v-if="item.status === 1 && itemSeckill.stock > 0"
              @click="goDetail(itemSeckill.id,item.status)">马上抢</view>
            <view class="grab" v-if="item.status === 1 && itemSeckill.stock <= 0">已售磬</view>
            <view class="grab bg-color-red" @click="goDetail(itemSeckill.id,item.status)" v-if="item.status === 2">即将开始
            </view>
            <view class="grab bg-color-red" @click="goDetail(itemSeckill.id,item.status)" v-if="item.status === 0">已结束</view>
          </view>
        </view>
        <view class="noCommodity" style="background-color: #f5f5f5;" v-if="seckillList.length === 0 && page > 1">
          <view class="noPictrue">
            <image src="@/static/images/noGood.png" class="image" />
          </view>
        </view>
      </view>
    </view>
  </view>
</template>
<script>
  import {
    getSeckillConfig,
    getSeckillList
  } from "@/api/activity";
  import CountDown from "@/components/CountDown";
  // import { Tab, Tabs } from "vant-weapp";
  import Loading from "@/components/Loading";

  export default {
    name: "GoodsSeckill",
    components: {
      CountDown
    },
    props: {},
    data: function () {
      return {
        headerImg: "",
        timeList: [],
        sticky: false,
        loading: false,
        datatime: 0,
        active: 0,
        seckillList: [],
        status: false, //砍价列表是否获取完成 false 未完成 true 完成
        loadingList: false, //当前接口是否请求完成 false 完成 true 未完成
        page: 1, //页码
        limit: 5, //数量
        title: []
      };
    },
    mounted: function () {
      this.mountedStart();
    },
    onReachBottom() {
      !this.loadingList && this.getSeckillList();
    },
    methods: {
      changeTime: function (index) {
        this.active = index;
        this.getSeckillList();
      },
      mountedStart: function () {
        var that = this;
        uni.showLoading();
        getSeckillConfig().then(res => {
          that.$set(that, "headerImg", res.data.lovely);
          that.$set(that, "timeList", res.data.seckillTime);
          that.$set(that, "active", res.data.seckillTimeIndex);

          let title = [];
          title = res.data.seckillTime.map((item, index) => {
            return {
              name: "div",
              attrs: {
                class: "timeItem"
              },
              children: [{
                  name: "div",
                  attrs: {
                    class: "time"
                  },
                  children: [{
                    type: "text",
                    text: item.time
                  }]
                },
                {
                  name: "div",
                  attrs: {
                    class: "state"
                  },
                  children: [{
                    type: "text",
                    text: item.state
                  }]
                }
              ]
            };
          });
          that.$set(that, "title", title);
          that.datatime = that.timeList[that.active].stop;
          that.getSeckillList();
          that.$nextTick(function () {
            that.sticky = true;
            uni.hideLoading();
          });
        });
      },
      setTime: function (index) {
        var that = this;
        that.page = 1;
        that.loadingList = false;
        that.status = false;
        that.active = index;
        that.datatime = that.timeList[that.active].stop;
        this.seckillList = [];
        that.getSeckillList();
      },
      getSeckillList: function () {
        var that = this;
        if (that.loadingList) return;
        if (that.status) return;
        var time = that.timeList[that.active].id;
        getSeckillList(time, {
          page: that.page,
          limit: that.limit
        }).then(res => {
          that.status = res.data.length < that.limit;
          that.seckillList.push.apply(that.seckillList, res.data);
          that.page++;
          uni.hideLoading();
        });
      },
      goDetail: function (id, status) {
        var that = this;
        var time = that.timeList[that.active].stop;
        this.$yrouter.push({
          path: "/pages/activity/SeckillDetails/index",
          query: {
            id,
            time,
            status
          }
        });
      }
    }
  };
</script>
<style scoped lang="less">
  .flash-sale {
    background: #f5f5f5 !important;
    height: 100%;
  }

  .timeScroll {
    display: flex;
    align-items: center;
    flex-direction: row;
  }

  .list {
    padding: 0 20rpx;

    .item {
      padding: .25*100rpx;
      border-bottom: 1px solid #f0f0f0;
      height: auto;
      position: relative;
      background: #fff;
      margin-bottom: .2*100rpx;
      border-radius: .2*100rpx;
    }
  }

  .logoPic {
    width: 75rpx;
    height: 70rpx;
    margin-left: 20rpx;
    margin-right: 20rpx;

    image {
      width: 75rpx;
      height: 70rpx;
    }
  }

  .timeItem {
    font-size: 0.22 * 100rpx;
    color: #282828;
    width: 150rpx;
    text-align: center;
    padding: 20rpx 0;
    background-color: none;

    &.active {
      .time {
        color: #eb3729;
      }

      .state {
        background: linear-gradient(90deg, #00c17b, #00c17b);
        color: #fff;
        opacity: 1;
        border-radius: 30rpx;
        padding: 0 0.2 * 100rpx;
        font-weight: 800;
        height: 0.37 * 100rpx;
        line-height: 0.37 * 100rpx;
      }
    }
  }

  .timeItem .time {
    font-size: 0.32 * 100rpx;
    font-weight: bold;
    height: .5 * 100rpx;
    line-height: .5 * 100rpx;
  }

  .timeItem .state {
    height: 0.37 * 100rpx;
    line-height: 0.37 * 100rpx;
  }

  .activity {
    color: #333;
  }

  .flash-sale .list .item .grab {
    background-color: #999;
  }
</style>
