<template>
  <div class="app-container home">
    <div class="banner">
      <el-carousel height="600px" :indicator-position="bannerImgList.length <= 1 ? 'none':'' ">
        <el-carousel-item v-for="item in bannerImgList" :key="item">
          <img :src="baseUrl + item.image" alt="">
        </el-carousel-item>
      </el-carousel>
    </div>

    <div class="block" style="margin-bottom: 76px">
      <div class="block-title">
        <div class="bg-text">RESOURCE</div>
        计算资源
      </div>
      <div class="block-sub-title">强劲、稳定、安全的云计算能力，助力企业上云</div>
      <el-row :gutter="24">
        <el-col :span="12">
          <div class="resource-item resource-item-1" @click="$router.push('/computingResource/resourceList?type=0')">
            <div class="title">天河一号</div>
            <div class="desc">
              天河一号拥有2048个计算节点，128个云服务阵列，64个可视化节点，4个胖节点。基于超级计算平台可提供科学研究、工程仿真等计算服务，开展并行算法研究与大规模并行应用软件开发。
            </div>
            <div class="link">查看详情
              <el-icon>
                <ArrowRight/>
              </el-icon>
            </div>
          </div>
        </el-col>
        <el-col :span="12">
          <div class="resource-item resource-item-2" @click="$router.push('/computingResource/resourceList?type=0')">
            <div class="title">天河新一代</div>
            <div class="desc">“天河”新一代超级计算机拥有通用算力200P Flops(FP64)人工智能算力800P
              Flops(FP16)磁盘总容量超20PB。整体性能处于世界先进水平。
            </div>
            <div class="link">查看详情
              <el-icon>
                <ArrowRight/>
              </el-icon>
            </div>
          </div>
        </el-col>
        <el-col :span="24">
          <div class="resource-item resource-item-3" @click="$router.push('/computingResource/resourceList?type=0')">
            <div class="title">云计算</div>
            <div class="desc">
              云计算服务为您提供安全稳定及灵活扩展的云计算服务，可实现按需扩展CPU、内存、存储和网络资源，帮助企业大幅削减IT开支，优化运维流程，专注于核心业务的创新与发展。
            </div>
            <div class="link">查看详情
              <el-icon>
                <ArrowRight/>
              </el-icon>
            </div>
          </div>
        </el-col>
      </el-row>
    </div>

    <div class="block">
      <div class="block-title">
        <div class="bg-text">APPLICATION</div>
        行业应用
      </div>
      <div class="block-sub-title">
        集成机器学习、深度学习、自然语言处理、图像识别等先进技术，为金融、医疗、教育、零售、制造业等多个领域提供智能化解决方案。
      </div>
      <el-row :gutter="24">
        <el-col v-for="item in assemblyData" :key="item.id" :span="8">
          <div class="application-item application-item-1" @click="openAssembly(item)"
               :style="{'background-image': `url(${baseUrl + item.homeImage})`}">
            <div class="title">{{ item.title }}</div>
            <div class="desc">{{ item.description }}</div>
            <div class="link">查看详情
              <el-icon>
                <ArrowRight/>
              </el-icon>
            </div>
          </div>
        </el-col>
      </el-row>

      <div class="flex-justify-center" style="margin-top: 28px;margin-bottom: 100px">
        <!--        <el-button class="view-more-btn">更多行业-->
        <!--          <el-icon>-->
        <!--            <ArrowRight/>-->
        <!--          </el-icon>-->
        <!--        </el-button>-->
      </div>
    </div>

    <div class="partners">
      <div class="title">
        生态合作伙伴
      </div>
      <div class="desc">助力各类“AI+”创新应用，推进企业算力生态建设，促进科创产业集聚发展</div>
      <el-button class="view-more-btn" @click="$router.push('/partnership/partnershipList')">查看更多
        <el-icon>
          <ArrowRight/>
        </el-icon>
      </el-button>
    </div>

    <div class="block">
      <div class="block-title" style="margin-bottom: 50px">
        <div class="bg-text">INFORMATION</div>
        活动资讯
      </div>
      <div class="flex flex-justify-center">
        <el-row :gutter="24">
          <el-col :span="12">
            <!--<div class="block-sub-title">活动时间待定，活动内容待定，活动礼品自带</div>-->
            <div class="information" style="margin-right: 182px">
              <div class="information-item"
                   @click="$router.push('/information/informationDetail?id='+informationMainData.id)">
                <div class="flex">
                  <div class="date">
                    <div class="month-day">{{ informationMainData.month }}/{{ informationMainData.month }}</div>
                    <div class="year">{{ informationMainData.year }}</div>
                  </div>
                  <div class="right">
                    <div class="title">{{ informationMainData.title }}</div>
                    <div class="content" v-html="informationMainData.description">
                    </div>
                  </div>
                </div>
                <img :src="baseUrl + informationMainData.image" alt="">
              </div>
            </div>
          </el-col>
          <el-col :span="12">
            <div>
              <div v-for="item in informationData" :key="item.id" class="information-item flex"
                   @click="$router.push('/information/informationDetail?id='+item.id)">
                <div class="date">
                  <div class="month-day">{{ item.month }}/{{ item.month }}</div>
                  <div class="year">{{ item.year }}</div>
                </div>
                <div class="right">
                  <div class="title">{{ item.title }}</div>
                  <div class="content" v-html="item.description">
                  </div>
                </div>
              </div>
            </div>
          </el-col>
        </el-row>
      </div>
      <div class="flex-justify-center" style="margin-top: 40px;margin-bottom: 100px">
        <el-button class="view-more-btn" @click="$router.push('/information/list')">更多资讯
          <el-icon>
            <ArrowRight/>
          </el-icon>
        </el-button>
      </div>
    </div>

    <div class="footer">先进计算科技有限公司 沪ICP备18000749号-2</div>
  </div>
