feat(platform): link realtime rows to quality evidence
This commit is contained in:
@@ -67,11 +67,13 @@ const serviceStatusLabel: Record<string, string> = {
|
||||
export function Realtime({
|
||||
onOpenVehicle,
|
||||
onOpenHistory,
|
||||
onOpenQuality,
|
||||
onFiltersChange,
|
||||
initialFilters = {}
|
||||
}: {
|
||||
onOpenVehicle: (vin: string, protocol?: string) => void;
|
||||
onOpenHistory?: (vin: string, protocol?: string) => void;
|
||||
onOpenQuality?: (filters: Record<string, string>) => void;
|
||||
onFiltersChange?: (filters: Record<string, string>) => void;
|
||||
initialFilters?: Record<string, string>;
|
||||
}) {
|
||||
@@ -107,6 +109,13 @@ export function Realtime({
|
||||
onFiltersChange?.(nextFilters);
|
||||
load(nextFilters, 1, pagination.pageSize);
|
||||
};
|
||||
const openQualityEvidence = (row: VehicleRealtimeRow) => {
|
||||
if (!canOpenVehicle(row.vin)) return;
|
||||
onOpenQuality?.({
|
||||
keyword: row.vin,
|
||||
protocol: filters.protocol || row.primaryProtocol || ''
|
||||
});
|
||||
};
|
||||
const filterSummary = [
|
||||
filters.keyword ? `关键词:${filters.keyword}` : '',
|
||||
filters.protocol ? `数据来源:${filters.protocol}` : '',
|
||||
@@ -232,6 +241,7 @@ export function Realtime({
|
||||
<Space spacing={4} wrap>
|
||||
<Button size="small" onClick={() => window.open(amapMarkerURL(row), '_blank', 'noopener,noreferrer')}>高德坐标</Button>
|
||||
<Button size="small" onClick={() => onOpenHistory?.(row.vin, filters.protocol || row.primaryProtocol)}>轨迹回放</Button>
|
||||
<Button size="small" disabled={!onOpenQuality} onClick={() => openQualityEvidence(row)}>质量问题</Button>
|
||||
<Button size="small" onClick={() => onOpenVehicle(row.vin, filters.protocol || row.primaryProtocol)}>地图车辆服务</Button>
|
||||
</Space>
|
||||
</div>
|
||||
@@ -293,9 +303,12 @@ export function Realtime({
|
||||
{ title: '最后时间', dataIndex: 'lastSeen', width: 170 },
|
||||
{
|
||||
title: '操作',
|
||||
width: 110,
|
||||
width: 190,
|
||||
render: (_: unknown, row: VehicleRealtimeRow) => (
|
||||
<Button disabled={!canOpenVehicle(row.vin)} onClick={() => onOpenVehicle(row.vin, filters.protocol || row.primaryProtocol)}>车辆服务</Button>
|
||||
<Space spacing={4} wrap>
|
||||
<Button disabled={!canOpenVehicle(row.vin)} onClick={() => onOpenVehicle(row.vin, filters.protocol || row.primaryProtocol)}>车辆服务</Button>
|
||||
<Button disabled={!canOpenVehicle(row.vin) || !onOpenQuality} onClick={() => openQualityEvidence(row)}>质量问题</Button>
|
||||
</Space>
|
||||
)
|
||||
}
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user