From 17b92e9b60dda6dcc20c748046a5ff3c3958d52e Mon Sep 17 00:00:00 2001
From: wangrong <wangrong@shsening.com>
Date: 星期五, 28 八月 2026 16:19:11 +0800
Subject: [PATCH] 增加首页大屏显示
---
src/modules/report/components/screen-shell.vue | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/modules/report/components/screen-shell.vue b/src/modules/report/components/screen-shell.vue
index 0196816..e990e92 100644
--- a/src/modules/report/components/screen-shell.vue
+++ b/src/modules/report/components/screen-shell.vue
@@ -25,6 +25,12 @@
<div class="tools">
<el-tag v-if="loadError" type="danger" effect="plain" size="small">{{ loadError }}</el-tag>
+ <el-tag v-if="dataMode === 'demo'" type="info" effect="plain" size="small">
+ 婕旂ず鏁版嵁 路 寰呬笟鍔℃暟鎹帴鍏�
+ </el-tag>
+ <el-tag v-else-if="dataMode === 'mixed'" type="warning" effect="plain" size="small">
+ 閮ㄥ垎婕旂ず 路 閮ㄥ垎鎸囨爣寰呰ˉ鏁�
+ </el-tag>
<el-tag v-else-if="unavailable.length" type="warning" effect="plain" size="small">
閮ㄥ垎鎸囨爣寰呰ˉ鏁�
</el-tag>
@@ -37,6 +43,13 @@
<section v-loading="loading" class="green-screen__body">
<slot />
+ <el-collapse v-if="dataMode === 'mixed' && demoSections.length" class="missing">
+ <el-collapse-item title="褰撳墠涓烘紨绀烘暟鎹殑鍖哄潡" name="demo">
+ <ul>
+ <li v-for="item in demoSections" :key="item.section">{{ item.label }}</li>
+ </ul>
+ </el-collapse-item>
+ </el-collapse>
<el-collapse v-if="unavailable.length" class="missing">
<el-collapse-item title="褰撳墠鎷夸笉鍒版垨鍙e緞寰呯‘璁ょ殑鎸囨爣" name="1">
<ul>
@@ -53,12 +66,13 @@
import { useRoute, useRouter } from 'vue-router';
import { Close, FullScreen, Refresh } from '@element-plus/icons-vue';
import { SCREEN_NAV, TIME_RANGE_OPTIONS, type ScreenKey } from '../data/screen';
-import { provideScreenTime, useScreenData } from '../hooks/use-screen';
+import { provideScreenTime, useScreenData, useScreenFieldSource } from '../hooks/use-screen';
const route = useRoute();
const router = useRouter();
const timeRange = provideScreenTime();
-const { data, loading, loadError, reload } = useScreenData();
+const { data, dataMode, loading, loadError, reload } = useScreenData();
+const { demoSections } = useScreenFieldSource();
const rootRef = ref<HTMLElement>();
const isFullscreen = ref(false);
--
Gitblit v1.9.1