From 3770afabec4ee3fd77d8e228d41a593b20797f93 Mon Sep 17 00:00:00 2001 From: lingniu Date: Sun, 19 Jul 2026 01:33:28 +0800 Subject: [PATCH] feat: clarify mobile mileage legend --- .../web/src/v2/pages/StatisticsPage.test.tsx | 4 ++ .../apps/web/src/v2/pages/StatisticsPage.tsx | 16 ++++--- .../apps/web/src/v2/styles/workspace.css | 44 ++++++++++++++----- 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx index 51dbc372..a33fc1f8 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx @@ -73,6 +73,10 @@ test('renders only the desktop matrix with dates as columns and a period total', expect(screen.getByRole('note', { name: '里程矩阵读表说明' })).toHaveTextContent('0 km已上报、无里程增量'); expect(screen.getByRole('note', { name: '里程矩阵读表说明' })).toHaveTextContent('—无可用里程'); expect(screen.getByRole('note', { name: '里程矩阵读表说明' })).toHaveTextContent('颜色越深、里程越高'); + expect(screen.getByLabelText('移动端里程矩阵读表说明')).toHaveTextContent('左右滑动日期 · 车牌与总里程固定'); + expect(screen.getByLabelText('0 公里表示已上报、无里程增量')).toHaveTextContent('0 km无增量'); + expect(screen.getByLabelText('横线表示无可用里程')).toHaveTextContent('—无数据'); + expect(screen.getByLabelText('颜色越深、里程越高')).toHaveTextContent('色阶深色更高'); const matrixRegion = screen.getByRole('region', { name: '车辆每日里程矩阵,可横向滚动查看日期' }); expect(matrixRegion).toHaveAttribute('tabindex', '0'); const matrixScroller = matrixRegion.querySelector('.semi-table-body'); diff --git a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx index 0459cbd4..0296ee2f 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx @@ -287,11 +287,17 @@ function dateLabel(date: string) { function MileageMatrixGuide() { return ; } diff --git a/vehicle-data-platform/apps/web/src/v2/styles/workspace.css b/vehicle-data-platform/apps/web/src/v2/styles/workspace.css index ddbe6ab0..45cfcd19 100644 --- a/vehicle-data-platform/apps/web/src/v2/styles/workspace.css +++ b/vehicle-data-platform/apps/web/src/v2/styles/workspace.css @@ -13780,6 +13780,10 @@ display: none; } +.v2-mileage-matrix-guide > .v2-mileage-matrix-guide-mobile { + display: none; +} + .v2-mileage-table-wrap { scrollbar-color: #9eb0c4 #f2f5f9; scrollbar-gutter: stable; @@ -14013,22 +14017,34 @@ } .v2-mileage-matrix-guide { - min-height: 34px; - gap: 11px; - padding: 4px 9px; + min-height: 58px; + overflow: hidden; + gap: 0; + padding: 4px 8px 5px; font-size: 9px; + white-space: normal; } - .v2-mileage-matrix-guide-title .semi-icon { - font-size: 12px; + .v2-mileage-matrix-guide > .is-desktop-guide { + display: none; } - .v2-mileage-matrix-guide-title { - order: 0; + .v2-mileage-matrix-guide > .v2-mileage-matrix-guide-mobile { + display: grid; + width: 100%; + grid-template-columns: repeat(3, minmax(0, 1fr)); + align-items: center; + gap: 3px 6px; } - .v2-mileage-matrix-guide > span:not(.v2-mileage-matrix-guide-title):not(.is-mobile-hint) { - order: 2; + .v2-mileage-matrix-guide-mobile > span { + display: inline-flex; + min-width: 0; + align-items: center; + justify-content: center; + gap: 4px; + color: #66798f; + white-space: nowrap; } .v2-mileage-matrix-guide .semi-tag { @@ -14038,13 +14054,19 @@ font-size: 8px; } - .v2-mileage-matrix-guide .is-mobile-hint { + .v2-mileage-matrix-guide-mobile > .is-mobile-hint { display: inline-flex; - order: 1; + min-height: 22px; + grid-column: 1 / -1; color: #3e6798; font-weight: 650; } + .v2-mileage-matrix-guide-mobile > .is-mobile-hint .semi-icon { + color: #1268df; + font-size: 12px; + } + .v2-mileage-source-sidesheet .semi-sidesheet-inner { overflow: hidden; border: 1px solid #d9e3ef;