<template>
  <div class="page md:flex md:justify-between">
    <div class="page-title">机构认证</div>
    <div class="page-top">
      <div class="swiper">
        <SimpleSwiper :imageList="clubInfo.bannerList"></SimpleSwiper>
      </div>
    </div>
    <div class="page-content">
      <!-- <div class="auth">
        <div class="auth-icon"></div>
        <div class="auth-info">
          <span class="font-bold">ROS'S</span>
          <span>授予</span>
          <span>{{ clubInfo.authParty }}</span>
          <span>正品拥有</span>
        </div>
      </div> -->
      <div class="club-info">
        <div class="section flex justify-between items-center">
          <div class="info">
            <div class="name" v-text="clubInfo.authParty"></div>
            <div class="mobile" @click="callMobile(clubInfo.mobile)">
              {{ clubInfo.mobile | formatEmpty }}
            </div>
            <div class="address" v-text="address"></div>
          </div>
          <div class="logo"><img :src="clubInfo.logo" /></div>
        </div>
        <div class="section flex justify-between items-center mt-6">
          <div class="navigation" @click="onMapNav">导航</div>
          <div
            class="distance"
            v-if="clubInfo.distance && clubInfo.distance < 99999"
            v-text="'距你' + clubInfo.distance + 'km'"
          ></div>
        </div>
      </div>
      <div class="divider"></div>
      <div class="device-list">
        <div class="title">已认证设备</div>
        <div class="list">
          <div
            class="device flex justify-between items-center"
            v-for="item in clubInfo.productList"
            :key="item.productId"
          >
            <div class="info">
              <div class="name" v-text="item.productName"></div>
              <div class="code">SN码：{{ item.snCode | formatSnCode }}</div>
            </div>
            <div class="detail" @click="toDetail(item)">查看认证</div>
          </div>
        </div>
      </div>
      <SimpleEmpty
        v-if="isEmpty"
        name="icon-empty-device.png"
        description="暂无已认证设备"
      ></SimpleEmpty>
    </div>

    <SimpleMapNav ref="mapNav" @click="navigation"></SimpleMapNav>
  </div>
</template>

<script>
import clubDetailMixin from '@/mixins/clubDetail'
export default {
  layout: 'app-ph',
  mixins: [clubDetailMixin],
}
</script>

<style scoped lang="scss">
// pc 端
@media screen and (min-width: 768px) {
  .page {
    @include useTheme() {
      position: relative;
      width: 1200px;
      height: 612px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 80px;
      background-color: #fff;
      box-sizing: border-box;
      padding: 16px;
      padding-right: 0;

      .page-title {
        position: absolute;
        font-size: 24px;
        color: #333;
        top: -50px;
        left: 0;
      }

      .page-top {
        .swiper {
          width: 580px;
          height: 580px;
          background: #f7f7f7;
          ::v-deep {
            img {
              width: 580px;
              height: 580px;
            }
          }
        }
      }

      .page-content {
        width: 580px;
        overflow-y: auto;

        .auth {
          width: 100%;
          min-height: 114px;
          background: fetch('color');
          box-sizing: border-box;
          padding: 24px;

          .auth-icon {
            height: 28px;
            background: url(~assets/theme-images/ross/pc-icon-auth.png)
              no-repeat left center;
            background-size: auto 28px;
          }

          .auth-info {
            font-size: 0;
            margin-top: 10px;
            span {
              font-size: 20px;
              color: #fff;
            }
          }
        }

        .club-info {
          padding: 32px 24px;
          background: fetch('cover-color');

          .info {
            width: 320px;
            .name {
              font-size: 24px;
              color: #101010;
              font-weight: bold;
              margin-bottom: 34px;
            }
            .mobile,
            .address {
              position: relative;
              padding-left: 24px;
              margin-top: 16px;
              line-height: 24px;
              font-size: 16px;
              color: #404040;

              &::after {
                content: '';
                display: block;
                width: 16px;
                height: 16px;
                position: absolute;
                left: 0;
                top: 4px;
                background-size: 16px;
                background-repeat: no-repeat;
              }
            }
            .mobile {
              cursor: pointer;
              &::after {
                background-image: fetch('pc-icon-mobile');
              }
            }
            .address {
              &::after {
                background-image: fetch('h5-icon-address');
              }
            }
          }

          .logo {
            position: relative;
            width: 114px;
            height: 114px;
            border-radius: 50% 50% 0 50%;
            overflow: hidden;

            &::after {
              position: absolute;
              bottom: 0;
              right: 0;
              content: '';
              display: block;
              width: 23px;
              height: 23px;
              background: url(~assets/theme-images/common/pc-icon-avatar-v.png)
                no-repeat center;
              background-size: 23px;
            }
          }
          .navigation {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 72px;
            height: 32px;
            border-radius: 4px;
            font-size: 16px;
            color: fetch('color');
            border: 1px solid fetch('color');
            background-color: fetch('sub-color');
            cursor: pointer;

            &::after {
              content: '';
              display: block;
              width: 16px;
              height: 16px;
              margin-left: 4px;
              background: fetch('pc-icon-navigation') no-repeat center;
              background-size: 16px;
            }
          }
          .distance {
            font-size: 14px;
            color: #404040;
          }
        }

        .device-list {
          .title {
            padding: 16px;
            font-size: 20px;
            font-weight: bold;
            color: #404040;
            background-color: #f3f5f6;
          }

          .list {
            padding-right: 16px;
          }

          .device {
            padding: 16px 0;
            border-bottom: 1px solid #d8d8d8;
            .info {
              .name {
                font-size: 18px;
                color: #101010;
              }
              .code {
                margin-top: 16px;
                font-size: 14px;
                color: #666;
              }
            }
            .detail {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 80px;
              height: 32px;
              border-radius: 4px;
              font-size: 14px;
              color: #ffffff;
              cursor: pointer;
              background: fetch('color');
            }
          }
        }
      }
    }
  }
}

