|
@@ -1,71 +1,63 @@
|
|
|
<template>
|
|
|
- <div class="about-view">
|
|
|
- <menu
|
|
|
- class="tab-bar"
|
|
|
- >
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 0
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'InstitutionView'
|
|
|
- })"
|
|
|
+ <div class="visit">
|
|
|
+ <div class="wrapper">
|
|
|
+ <img
|
|
|
+ class="bg-cloud"
|
|
|
+ src="@/assets/images/about/img_cloud.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
>
|
|
|
- 机构
|
|
|
- </button>
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 1
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'VisitView'
|
|
|
- })"
|
|
|
+ <TableTitle
|
|
|
+ class="title"
|
|
|
+ text-cn="预约说明"
|
|
|
+ text-en="RESERVATION INSTRUCTIONS"
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ class="ticket"
|
|
|
+ src="@/assets/images/about/visit-ticket.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
>
|
|
|
- 参观
|
|
|
- </button>
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 2
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'ExhibitionView'
|
|
|
- })"
|
|
|
- >
|
|
|
- 展览
|
|
|
- </button>
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 3
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'ServiceView'
|
|
|
- })"
|
|
|
- >
|
|
|
- 服务
|
|
|
- </button>
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 4
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'ConsultView'
|
|
|
- })"
|
|
|
- >
|
|
|
- 咨询
|
|
|
- </button>
|
|
|
- <button
|
|
|
- :class="{
|
|
|
- active: $route.meta.aboutTabIdx === 5
|
|
|
- }"
|
|
|
- @click="$router.push({
|
|
|
- name: 'CollectionView'
|
|
|
- })"
|
|
|
- >
|
|
|
- 典藏
|
|
|
- </button>
|
|
|
- </menu>
|
|
|
-
|
|
|
- <router-view />
|
|
|
+ <TableTitle
|
|
|
+ class="title"
|
|
|
+ text-cn="交通路线"
|
|
|
+ text-en="TRANSPORTATION ROUTES"
|
|
|
+ />
|
|
|
+ <iframe
|
|
|
+ class="map"
|
|
|
+ src="https://uri.amap.com/marker?position=120.553256,31.523042&name=无锡慈善博物馆"
|
|
|
+ />
|
|
|
+ <menu class="traffic-switch">
|
|
|
+ <button
|
|
|
+ v-for="(item, idx) in trafficList"
|
|
|
+ :key="idx"
|
|
|
+ :class="{
|
|
|
+ active: activeTrafficIdx === idx
|
|
|
+ }"
|
|
|
+ @click="activeTrafficIdx = idx"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ class="icon normal"
|
|
|
+ :src="require(`@/assets/images/about/icon_${item.en}_normal.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ class="icon active"
|
|
|
+ :src="require(`@/assets/images/about/icon_${item.en}_active.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ <div class="text">
|
|
|
+ {{ item.cn }}
|
|
|
+ </div>
|
|
|
+ </button>
|
|
|
+ </menu>
|
|
|
+ <div class="splitter" />
|
|
|
+ <p class="traffic-desc">
|
|
|
+ {{ trafficList[activeTrafficIdx].desc }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -79,14 +71,110 @@ const router = useRouter()
|
|
|
const store = useStore()
|
|
|
|
|
|
const $env = inject('$env')
|
|
|
+
|
|
|
+const trafficList = staticConfig.trafficList
|
|
|
+const activeTrafficIdx = ref(0)
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
-.about-view{
|
|
|
+.visit{
|
|
|
position: absolute;
|
|
|
left: 0;
|
|
|
top: 0;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
+ overflow: auto;
|
|
|
+ padding-top: 80px;
|
|
|
+ background: linear-gradient( 180deg, rgba(88,148,152,0) 0%, rgba(88,148,152,0.5) 100%);
|
|
|
+ background-color: #fff;
|
|
|
+ z-index: 0;
|
|
|
+ >.wrapper{
|
|
|
+ position: relative;
|
|
|
+ padding-bottom: ;
|
|
|
+ >img.bg-cloud{
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ z-index: -1;
|
|
|
+ }
|
|
|
+ >.title{
|
|
|
+ margin-left: calc(242 / 1920 * 100vw);
|
|
|
+ }
|
|
|
+ >img.ticket{
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ >iframe.map{
|
|
|
+ margin-top: 36px;
|
|
|
+ margin-left: calc(233 / 1920 * 100vw);
|
|
|
+ width: calc(1459 / 1920 * 100vw);
|
|
|
+ height: calc(809 / 1920 * 100vw);
|
|
|
+ border: 15px solid #cedede;
|
|
|
+ }
|
|
|
+ >menu.traffic-switch{
|
|
|
+ margin-top: 62px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ gap: calc(220 / 1920 * 100vw);
|
|
|
+ >button{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ >img.icon{
|
|
|
+ width: calc(100 / 1920 * 100vw);
|
|
|
+ height: calc(100 / 1920 * 100vw);
|
|
|
+ }
|
|
|
+ >img.icon.normal{
|
|
|
+ }
|
|
|
+ >img.icon.active{
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ >.text{
|
|
|
+ margin-top: calc(7 / 1920 * 100vw);
|
|
|
+ font-family: Source Han Sans CN, Source Han Sans CN;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: calc(18 / 1920 * 100vw);
|
|
|
+ color: #589498;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >button.active, button:hover{
|
|
|
+ >img.icon.normal{
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ >img.icon.active{
|
|
|
+ display: initial;
|
|
|
+ }
|
|
|
+ >.text{
|
|
|
+ color: #D7C78E;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >.splitter{
|
|
|
+ margin-top: 25px;
|
|
|
+ margin-left: auto;
|
|
|
+ margin-right: auto;
|
|
|
+ width: calc(1261 / 1920 * 100vw);
|
|
|
+ height: 0px;
|
|
|
+ border-top: 1px dashed #589498;
|
|
|
+ }
|
|
|
+ >p.traffic-desc{
|
|
|
+ margin-top: 40px;
|
|
|
+ padding-bottom: 20px;
|
|
|
+ width: calc(1075 / 1920 * 100vw);
|
|
|
+ height: 150px;
|
|
|
+ overflow: auto;
|
|
|
+ margin-left: auto;
|
|
|
+ margin-right: auto;
|
|
|
+ font-family: Source Han Sans CN, Source Han Sans CN;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 18px;
|
|
|
+ color: #589498;
|
|
|
+ line-height: 29px;
|
|
|
+ text-align: justified;
|
|
|
+ white-space: pre-line;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|