You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
3.2 KiB
149 lines
3.2 KiB
<template>
|
|
<div class="track_container">
|
|
<div class="card_wrap">
|
|
<div
|
|
:class="item.bg ? 'card bg' : 'card'"
|
|
v-for="item in trackList"
|
|
:key="item.id"
|
|
>
|
|
<div v-if="item.id != activeTab" class="stand">
|
|
<img class="icon" :src="item.pic" />
|
|
<p class="title">{{ item.title }}</p>
|
|
<div class="btn" @click="toClassifyPage(item.id)">点击查看更多</div>
|
|
</div>
|
|
<div v-else class="selected">
|
|
<img :src="getImg(item.id)" alt="" class="img" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { trackList } from '@/mock'
|
|
import A1 from '@/static/img/caseshow/healthcare.png'
|
|
import A2 from '@/static/img/caseshow/hardware.png'
|
|
import A3 from '@/static/img/caseshow/industry.png'
|
|
import A4 from '@/static/img/caseshow/railway.png'
|
|
import A5 from '@/static/img/caseshow/outdoors.png'
|
|
import A6 from '@/static/img/caseshow/specialequip.png'
|
|
import A7 from '@/static/img/caseshow/healthcare.png'
|
|
import A8 from '@/static/img/caseshow/smarthome.png'
|
|
import A9 from '@/static/img/caseshow/electronics.png'
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
const router = useRouter()
|
|
const route = useRoute()
|
|
import { watch } from 'vue'
|
|
const props = defineProps({
|
|
activeTab: {
|
|
type: Number,
|
|
},
|
|
})
|
|
watch(
|
|
() => route.query.t,
|
|
() => {
|
|
router.go(0)
|
|
},
|
|
)
|
|
const toClassifyPage = id => {
|
|
router.push({
|
|
path: '/case-show',
|
|
query: {
|
|
t: id,
|
|
},
|
|
})
|
|
}
|
|
const getImg = id => {
|
|
if (id == 1) {
|
|
return A1
|
|
}
|
|
if (id == 2) {
|
|
return A2
|
|
}
|
|
if (id == 3) {
|
|
return A3
|
|
}
|
|
if (id == 4) {
|
|
return A4
|
|
}
|
|
if (id == 5) {
|
|
return A5
|
|
}
|
|
if (id == 6) {
|
|
return A6
|
|
}
|
|
if (id == 7) {
|
|
return A7
|
|
}
|
|
if (id == 8) {
|
|
return A8
|
|
}
|
|
if (id == 9) {
|
|
return A9
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.track_container {
|
|
.card_wrap {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
grid-template-rows: repeat(3, 1fr);
|
|
box-sizing: border-box;
|
|
.card {
|
|
flex: 1;
|
|
background: #fff;
|
|
.stand {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: 20px 0;
|
|
.icon {
|
|
width: auto;
|
|
height: 20px;
|
|
margin-bottom: 11px;
|
|
}
|
|
.title {
|
|
font-size: 16px;
|
|
transform: scale(0.5);
|
|
line-height: 8px;
|
|
font-family: Alibaba PuHuiTi;
|
|
font-weight: 400;
|
|
color: #262626;
|
|
margin-bottom: 4px;
|
|
}
|
|
.btn {
|
|
border: 1px solid #262626;
|
|
padding: 8px 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 12px;
|
|
transform: scale(0.5);
|
|
font-family: Alibaba PuHuiTi;
|
|
font-weight: 300;
|
|
color: #262626;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
.selected {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 1;
|
|
height: 100%;
|
|
.img {
|
|
width: 90px;
|
|
height: 90px;
|
|
box-shadow: 0px 2px 7px 0px rgba(8, 69, 71, 0.09);
|
|
border-radius: 11px;
|
|
}
|
|
}
|
|
}
|
|
.bg {
|
|
background: #fafafa;
|
|
}
|
|
}
|
|
}
|
|
</style>
|