</template>

<script setup name="Index">
import {banner, assemblyList, informationList} from '@/api/home.js'
import {ref} from 'vue'

const baseUrl = import.meta.env.VITE_APP_BASE_API
const assemblyData = ref([])

const bannerImgList = ref([])

function getBanner() {
  banner().then(res => {
    bannerImgList.value = res.data
  })
}

getBanner()

function getAassemblyList() {
  assemblyList({type: 0 }).then(res => {
    assemblyData.value = res.data.length > 3 ? res.data.slice(0, 3) : res.data
  })
}

getAassemblyList()

const informationData = ref([])
const informationMainData = ref({})

function getInformation() {
  informationList().then(res => {
    res.data.forEach(item => {
      item.year = new Date(item.createTime).getFullYear()
      item.month = new Date(item.createTime).getMonth() + 1
      item.month = item.month < 10 ? '0' + item.month : item.month
      item.day = new Date(item.createTime).getDate()
      item.day = item.day < 10 ? '0' + item.day : item.day
      item.description = item.description.replace('<p><br></p>', '')
    })
    informationMainData.value = res.data.length ? res.data[0] : {}
    const arr = res.data.length ? res.data.slice(1, res.data.length) : []
    informationData.value = arr.length > 3 ? arr.slice(0, 3) : arr
  })
}

getInformation()

function openAssembly(data) {
  window.open(data.url)
}
</script>

<style scoped lang="scss">
.app-container {
  padding: 0;
}

.home {

}

.banner {
  position: relative;
  margin-bottom: 64px;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.block {
  //width: 1280px;
  width: calc(100% - 214px);
  margin: 0 auto;
}

.block-title {
  font-weight: bold;
  font-size: 40px;
  color: #303233;
  line-height: 60px;
  text-align: center;
  position: relative;

  .bg-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: DIN, system-ui;
    font-weight: bold;
    font-size: 90px;
    color: rgba(0, 0, 0, 0.02);
  }
}

