From bace8e818069fd3d9d20a11aaece4b8f5b249132 Mon Sep 17 00:00:00 2001
From: Gary Gu <garygu@Garydebijibendiannao.local>
Date: Thu, 17 Apr 2025 09:59:22 +0800
Subject: [PATCH] fix: 优化tab显示

---
 src/Dashboard.vue |   95 +++++++++++++++++++++++------------------------
 1 files changed, 47 insertions(+), 48 deletions(-)

diff --git a/src/Dashboard.vue b/src/Dashboard.vue
index d9c19bd..c920516 100644
--- a/src/Dashboard.vue
+++ b/src/Dashboard.vue
@@ -2,7 +2,7 @@
  * @Author: gjj Ganjj@probim.com.cn
  * @Date: 2025-02-14 14:32:17
  * @LastEditors: gjj Ganjj@probim.com.cn
- * @LastEditTime: 2025-02-21 16:54:08
+ * @LastEditTime: 2025-02-25 15:38:05
  * @FilePath: \北京交通大学\src\Dashboard.vue
 -->
 <!-- eslint-disable vue/no-textarea-mustache -->
@@ -19,15 +19,7 @@
     }"
   >
     <!--头部-->
-    <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" />
 
 
 
@@ -36,23 +28,26 @@
       <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>-->
@@ -65,16 +60,14 @@
 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";
-import { AppAPI } from "./api/app";
 import EquipmentView from "./views/EquipmentView.vue";
 import dayjs from "dayjs";
 import "dayjs/locale/zh-cn";
 import relativeTime from "dayjs/plugin/relativeTime";
+import { HomeAPI } from "./api/home";
 dayjs.locale("zh-cn");
 dayjs.extend(relativeTime);
 Vue.prototype.$dayjs = dayjs;
@@ -89,8 +82,6 @@
   name: "Dashboard",
   components: {
     "app-header": Header,
-    "fullscreen-button": FullscreenButton,
-    "switch-map": SwitchMap,
     "Home": Home,
     "project-view": ProjectView,
     "equipment-view": EquipmentView  
@@ -98,7 +89,10 @@
   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: {
@@ -107,12 +101,23 @@
   watch: {
   },
   mounted() {
-    this.initMultiverse();
+    this.getLoginInfo();
   },
   beforeDestroy() {
     this.resetEngineRelated();
   },
   methods: {
+    /**
+     * 切换视图
+     * @param val
+     */
+    switchView(val){
+      switch (val){
+        case 'xietong':
+          window.open(window.ProjectConfig.xieTongIframeSrc, '_blank');
+          break;
+      }
+    },
     //重置引擎相关的东西
     resetEngineRelated() {
       window.scene = window.underlay = null;
@@ -146,36 +151,24 @@
         }
       }
     },
-    
-
-    //初始化引擎
-    initMultiverse() {
-      // 获取承载场景画布dom
-      const renderDom = document.getElementById("renderDom");
-      if (window.multiverse && renderDom) {
-        // 实例化引擎
-        const multiverse = window.multiverse;
-        const engine = new multiverse.mvCore(renderDom);
-
-        // mapbox地图服务的Token,需申请,如不使用Mapbox地图服务,可不设置
-				engine.token = window.ProjectConfig.mapboxToken;
-        // multiverse.js所在的路径,用于获取静态资源文件
-        engine.path = "https://multiverse.vothing.com/";
-
-        // 初始化场景
-        engine.initialize().then((s) => {
-          window.scene = s;
-          s.fromJSON(sceneJSON);
-          s.load();
-          s.stop();
-          window.underlay = s.findFeature("underlay");
-
-          setTimeout(() => {
-            
-          }, 1000);
-        });
+    getLoginInfo() {
+      this.isReady = true
+      const data = {
+        "UserName": "JSC",
+        "Password": "JSC@jsc123",
+        "IfSingleLogin": "",
       }
+      HomeAPI.WhLogin(data).then(res => {
+        console.log(res);
+        if(res.Ret === 1) {
+          const result = res.Data
+          window.localStorage.setItem("token", result.token)
+          console.log(result);
+        }
+        
+      });
     },
+
     //设置字体颜色
     cellStyle(row, _column, _rowIndex, _columnIndex) {
       // console.log("row", row);
@@ -186,3 +179,9 @@
   },
 };
 </script>
+<style lang="scss" scoped>
+  .xieTongIframe{
+    width: 100%;
+    height: 100%;
+  }
+</style>

--
Gitblit v1.9.3