feat(platform): add vehicle service delivery strip

This commit is contained in:
lingniu
2026-07-05 22:19:20 +08:00
parent fc86119857
commit aa286b810e
3 changed files with 133 additions and 0 deletions

View File

@@ -188,6 +188,8 @@ export function AppShell({
const dateFrom = customerTimeWindow?.dateFrom ?? '';
const dateTo = customerTimeWindow?.dateTo ?? '';
const savedViews = customerViews ?? [];
const serviceObjectText = currentVehicleLabel ? `车辆:${currentVehicleLabel}` : '未选择车辆';
const serviceTimeText = dateFrom || dateTo ? `${dateFrom || '未指定'}${dateTo || '未指定'}` : '实时范围';
const applyTimeWindowPreset = (days: number) => {
onCustomerTimeWindowChange?.({
@@ -214,6 +216,7 @@ export function AppShell({
{ label: '导出', ariaLabel: '顶部数据导出', page: 'history-query' as const },
{ label: '告警', ariaLabel: '顶部告警事件', page: 'alert-events' as const }
];
const deliveryActions = quickActions.filter((item) => item.page !== 'realtime');
return (
<div className="vp-app">
@@ -299,6 +302,35 @@ export function AppShell({
<Button theme="solid" type="primary" loading={searching} onClick={search}></Button>
</Space>
<div className="vp-topbar-context">
<div className="vp-service-delivery-strip" aria-label="车辆服务交付条">
<div className="vp-service-delivery-strip-head">
<strong></strong>
<span></span>
</div>
<div className="vp-service-delivery-strip-fact">
<span></span>
<strong>{serviceObjectText}</strong>
</div>
<div className="vp-service-delivery-strip-fact">
<span></span>
<strong>{serviceTimeText}</strong>
</div>
<div className="vp-service-delivery-strip-actions">
<span></span>
<div>
{deliveryActions.map((item) => (
<button
key={item.page}
type="button"
aria-label={`车辆服务交付条 ${item.label}`}
onClick={() => (onCustomerTask ?? onChange)(item.page)}
>
{item.label}
</button>
))}
</div>
</div>
</div>
<div className="vp-topbar-time-window" aria-label="客户时间窗">
<div className="vp-topbar-time-window-copy">
<strong></strong>