.block-sub-title {
  font-weight: 400;
  font-size: 14px;
  color: #949899;
  line-height: 22px;
  text-align: center;
  margin-bottom: 48px;
}

.view-more-btn {
  border: 1px solid #C8CBCC;
  border-radius: 2px;
  height: 40px;
  color: #303233;
}

.resource-item {
  height: 434px;
  padding: 60px 60px 0 60px;
  margin-bottom: 24px;
  cursor: pointer;

  &.resource-item-1 {
    background: url("@/assets/images/resource-1.png") no-repeat center center / cover;
  }

  &.resource-item-2 {
    background: url("@/assets/images/resource-2.png") no-repeat center center / cover;
  }

  &.resource-item-3 {
    .desc {
      width: 35%;
    }

    background: url("@/assets/images/resource-3.png") no-repeat center center / cover;
  }
}

.resource-item, .application-item {
  &:hover {
    cursor: pointer;
    box-shadow: 0 0 10px 0 #dbdada;
  }

  .title {
    font-weight: bold;
    font-size: 34px;
    color: #303233;
    margin-bottom: 28px;
  }

  .desc {
    font-weight: 400;
    font-size: 14px;
    color: #7e8080;
    margin-bottom: 20px;
    line-height: 1.8;
  }

  .link {
    display: flex;
    align-items: center;
    color: #7e8080;
    font-size: 14px;
  }
}

.application-item {
  height: 436px;
  padding: 50px 60px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;

  .title {
    margin-bottom: 10px;
  }

  .desc {
    color: #444444;
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    max-height: 100px;
    -webkit-box-orient: vertical;
  }

  .link {
    color: #444444;
    justify-content: center;
  }

  //&.application-item-1 {
  //  background: url("@/assets/images/application-1.png") no-repeat center center / cover;
  //}
  //
  //&.application-item-2 {
  //  background: url("@/assets/images/application-2.png") no-repeat center center / cover;
  //}
  //
  //&.application-item-3 {
  //  background: url("@/assets/images/application-bg-5.png") no-repeat center center / cover;
  //}

  .title {
    text-align: center;
  }

  .desc {
    text-align: center;
    width: 300px;
  }
}

.partners {
  height: 434px;
  margin-bottom: 65px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url("@/assets/images/partners.png") no-repeat center center / cover;

  .title {
    font-weight: bold;
    font-size: 34px;
    color: #303233;
    margin-bottom: 20px;
  }

  .desc {
    font-weight: 400;
    font-size: 14px;
    color: #7e8080;
    margin-bottom: 40px;
    line-height: 1.8;
  }
}

//.information-right {
//  //flex: 1;
//  padding-right: 210px;
//}

//.information {
//  width: 100%;
//  padding: 0 214px;
//}

.information-item {
  width: 570px;

  &:hover {
    cursor: pointer;

    .date {
      color: #2E77E3;
    }

    .title {
      color: #2E77E3;
    }

    .content {
      color: #2E77E3;
    }
  }

  &:not(:last-child) {
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 2px solid #D6D7D8;
  }

  img {
    margin-top: 25px;
    width: 569px;

  }

  .date {
    font-family: DIN, system-ui;
    color: #949899;
    margin-right: 15px;
  }

  .month-day {
    margin-bottom: 14px;
    font-size: 24px;
  }

  .year {
    font-size: 20px;
  }

  .right {
    min-width: 0;
  }

  .title {
    font-weight: bold;
    font-size: 24px;
    color: #303233;
    margin-bottom: 10px;
    padding-right: 45px;
  }

  .content {
    font-weight: 400;
    font-size: 14px;
    color: #626566;
    padding-right: 45px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;

    :deep(*) {
      color: #626566 !important;
    }

    :deep(img) {
      display: block;
    }
  }
}

.footer {
  text-align: center;
  padding: 12px 0;
  color: #7C7D7E;
  font-weight: 400;
  font-size: 14px;
  background-color: #303233;
}
</style>

