|
@@ -98,6 +98,24 @@
|
|
|
>
|
|
>
|
|
|
<div>顶部俯视</div>
|
|
<div>顶部俯视</div>
|
|
|
</button>
|
|
</button>
|
|
|
|
|
+ <button
|
|
|
|
|
+ :class="{active: isShowHotspotList}"
|
|
|
|
|
+ @click="isShowHotspotList = true"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-show="!isShowHotspotList"
|
|
|
|
|
+ src="@/assets\images\swkk\hotspot-list.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ draggable="false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-show="isShowHotspotList"
|
|
|
|
|
+ src="@/assets\images\swkk\hotspot-list-active.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ draggable="false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div>热点列表</div>
|
|
|
|
|
+ </button>
|
|
|
</menu>
|
|
</menu>
|
|
|
|
|
|
|
|
<!-- 右上地图 -->
|
|
<!-- 右上地图 -->
|
|
@@ -168,40 +186,63 @@
|
|
|
<HotspotDetail
|
|
<HotspotDetail
|
|
|
v-if="isShowDetail"
|
|
v-if="isShowDetail"
|
|
|
class="hotspot-detail"
|
|
class="hotspot-detail"
|
|
|
|
|
+ :style="{
|
|
|
|
|
+ zIndex: $globalConfig.zIndex.swkkHotspotDetail.self
|
|
|
|
|
+ }"
|
|
|
:hotspot-list="relatedHotspotList"
|
|
:hotspot-list="relatedHotspotList"
|
|
|
@close="isShowDetail = false"
|
|
@close="isShowDetail = false"
|
|
|
/>
|
|
/>
|
|
|
|
|
+
|
|
|
|
|
+ <HotspotList
|
|
|
|
|
+ v-if="isShowHotspotList"
|
|
|
|
|
+ class="hotspot-list"
|
|
|
|
|
+ :style="{
|
|
|
|
|
+ zIndex: $globalConfig.zIndex.swkkHotspotList.self
|
|
|
|
|
+ }"
|
|
|
|
|
+ :hotspot-data="baseHotData"
|
|
|
|
|
+ @back="isShowHotspotList = false"
|
|
|
|
|
+ @click-hotspot="onClickHotspot"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import HotspotDetail from "@/components/HotspotDetail.vue"
|
|
import HotspotDetail from "@/components/HotspotDetail.vue"
|
|
|
|
|
+import HotspotList from "@/components/HotspotList.vue"
|
|
|
|
|
+
|
|
|
export default {
|
|
export default {
|
|
|
components: {
|
|
components: {
|
|
|
HotspotDetail,
|
|
HotspotDetail,
|
|
|
|
|
+ HotspotList,
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
- //这里存放数据
|
|
|
|
|
return {
|
|
return {
|
|
|
|
|
+ // 四维看看库相关
|
|
|
kankan: null,
|
|
kankan: null,
|
|
|
|
|
+ tagView: null,
|
|
|
|
|
+ mode: 2,
|
|
|
|
|
+
|
|
|
isLoading: true,
|
|
isLoading: true,
|
|
|
|
|
|
|
|
|
|
+ // 楼层
|
|
|
floor: 0,
|
|
floor: 0,
|
|
|
|
|
|
|
|
|
|
+ // 自动巡游相关
|
|
|
canClickAutoMoving: false,
|
|
canClickAutoMoving: false,
|
|
|
isAutoMoving: false,
|
|
isAutoMoving: false,
|
|
|
isChangingAutoMovingStatus: false,
|
|
isChangingAutoMovingStatus: false,
|
|
|
autoMovingProgress: 0,
|
|
autoMovingProgress: 0,
|
|
|
|
|
|
|
|
|
|
+ // 自动导览与切换场景相关
|
|
|
isShowTourGuide: false,
|
|
isShowTourGuide: false,
|
|
|
tourList: [],
|
|
tourList: [],
|
|
|
isChangingScene: false,
|
|
isChangingScene: false,
|
|
|
curSceneIdx: null,
|
|
curSceneIdx: null,
|
|
|
|
|
|
|
|
- mode: 2,
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // 热点相关
|
|
|
baseHotData: null,
|
|
baseHotData: null,
|
|
|
isShowDetail: false,
|
|
isShowDetail: false,
|
|
|
|
|
+ isShowHotspotList: false,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
computed: {
|
|
computed: {
|
|
@@ -335,6 +376,8 @@ export default {
|
|
|
`
|
|
`
|
|
|
},
|
|
},
|
|
|
}).then((TagView) => {
|
|
}).then((TagView) => {
|
|
|
|
|
+ this.tagView = TagView
|
|
|
|
|
+
|
|
|
// 监听手动点击事件
|
|
// 监听手动点击事件
|
|
|
TagView.on("click", (e) => {
|
|
TagView.on("click", (e) => {
|
|
|
|
|
|
|
@@ -345,7 +388,6 @@ export default {
|
|
|
this.relatedHotspotList.push(item)
|
|
this.relatedHotspotList.push(item)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
- console.log(this.relatedHotspotList)
|
|
|
|
|
} else { // 单个热点
|
|
} else { // 单个热点
|
|
|
this.relatedHotspotList.push(e.data)
|
|
this.relatedHotspotList.push(e.data)
|
|
|
}
|
|
}
|
|
@@ -463,6 +505,24 @@ export default {
|
|
|
await player.selectPart(index)
|
|
await player.selectPart(index)
|
|
|
this.isChangingScene = false
|
|
this.isChangingScene = false
|
|
|
},
|
|
},
|
|
|
|
|
+ onClickHotspot(hotspot) {
|
|
|
|
|
+ this.isShowHotspotList = false
|
|
|
|
|
+ this.relatedHotspotList = []
|
|
|
|
|
+ if (hotspot.title.split("&")[1]) { // 如果是多个热点合并
|
|
|
|
|
+ this.baseHotData.forEach((item) => {
|
|
|
|
|
+ if (item.title.split("&")[1] === hotspot.title.split("&")[1]) {
|
|
|
|
|
+ this.relatedHotspotList.push(item)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ } else { // 单个热点
|
|
|
|
|
+ this.relatedHotspotList.push(hotspot)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 聚焦当前点击的热点
|
|
|
|
|
+ this.tagView && this.tagView.focus(hotspot.sid)
|
|
|
|
|
+
|
|
|
|
|
+ this.isShowDetail = true
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
@@ -472,7 +532,6 @@ export default {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
- z-index: 0;
|
|
|
|
|
.swkk-wrap {
|
|
.swkk-wrap {
|
|
|
position: absolute;
|
|
position: absolute;
|
|
|
top: 0;
|
|
top: 0;
|