feat(safety): 安全生产六期 - 风险可视化看板
把风险、隐患、作业票、培训、证书五块数据集中呈现,管理层一眼看全局。
不新增业务表,只做统计聚合。
后端:
- 新增 GET /mes/safety/dashboard/overview 聚合接口(权限 mes:safety-dashboard:query)
- 一次返回:风险总数与等级分布、风险按车间分布、隐患状态统计(含闭环率与超期数)、
隐患按车间分布、作业票状态统计(含作业超期数)、培训统计(总数/完成/进行中/
参训人次/平均分)、证书统计(有效/即将到期/已过期)、最近 5 条隐患与作业票
- 当前数据规模较小,采用全量查询 + 内存聚合,避免为每张统计写一套 SQL;
闭环率、超期、到期天数等派生指标统一在服务端算好,前端只管展示
前端:
- views/safety/dashboard:4 个核心指标卡 + 4 张图表 + 2 个概览卡 + 2 个动态表
- 图表复用项目已有的 @vben/plugins/echarts(EchartsUI + useEcharts)
- 风险等级沿用四色(重大红/较大橙/一般蓝/低绿),与字典 color_type 一致
- 超期数、已过期数用红色醒目提示
SQL(mes_safety_dashboard_init.sql,可重复执行):
- 菜单「安全看板」置于安全生产目录首位,1 个查询权限
注:本期只提交代码,未部署。