heritage-hub/src/views/commonpage.vue

276 lines
8.2 KiB
Vue
Raw Normal View History

2024-01-31 09:04:35 +00:00
<template>
2024-02-01 09:59:44 +00:00
<div style="min-height: 100vh"
2024-01-31 10:48:53 +00:00
class="100vw">
2024-02-01 11:49:57 +00:00
<div v-if="currentDevice==='pc'" style="height: 80px; background: #000"
2024-01-31 10:48:53 +00:00
class="color-white row items-center">
2024-02-01 09:59:44 +00:00
<div class="col-3 col-md-4 row items-center justify-center">
<img src="../assets/images/icon-title.png"
style="width: 40px; height: 40px" /><span class="fl-ml-sm">延庆博物馆</span>
</div>
2024-01-31 10:48:53 +00:00
2024-02-01 06:48:20 +00:00
<div class="col-9 col-md-6 row justify-around items-center">
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('/home/navigation')">
首页
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
导航
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
展览
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
典藏
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
资讯
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
文创
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor header-title relative"
2024-02-01 09:59:44 +00:00
@click="handleLink('')">
数字文脉
</div>
2024-01-31 10:48:53 +00:00
2024-02-01 09:59:44 +00:00
<div class="cursor header-title hover-dom relative">
关于
2024-02-01 07:08:07 +00:00
<div class="hidden-dom row justify-center"
2024-02-01 09:59:44 +00:00
style="position: absolute; top: 20px; left: -38px; z-index: 9999">
2024-02-01 07:08:07 +00:00
<div class="row justify-center secmenu fl-mt-lg"
2024-02-01 09:59:44 +00:00
style="padding: 4px 8px">
2024-02-01 07:08:07 +00:00
<div class="cursor"
2024-02-01 09:59:44 +00:00
style="padding: 8px; border-bottom: 1px solid #fff"
@click="handleLink('/about/statutes')">
制度公开
</div>
2024-02-01 02:40:05 +00:00
2024-02-01 07:08:07 +00:00
<div class="cursor"
2024-02-01 09:59:44 +00:00
style="padding: 8px; border-bottom: 1px solid #fff"
@click="handleLink('/common/interpretive')">
讲解服务
</div>
2024-02-01 07:08:07 +00:00
<div class="cursor"
2024-02-01 09:59:44 +00:00
style="padding: 8px"
@click="handleLink('/common/audiencesurveys')">
观众调查
</div>
2024-02-01 02:40:05 +00:00
</div>
</div>
</div>
2024-01-31 10:48:53 +00:00
</div>
2024-02-01 07:08:07 +00:00
</div>
<div class="fl-page-width">
<router-view></router-view>
</div>
2024-01-31 10:48:53 +00:00
2024-02-01 09:59:44 +00:00
<div style="height: 145px; background: #000"
2024-02-01 10:04:35 +00:00
class="row justify-center color-white relative">
2024-02-01 09:59:44 +00:00
<div class="col-6 col-md-4 row justify-around"
style="margin-top: 32px; max-width: 300px">
2024-02-01 07:08:07 +00:00
<div class="cursor"
@click="handleLink('')">帮助</div>
2024-02-01 09:59:44 +00:00
<div class="cursor"
2024-02-01 07:08:07 +00:00
@click="handleLink('')">隐私</div>
2024-02-01 09:59:44 +00:00
<div class="cursor"
2024-02-01 07:08:07 +00:00
@click="handleLink('')">条款</div>
2024-02-01 09:59:44 +00:00
<div class="col-12 cursor text-center">
copyright 2024 最终所有权归延庆博物馆
</div>
2024-01-31 10:48:53 +00:00
</div>
2024-02-01 10:04:35 +00:00
<div v-if="state.isH5 == 'true'"
style="
border-radius: 50%;
position: absolute;
top: -60px;
left: 60px;
z-index: 10;
"
2024-02-01 10:52:31 +00:00
class="relative menu-dom"
@click="handleMenuClick()">
2024-02-01 10:04:35 +00:00
<img src="../assets/images/icon-menu.png"
style="width: 32px" />
2024-02-01 10:52:31 +00:00
<div v-if="state.showMenu"
class="menu-hover-dom row justify-center"
2024-02-01 10:04:35 +00:00
style="
position: absolute;
top: -345px;
left: 18px;
z-index: 9;
padding-bottom: 20px;
">
<div class="row justify-center fl-mt-lg"
style="
padding: 0 10px;
height: 340px;
width: 104px;
background: #000;
">
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('/home/navigation')">
首页
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
导航
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
展览
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
典藏
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
资讯
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
文创
</div>
<div class="cursor col-12 row items-center justify-center"
style="border-bottom: 1px solid #fff"
@click="handleLink('')">
数字文脉
</div>
2024-02-01 10:52:31 +00:00
<div class="cursor col-12 row items-center justify-center relative about-dom"
@click="handleSecMenuClick()">
2024-02-01 10:04:35 +00:00
关于
2024-02-01 10:52:31 +00:00
<div v-if="state.showSecMenu"
class="about-hover-dom row justify-center"
2024-02-01 10:04:35 +00:00
style="
position: absolute;
top: -122px;
left: 120%;
z-index: 9;
padding-bottom: 20px;
">
<div class="row justify-center fl-mt-lg"
style="padding: 0 10px; width: 104px; background: #000">
<div class="cursor"
style="padding: 8px; border-bottom: 1px solid #fff"
@click="handleLink('/about/statutes')">
制度公开
</div>
<div class="cursor"
style="padding: 8px; border-bottom: 1px solid #fff"
@click="handleLink('/common/interpretive')">
讲解服务
</div>
<div class="cursor"
style="padding: 8px"
@click="handleLink('/common/audiencesurveys')">
观众调查
</div>
</div>
</div>
</div>
</div>
</div>
</div>
2024-01-31 09:04:35 +00:00
</div>
2024-02-01 07:08:07 +00:00
</div>
2024-01-31 09:04:35 +00:00
</template>
2024-01-31 10:48:53 +00:00
<script setup>
2024-02-01 01:29:53 +00:00
import {
ref,
reactive,
onBeforeMount,
getCurrentInstance,
watch,
nextTick,
} from "vue";
2024-02-01 11:49:57 +00:00
import {useAdaptation} from '@/utils/self-adaption.js'
const {currentDevice}= useAdaptation()
2024-02-01 09:59:44 +00:00
import { useRoute, useRouter } from "vue-router";
2024-02-01 01:29:53 +00:00
const route = useRoute();
const router = useRouter();
const state = reactive({
2024-02-01 09:59:44 +00:00
activePage: "",
2024-02-01 10:04:35 +00:00
isH5: false,
2024-02-01 10:52:31 +00:00
showMenu: false,
showSecMenu: false,
2024-02-01 01:29:53 +00:00
});
onBeforeMount(() => {
const currentPath = route.path;
state.activePage = currentPath;
2024-02-01 10:04:35 +00:00
state.isH5 = localStorage.getItem("isH5");
2024-02-01 09:59:44 +00:00
});
2024-02-01 10:52:31 +00:00
const pagepath = ref(window.location.pathname);
console.log('pagepath', pagepath.value);
watch(
() => route.path,
(to, from) => {
// 执行路由变化时的操作
state.showMenu = false
state.showSecMenu = false
},
{ deep: true }
);
2024-02-01 01:29:53 +00:00
2024-02-01 02:40:05 +00:00
const handleLink = (url) => {
2024-02-01 01:29:53 +00:00
if (url) {
2024-02-01 09:59:44 +00:00
router.push(url);
2024-02-01 01:29:53 +00:00
state.activePage = url;
} else {
2024-02-01 09:59:44 +00:00
router.push("/common/staytuned");
2024-02-01 01:29:53 +00:00
}
2024-02-01 09:59:44 +00:00
};
2024-02-01 10:52:31 +00:00
const handleMenuClick = () => {
state.showMenu = true
}
const handleSecMenuClick = () => {
state.showSecMenu = true
}
2024-01-31 10:48:53 +00:00
</script>
2024-01-31 09:04:35 +00:00
<style scoped>
2024-01-31 10:48:53 +00:00
.header-title {
2024-01-31 12:11:02 +00:00
padding: 4px 18px;
2024-01-31 10:48:53 +00:00
border-radius: 25px;
}
.header-title:hover {
background: #3d8873;
}
2024-02-01 02:40:05 +00:00
.hover-dom:hover .hidden-dom {
display: block;
}
.hidden-dom {
display: none;
}
.secmenu {
width: 120px;
background: #343434;
border-radius: 10px;
}
2024-02-01 07:08:07 +00:00
.header-title:hover::after {
content: "";
background-image: url("../assets/images/icon-header-btn.png");
background-size: contain;
background-repeat: no-repeat;
width: 45px;
height: 3px;
position: absolute;
top: 30px;
left: 50%;
transform: translateX(-50%);
}
2024-01-31 09:04:35 +00:00
</style>