feat(platform): position mileage as statistics query

This commit is contained in:
lingniu
2026-07-05 14:46:49 +08:00
parent f3c6f1df7c
commit 597395852c
3 changed files with 8 additions and 8 deletions

View File

@@ -41,10 +41,10 @@ const navGroups = [
{ {
title: '轨迹里程', title: '轨迹里程',
audience: '客户', audience: '客户',
description: '回放轨迹、核对里程、导出数据', description: '回放轨迹、统计查询、导出数据',
items: [ items: [
{ itemKey: 'history', text: '轨迹回放', icon: <IconMapPin /> }, { itemKey: 'history', text: '轨迹回放', icon: <IconMapPin /> },
{ itemKey: 'mileage', text: '里程统计', icon: <IconBarChartHStroked /> }, { itemKey: 'mileage', text: '统计查询', icon: <IconBarChartHStroked /> },
{ itemKey: 'history-query', text: '数据导出', icon: <IconHistogram /> } { itemKey: 'history-query', text: '数据导出', icon: <IconHistogram /> }
] ]
}, },

View File

@@ -1239,8 +1239,8 @@ export function Mileage({
return ( return (
<div className="vp-page"> <div className="vp-page">
<PageHeader <PageHeader
title="里程统计" title="统计查询"
description="按车辆汇总每日里程、区间里程和异常差值分析" description="按车辆查询里程、在线影响、区间闭合、异常复核和数据交付"
actions={( actions={(
<Button disabled={!currentVehicleKeyword} onClick={() => onOpenVehicle(currentVehicleKeyword, currentProtocol)}> <Button disabled={!currentVehicleKeyword} onClick={() => onOpenVehicle(currentVehicleKeyword, currentProtocol)}>
@@ -1250,7 +1250,7 @@ export function Mileage({
<div className="vp-scope-bar"> <div className="vp-scope-bar">
<span className="vp-scope-label">{currentVehicleKeyword || '-'}</span> <span className="vp-scope-label">{currentVehicleKeyword || '-'}</span>
<Tag color={currentProtocol ? 'blue' : 'green'}>{currentProtocol || '全部数据通道'}</Tag> <Tag color={currentProtocol ? 'blue' : 'green'}>{currentProtocol || '全部数据通道'}</Tag>
<Typography.Text type="tertiary"></Typography.Text> <Typography.Text type="tertiary">线</Typography.Text>
</div> </div>
<Card bordered className="vp-mileage-customer-query-board" bodyStyle={{ padding: 0 }}> <Card bordered className="vp-mileage-customer-query-board" bodyStyle={{ padding: 0 }}>
<div className="vp-mileage-customer-query-summary"> <div className="vp-mileage-customer-query-summary">

View File

@@ -27,7 +27,7 @@ test('renders vehicle platform shell', () => {
expect(screen.getAllByText('车辆服务').length).toBeGreaterThanOrEqual(1); expect(screen.getAllByText('车辆服务').length).toBeGreaterThanOrEqual(1);
expect(screen.getByText('按 VIN、车牌、手机号管理车辆')).toBeInTheDocument(); expect(screen.getByText('按 VIN、车牌、手机号管理车辆')).toBeInTheDocument();
expect(screen.getByText('轨迹里程')).toBeInTheDocument(); expect(screen.getByText('轨迹里程')).toBeInTheDocument();
expect(screen.getByText('回放轨迹、核对里程、导出数据')).toBeInTheDocument(); expect(screen.getByText('回放轨迹、统计查询、导出数据')).toBeInTheDocument();
expect(screen.getAllByText('告警通知').length).toBeGreaterThanOrEqual(1); expect(screen.getAllByText('告警通知').length).toBeGreaterThanOrEqual(1);
expect(screen.getByText('接入运维')).toBeInTheDocument(); expect(screen.getByText('接入运维')).toBeInTheDocument();
expect(screen.getAllByText('客户').length).toBeGreaterThanOrEqual(3); expect(screen.getAllByText('客户').length).toBeGreaterThanOrEqual(3);
@@ -7471,7 +7471,7 @@ test('updates mileage hash when mileage filters are submitted', async () => {
render(<App />); render(<App />);
await screen.findByRole('heading', { name: '里程统计' }); await screen.findByRole('heading', { name: '统计查询' });
fireEvent.change(screen.getByPlaceholderText('VIN / 车牌 / 手机号 / OEM'), { target: { value: '粤AG18312' } }); fireEvent.change(screen.getByPlaceholderText('VIN / 车牌 / 手机号 / OEM'), { target: { value: '粤AG18312' } });
fireEvent.click(screen.getByText('全部数据通道')); fireEvent.click(screen.getByText('全部数据通道'));
fireEvent.click(await screen.findByText('JT808')); fireEvent.click(await screen.findByText('JT808'));
@@ -8816,7 +8816,7 @@ test('opens same-day mileage statistics from raw history row', async () => {
await waitFor(() => { await waitFor(() => {
expect(window.location.hash).toBe('#/mileage?keyword=VIN-RAW-MILEAGE&protocol=JT808&dateFrom=2026-07-03&dateTo=2026-07-04'); expect(window.location.hash).toBe('#/mileage?keyword=VIN-RAW-MILEAGE&protocol=JT808&dateFrom=2026-07-03&dateTo=2026-07-04');
}); });
expect(await screen.findByRole('heading', { name: '里程统计' })).toBeInTheDocument(); expect(await screen.findByRole('heading', { name: '统计查询' })).toBeInTheDocument();
}); });
test('opens current vehicle service from history header with current source evidence', async () => { test('opens current vehicle service from history header with current source evidence', async () => {