// 移动 端
@media screen and (max-width: 768px) {
  .page {
    @include useTheme() {
      .page-title {
        display: none;
      }

      .page-top {
        .swiper {
          height: 100vw;

          background: #f7f7f7;
          ::v-deep {
            img {
              height: 100vw;
            }
          }
        }
      }

      .page-content {
        .divider {
          height: 3.2vw;
          background-color: #f7f7f7;
        }
        .club-info {
          padding: 4vw;
          background: fetch('cover-color');

          .info {
            width: 67vw;
            .name {
              font-size: 4.8vw;
              color: #101010;
              font-weight: bold;
              margin-bottom: 4vw;
            }
            .mobile,
            .address {
              position: relative;
              padding-left: 5vw;
              margin-top: 1.6vw;
              line-height: 5vw;
              font-size: 3.2vw;
              color: #404040;

              &::after {
                content: '';
                display: block;
                width: 4vw;
                height: 4vw;
                position: absolute;
                left: 0;
                top: 0.5vw;
                background-size: 4vw 4vw;
                background-repeat: no-repeat;
              }
            }
            .mobile {
              &::after {
                background-image: fetch('h5-icon-mobile');
              }
            }
            .address {
              &::after {
                background-image: fetch('h5-icon-address');
              }
            }
          }

          .logo {
            position: relative;
            width: 18vw;
            height: 18vw;
            border-radius: 9vw 9vw 0 9vw;
            overflow: hidden;

            &::after {
              position: absolute;
              bottom: 0;
              right: 0;
              content: '';
              display: block;
              width: 3.6vw;
              height: 3.6vw;
              background: url(~assets/theme-images/common/h5-icon-avatar-v.png)
                no-repeat center;
              background-size: 3.6vw;
            }
          }
          .navigation {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 14.4vw;
            height: 6.4vw;
            border-radius: 0.4vw;
            font-size: 3.2vw;
            color: fetch('color');
            border: 1px solid fetch('color');
            background-color: fetch('sub-color');

            &::after {
              content: '';
              display: block;
              width: 3.6vw;
              height: 3.6vw;
              margin-left: 0.4vw;
              background: fetch('h5-icon-navigation') no-repeat center;
              background-size: 3.6vw;
            }
          }
          .distance {
            font-size: 3vw;
            color: #404040;
          }
        }

        .device-list {
          .title {
            padding: 4vw;
            padding-bottom: 0;
            font-size: 4vw;
            font-weight: bold;
            color: #101010;
          }
          .device {
            padding: 4vw 0;
            margin: 0 4vw;
            border-bottom: 0.4vw solid #d8d8d8;
            .info {
              .name {
                font-size: 3.6vw;
                color: #101010;
              }
              .code {
                margin-top: 3.2vw;
                font-size: 3vw;
                color: #666;
              }
            }
            .detail {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 15.8vw;
              height: 6.4vw;
              border-radius: 0.4vw;
              font-size: 3vw;
              color: #ffffff;
              background: fetch('color');
            }
          }
        }
      }
    }
  }
}
</style>
