|
|
|
@ -1,6 +1,5 @@ |
|
|
|
<template> |
|
|
|
<View> |
|
|
|
<Teleport to="body"> |
|
|
|
<ScrollView scroll-x :list="currentBuildingFloorsList" class="floors-list animate__fast animate__animated animate__fadeIn"> |
|
|
|
<div style="display: inline-block; white-space: nowrap"> |
|
|
|
<div |
|
|
|
@ -14,8 +13,6 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</ScrollView> |
|
|
|
</Teleport> |
|
|
|
<Teleport to="body"> |
|
|
|
<div class="control-area"> |
|
|
|
<div class="map-control-wrapper animate__fast animate__animated animate__fadeInUp"> |
|
|
|
<div class="map-item" @click="handleMapIcon(item, index)" v-for="(item, index) of buttonList" :key="item.name"> |
|
|
|
@ -23,10 +20,8 @@ |
|
|
|
<span class="map-name">{{ switchLanguage(item, 'name') }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<img src="../../assets/images/map/hands.svg" alt="" class="hands" /> |
|
|
|
</div> |
|
|
|
</Teleport> |
|
|
|
|
|
|
|
<img src="../../assets/images/map/hands.svg" alt="" class="hands" /> |
|
|
|
<div class="shop-list-wrapper"> |
|
|
|
<BrandScroll v-if="initiated" :shop="shop" :need-focus="true" @click="handleShop" @nav="handleShopNav" :list="selectedShopList" :config="config" /> |
|
|
|
</div> |
|
|
|
@ -213,101 +208,6 @@ const handleFacility = async fac => { |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
.allFloors { |
|
|
|
position: absolute; |
|
|
|
top: 408px; |
|
|
|
left: 0; |
|
|
|
right: 0; |
|
|
|
height: 642px; |
|
|
|
background: var(--guide-allFloorBg); |
|
|
|
z-index: 100; |
|
|
|
.row { |
|
|
|
height: 76px; |
|
|
|
display: flex; |
|
|
|
&.current { |
|
|
|
.left { |
|
|
|
position: relative; |
|
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, #ffffff 100%); |
|
|
|
&::after { |
|
|
|
position: absolute; |
|
|
|
left: 0; |
|
|
|
right: 0; |
|
|
|
bottom: 0; |
|
|
|
height: 20px; |
|
|
|
display: flex; |
|
|
|
content: '您在本层'; |
|
|
|
background: var(--guide-currentBg); |
|
|
|
font-weight: 700; |
|
|
|
font-size: 12px; |
|
|
|
color: var(--guide-currentColor); |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
} |
|
|
|
.right { |
|
|
|
background: #fff; |
|
|
|
} |
|
|
|
} |
|
|
|
.left { |
|
|
|
flex: 0 0 150px; |
|
|
|
font-family: 'Montserrat'; |
|
|
|
font-style: normal; |
|
|
|
font-weight: 700; |
|
|
|
font-size: 28px; |
|
|
|
line-height: 96%; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
text-align: center; |
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
/* W/100% */ |
|
|
|
|
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
.right { |
|
|
|
flex: 1; |
|
|
|
display: flex; |
|
|
|
padding: 0 68px; |
|
|
|
border-bottom: 1px solid #fff; |
|
|
|
.format { |
|
|
|
flex: 1; |
|
|
|
font-weight: 700; |
|
|
|
font-size: 20px; |
|
|
|
line-height: 23px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
|
} |
|
|
|
.facs { |
|
|
|
flex: 0; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: flex-end; |
|
|
|
|
|
|
|
.fac { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
img { |
|
|
|
width: 36px; |
|
|
|
height: 36px; |
|
|
|
margin-bottom: 8px; |
|
|
|
} |
|
|
|
font-weight: 700; |
|
|
|
font-size: 12px; |
|
|
|
line-height: 14px; |
|
|
|
text-align: center; |
|
|
|
color: rgba(0, 0, 0, 0.6); |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.fac + .fac { |
|
|
|
margin-left: 16px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.floors-list { |
|
|
|
position: absolute; |
|
|
|
left: 0; |
|
|
|
@ -343,13 +243,6 @@ const handleFacility = async fac => { |
|
|
|
|
|
|
|
color: var(--guide-floorColor); |
|
|
|
transition: all 0.5s; |
|
|
|
&.all { |
|
|
|
width: 150px; |
|
|
|
font-weight: 700; |
|
|
|
font-size: 18px; |
|
|
|
line-height: 96%; |
|
|
|
vertical-align: bottom; |
|
|
|
} |
|
|
|
&.current { |
|
|
|
background: rgba(0, 0, 0, 0.1); |
|
|
|
&::after { |
|
|
|
@ -374,119 +267,7 @@ const handleFacility = async fac => { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.floors-list-h { |
|
|
|
position: absolute; |
|
|
|
right: 510px; |
|
|
|
width: 100px; |
|
|
|
top: 280px; |
|
|
|
height: calc(100vh - 280px); |
|
|
|
z-index: 60; |
|
|
|
display: block; |
|
|
|
overflow: hidden; |
|
|
|
background: var(--guide-floorBg); |
|
|
|
&.all { |
|
|
|
width: calc(100vw - 510px); |
|
|
|
background: var(--guide-allFloorBgH); |
|
|
|
} |
|
|
|
&::-webkit-scrollbar { |
|
|
|
display: none; |
|
|
|
} |
|
|
|
.floor-wrapper { |
|
|
|
width: 100%; |
|
|
|
display: flex; |
|
|
|
} |
|
|
|
.all-item { |
|
|
|
flex: 1; |
|
|
|
display: flex; |
|
|
|
padding: 0 68px; |
|
|
|
&.current { |
|
|
|
background: #fff; |
|
|
|
} |
|
|
|
|
|
|
|
border-bottom: 1px solid #fff; |
|
|
|
.format { |
|
|
|
flex: 1; |
|
|
|
font-weight: 700; |
|
|
|
font-size: 20px; |
|
|
|
line-height: 23px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
|
justify-content: flex-end; |
|
|
|
text-align: right; |
|
|
|
} |
|
|
|
.facs { |
|
|
|
flex: 0; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: flex-end; |
|
|
|
|
|
|
|
.fac { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
img { |
|
|
|
width: 36px; |
|
|
|
height: 36px; |
|
|
|
margin-bottom: 8px; |
|
|
|
} |
|
|
|
font-weight: 700; |
|
|
|
font-size: 12px; |
|
|
|
line-height: 14px; |
|
|
|
text-align: center; |
|
|
|
color: rgba(0, 0, 0, 0.6); |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.fac + .fac { |
|
|
|
margin-left: 16px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.floors-item { |
|
|
|
flex: 0 0 100px; |
|
|
|
width: 100%; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
position: relative; |
|
|
|
height: 94.44px; |
|
|
|
font-family: 'Montserrat'; |
|
|
|
font-style: normal; |
|
|
|
font-weight: 700; |
|
|
|
font-size: 28px; |
|
|
|
line-height: 96%; |
|
|
|
text-align: center; |
|
|
|
color: var(--guide-floorColor); |
|
|
|
transition: all 0.5s; |
|
|
|
&.all { |
|
|
|
font-weight: 700; |
|
|
|
font-size: 18px; |
|
|
|
line-height: 96%; |
|
|
|
vertical-align: bottom; |
|
|
|
} |
|
|
|
&.current { |
|
|
|
background: rgba(0, 0, 0, 0.1); |
|
|
|
&::after { |
|
|
|
position: absolute; |
|
|
|
left: 0; |
|
|
|
right: 0; |
|
|
|
bottom: 0; |
|
|
|
height: 20px; |
|
|
|
display: flex; |
|
|
|
content: '您在本层'; |
|
|
|
background: var(--guide-currentBg); |
|
|
|
font-weight: 700; |
|
|
|
font-size: 12px; |
|
|
|
color: var(--guide-currentColor); |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
} |
|
|
|
&.active { |
|
|
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, #ffffff 100%); |
|
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.shop-list-wrapper { |
|
|
|
position: absolute; |
|
|
|
width: 1080px; |
|
|
|
@ -526,16 +307,15 @@ const handleFacility = async fac => { |
|
|
|
right: 24px; |
|
|
|
top: 874px; |
|
|
|
z-index: 51; |
|
|
|
|
|
|
|
} |
|
|
|
.hands { |
|
|
|
position: fixed; |
|
|
|
position: absolute; |
|
|
|
top: 330px; |
|
|
|
right: 68px; |
|
|
|
width: 246px; |
|
|
|
height: 80px; |
|
|
|
z-index: 51; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.map-control-wrapper { |
|
|
|
display: flex; |
|
|
|
|