| | |
| | | |
| | | <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> |
| | |
| | | |
| | | <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> |
| | |
| | | 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); |
| | | |