| | |
| | | ><span class="color" style="background-color: rgb(14, 172, 81)"></span>
|
| | | </div>
|
| | | </div>
|
| | | <div ref="gantt" style="height: 400px; font-size: 12px"></div>
|
| | | <div ref="gantt" style="height: 100%; font-size: 12px"></div>
|
| | | </div>
|
| | | </template>
|
| | |
|
| | |
| | | </script>
|
| | | <style lang="scss" scoped>
|
| | | .gantt-box {
|
| | | height: calc(100% - 52px);
|
| | | background-color: rgba(0, 0, 0, 0.2);
|
| | | margin: 10px;
|
| | | color: #fff;
|
| | |
| | | </div> |
| | | |
| | | <!-- 主要内容区域 --> |
| | | <div class="main-content" :style="isFullScreen ? fullScreenStyle : ''" v-loading="isLoading"> |
| | | <div class="main-content" :style="isFullScreen ? fullScreenStyle : ''" v-loading="isLoading" ref="mainContent"> |
| | | <!-- 模型 / 720 --> |
| | | <div |
| | | class="w-full h-full" |
| | |
| | | ></iframe> |
| | | </div> |
| | | <!-- 项目 --> |
| | | <div class="w-full h-full" ref="videoWrapper" v-if="currentView === 'project'"> |
| | | <video |
| | | controls |
| | | muted |
| | | controlslist="nodownload" |
| | | autoplay |
| | | class="video-box" |
| | | ref="videoElement" |
| | | :style="'width: 100%; height: 450px;background-color: #000'" |
| | | ></video> |
| | | </div> |
| | | <video v-if="currentView === 'project'" controls muted controlslist="nodownload" autoplay class="video-box" ref="videoElement"></video> |
| | | <!-- 720全景图版本选择 --> |
| | | <!--<div class="w-full h-[120px] bg-[rgba(19,40,64,0.8)] absolute bottom-0 left-0 right-0 flex items-center py-[10px]" :style="isFullScreen ? 'z-index: 100; height:' : ''" v-if="currentView === '720'"> |
| | | <div v-for="item in panoVersionList" :key="item.value" :style="isFullScreen ? 'z-index: 100;' : ''"> |
| | |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | isFullScreen: { |
| | | isHederFullScreen: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | |
| | | deep: true, // 深度监听对象内部变化 |
| | | immediate: true, // 立即执行一次 |
| | | }, |
| | | isFullScreen: { |
| | | handler(newVal) { |
| | | console.log("实况界面接收到的数据:", newVal); |
| | | // 处理数据变化的逻辑 |
| | | if (newVal) { |
| | | this.$refs.videoElement.style.height = "100%"; |
| | | } else { |
| | | this.$refs.videoElement.style.height = "450px"; |
| | | } |
| | | }, |
| | | deep: true, // 深度监听对象内部变化 |
| | | immediate: true, // 立即执行一次 |
| | | }, |
| | | }, |
| | | created() { |
| | | window.addEventListener("resize", this.resize); |
| | | }, |
| | | beforeDestroy() { |
| | | window.removeEventListener("resize", this.resize); |
| | | this.destroyPlayer(); // 销毁播放器实例 |
| | | }, |
| | | mounted() { |
| | | setTimeout(() => { |
| | |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | window.addEventListener("resize", function () { |
| | | this.$refs.vi; |
| | | }); |
| | | }, |
| | | methods: { |
| | | resize() { |
| | | const windowInfo = { |
| | | width: window.innerWidth, |
| | | height: window.innerHeight, |
| | | }; |
| | | if (windowInfo.height > 1080) { |
| | | this.$refs.mainContent.style.height = "100%"; |
| | | } else { |
| | | this.$refs.mainContent.style.height = "450px"; |
| | | } |
| | | }, |
| | | getItemImg(item) { |
| | | return `${window.ProjectConfig.panoBaseUrl}/Panorama${this.panoObj.PbUrl}/vtour/panos/${item.PsScenename}.tiles/thumb.jpg`; |
| | | }, |
| | |
| | | } |
| | | |
| | | .main-content { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex: 1; |
| | | background-color: #fff; |
| | | background-color: #000; |
| | | width: 100%; |
| | | height: 450px; |
| | | } |
| | | .video-box { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | |
| | | } |
| | | |
| | | .el-scrollbar__wrap { |
| | | overflow: hidden; |
| | | margin-bottom: 0px !important; |
| | | margin-right: 0px !important; |
| | | overflow-x: hidden; |
| | | overflow-y: scroll; |
| | | } |
| | | } |
| | | </style> |