Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
exhibition_page
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
龙菲
exhibition_page
Commits
e870d906
提交
e870d906
authored
11月 29, 2022
作者:
龙菲
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改虚拟展厅推荐
上级
0c3020d8
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
77 行增加
和
35 行删除
+77
-35
Virtural.vue
src/views/home/components/Virtural.vue
+77
-35
没有找到文件。
src/views/home/components/Virtural.vue
浏览文件 @
e870d906
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论