From c57caabaa045c4047d5e5d91460454a1b17bf1b3 Mon Sep 17 00:00:00 2001 From: lingniu Date: Sat, 18 Jul 2026 14:34:01 +0800 Subject: [PATCH] refine Semi UI track and vehicle workspaces --- .../apps/web/src/v2/pages/TrackPage.test.tsx | 2 + .../apps/web/src/v2/pages/TrackPage.tsx | 6 +- .../web/src/v2/pages/VehiclePage.test.tsx | 3 + .../apps/web/src/v2/pages/VehiclePage.tsx | 25 +- .../apps/web/src/v2/productionEntry.test.ts | 2 +- .../apps/web/src/v2/styles/workspace.css | 382 ++++++++++++++++++ 6 files changed, 407 insertions(+), 13 deletions(-) diff --git a/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.test.tsx b/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.test.tsx index 00c5c3e3..8e925997 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.test.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.test.tsx @@ -173,6 +173,8 @@ test('renders a map-first replay workspace and connects stop, event, and panel i expect((await screen.findAllByText('粤A12345')).length).toBeGreaterThan(0); expect(view.container.querySelector('.v2-track-rail-shell.semi-card')).toBeInTheDocument(); + expect(screen.getByLabelText('轨迹查询任务栏')).toHaveClass('v2-workspace-command-bar', 'v2-track-query-header'); + expect(screen.getByLabelText('轨迹查询任务栏')).toHaveTextContent('3 点'); expect(view.container.querySelector('.v2-track-query-panel')).toHaveClass('is-collapsed'); expect(view.container.querySelector('.v2-track-rail-result')).toBeInTheDocument(); expect(screen.getByRole('button', { name: '修改条件' })).toHaveAttribute('aria-expanded', 'false'); diff --git a/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.tsx b/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.tsx index 9775ea80..7e382e44 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/TrackPage.tsx @@ -15,6 +15,7 @@ import { MonitorReturnBar } from '../shared/MonitorReturnBar'; import { SegmentedTabs } from '../shared/SegmentedTabs'; import { VehicleCandidateList } from '../shared/VehicleCandidateList'; import { mergeVehicleCandidates } from '../shared/vehicleCandidates'; +import { WorkspaceCommandBar } from '../shared/WorkspaceCommandBar'; import { WorkspacePanelHeader } from '../shared/WorkspacePanelHeader'; import { QUERY_MEMORY } from '../queryPolicy'; import { monitorReturnFromParams, preserveMonitorReturn } from '../routing/monitorContext'; @@ -197,10 +198,13 @@ const TrackRail = memo(function TrackRail({ draft, track, loading, activeStopInd return