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/views/screen/operation.vue | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/src/modules/report/views/screen/operation.vue b/src/modules/report/views/screen/operation.vue
index e9c9cbc..42c3164 100644
--- a/src/modules/report/views/screen/operation.vue
+++ b/src/modules/report/views/screen/operation.vue
@@ -3,40 +3,46 @@
<el-row :gutter="10" class="kpi-row">
<el-col :lg="3" :sm="8" :xs="12">
<kpi-card label="鍦ㄧ嚎鍒嗘嫞鍛�" :value="data.kpis.sorterOnline"
- :hint="`${data.kpis.sorterOnline} / ${data.kpis.sorterTotal}`" />
+ :hint="`${data.kpis.sorterOnline} / ${data.kpis.sorterTotal}`"
+ :demo="isDemoField('kpis.sorterOnline')" />
</el-col>
<el-col :lg="3" :sm="8" :xs="12">
<kpi-card label="鍦ㄧ嚎杞﹁締" :value="data.kpis.vehicleOnline"
- :hint="`${data.kpis.vehicleOnline} / ${data.kpis.vehicleTotal}`" />
+ :hint="`${data.kpis.vehicleOnline} / ${data.kpis.vehicleTotal}`"
+ :demo="isDemoField('kpis.vehicleOnline')" />
</el-col>
<el-col :lg="3" :sm="8" :xs="12">
<kpi-card label="鍦ㄧ嚎鍒嗘嫞鐐�" :value="data.kpis.siteOnline"
- :hint="`${data.kpis.siteOnline} / ${data.kpis.siteTotal}锛屾寜绔欑偣鍚敤`" />
+ :hint="`${data.kpis.siteOnline} / ${data.kpis.siteTotal}锛屾寜绔欑偣鍚敤`"
+ :demo="isDemoField('kpis.siteOnline')" />
</el-col>
<el-col :lg="3" :sm="8" :xs="12">
- <kpi-card label="浠婃棩鍥炴敹璁㈠崟" :value="data.kpis.todayOrders" :hint="``" />
+ <kpi-card label="浠婃棩鍥炴敹璁㈠崟" :value="data.kpis.todayOrders" :demo="isDemoField('kpis.todayOrders')" />
</el-col>
<el-col :lg="4" :sm="8" :xs="12">
<kpi-card label="浠婃棩棰勭害 / 寰呭鐞�" :value="data.kpis.todayAppointments"
- :hint="`寰呭鐞� ${data.kpis.pendingAppointments}`" />
+ :hint="`寰呭鐞� ${data.kpis.pendingAppointments}`"
+ :demo="isDemoField('kpis.todayAppointments')" />
</el-col>
<el-col :lg="4" :sm="8" :xs="12">
<kpi-card label="寮傚父鍛婅" :value="data.kpis.alerts" alert
- :hint="`鍋ュ悍寮傚父 ${data.kpis.healthAlerts}锛屼笉灞曠ず闅愮浣撳緛`" />
+ :hint="`鍋ュ悍寮傚父 ${data.kpis.healthAlerts}锛屼笉灞曠ず闅愮浣撳緛`"
+ :demo="isDemoField('kpis.alerts')" />
</el-col>
<el-col :lg="4" :sm="8" :xs="12">
- <kpi-card label="杞﹁締瀹夊叏浜嬩欢" :value="safetyCount" hint="瓒呴�� / 鎬ュ埞绛夛紝鏉ヨ嚜杞﹁締鏃ユ眹鎬�" />
+ <kpi-card label="杞﹁締瀹夊叏浜嬩欢" :value="safetyCount" hint="瓒呴�� / 鎬ュ埞绛夛紝鏉ヨ嚜杞﹁締鏃ユ眹鎬�"
+ :demo="isDemoSection('vehicles')" />
</el-col>
</el-row>
<el-row :gutter="10" class="mid-row">
<el-col :lg="14" :xs="24">
- <panel-card title="璁㈠崟瓒嬪娍" sub="鐜板満 / 棰勭害 / 澶у睆 / 娲诲姩锛屾寜澶╁姣�">
+ <panel-card title="璁㈠崟瓒嬪娍" sub="鐜板満 / 棰勭害 / 澶у睆 / 娲诲姩锛屾寜澶╁姣�" :demo="isDemoSection('ordersByType')">
<v-chart :option="orderOption" autoresize class="chart" />
</panel-card>
</el-col>
<el-col :lg="10" :xs="24">
- <panel-card title="棰勭害璁㈠崟婕忔枟" sub="鏂板/寰呭鏍� 鈫� 宸茬‘璁�/宸叉帴鍗� 鈫� 宸插畬鎴�">
+ <panel-card title="棰勭害璁㈠崟婕忔枟" sub="鏂板/寰呭鏍� 鈫� 宸茬‘璁�/宸叉帴鍗� 鈫� 宸插畬鎴�" :demo="isDemoSection('appointmentFlow')">
<div class="funnel">
<div v-for="(item, index) in data.appointmentFlow" :key="item.name" class="funnel__item">
<div class="funnel__name">{{ item.name }}</div>
@@ -54,7 +60,7 @@
<el-row :gutter="10">
<el-col :lg="8" :xs="24">
- <panel-card title="鍒嗘嫞鍛樼姸鎬�" sub="鏉ヨ嚜鍒嗘嫞鍛樻棩琛紝鍙眹鎬荤姸鎬侊紝涓嶅睍绀轰綋寰佹槑缁�">
+ <panel-card title="鍒嗘嫞鍛樼姸鎬�" sub="鏉ヨ嚜鍒嗘嫞鍛樻棩琛紝鍙眹鎬荤姸鎬侊紝涓嶅睍绀轰綋寰佹槑缁�" :demo="isDemoSection('sorterStatus')">
<div class="status-list">
<div v-for="item in data.sorterStatus" :key="item.name" class="status-list__item">
<i :style="{ background: item.color }" />
@@ -65,7 +71,7 @@
</panel-card>
</el-col>
<el-col :lg="8" :xs="24">
- <panel-card title="杞﹁締杩愯" sub="鍏徃棰嗗鐪嬭繍鍔涗笌瀹夊叏锛屼笉杩涙牎棰嗗棣栭〉">
+ <panel-card title="杞﹁締杩愯" sub="鍏徃棰嗗鐪嬭繍鍔涗笌瀹夊叏锛屼笉杩涙牎棰嗗棣栭〉" :demo="isDemoSection('vehicles')">
<div class="table table--vehicle">
<div class="table__head">
<span>杞︾墝</span>
@@ -85,7 +91,7 @@
</panel-card>
</el-col>
<el-col :lg="8" :xs="24">
- <panel-card title="鍒嗘嫞鐐瑰悶鍚�" sub="杩愯惀缁村害鎵嶄笅閽诲埌鐐逛綅">
+ <panel-card title="鍒嗘嫞鐐瑰悶鍚�" sub="杩愯惀缁村害鎵嶄笅閽诲埌鐐逛綅" :demo="isDemoSection('sites')">
<div class="table table--site">
<div class="table__head">
<span>鏀堕泦鐐�</span>
@@ -112,9 +118,10 @@
import { computed } from 'vue';
import KpiCard from '../../components/kpi-card.vue';
import PanelCard from '../../components/panel-card.vue';
-import { useChartTheme, useScreenData } from '../../hooks/use-screen';
+import { useChartTheme, useScreenData, useScreenFieldSource } from '../../hooks/use-screen';
const { data } = useScreenData();
+const { isDemoField, isDemoSection } = useScreenFieldSource();
const { mutedColor, splitColor, tooltip } = useChartTheme();
const safetyCount = computed(() => data.value.vehicles.reduce((s, e) => s + e.overspeed, 0));
--
Gitblit v1.9.1