<template>
  <div class="application-associated-ability" v-if="flag">
    <detals-title title="关联应用" type="ASSOCIATED"></detals-title>
    <div class="application-associated-ability-main">
      <div
        class="associated-ability-card"
        v-for="(dataListitem, dataListindex) in dataFrom[0].dataList"
        :key="dataListitem.id"
        @click="switchFunction(dataListitem.id)"
      >
        <a-tooltip>
          <template #title>{{ dataListitem.name }}</template>
          <div class="associated-ability-card-title">
            {{ dataListitem.name }}
          </div>
        </a-tooltip>
        <div class="associated-ability-card-content">
          <a-tooltip>
            <template #title>{{ dataListitem.description }}</template>
            <div class="associated-ability-card-content-font">
              {{ dataListitem.description }}
            </div>
          </a-tooltip>
        </div>
      </div>
    </div>
  </div>
</template>

<script setup>
  import { ref, defineProps, watch } from 'vue'
  import { useRouter } from 'vue-router'
  const router = useRouter()
  import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
  const props = defineProps({
    associatedComponents: { type: Array, default: null },
  })
  const dataFrom = ref([])
  const flag = ref(true)
  const oldid = router.currentRoute.value.query.id
  //点击查看详情
  const switchFunction = (id) => {
    // router.push({
    //   path: '/details',
    //   query: {
    //     id: id,
    //   },
    // })
    window.open(window.SITE_CONFIG.previewUrl + '#/details?id=' + id)
    // alert(id)
  }
  console.log('这个是空值', props.associatedComponents[0])
  if (props.associatedComponents[0].dataList.length > 0) {
    console.log('这个是空值', props.associatedComponents)
    flag.value = true
    dataFrom.value = props.associatedComponents
    console.log('dataFrom.value', dataFrom.value)
  } else {
    flag.value = false
  }
  watch(
    () => props.associatedComponents,
    (val) => {
      if (val) {
        flag.value = true
        dataFrom.value = props.associatedComponents
        console.log('dataFrom.value', dataFrom.value)
      } else {
        flag.value = false
      }
    }
  )
  watch(
    () => router.currentRoute.value.query.id,
    (newValue, oldValue) => {
      if (oldid != router.currentRoute.value.query.id) {
        window.location.reload()
      }
    },
    { immediate: true }
  )
</script>

<style lang="less" scoped>
  .application-associated-ability {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    .application-associated-ability-main {
      margin-top: 0.4rem;
      width: 13.3rem;
      display: grid;
      grid-template-columns: repeat(4, 25%);
      .associated-ability-card {
        width: 3.2rem;
        height: 2.78rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        border: 1px solid #e4e6f5;
        border-radius: 0.1rem;
        padding-bottom: 0.3rem;
        margin-right: 0.2rem;
        margin-top: 0.2rem;
        cursor: pointer;
        .associated-ability-card-title {
          width: 2.2rem;
          padding-top: 0.3rem;
          font-size: 0.22rem;
          text-align: center;
          display: -webkit-box;
          overflow: hidden;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
        .associated-ability-card-content {
          width: 100%;
          margin-top: 0.25rem;
          padding-left: 0.3rem;
          .associated-ability-card-content-font {
            font-size: 0.18rem;
            color: #999;
            margin-right: 0.15rem;
            margin-top: 0.15rem;
            text-align: center;
            display: -webkit-box;
            overflow: hidden;
            -webkit-line-clamp: 5;
            -webkit-box-orient: vertical;
          }
        }
      }
      .associated-ability-card:hover {
        border-radius: 0.02rem;
        border: 0.01rem solid #0058e1;
        box-shadow: 0rem 0.08rem 0.2rem rgba(0, 88, 225, 0.3);
      }
    }
  }
</style>