From a3e27f5cab583debe11a9c62d8cc0115783b0791 Mon Sep 17 00:00:00 2001
From: Gary Gu <garygu@Garydebijibendiannao.local>
Date: Wed, 28 May 2025 16:59:43 +0800
Subject: [PATCH] fix: 优化实况UI放大缩小

---
 src/components/Header.vue |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/src/components/Header.vue b/src/components/Header.vue
index 3fc3799..0d724cd 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -43,7 +43,7 @@
       </div>
       <div class="absolute top-0 right-0">
         <div class="flex items-center h-[80px] mr-[20px]">
-          <el-select v-model="projectSelected" placeholder="请选择" class="mr-[24px]">
+          <el-select v-model="bindSelected" placeholder="请选择" class="mr-[24px]" @change="handleSelect">
             <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <i
@@ -61,6 +61,9 @@
 </template>
 
 <script>
+  import { HomeAPI } from "@/api/home";
+  import { mapActions } from "vuex";
+
   export default {
     name: "AppHeader",
     components: {},
@@ -76,12 +79,8 @@
     },
     data() {
       return {
-        projectSelected: "",
-        options: [
-          { value: "project1", label: "项目1" },
-          { value: "project2", label: "项目2" },
-          { value: "project3", label: "项目3" },
-        ],
+        bindSelected: "",
+        options: [],
         activeTab: "home",
         currentTime: "",
         currentDate: "",
@@ -91,6 +90,7 @@
     },
     mounted() {
       this.updateTime();
+      this.getBinds();
       this.timer = setInterval(this.updateTime, 1000);
     },
     beforeDestroy() {
@@ -102,7 +102,9 @@
       handleFullscreen() {
         if (this.$fullscreen.isFullscreen) {
           this.$fullscreen.exit();
+          this.$emit("fullscreenChange", false);
         } else {
+          this.$emit("fullscreenChange", true);
           this.$fullscreen.request();
         }
       },
@@ -127,6 +129,32 @@
         const weekDay = weekDays[now.getDay()];
         this.currentDate = `${year}.${month}.${day} 星期${weekDay}`;
       },
+      /**
+       * 获取标段信息
+       */
+      getBinds() {
+        HomeAPI.GetBindSelect().then((res) => {
+          if (res.Ret === 1) {
+            const result = res.Data;
+            if (result.length > 0) {
+              this.options = result.map((item) => ({
+                value: item.Id,
+                label: item.BindName,
+              }));
+              this.bindSelected = this.options[0].value; // 默认选中第一个项目
+              this.handleSelect(this.bindSelected);
+            } else {
+              this.options = [];
+            }
+          }
+        });
+      },
+      /**
+       * 处理选择变化
+       */
+      handleSelect(val) {
+        this.$emit("onSelectChange", val);
+      },
     },
   };
 </script>
@@ -137,7 +165,7 @@
   ::v-deep(.el-select) {
     width: 160px;
     height: 28px;
-    background: rgba(33,72,115,0.9);
+    background: rgba(33, 72, 115, 0.9);
     border-radius: 2px;
     .el-input {
       align-items: center;

--
Gitblit v1.9.3