From 36e044280298d6f6b37b1295f9eba25584ef66a2 Mon Sep 17 00:00:00 2001 From: Gary Gu <garygu@Garydebijibendiannao.local> Date: Wed, 28 May 2025 09:13:42 +0800 Subject: [PATCH] feat: 增加设备分类 --- src/components/Header.vue | 42 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/components/Header.vue b/src/components/Header.vue index 3fc3799..979b004 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() { @@ -127,6 +127,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 +163,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