wangrong
2026-08-28 17b92e9b60dda6dcc20c748046a5ff3c3958d52e
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="当前拿不到或口径待确认的指标" 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);