feat(platform): position mileage as statistics query
This commit is contained in:
@@ -41,10 +41,10 @@ const navGroups = [
|
||||
{
|
||||
title: '轨迹里程',
|
||||
audience: '客户',
|
||||
description: '回放轨迹、核对里程、导出数据',
|
||||
description: '回放轨迹、统计查询、导出数据',
|
||||
items: [
|
||||
{ itemKey: 'history', text: '轨迹回放', icon: <IconMapPin /> },
|
||||
{ itemKey: 'mileage', text: '里程统计', icon: <IconBarChartHStroked /> },
|
||||
{ itemKey: 'mileage', text: '统计查询', icon: <IconBarChartHStroked /> },
|
||||
{ itemKey: 'history-query', text: '数据导出', icon: <IconHistogram /> }
|
||||
]
|
||||
},
|
||||
|
||||
@@ -1239,8 +1239,8 @@ export function Mileage({
|
||||
return (
|
||||
<div className="vp-page">
|
||||
<PageHeader
|
||||
title="里程统计"
|
||||
description="按车辆汇总每日里程、区间里程和异常差值分析"
|
||||
title="统计查询"
|
||||
description="按车辆查询里程、在线影响、区间闭合、异常复核和数据交付"
|
||||
actions={(
|
||||
<Button disabled={!currentVehicleKeyword} onClick={() => onOpenVehicle(currentVehicleKeyword, currentProtocol)}>
|
||||
当前车辆服务
|
||||
@@ -1250,7 +1250,7 @@ export function Mileage({
|
||||
<div className="vp-scope-bar">
|
||||
<span className="vp-scope-label">当前车辆:{currentVehicleKeyword || '-'}</span>
|
||||
<Tag color={currentProtocol ? 'blue' : 'green'}>数据通道:{currentProtocol || '全部数据通道'}</Tag>
|
||||
<Typography.Text type="tertiary">里程统计按当前车辆与数据通道范围汇总。</Typography.Text>
|
||||
<Typography.Text type="tertiary">统计查询以车辆为对象,当前先覆盖里程、在线影响、闭合审计和异常复核。</Typography.Text>
|
||||
</div>
|
||||
<Card bordered className="vp-mileage-customer-query-board" bodyStyle={{ padding: 0 }}>
|
||||
<div className="vp-mileage-customer-query-summary">
|
||||
|
||||
@@ -27,7 +27,7 @@ test('renders vehicle platform shell', () => {
|
||||
expect(screen.getAllByText('车辆服务').length).toBeGreaterThanOrEqual(1);
|
||||
expect(screen.getByText('按 VIN、车牌、手机号管理车辆')).toBeInTheDocument();
|
||||
expect(screen.getByText('轨迹里程')).toBeInTheDocument();
|
||||
expect(screen.getByText('回放轨迹、核对里程、导出数据')).toBeInTheDocument();
|
||||
expect(screen.getByText('回放轨迹、统计查询、导出数据')).toBeInTheDocument();
|
||||
expect(screen.getAllByText('告警通知').length).toBeGreaterThanOrEqual(1);
|
||||
expect(screen.getByText('接入运维')).toBeInTheDocument();
|
||||
expect(screen.getAllByText('客户').length).toBeGreaterThanOrEqual(3);
|
||||
@@ -7471,7 +7471,7 @@ test('updates mileage hash when mileage filters are submitted', async () => {
|
||||
|
||||
render(<App />);
|
||||
|
||||
await screen.findByRole('heading', { name: '里程统计' });
|
||||
await screen.findByRole('heading', { name: '统计查询' });
|
||||
fireEvent.change(screen.getByPlaceholderText('VIN / 车牌 / 手机号 / OEM'), { target: { value: '粤AG18312' } });
|
||||
fireEvent.click(screen.getByText('全部数据通道'));
|
||||
fireEvent.click(await screen.findByText('JT808'));
|
||||
@@ -8816,7 +8816,7 @@ test('opens same-day mileage statistics from raw history row', async () => {
|
||||
await waitFor(() => {
|
||||
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 () => {
|
||||
|
||||
Reference in New Issue
Block a user