<template>
  <AppCard :title="title" style="margin-top:50px;">
    <template #header-aside><nuxt-link :to="baseUrl" v-if="baseUrl">查看更多+</nuxt-link></template>
    <div class="project-list">
      <div class="project-item" v-for="(item, index) in list" :key="index">
        <!-- <AppLink :data="item"><img :src="item.imgUrl"/></AppLink> -->
        <div class="project-item-pic">
          <img :src="item.imgUrl" />
        </div>
        <ul class="tools">
          <li @click="handleSubmit(item)">我要报名</li>
          <li><AppLink :data="item">了解详情</AppLink></li>
        </ul>
        <!-- <div class="tools">
          <el-button type="primary" @click="handleSubmit(item)">我要报名</el-button>
          <AppLink :data="item" style="margin-left:20px;">
            <el-button plain type="primary">了解详情</el-button>
          </AppLink>
        </div> -->
      </div>
    </div>
  </AppCard>
</template>
<script>
import AppCard from '@/components/AppCard.vue'
import AppLink from '@/components/Link.vue'

export default {
  name: 'ProjectCard',
  props: { list: { type: Array, default: () => [] }, title: String, baseUrl: String },
  components: { AppCard, AppLink },
  data() {
    return {}
  },
  methods: {
    handleSubmit(data) {
      if (data.onClick) {
        data.onClick()
      } else {
        const formEl = document.querySelector('#form')
        if (!formEl) return
        window.scrollTo(0, formEl.offsetTop)
        if (this.$parent.$refs.formSubmit) {
          this.$parent.$refs.formSubmit.form.project_id = data.project_id
        }
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.project-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 20px;
  column-gap: 20px;
}
.project-item {
  background-color: #fff;
  .project-item-pic {
    height: 345px;
    overflow: hidden;
  }
  img {
    width: 100%;
  }
  &:hover {
    box-shadow: 0px 1px 24px rgba(0, 0, 0, 0.11);
  }
}
.tools {
  position: relative;
  // margin-top: -20px;
  padding: 25px 0;
  display: flex;
  justify-content: center;
  border-top: 1px dashed #e1e1e1;
  z-index: 1;

  li {
    flex: 1;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: #777;
    text-align: center;
    cursor: pointer;
    &:hover {
      font-weight: 500;
      color: #333333;
    }
  }
  li:first-child {
    color: #a81840;
  }
  li + li {
    border-left: 1px solid #e1e1e1;
  }
}
</style>
