|
|
@ -2,7 +2,9 @@ |
|
|
|
<div class="overview_container" id="product_overview"> |
|
|
|
<Header :detail="true" /> |
|
|
|
<div class="product_infos"> |
|
|
|
<div class="main" v-if="activeTab == 0"> |
|
|
|
<img :src="BG" class="bg" alt="" /> |
|
|
|
<div v-for="item in productList" :key="item.id"> |
|
|
|
<div class="main" v-if="parseInt(item.id) - 1 == activeTab"> |
|
|
|
<img :src="A5" alt="big_img" class="big_img" /> |
|
|
|
<div class="content_intro"> |
|
|
|
<h2 class="title">线性相机实验平台</h2> |
|
|
@ -11,31 +13,24 @@ |
|
|
|
帮客户缩短项目验证所需要的时间 |
|
|
|
快速的帮助工程师从环境上优化机器视觉方案 双 x |
|
|
|
</p> |
|
|
|
<div class="btn"> |
|
|
|
<span class="animate__animated animate__backInLeft">联系我们</span> |
|
|
|
<div class="btn" @click="contactUs"> |
|
|
|
<span class="animate__animated animate__backInLeft" |
|
|
|
>联系我们</span |
|
|
|
> |
|
|
|
<span class="animate__animated animate__backInRight">→</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="main" v-if="activeTab == 1">2</div> |
|
|
|
<div class="main" v-if="activeTab == 2">3</div> |
|
|
|
<div class="main" v-if="activeTab == 3">4</div> |
|
|
|
<div class="tabs_wrapper"> |
|
|
|
<div class="tab mb" @click="changeTab(0)"> |
|
|
|
<img :src="A1" class="thumbnail" alt="" /> |
|
|
|
<div class="mask" v-if="[1, 2, 3].includes(activeTab)"></div> |
|
|
|
</div> |
|
|
|
<div class="tab mb" @click="changeTab(1)"> |
|
|
|
<img :src="A2" class="thumbnail" alt="" /> |
|
|
|
<div class="mask" v-if="[0, 2, 3].includes(activeTab)"></div> |
|
|
|
</div> |
|
|
|
<div class="tab mb" @click="changeTab(2)"> |
|
|
|
<img :src="A3" class="thumbnail" alt="" /> |
|
|
|
<div class="mask" v-if="[0, 1, 3].includes(activeTab)"></div> |
|
|
|
</div> |
|
|
|
<div class="tab" @click="changeTab(3)"> |
|
|
|
<img :src="A4" class="thumbnail" alt="" /> |
|
|
|
<div class="mask" v-if="[1, 2, 0].includes(activeTab)"></div> |
|
|
|
<div class="tabs_wrapper"> |
|
|
|
<div |
|
|
|
class="tab mb" |
|
|
|
@click="changeTab(parseInt(item.id) - 1)" |
|
|
|
v-for="item in productList" |
|
|
|
:key="item.id" |
|
|
|
> |
|
|
|
<img :src="item.thumbnail" class="thumbnail" alt="" /> |
|
|
|
<div class="mask" v-if="activeTab != parseInt(item.id) - 1"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -45,24 +40,36 @@ |
|
|
|
<script setup> |
|
|
|
import { ref } from 'vue' |
|
|
|
import Header from '@/components/Header' |
|
|
|
import A1 from '@/static/img/zhongxin/li1.png' |
|
|
|
import A2 from '@/static/img/zhongxin/li2.png' |
|
|
|
import A3 from '@/static/img/zhongxin/li3.png' |
|
|
|
import A4 from '@/static/img/zhongxin/li4.png' |
|
|
|
import A5 from '@/static/img/zhongxin/duibi2.png' |
|
|
|
import { DOMAIN } from '@/constant' |
|
|
|
import A5 from '@/static/img/zhongxin/t1.png' |
|
|
|
import BG from '@/static/img/zhongxin/logo2.png' |
|
|
|
import { productList } from '@/mock' |
|
|
|
const activeTab = ref(0) |
|
|
|
const changeTab = index => { |
|
|
|
activeTab.value = index |
|
|
|
} |
|
|
|
const contactUs = () => { |
|
|
|
window.location.href = `${DOMAIN}?p=contact` |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
.overview_container { |
|
|
|
background: #f9f9f9; |
|
|
|
position: relative; |
|
|
|
.product_infos { |
|
|
|
padding: 55px 59px 55px 136px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
position: relative; |
|
|
|
.bg { |
|
|
|
position: absolute; |
|
|
|
right: 0; |
|
|
|
top: 0; |
|
|
|
bottom: 0; |
|
|
|
height: 100%; |
|
|
|
width: auto; |
|
|
|
} |
|
|
|
.main { |
|
|
|
flex: 1; |
|
|
|
padding: 79px 126px 45px 0; |
|
|
@ -70,8 +77,10 @@ const changeTab = index => { |
|
|
|
align-items: center; |
|
|
|
justify-content: space-between; |
|
|
|
.big_img { |
|
|
|
width: 893px; |
|
|
|
height: 502px; |
|
|
|
// width: 893px; |
|
|
|
// height: 502px; |
|
|
|
width: 719px; |
|
|
|
height: 811px; |
|
|
|
} |
|
|
|
.content_intro { |
|
|
|
display: flex; |
|
|
|