| | |
| | | * @Author: gjj Ganjj@probim.com.cn |
| | | * @Date: 2025-02-14 14:32:17 |
| | | * @LastEditors: gjj Ganjj@probim.com.cn |
| | | * @LastEditTime: 2025-02-24 17:30:13 |
| | | * @LastEditTime: 2025-02-25 15:38:05 |
| | | * @FilePath: \北京交通大学\src\Dashboard.vue |
| | | --> |
| | | <!-- eslint-disable vue/no-textarea-mustache --> |
| | |
| | | }" |
| | | > |
| | | <!--头部--> |
| | | <app-header class="absolute z-[100] top-0 left-0 right-0" :selected-id="currentProjectId" /> |
| | | |
| | | |
| | | |
| | | <!--全屏、切换地图--> |
| | | <!--<div class="absolute z-[50] top-20 left-4 flex space-x-3"> |
| | | <fullscreen-button /> |
| | | <switch-map mapType="gis" @changeMap="onChangeMap" /> |
| | | </div>--> |
| | | <app-header class="absolute z-[100] top-0 left-0 right-0" :selected-id="currentProjectId" @onHomeClick="switchView" /> |
| | | |
| | | |
| | | |
| | | <!--页面内容--> |
| | | <div class="content-wrapper px-[22px] py-[10px] absolute inset-0 top-[80px] flex gap-[20px]"> |
| | | <div class="content-wrapper px-[22px] py-[10px] absolute inset-0 top-[80px] flex gap-[20px]" v-if="clickTab === 'home'"> |
| | | <div class="flex-1 min-w-0"> |
| | | <!-- 左侧模块 --> |
| | | <div class="w-full h-full"> |
| | | <project-view/> |
| | | <project-view v-if="isReady"/> |
| | | </div> |
| | | </div> |
| | | <div class="flex-1 min-w-0"> |
| | | <!-- 中间模块 --> |
| | | <div class="w-full h-full"> |
| | | <equipment-view/> |
| | | <equipment-view v-if="isReady"/> |
| | | </div> |
| | | </div> |
| | | <div class="w-[1080px]"> |
| | | <!-- 右侧模块 --> |
| | | <div class="w-full h-full"> |
| | | <Home/> |
| | | <Home v-if="isReady"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="absolute inset-0 top-[80px] flex" v-if="clickTab === 'xietong'"> |
| | | <iframe :src="iframeSrc" class="xieTongIframe" frameborder='0'></iframe> |
| | | </div> |
| | | |
| | | <!--multiverse渲染容器 |
| | | <div id="renderDom" class="absolute z-[40] top-0 bottom-0 left-0 right-0 w-full h-full"></div>--> |
| | |
| | | import Vue from "vue"; |
| | | import { mapGetters } from "vuex"; |
| | | import Header from "./components/Header.vue"; |
| | | import FullscreenButton from "./components/FullScreenButton.vue"; |
| | | import SwitchMap from "./components/SwitchMap.vue"; |
| | | import Home from "./views/Home.vue"; |
| | | import ProjectView from "./views/ProjectView.vue"; |
| | | import { sceneJSON } from "./sceneJSON.js"; |
| | |
| | | name: "Dashboard", |
| | | components: { |
| | | "app-header": Header, |
| | | "fullscreen-button": FullscreenButton, |
| | | "switch-map": SwitchMap, |
| | | "Home": Home, |
| | | "project-view": ProjectView, |
| | | "equipment-view": EquipmentView |
| | |
| | | data() { |
| | | return { |
| | | backgroundImage: new URL('@/assets/images/backgrounds/screen.png', import.meta.url).href, |
| | | currentProjectId: '1c179617-a7d9-4243-b813-84fa55a17ce7' |
| | | currentProjectId: '1c179617-a7d9-4243-b813-84fa55a17ce7', |
| | | isReady: false, |
| | | clickTab:'home', |
| | | iframeSrc: window.ProjectConfig.xieTongIframeSrc |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.resetEngineRelated(); |
| | | }, |
| | | methods: { |
| | | /** |
| | | * 切换视图 |
| | | * @param val |
| | | */ |
| | | switchView(val){ |
| | | this.clickTab = val; |
| | | }, |
| | | //重置引擎相关的东西 |
| | | resetEngineRelated() { |
| | | window.scene = window.underlay = null; |
| | |
| | | } |
| | | }, |
| | | getLoginInfo() { |
| | | this.isReady = true |
| | | const data = { |
| | | "UserName": "JSC", |
| | | "Password": "JSC@jsc123", |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .xieTongIframe{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |