<template>
  <div>
    <div class="banner">
      <el-image
        style="width: 100%; height: 100%;position:absolute;top: 0;left: 0;"
        :src="pageData.banner"
        fit="contain"></el-image>
      <div class="bannerInfo">{{ pageData.bannerTitle }}</div>
      <div class="tabs">
        <div class="content">
          <div @click="checkTabs(i,k)"
               style="white-space: nowrap;overflow: auto"
               :style="`fontSize:clamp(0.7vw,calc(${(60/tabsData.length)}vw / ${ i.webMenuName.length}),1.4vw);width:${tabsActive === i.webMenuId ? (100/tabsData.length+'%'):`calc(${100/tabsData.length}% - 2px)`}`"
               :class="`tab ${tabsActive === i.webMenuId ? 'active':''}`" v-for="(i,k) in tabsData">
            {{ i.webMenuName }}
          </div>
        </div>
      </div>
    </div>

    <ProduceModel v-if="tabsActive" :data="pageData.productList.find(e=>e.id===tabsActive) || {}"/>

    <ContactUs class="contactUs"/>
    <Copyright class="copyright"/>
  </div>
</template>

<script>
import ContactUs from '@/components/contactUs'
import Copyright from '@/components/copyright'
import ProduceModel from './produceModel.vue'
import {selectMenuTree} from "@/api/productCenter";
import {getHwWeb} from "@/api/hwWeb";

export default {
  name: 'ProductCenter',
  components: {
    ContactUs,
    Copyright,
    ProduceModel
  },
  data() {
    return {
      tabsActive: 0,
      pageData: {
        banner: 'http://1.13.177.47:9665/statics/2025/07/24/mesnac_20250724093713A002.jpg',
        bannerTitle: '',
        productList: [],
      },
      webMenuId: 0,
      tabsData: [],
    }
  },
  mounted() {
    if (this.$route.query.id) {
      this.tabsActive = parseFloat(this.$route.query.id)
    }
    this.getData()
  },
  watch: {
    '$route'() {
      this.tabsActive = parseFloat(this.$route.query.id)
      // this.getData()
      // let id = this.$route.query.id
      // if (id === '11') {
      //   this.tabsActive = 0
      // }
      // if (id === '12') {
      //   this.tabsActive = 1
      // }
      // if (id === '13') {
      //   this.tabsActive = 2
      // }
      // if (id === '14') {
      //   this.tabsActive = 3
      // }
      // if (id === '15') {
      //   this.tabsActive = 4
      // }
      // if (id === '16') {
      //   this.tabsActive = 5
      // }
      // this.itemId = id
    }
  },
  methods: {
    getData() {
      getHwWeb(7).then(res => {
        this.pageData = JSON.parse(res?.data?.webJsonString || '[]')
        console.log(JSON.parse(res?.data?.webJsonString || '[]'))
      })
      selectMenuTree().then(e => {
        let tabsData = e.data.find(v => v.webMenuId === 7).children
        this.tabsData = tabsData
        this.tabsActive = tabsData[0].webMenuId
      })
    },
    checkTabs(e, k) {
      this.tabsActive = e.webMenuId
    },
  }
}
</script>

<style lang="less" scoped>
@import "~@/style.less";

.banner {
  width: 100%;
  height: 35.5vw;
  position: relative;

  .bannerInfo {
    position: absolute;
    top: 35%;
    left: 19%;
    width: 45%;
    text-align: left;
    font-size: 1.4vw;
    color: @standard-color;
    line-height: 2.5vw;
    letter-spacing: 4px;
    word-break: break-all;
  }

  .bannerBtn {
    position: absolute;
    top: 58%;
    left: 19%;
    width: 11.5vw;
    font-size: 1.2vw;
    line-height: 2vw;
    letter-spacing: 2px;
  }

  .tabs {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: linear-gradient(to bottom, fade(@standard-color, 10), fade(#fff, 10));
    backdrop-filter: saturate(50%) blur(4px);

    .content {
      width: 62%;
      position: relative;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);

      .tab {
        display: inline-block;
        line-height: 6.2vw;
        font-size: 1.6vw;
        letter-spacing: 3px;
      }

      .tab.active {
        color: @standard-color;
        width: calc(50% - 3px);
        border: 1px solid #fff;
        box-shadow: 0 0 3px #0002;
      }
    }
  }
}

.contactUs {
  width: 100%;
  background-color: #2e445c;
}

.copyright {
  width: 100%;
  background-color: #1d3348;
}
</style>
