fix(bi): 修复全屏模式下看板底部留白
## 问题
BI 大屏点「全屏」后,图表区下方出现大片空白区域。
## 原因
.is-fullscreen 只设了 min-height: 100vh,内容按自然高度排列:
- 全屏后宽度变大,auto-fit 网格列数增加 → 行数减少
- 每行只有固定的 240px 高度
- 总高度 < 视口高度 → 底部留空
## 修复
1. .bi-dashboard 改为 display:flex + flex-direction:column
2. .is-fullscreen 改为 height/min-height/max-height 均为 100vh
3. 头部和 KPI 行 flex: 0 0 auto(保持自然高度)
4. 图表区 .chart-row flex: 1 0 auto + grid-auto-rows: minmax(240px, 1fr)
→ 吃掉剩余高度,行高均分,卡片拉伸填满
5. 表格卡片 flex: 0 1 auto,内容超高时容器滚动而不是被压缩
## 验证
构建通过,已部署生产,前端 200
| | |
| | | |
| | | /* ======== 全屏 ======== */ |
| | | .is-fullscreen { |
| | | max-height: none; min-height: 100vh; padding: 24px 28px; border-radius: 0; overflow-y: auto; |
| | | height: 100vh; |
| | | min-height: 100vh; |
| | | max-height: 100vh; |
| | | padding: 24px 28px; |
| | | border-radius: 0; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | /* 头部与 KPI 行保持自然高度 */ |
| | | .is-fullscreen > .dash-header, |
| | | .is-fullscreen > .kpi-row { |
| | | flex: 0 0 auto; |
| | | } |
| | | |
| | | /* 图表区吃掉剩余高度,行高均分,避免底部大片留白 */ |
| | | .is-fullscreen > .chart-row { |
| | | flex: 1 0 auto; |
| | | grid-auto-rows: minmax(240px, 1fr); |
| | | align-content: stretch; |
| | | } |
| | | |
| | | /* 表格卡片不抢高度,内容超出时容器滚动 */ |
| | | .is-fullscreen > .table-card { |
| | | flex: 0 1 auto; |
| | | } |
| | | .is-fullscreen::before, |
| | | .is-fullscreen::after { |