智慧停车大屏改造详细修改文档
📋 项目改造概述
基于现有的 vue-big-screen-master
项目,将通用数据可视化大屏改造为智慧停车场专业数据分析平台。项目保持现有的技术栈(Vue 2.6 + ECharts 4.6 + DataV 2.7),仅修改业务逻辑、数据源和图表展示内容。
🎯 改造目标
- 保持现有布局:7个核心展示区域不变
- 替换业务内容:从通用数据改为停车场数据
- 增强交互体验:添加实时数据更新和告警功能
- 优化视觉设计:采用停车场主题色彩和图标
🔄 组件改造对应关系
原组件 | 原功能 | 新功能 | 主要图表类型 | 数据源接口 |
centreLeft1 | 任务通过率 | 🚗 车流量实时监控 | 数字翻牌器+水位图 | 3.1,3.2进出场接口 |
centreLeft2 | 数据分析2 | 🚀 车辆流动轨迹 | 飞线图+转化漏斗图 | 3.19预进场+3.12预离场 |
center | 核心数据面板 | 📈 24小时趋势+时长分布 | 面积图+环形饼图 | 3.13车流量+3.2停车时长 |
centreRight1 | 任务完成率 | 🗺️ 区域车位状态分布 | 热力图+进度环 | 3.3剩余车位+3.25统计区域 |
centreRight2 | 数据分析3 | 💰 收费和支付分析 | 柱状图+饼图 | 3.2离场费用数据 |
bottomLeft | 数据统计图 | 📊 进出场流量对比 | 双轴柱状图 | 3.13时间段车流量 |
bottomRight | 工单修复趋势 | 🚨 异常行为监控 | 告警面板+分布图 | 黑名单+7.1欠费接口 |
📁 文件修改清单
1. 主页面修改
1.1 修改 src/views/index.vue
<template><div id="index"><dv-full-screen-container class="bg"><dv-loading v-if="loading">正在加载停车场数据...</dv-loading><div v-else class="host-body"><!-- 标题区域 --><div class="d-flex jc-center"><dv-decoration-10 style="width:33.3%;height:5px;" /><div class="d-flex jc-center"><dv-decoration-8 :color="['#568aea', '#000000']" style="width:200px;height:50px;" /><div class="title"><span class="title-text">🚗 智慧停车场数据可视化平台</span><dv-decoration-6class="title-bototm":reverse="true":color="['#50e3c2', '#67a1e5']"style="width:350px;height:8px;"/></div><dv-decoration-8:reverse="true":color="['#568aea', '#000000']"style="width:200px;height:50px;"/></div><dv-decoration-10 style="width:33.3%;height:5px;" /></div><!-- 数据面板区域 --><div class="d-flex jc-between px-2"><div class="d-flex" style="width: 40%"><div class="react-right ml-4" style="width: 500px; text-align: left;background-color: #0f1325;"><span class="react-before"></span><span class="text fw-b">📍 {{parkingLotName}}</span></div><div class="react-right ml-3" style="background-color: #0f1325;"><span class="text colorBlue fw-b">🚨 {{alertCount}}条告警</span></div></div><!-- 实时数据面板 --><div class="center-data-panel"><div class="data-grid"><div class="data-card"><div class="data-label">今年累计进场</div><div class="data-value">{{formatNumber(yearlyEntry)}}</div><div class="data-unit">车次</div></div><div class="data-card"><div class="data-label">本月累计进场</div><div class="data-value">{{formatNumber(monthlyEntry)}}</div><div class="data-unit">车次</div></div><div class="data-card"><div class="data-label">今日累计进场</div><div class="data-value">{{formatNumber(dailyEntry)}}</div><div class="data-unit">车次</div></div><div class="data-card"><div class="data-label">当前在场车辆</div><div class="data-value">{{formatNumber(currentVehicles)}}</div><div class="data-unit">辆</div></div><div class="data-card"><div class="data-label">累计离场车次</div><div class="data-value">{{formatNumber(totalExit)}}</div><div class="data-unit">车次</div></div><div class="data-card"><div class="data-label">平均停车时长</div><div class="data-value">{{avgParkingTime}}</div><div class="data-unit">小时</div></div><div class="data-card"><div class="data-label">车位利用率</div><div class="data-value" :class="getUtilizationClass(spaceUtilization)">{{spaceUtilization}}%</div><div class="data-unit">利用率</div></div><div class="data-card"><div class="data-label">今日收费金额</div><div class="data-value">{{formatCurrency(dailyRevenue)}}</div><div class="data-unit">元</div></div></div></div><div style="width: 40%" class="d-flex"><div class="react-left bg-color-blue mr-3"><span class="text fw-b">🌤️ {{weather}} {{temperature}}°C</span></div><div class="react-left mr-4" style="width: 500px; background-color: #0f1325; text-align: right;"><span class="react-after"></span><span class="text">{{currentDateTime}}</span></div></div></div><div class="body-box"><!-- 第三行数据 --><div class="content-box"><!-- 车流量监控 --><div><dv-border-box-12><centreLeft1 :realTimeData="realTimeFlowData" /></dv-border-box-12></div><!-- 车辆流动轨迹 --><div><dv-border-box-12><centreLeft2 :trajectoryData="vehicleTrajectoryData" /></dv-border-box-12></div><!-- 24小时趋势 --><div><center :trendData="hourlyTrendData" :durationData="parkingDurationData" /></div><!-- 收费分析 --><div><centreRight2 :revenueData="revenueAnalysisData" /></div><!-- 区域车位分布 --><div><dv-border-box-13><centreRight1 :spaceData="areaSpaceData" /></dv-border-box-13></div></div><!-- 第四行数据 --><div class="bototm-box"><!-- 流量对比分析 --><dv-border-box-13><bottomLeft :flowCompareData="flowComparisonData" /></dv-border-box-13><!-- 异常监控 --><dv-border-box-12><bottomRight :anomalyData="anomalyMonitorData" /></dv-border-box-12></div></