<!--
 * @Author: hisense.liangjunhua
 * @Date: 2022-06-08 11:56:28
 * @LastEditors: hisense.liangjunhua
 * @LastEditTime: 2022-07-15 17:30:19
 * @Description: 算法详情页头部
-->
<template>
  <div class="algorithm-top-details">
    <div class="left">
      <div class="top">
        <a-tooltip placement="top">
          <template #title>{{ props.dataList.name }}</template>
          <span class="name">
            {{ props.dataList.name }}
          </span>
        </a-tooltip>
        <!-- <span class="name">{{ props.dataList.name }}</span> -->
        <div class="label-content">
          <p class="lable-father">
            <span class="label" v-if="props.dataList.type">
              {{ props.dataList.type }}
            </span>
            <span class="label" v-if="componentType">
              {{ componentType }}
            </span>
            <span class="label" v-if="props.dataList.shareType">
              {{ props.dataList.shareType }}
            </span>
            <span class="label" v-if="props.dataList.shareCondition">
              {{ props.dataList.shareCondition }}
            </span>
            <span class="label" v-if="deploymentLocation">
              {{ deploymentLocation }}
            </span>
          </p>
        </div>
        <!-- <span class="label">免费</span> -->
      </div>
      <div class="main">
        <a-tooltip placement="top">
          <template #title>应用领域：{{ applicationArea }}</template>
          <div>应用领域：{{ applicationArea }}</div>
        </a-tooltip>
        <a-tooltip placement="top">
          <template #title>{{ props.dataList.description }}</template>
          <div>
            {{ props.dataList.description }}
          </div>
        </a-tooltip>
      </div>
      <div class="bottom" v-if="props.dataList.id">
        <a-button type="primary" @click="toView()">
          <template #icon><form-outlined /></template>
          申请使用
        </a-button>
        <a-button type="primary" @click="addShoppingCart()">
          <template #icon><shopping-cart-outlined /></template>
          加入申购车
        </a-button>
        <a-button type="primary" @click="goTOCollection()">
          {{ scFlag ? '已' : '' }}收藏
        </a-button>
      </div>
    </div>
    <div class="right"></div>
  </div>
