diff --git a/.helloagents/CHANGELOG.md b/.helloagents/CHANGELOG.md index fb52feb..26f9b4c 100644 --- a/.helloagents/CHANGELOG.md +++ b/.helloagents/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +- **[frontend]**: 移除状态监控默认 CPU 卡里重复的 `CPU 使用率` 标题,并修正 CPU 摘要区固定高度导致的卡片/按钮截断问题 — by yinjianm + - 类型: 快速修改(无方案包) + - 文件: packages/frontend/src/components/StatusMonitor.vue:61-88,1035-1100,1565-1580 + - **[frontend]**: 将状态监控默认 CPU 卡改为“总 CPU 历史图 + 当前/平均/最忙核心紧凑摘要 + 查看全部核心详情弹层”,避免多核机器下侧栏被逐核心条卡撑高 — by yinjianm - 方案: [202604190520_status-monitor-cpu-summary-modal](archive/2026-04/202604190520_status-monitor-cpu-summary-modal/) diff --git a/packages/frontend/src/components/StatusMonitor.vue b/packages/frontend/src/components/StatusMonitor.vue index 8bc8947..5ef9db3 100644 --- a/packages/frontend/src/components/StatusMonitor.vue +++ b/packages/frontend/src/components/StatusMonitor.vue @@ -61,7 +61,6 @@
{{ t('statusMonitor.cpuLabel') }} -
{{ t('statusMonitor.cpuUsageTitle') }}
{{ displayCpuCores }}
@@ -1033,6 +1032,8 @@ const copyIpToClipboard = async (ipAddress: string | null) => { } .cpu-summary-panel { + display: grid; + gap: 10px; min-height: 0; border-radius: 16px; border: 1px solid rgba(148, 163, 184, 0.08); @@ -1045,10 +1046,14 @@ const copyIpToClipboard = async (ipAddress: string | null) => { .cpu-summary-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); + grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } +.cpu-summary-card:last-child:nth-child(odd) { + grid-column: 1 / -1; +} + .cpu-summary-card { display: grid; gap: 6px; @@ -1076,7 +1081,6 @@ const copyIpToClipboard = async (ipAddress: string | null) => { } .cpu-summary-action { - margin-top: 10px; width: 100%; } @@ -1092,7 +1096,7 @@ const copyIpToClipboard = async (ipAddress: string | null) => { .module-split--cpu { grid-template-columns: 1fr; - grid-template-rows: minmax(0, 126px) minmax(0, 112px); + grid-template-rows: minmax(0, 126px) auto; min-height: 0; align-content: start; gap: 8px; @@ -1574,6 +1578,10 @@ const copyIpToClipboard = async (ipAddress: string | null) => { grid-template-columns: 1fr; } + .cpu-summary-grid { + grid-template-columns: 1fr; + } + .network-table__header, .network-table__columns, .network-stat,