feat: simplify login and unify monitor summary

This commit is contained in:
lingniu
2026-07-19 10:48:08 +08:00
parent dcc6b223d9
commit e02d8dba54
6 changed files with 329 additions and 181 deletions

View File

@@ -118,15 +118,19 @@ test('starts without a selection and supports expand, collapse, reselection, and
expect(firstVehicle).toHaveClass('semi-button', 'v2-vehicle-row');
expect(view.container.querySelector('.v2-filterbar')).toHaveClass('semi-card');
const kpis = view.container.querySelector('.v2-kpis');
expect(kpis).toHaveClass('semi-card');
expect(Array.from(kpis?.querySelectorAll('.v2-kpi small') ?? []).map((item) => item.textContent)).toEqual([
'车辆总数', '当前在线', '当前离线', '行驶车辆', '静止车辆', '告警车辆', '今日上报', '无实时位置'
const kpis = screen.getByRole('list', { name: '车辆整体统计' });
expect(kpis.closest('.v2-monitor-summary-rail')).toHaveClass('semi-card', 'v2-workspace-metric-rail', 'is-queue');
expect(Array.from(kpis.querySelectorAll(':scope > [role="listitem"] > small')).map((item) => item.textContent)).toEqual([
'车辆总数', '当前在线', '行驶车辆', '当前离线', '静止车辆', '告警车辆'
]);
expect(kpis?.querySelector('.v2-kpi.is-fleet')).toHaveClass('is-primary');
expect(kpis?.querySelector('.v2-kpi.is-online')).toHaveClass('is-primary');
expect(kpis?.querySelector('.v2-kpi.is-today')).toHaveClass('is-support');
expect(kpis?.querySelector('.v2-kpi:last-child')).toHaveClass('is-missing', 'is-support');
expect(kpis.querySelectorAll(':scope > [role="listitem"]')).toHaveLength(6);
expect(kpis.querySelector(':scope > [role="listitem"]:nth-child(1)')).toHaveClass('is-primary');
expect(kpis.querySelector(':scope > [role="listitem"]:nth-child(2)')).toHaveClass('is-primary', 'is-success');
expect(kpis.querySelector(':scope > [role="listitem"]:nth-child(4)')).toHaveClass('is-secondary');
const summarySupport = view.container.querySelector('.v2-monitor-summary-support');
expect(summarySupport).toHaveTextContent('今日上报10条数据活跃度');
expect(summarySupport).toHaveTextContent('无实时位置0辆辅助排查');
expect(view.container.querySelector('.v2-kpis')).not.toBeInTheDocument();
expect(view.container.querySelector('.v2-event-strip')).toHaveClass('semi-card');
expect(view.container.querySelector('.v2-monitor-live-tag')).toHaveClass('semi-tag');
const liveStatus = screen.getByLabelText('实时数据状态');