</template>
<script setup>
  import { FormOutlined, ShoppingCartOutlined } from '@ant-design/icons-vue'
  import { defineProps, ref, watch } from 'vue'
  import { scInsert, scDel } from '@/api/personalCenter'
  import { sgcInsert } from '@/api/home'
  import { useRouter } from 'vue-router'
  import mybus from '@/myplugins/mybus'
  import { message } from 'ant-design-vue'
  const props = defineProps({
    dataList: { type: Object, default: null },
  })
  // console.log('==================>', props.dataList.isCollect)
  const router = useRouter()
  const applicationArea = ref('')
  const deploymentLocation = ref('') //部署位置
  //加入申购车
  const addShoppingCart = () => {
    console.log('加入申购车==================>', props.dataList)
    sgcInsert({
      delFlag: '0',
      resourceId: props.dataList.id,
      // userId: userId.value,
    }).then((res) => {
      console.log(res)
      message.success('添加申购车成功！')
      mybus.emit('getSgcNum')
    })
  }
  //立即申请
  function toView() {
    // window.open(newpage.href, '_blank')
    console.log('一键申请===================>', props.dataList)
    localStorage.setItem(
      'applyList',
      JSON.stringify([
        {
          arr: [
            {
              delFlag: props.dataList.delFlag,
              description: props.dataList.description,
              resourceId: props.dataList.id,
              resourceName: props.dataList.name,
              time: props.dataList.createDate,
              type: props.dataList.type,
              componentType: '智能算法',
            },
          ],
          deptId: props.dataList.deptId,
          deptName: props.dataList.deptName,
        },
      ])
    )
    router.push({
      path: '/apply',
    })
  }
  const componentType = ref('')
  // 收藏
  const scFlag = ref(props.dataList.isCollect)
  const scFlag2 = ref(true)
  const goTOCollection = () => {
    console.log('收藏===================》', props.dataList)
    if (scFlag2.value) {
      scFlag2.value = false
      if (scFlag.value) {
        scDel([props.dataList.id]).then((res) => {
          if (res.data.msg === 'success') {
            message.success('取消成功')
            scFlag.value = false
            scFlag2.value = true
          }
        })
      } else {
        scInsert([
          {
            resourceId: props.dataList.id,
          },
        ]).then((res) => {
          if (res.data.msg === 'success') {
            message.success('添加收藏成功！')
            scFlag.value = true
            scFlag2.value = true
          }
        })
      }
    }
    // scInsert([{ resourceId: props.dataList.id }]).then((res) => {
    //   console.log(res)
    //   message.success('收藏成功')
    // })
  }
  if (props.dataList.infoList) {
    applicationArea.value = props.dataList.infoList.filter(
      (val) => val.attrType === '应用领域'
    )[0].attrValue
    let obj = props.dataList.infoList.filter(
      (val) => val.attrType === '组件类型'
    )[0]
    if (
      props.dataList.infoList.filter((val) => val.attrType === '部署位置')[0]
    ) {
      deploymentLocation.value = props.dataList.infoList.filter(
        (val) => val.attrType === '部署位置'
      )[0].attrValue
    }
    if (obj) {
      componentType.value = obj.attrValue
    }
  }
  watch(
    () => props.dataList,
    (val) => {
      if (val) {
        applicationArea.value = props.dataList.infoList.filter(
          (val) => val.attrType === '应用领域'
        )[0].attrValue
        let obj = props.dataList.infoList.filter(
          (val) => val.attrType === '组件类型'
        )[0]
        if (
          props.dataList.infoList.filter(
            (val) => val.attrType === '部署位置'
          )[0]
        ) {
          deploymentLocation.value = props.dataList.infoList.filter(
            (val) => val.attrType === '部署位置'
          )[0].attrValue
        }
        if (obj) {
          componentType.value = obj.attrValue
        }
      }
    }
  )
</script>
<style lang="less" scoped>
  .algorithm-top-details {
    height: 600px;
    padding: 180px 0 0;
    background: url('~@/assets/detailsAll/sf_top_bg.png') no-repeat;
    background-size: 100%;
    display: flex;
    justify-content: center;
    .left {
      width: 7.2rem;
      color: #fff;
      margin-right: 0.8rem;
      margin-top: -0.3rem;
      .top {
        display: flex;
        align-items: center;
        span {
          font-size: 14px;
        }
        .name {
          display: inline-block;
          // width: 10.2rem;
          // overflow: hidden;
          // text-overflow: ellipsis;
          // white-space: nowrap;
          font-size: 40px;
          margin-right: 20px;
          max-width: 7rem;
          text-overflow: -o-ellipsis-lastline;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 1;
          -webkit-box-orient: vertical;
        }
        .label-content {
          position: relative;
        }
        .lable-father {
          position: absolute;
          min-width: 5.5rem;
          right: -5.5rem;
          top: 0;
        }
        .label {
          padding: 1px 10px;
          margin-right: 10px;
          border-radius: 13px;
          background: rgba(255, 255, 255, 0.4);
        }
      }
      .main {
        margin-top: 20px;
        font-size: 18px;
        line-height: 34px;
        & > div:nth-of-type(1) {
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
        & > div:nth-of-type(2) {
          max-height: 100px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical;
        }
      }
      .bottom {
        margin-top: 40px;
        display: flex;
        .ant-btn {
          height: 50px;
          margin-right: 20px;
          background: #ff8b55;
          border-radius: 6px;
          font-size: 20px;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        .ant-btn:nth-of-type(1) {
          width: 180px;
        }
        .ant-btn:nth-of-type(2) {
          width: 220px;
        }
        .ant-btn:nth-of-type(3) {
          width: 145px;
          background: #fff;
          color: #526aff;
        }
      }
    }
    .right {
      width: 580px;
      height: 400px;
      background: url('~@/assets/detailsAll/sf_right_bg.png') no-repeat;
      background-size: 100%;
      margin-top: -40px;
    }
  }
</style>
