From 919dcfb420cff1489d2675414f2412849ca6e3cc Mon Sep 17 00:00:00 2001 From: lzh Date: Sun, 1 Mar 2026 16:09:12 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ops):=20=E7=BB=9F=E8=AE=A1=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E5=8F=98=E9=87=8F=E9=87=8D=E5=91=BD=E5=90=8D=E4=B8=8E?= =?UTF-8?q?=20EMPTY=5FSTATS=20=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - hourlyChartRef → heatmapChartRef(实际用于热力图渲染) - funnelChartRef → statusChartRef(漏斗图已改为状态分布饼图) - getFunnelChartOptions → getStatusDistributionChartOptions - EMPTY_STATS 补全 monthlyTrendData 和 badgeQueueStats 字段 Co-Authored-By: Claude Opus 4.6 --- .../cleaning/work-order/dashboard/index.vue | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/web-antd/src/views/ops/cleaning/work-order/dashboard/index.vue b/apps/web-antd/src/views/ops/cleaning/work-order/dashboard/index.vue index ae693935c..e80ce9d72 100644 --- a/apps/web-antd/src/views/ops/cleaning/work-order/dashboard/index.vue +++ b/apps/web-antd/src/views/ops/cleaning/work-order/dashboard/index.vue @@ -100,16 +100,16 @@ const chartLoading = ref(true); // 图表引用 const trendChartRef = ref(); -const hourlyChartRef = ref(); +const heatmapChartRef = ref(); const timeTrendChartRef = ref(); -const funnelChartRef = ref(); +const statusChartRef = ref(); const functionTypeRankingChartRef = ref(); const badgeQueueChartRef = ref(); const { renderEcharts: renderTrendChart } = useEcharts(trendChartRef); -const { renderEcharts: renderHourlyChart } = useEcharts(hourlyChartRef); +const { renderEcharts: renderHeatmapChart } = useEcharts(heatmapChartRef); const { renderEcharts: renderTimeTrendChart } = useEcharts(timeTrendChartRef); -const { renderEcharts: renderFunnelChart } = useEcharts(funnelChartRef); +const { renderEcharts: renderStatusChart } = useEcharts(statusChartRef); const { renderEcharts: renderFunctionTypeRankingChart } = useEcharts( functionTypeRankingChartRef, ); @@ -159,6 +159,8 @@ const EMPTY_STATS: DashboardStats = { statusDistribution: [], heatmapData: { days: [], hours: [], data: [] }, functionTypeRanking: [], + monthlyTrendData: undefined, + badgeQueueStats: undefined, }; // ========== 图表配置 ========== @@ -395,7 +397,7 @@ function getTimeTrendChartOptions(): ECOption { /** * 工单状态分布环形饼图配置 */ -function getFunnelChartOptions(): ECOption { +function getStatusDistributionChartOptions(): ECOption { const { statusDistribution } = statsData.value; const STATUS_COLORS: Record = { 待处理: '#f5a623', @@ -756,9 +758,9 @@ async function loadStats() { chartLoading.value = false; await nextTick(); renderTrendChart(getTrendChartOptions()); - renderHourlyChart(getHeatmapChartOptions()); + renderHeatmapChart(getHeatmapChartOptions()); renderTimeTrendChart(getTimeTrendChartOptions()); - renderFunnelChart(getFunnelChartOptions()); + renderStatusChart(getStatusDistributionChartOptions()); renderFunctionTypeRankingChart(getFunctionTypeRankingChartOptions()); renderBadgeQueueChart(getBadgeQueueChartOptions()); } catch { @@ -914,7 +916,7 @@ onUnmounted(stopPolling); - + @@ -953,7 +955,7 @@ onUnmounted(stopPolling);