From 81e54a2f94f382bcb9838c8dd79c5119b8e8f14f Mon Sep 17 00:00:00 2001
From: Gary Gu <garygu@Garydebijibendiannao.local>
Date: Tue, 03 Jun 2025 11:44:41 +0800
Subject: [PATCH] feat: 优化无数据显示
---
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