|
@@ -1,20 +1,39 @@
|
|
<template>
|
|
<template>
|
|
<div class="info-box" v-if="title != '' && disc != ''">
|
|
<div class="info-box" v-if="title != '' && disc != ''">
|
|
- <div class="title-box" @click="() => {
|
|
|
|
|
|
+ <div class="top">
|
|
|
|
+ <div class="title-box" @click="() => {
|
|
isShow = !isShow;
|
|
isShow = !isShow;
|
|
|
|
+ isOpenHot = false;
|
|
}
|
|
}
|
|
">
|
|
">
|
|
- <div class="detail">
|
|
|
|
- <div class="scroll-wrap">
|
|
|
|
- <div class="scroll-item">
|
|
|
|
- {{ title }}
|
|
|
|
|
|
+ <div class="detail">
|
|
|
|
+ <div class="scroll-wrap">
|
|
|
|
+ <div class="scroll-item">
|
|
|
|
+ {{ title }}
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="line"></div>
|
|
|
|
+ <img src="../../assets/img/infoIcon.png" alt="" />
|
|
</div>
|
|
</div>
|
|
- <div class="line"></div>
|
|
|
|
- <img src="../../assets/img/infoIcon.png" alt="" />
|
|
|
|
|
|
+ <img v-show="isShowHotIcon" @click="() => { isOpenHot = !isOpenHot; isShow = false }"
|
|
|
|
+ src="@/assets/images/icon/hot-icon.png" alt="">
|
|
</div>
|
|
</div>
|
|
<div class="disc-box" v-show="isShow" v-html="disc"></div>
|
|
<div class="disc-box" v-show="isShow" v-html="disc"></div>
|
|
|
|
+ <div class="disc-box2" v-show="isOpenHot">
|
|
|
|
+ <img class="close-icon" @click="() => { isOpenHot = false }" src="@/assets/images/icon/icon-close.png" alt="">
|
|
|
|
+ <div class="back-box" @click="back()"><img src="@/assets/images/icon/back.png" alt="">返回上一级场景</div>
|
|
|
|
+ <div class="hot-list">
|
|
|
|
+ <div class="list-title">关联场景</div>
|
|
|
|
+ <div class="list-content">
|
|
|
|
+ <div class="list-item" @mouseover="() => { hotInd = index }" @click="openHot(item, index)"
|
|
|
|
+ @mouseout="() => { hotInd = null }" :class="{ 'active': hotInd === index }" v-for="(item, index) in data"
|
|
|
|
+ :key="index">
|
|
|
|
+ {{ item.info.title ? item.info.title : '热点' }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -26,14 +45,33 @@ export default {
|
|
title: "",
|
|
title: "",
|
|
disc: "",
|
|
disc: "",
|
|
isShow: false,
|
|
isShow: false,
|
|
|
|
+ isShowHotIcon: false,
|
|
|
|
+ isOpenHot: false,
|
|
|
|
+ data: [],
|
|
|
|
+ hotInd: null
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {},
|
|
computed: {},
|
|
watch: {},
|
|
watch: {},
|
|
- methods: {},
|
|
|
|
|
|
+ methods: {
|
|
|
|
+ openHot(e, index) {
|
|
|
|
+ // 停止自动导览
|
|
|
|
+ window.player.director.stopTour();
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ e && e.examine(window.player, true);
|
|
|
|
+ this.hotInd = index;
|
|
|
|
+ }, 200);
|
|
|
|
+ },
|
|
|
|
+ back() {
|
|
|
|
+ if (window.parent) {
|
|
|
|
+ window.parent.window.backFu()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
created() { },
|
|
created() { },
|
|
mounted() {
|
|
mounted() {
|
|
let timeA = -1;
|
|
let timeA = -1;
|
|
|
|
+
|
|
timeA = window.setInterval(() => {
|
|
timeA = window.setInterval(() => {
|
|
if (window.DATA) {
|
|
if (window.DATA) {
|
|
clearInterval(timeA);
|
|
clearInterval(timeA);
|
|
@@ -42,6 +80,21 @@ export default {
|
|
this.disc = window.DATA.summary;
|
|
this.disc = window.DATA.summary;
|
|
document.title = window.DATA.name;
|
|
document.title = window.DATA.name;
|
|
}, 100);
|
|
}, 100);
|
|
|
|
+
|
|
|
|
+ let timeB = -1;
|
|
|
|
+ timeB = window.setInterval(() => {
|
|
|
|
+ if (window.isHot) {
|
|
|
|
+ clearInterval(timeB);
|
|
|
|
+ }
|
|
|
|
+ if (window.isHot && window.myHotList && window.myHotList.length) {
|
|
|
|
+ if (window.myHotList.length > 0) {
|
|
|
|
+ this.isShowHotIcon = true;
|
|
|
|
+ this.data = window.myHotList.filter((item) => {
|
|
|
|
+ return item.info.linkType != "common"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }, 1000)
|
|
},
|
|
},
|
|
beforeCreate() { }, //生命周期 - 创建之前
|
|
beforeCreate() { }, //生命周期 - 创建之前
|
|
beforeMount() { }, //生命周期 - 挂载之前
|
|
beforeMount() { }, //生命周期 - 挂载之前
|
|
@@ -63,6 +116,16 @@ export default {
|
|
/* transform: translateX(-50%); */
|
|
/* transform: translateX(-50%); */
|
|
color: #fff;
|
|
color: #fff;
|
|
|
|
|
|
|
|
+ .top {
|
|
|
|
+ height: 100%;
|
|
|
|
+ display: flex;
|
|
|
|
+
|
|
|
|
+ img {
|
|
|
|
+ margin-left: 20px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
.title-box {
|
|
.title-box {
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
height: 100%;
|
|
@@ -71,7 +134,7 @@ export default {
|
|
align-items: center;
|
|
align-items: center;
|
|
background: url("../../assets/img/infoBg.png");
|
|
background: url("../../assets/img/infoBg.png");
|
|
background-size: 100% 100%;
|
|
background-size: 100% 100%;
|
|
- font-size: 1em;
|
|
|
|
|
|
+ font-size: 1.2em;
|
|
font-family: "AdobeHeitiStd";
|
|
font-family: "AdobeHeitiStd";
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
padding: 0 20px;
|
|
padding: 0 20px;
|
|
@@ -98,7 +161,73 @@ export default {
|
|
padding: 30px;
|
|
padding: 30px;
|
|
text-indent: 2em;
|
|
text-indent: 2em;
|
|
line-height: 25px;
|
|
line-height: 25px;
|
|
|
|
+ font-size: 1.2em;
|
|
letter-spacing: 2px;
|
|
letter-spacing: 2px;
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ border-radius: 10px 10px;
|
|
|
|
+ position: relative;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .disc-box2 {
|
|
|
|
+ max-width: 300px;
|
|
|
|
+ background: #5e1b13a4;
|
|
|
|
+ backdrop-filter: blur(10px);
|
|
|
|
+ padding: 10px 10px;
|
|
|
|
+ line-height: 25px;
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ border-radius: 10px 10px;
|
|
|
|
+ font-size: 1.2em;
|
|
|
|
+ position: relative;
|
|
|
|
+
|
|
|
|
+ .close-icon {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 15px;
|
|
|
|
+ right: 10px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .back-box {
|
|
|
|
+ font-size: 0.9em;
|
|
|
|
+ line-height: 40px;
|
|
|
|
+ color: rgba(255, 255, 255, 0.6);
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+
|
|
|
|
+ img {
|
|
|
|
+ transform: calc(0.9);
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .hot-list {
|
|
|
|
+ width: 100%;
|
|
|
|
+
|
|
|
|
+ .list-title {
|
|
|
|
+ color: #E7C395;
|
|
|
|
+ padding: 0 10px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .list-content {
|
|
|
|
+ max-height: 400px;
|
|
|
|
+ overflow: auto;
|
|
|
|
+
|
|
|
|
+ .list-item {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 30px;
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ color: white;
|
|
|
|
+ text-align: left;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ padding: 0 10px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .active {
|
|
|
|
+ color: #E7C395;
|
|
|
|
+ background: #911212;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|