From 69b7012682b65295d0cd454c8b9077db1133985f Mon Sep 17 00:00:00 2001
From: Gary Gu <garygu@Garydebijibendiannao.local>
Date: Fri, 11 Apr 2025 15:25:05 +0800
Subject: [PATCH] feat: 增加协同平台功能

---
 public/config.js          |    1 +
 src/Dashboard.vue         |   24 +++++++++++++++++++++---
 src/components/Header.vue |    9 +++++++++
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/public/config.js b/public/config.js
index 8669c90..ddf2379 100644
--- a/public/config.js
+++ b/public/config.js
@@ -15,4 +15,5 @@
     modelUrl: 'http://8.140.54.245:5010/#/Home/sceneManagementDetail?shareUrlToken=69E38706C533C52C84A9F864785953A2AB834465D303010594EF3531C3AE64EE121F5C12AFB6E145D2F72023B59D3999249F65A61D9E4F11F3CD4667FA621262CC361AC0176055077A4C26B78B014EEB', // 模型预览地址
     videoUrl: 'http://resources.vothing.com/mp4/12.mp4', // 实况地址
     projectId: '7d242691-e6b2-4fbc-b4df-687883eb1a4c', // 项目id
+    xieTongIframeSrc: 'http://8.140.54.245:5010/#/'
 }
\ No newline at end of file
diff --git a/src/Dashboard.vue b/src/Dashboard.vue
index fe85677..42568a9 100644
--- a/src/Dashboard.vue
+++ b/src/Dashboard.vue
@@ -19,12 +19,12 @@
     }"
   >
     <!--头部-->
-    <app-header class="absolute z-[100] top-0 left-0 right-0" :selected-id="currentProjectId"  />
+    <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">
@@ -45,6 +45,9 @@
       </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>-->
@@ -87,7 +90,9 @@
     return {
       backgroundImage: new URL('@/assets/images/backgrounds/screen.png', import.meta.url).href,
       currentProjectId: '1c179617-a7d9-4243-b813-84fa55a17ce7',
-      isReady: false
+      isReady: false,
+      clickTab:'home',
+      iframeSrc: window.ProjectConfig.xieTongIframeSrc
     };
   },
   computed: {
@@ -102,6 +107,13 @@
     this.resetEngineRelated();
   },
   methods: {
+    /**
+     * 切换视图
+     * @param val
+     */
+    switchView(val){
+      this.clickTab = val;
+    },
     //重置引擎相关的东西
     resetEngineRelated() {
       window.scene = window.underlay = null;
@@ -163,3 +175,9 @@
   },
 };
 </script>
+<style lang="scss" scoped>
+  .xieTongIframe{
+    width: 100%;
+    height: 100%;
+  }
+</style>
diff --git a/src/components/Header.vue b/src/components/Header.vue
index 3e8d552..07e9e2c 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -22,6 +22,14 @@
           </div>
           <img class="w-[116px] h-[8px] absolute bottom-[-4px]" :src="getImageUrl('home_line.png')" alt="" v-if="activeTab === 'home'">
         </div>
+        <div class="flex flex-col items-center ml-[78px] cursor-pointer relative" @click="onHomeClick('xietong')">
+          <div class="flex items-center">
+            <img class="w-[20px] h-[20px]" :src="getImageUrl(activeTab === 'xietong' ? 'zhihui_active.png' : 'zhihui.png')" alt="">
+            <div class="text-[20px] text-[#C8C8C8] ml-[8px]" :class="{'text-[#FFBF00]': activeTab === 'xietong'}">协同平台</div>
+          </div>
+          <img class="w-[116px] h-[8px] absolute bottom-[-4px]" :src="getImageUrl('home_line.png')" alt="" v-if="activeTab === 'xietong'">
+        </div>
+
         <div class="flex flex-col items-center ml-[78px] cursor-pointer relative" @click="onHomeClick('zhihui')">
           <div class="flex items-center">
             <img class="w-[20px] h-[20px]" :src="getImageUrl(activeTab === 'zhihui' ? 'zhihui_active.png' : 'zhihui.png')" alt="">
@@ -80,6 +88,7 @@
       },
       onHomeClick(tab) {
         this.activeTab = tab;
+        this.$emit("onHomeClick", tab);
       },
       updateTime() {
         const now = new Date();

--
Gitblit v1.9.3