<template>
  <div class="thumb-example">
    <!-- swiper1 -->
    <swiper
      class="swiper gallery-top"
      :options="swiperOptionTop"
      ref="swiperTop"
    >
      <swiper-slide
        class="slide-1"
        v-for="item in terminalPhoto"
        :key="item.id"
      >
        <img :src="item.path" style="width: 100%" alt="" />
      </swiper-slide>
      <div
        class="swiper-button-next swiper-button-white"
        slot="button-next"
      ></div>
      <div
        class="swiper-button-prev swiper-button-white"
        slot="button-prev"
      ></div>
    </swiper>
    <!-- swiper2 Thumbs -->
    <swiper
      class="swiper gallery-thumbs"
      :options="swiperOptionThumbs"
      ref="swiperThumbs"
    >
      <swiper-slide
        class="slide"
        v-for="(item, index) in terminalPhoto"
        :key="item.id"
      >
        <img style="width: 100%" :src="item.path" alt="" />
        <p class="timeInfo">
          {{ $moment(item.photoTime).format("YYYY-MM-DD HH:mm:ss") }}
        </p>
      </swiper-slide>
      <div
        class="swiper-button-next swiper-button-white"
        slot="button-next"
      ></div>
      <div
        class="swiper-button-prev swiper-button-white"
        slot="button-prev"
      ></div>
    </swiper>
  </div>
</template>

<script>
export default {
  props: {
    terminalPhoto: {
      type: Array,
      default: () => [],
    },
  },
  mounted() {
    // 实现swiper双向控制
    this.$nextTick(() => {
      const swiperTop = this.$refs.swiperTop.swiper;
      const swiperThumbs = this.$refs.swiperThumbs.swiper;
      swiperTop.controller.control = swiperThumbs;
      swiperThumbs.controller.control = swiperTop;
    });
  },
  data() {
    return {
      swiperOptionTop: {
        //zoom: true,//缩放功能
        loop: true,
        loopedSlides: 5, // looped slides should be the same
        //spaceBetween: 10,
        //observer: true, //修改swiper自己或子元素时，自动初始化swiper
        //observeParents: true, //修改swiper的父元素时，自动初始化swiper
        // autoplay: {
        //   //自动轮播
        //   delay: 2000,
        //   disableOnInteraction: false,
        // },
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
      },
      swiperOptionThumbs: {
        loop: true,
        loopedSlides: 5, // looped slides should be the same
        spaceBetween: 10,
        centeredSlides: true,
        slidesPerView: "auto",
        // touchRatio: 0.2,
        slideToClickedSlide: true,
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
      },
    };
  },

  methods: {},
};
</script>
<style lang="less">
.thumb-example {
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
  .slide {
    width: 20%;
  }
  .gallery-top {
    // height: 80% !important;
    height: 80% !important;
    width: 100%;
  }
  .gallery-thumbs {
    height: 20% !important;
    box-sizing: border-box;
    padding: 10px 0px;
    width: 100%;
    margin-left: 2px;
    background-color: #f0f0f8;

    .swiper-button-next {
      right: 0px;
    }
    .swiper-button-prev {
      left: 0px;
    }
    .timeInfo {
      position: absolute;
      bottom: 0;
      width: 100%;
      background: #f0f0f0;
      padding: 4px 0px;
      font-size: 14px;
      text-align: center;
      color: @color-text-primary;
    }
  }
  .swiper-slide {
    background-size: cover;
    background-position: center;
    //border: 3px solid transparent;
  }

  .gallery-thumbs .swiper-slide {
    // width: 20%;
    // height: 80px;
    // opacity: 0.4;
  }
  .slide {
    border: 3px solid transparent;
  }
  .gallery-thumbs .swiper-slide-active {
    border: 3px solid @color-primary;
  }
}
</style>
