提交 e870d906 authored 作者: 龙菲's avatar 龙菲

修改虚拟展厅推荐

上级 0c3020d8
...@@ -2,21 +2,17 @@ ...@@ -2,21 +2,17 @@
<template> <template>
<div class="home-virtural"> <div class="home-virtural">
<div class="content-wrapper"> <div class="content-wrapper">
<div <div class="title wow animate__animated animate__fadeInUp" data-wow-offset="200">
class="title wow animate__animated animate__fadeInUp"
data-wow-offset="200"
>
<div class="ch">虚拟展厅</div> <div class="ch">虚拟展厅</div>
<div class="en">Virtual Exhibition Hall</div> <div class="en">Virtual Exhibition Hall</div>
</div> </div>
<el-row class="content" :gutter="100"> <el-row class="content" :gutter="100">
<el-col :span="6" class="wow animate__animated animate__fadeInLeft"> <el-col :span="6" class="wow animate__animated animate__fadeInLeft">
<div class="intro" v-if="list.length > 0"> <div class="intro" v-if="currentItem">
<div class="name">{{ list[0].name }}</div> <div class="name">{{ currentItem.name }}</div>
<div class="deptName">{{ list[0].deptName }}</div> <div class="deptName">{{ currentItem.deptName }}</div>
<div class="intro-content" v-html="list[0].intro"></div> <div class="intro-content" v-html="currentItem.intro"></div>
<!-- <EntranceIcon color="#fff" @click.native="handleClick(list[0])" /> --> <div class="entrance" @click="handleClick(currentItem)">
<div class="entrance" @click="handleClick(list[0])">
<svg-icon icon-class="quanjing"></svg-icon> <svg-icon icon-class="quanjing"></svg-icon>
<span>点击体验</span> <span>点击体验</span>
</div> </div>
...@@ -25,25 +21,40 @@ ...@@ -25,25 +21,40 @@
<el-col :span="18"> <el-col :span="18">
<div class="virtual-items wow animate__animated animate__fadeInRight"> <div class="virtual-items wow animate__animated animate__fadeInRight">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col <el-col :span="12" v-for="(item, index) in list" :key="index" @click.native="handleClick(item)"
:span="12" @mouseenter.native="handleMouseEnter(item)" @mouseleave.native="handleMouseLeave()">
v-for="(item, index) in list"
:key="index"
@click.native="handleClick(item)"
>
<div class="item"> <div class="item">
<img <img :src="
:src=" $getFullUrl(item.faceImagePressUrl || item.faceImageUrl)
$getFullUrl(item.faceImagePressUrl || item.faceImageUrl) " alt="" />
"
alt=""
/>
<div class="name">{{ item.name }}</div> <div class="name">{{ item.name }}</div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</el-col> </el-col>
<!-- <div class="intro" v-if="currentItem">
<div class="name">{{ currentItem.name }}</div>
<div class="deptName">{{ currentItem.deptName }}</div>
<div class="entrance" @click="handleClick(currentItem)">
<svg-icon icon-class="quanjing"></svg-icon>
<span>点击体验</span>
</div>
</div>
<div class="virtual-items wow animate__animated animate__fadeInRight">
<el-row :gutter="10">
<el-col :span="12" v-for="(item, index) in list" :key="index" @click.native="handleClick(item)"
@mouseenter.native="handleMouseEnter(item)" @mouseleave.native="handleMouseLeave()">
<div class="item">
<img :src="
$getFullUrl(item.faceImagePressUrl || item.faceImageUrl)
" alt="" />
<div class="name">{{ item.name }}</div>
</div>
</el-col>
</el-row>
</div> -->
</el-row> </el-row>
</div> </div>
</div> </div>
...@@ -58,6 +69,7 @@ export default { ...@@ -58,6 +69,7 @@ export default {
data() { data() {
return { return {
list: [], list: [],
currentItem: null
}; };
}, },
mounted() { mounted() {
...@@ -66,8 +78,11 @@ export default { ...@@ -66,8 +78,11 @@ export default {
methods: { methods: {
async loadData() { async loadData() {
let res = await getVrRecommend(); let res = await getVrRecommend();
if (res.code == 0) { if (res.code == 0) {
this.list = res.data; this.list = res.data;
this.currentItem = this.list[0]
console.log(this.currentItem);
} }
}, },
handleClick(item) { handleClick(item) {
...@@ -76,12 +91,21 @@ export default { ...@@ -76,12 +91,21 @@ export default {
window.open(item.url); window.open(item.url);
}, 1000); }, 1000);
}, },
handleMouseEnter(item) {
this.currentItem = item
},
handleMouseLeave() {
// this.currentItem = null
}
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
$blue: $themeColor; $blue: $themeColor;
.home-virtural { .home-virtural {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
...@@ -92,6 +116,7 @@ $blue: $themeColor; ...@@ -92,6 +116,7 @@ $blue: $themeColor;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position-y: 70%; background-position-y: 70%;
overflow: hidden; overflow: hidden;
.content-wrapper { .content-wrapper {
.title { .title {
display: flex; display: flex;
...@@ -99,32 +124,39 @@ $blue: $themeColor; ...@@ -99,32 +124,39 @@ $blue: $themeColor;
align-items: center; align-items: center;
padding: 100px 0 80px 0; padding: 100px 0 80px 0;
font-family: "Alibaba PuHuiTi"; font-family: "Alibaba PuHuiTi";
.ch { .ch {
font-size: 30px; font-size: 30px;
font-weight: bold; font-weight: bold;
color: #333333; color: #333333;
margin-bottom: 12px; margin-bottom: 12px;
} }
.en { .en {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
} }
} }
.content { .content {
min-width: 50vw; width: 74vw;
.intro { .intro {
font-family: "Alibaba PuHuiTi"; font-family: "Alibaba PuHuiTi";
color: #ffffff; color: #ffffff;
margin-top: 110px; margin-top: 110px;
// width: 300px;
.name { .name {
margin-bottom: 27px; margin-bottom: 27px;
font-size: 26px; font-size: 26px;
font-weight: bold; font-weight: bold;
} }
.deptName { .deptName {
font-size: 14px; font-size: 14px;
margin-bottom: 50px; margin-bottom: 50px;
} }
.intro-content { .intro-content {
margin-bottom: 60px; margin-bottom: 60px;
width: 258px; width: 258px;
...@@ -136,6 +168,7 @@ $blue: $themeColor; ...@@ -136,6 +168,7 @@ $blue: $themeColor;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
line-height: 2; line-height: 2;
} }
.entrance { .entrance {
display: flex; display: flex;
justify-content: center; justify-content: center;
...@@ -146,50 +179,59 @@ $blue: $themeColor; ...@@ -146,50 +179,59 @@ $blue: $themeColor;
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
transition: all ease 0.3s; transition: all ease 0.3s;
&:hover { &:hover {
box-shadow: 2px 4px 4px 2px rgba(0, 0, 0, 0.3); box-shadow: 2px 4px 4px 2px rgba(0, 0, 0, 0.3);
} }
.svg-icon{
.svg-icon {
font-size: 20px; font-size: 20px;
margin-right: 4px; margin-right: 4px;
} }
} }
} }
.virtual-items { .virtual-items {
.item { .item {
margin-bottom: 5px; margin-bottom: 5px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
&:hover {
.name {
transform: translateY(0);
}
img {
transform: scale(1.1);
}
}
img { img {
width: 100%; width: 100%;
height: 25vh; height: 25vh;
max-height: 225px; max-height: 225px;
transition: all 0.5s ease; transition: all 0.5s ease;
object-fit: cover;
filter: grayscale(0.6);
} }
.name { .name {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 0; left: 0;
right: 0; right: 0;
background-color: rgba($color: #000000, $alpha: 0.4); // background-color: rgba($color: #000000, $alpha: 0.4);
color: #fff; color: #fff;
// height: 80px; // height: 80px;
padding: 16px; padding: 16px;
transform: translateY(100px); // transform: translateY(100px);
width: 100%; width: 100%;
transition: all 0.5s ease; transition: all 0.5s ease;
} }
} }
.active,
.item:hover {
img {
transform: scale(1.1);
filter: grayscale(0);
}
}
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论