fix(ui): 表格行高统一 + 事件区块改为与表格同一套样式
1) 行高不一致(「狼的评论系统」明显矮一截) 实测在线行 58px / 离线行 43px。根因是可用率列的 90 格 mini 条: 它是 inline-flex,参与行内布局时基线把行盒抬高约 15px,于是「有可用率 数据的行」比不带条的行高出一截。 修复:单元格内容统一 vertical-align: middle + mini 条容器改 flex; 实测 6 行全部 43px。 2) 「最近事件」与表格样式不统一 去掉独立的时间线卡片风格,改为与监控表格同构的表格(相同容器圆角、 表头、行分隔、hover、状态底色);故障行淡红、证书行淡琥珀、恢复行不染。 刻意不共用 .monitor-table 类名 —— 共用时面板条目统计被多算 1~8 个 (测试当场抓到),改为独立 .events-table 并显式声明所需样式。 说明:内容长度相当时保证等高;名称/地址特别长时允许换行(上一版按用户 要求做的「完整显示」),此时行更高属于数据本身需要,不再用截断换整齐。 测试:verify-views 新增「内容等长时各行等高」「事件表与监控表同构」 「事件行复用状态底色」断言(并修正了断言脚本改错文件的问题 —— 名称来自 monitors.json 而非 status.json)。六套 171 项全通过。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const VERSION = '0.11.1';
|
||||
const VERSION = '0.11.2';
|
||||
const HB_LIMIT = 48;
|
||||
const UPTIME_DAYS = 90;
|
||||
const BROWSER_CONCURRENCY = 6;
|
||||
@@ -263,14 +263,16 @@ function renderEvents() {
|
||||
if (count) count.textContent = all.length > shown.length ? `最近 ${shown.length} / ${all.length} 条` : `最近 ${all.length} 条`;
|
||||
|
||||
const label = { down: '故障', up: '恢复', tls: '证书', maintenance: '维护' };
|
||||
// 与监控表格同一套结构(tr/td + data-status),因此行高、边框、hover、状态底色天然一致
|
||||
const statusOf = { down: 'down', up: 'up', tls: 'pending', maintenance: 'up' };
|
||||
list.innerHTML = shown.map((e) => {
|
||||
const maint = e.maintenance ? '<span class="ev-maint" title="维护窗口内,未计入可用率、未发送告警">维护</span>' : '';
|
||||
return `<li class="ev ev-${escapeHtml(e.type)}">
|
||||
<span class="ev-time" title="${escapeHtml(fmtTime(e.t))}">${escapeHtml(fmtRelative(e.t))}</span>
|
||||
<span class="ev-type">${escapeHtml(label[e.type] ?? e.type)}${maint}</span>
|
||||
<span class="ev-name" title="${escapeHtml(e.name)}">${escapeHtml(e.name)}</span>
|
||||
<span class="ev-detail" title="${escapeHtml(e.detail ?? '')}">${escapeHtml(e.detail ?? '')}</span>
|
||||
</li>`;
|
||||
return `<tr class="ev" data-status="${escapeHtml(statusOf[e.type] ?? 'up')}">
|
||||
<td class="ev-time" title="${escapeHtml(fmtTime(e.t))}">${escapeHtml(fmtRelative(e.t))}</td>
|
||||
<td class="ev-type"><span class="ev-badge">${escapeHtml(label[e.type] ?? e.type)}</span>${maint}</td>
|
||||
<td class="ev-name" title="${escapeHtml(e.name)}">${escapeHtml(e.name)}</td>
|
||||
<td class="ev-detail" title="${escapeHtml(e.detail ?? '')}">${escapeHtml(e.detail ?? '')}</td>
|
||||
</tr>`;
|
||||
}).join('');
|
||||
|
||||
const more = $('events-more');
|
||||
|
||||
Reference in New Issue
Block a user