feat(platform): align customer mileage service wording
This commit is contained in:
@@ -422,7 +422,7 @@ function realtimeDutyHandoffText({
|
||||
` 车辆服务:${appURL(buildAppHash({ page: 'detail', keyword: row.vin, protocol }))}`,
|
||||
` 实时监控:${appURL(buildAppHash({ page: 'realtime', keyword: row.vin, protocol }))}`,
|
||||
` 轨迹回放:${appURL(buildAppHash({ page: 'history', keyword: row.vin, protocol }))}`,
|
||||
` 统计查询:${appURL(buildAppHash({ page: 'mileage', keyword: row.vin, protocol }))}`,
|
||||
` 里程统计:${appURL(buildAppHash({ page: 'mileage', keyword: row.vin, protocol }))}`,
|
||||
` 历史查询:${protocol ? rawFrameAPIURL(row, protocol) : '-'}`
|
||||
);
|
||||
});
|
||||
@@ -507,7 +507,7 @@ function mapCustomerPackageText({
|
||||
`实时地图:${appURL(buildAppHash({ page: 'map', protocol: filters.protocol, filters }))}`,
|
||||
selectedVIN ? `车辆服务:${appURL(buildAppHash({ page: 'detail', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `轨迹回放:${appURL(buildAppHash({ page: 'history', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `统计查询:${appURL(buildAppHash({ page: 'mileage', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `里程统计:${appURL(buildAppHash({ page: 'mileage', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `历史数据:${appURL(buildAppHash({ page: 'history-query', keyword: selectedVIN, protocol: selectedProtocol, filters: { tab: 'raw', includeFields: 'true' } }))}` : '',
|
||||
selectedVIN ? `告警通知:${appURL(buildAppHash({ page: 'alert-events', keyword: selectedVIN, protocol: selectedProtocol }))}` : ''
|
||||
].filter(Boolean).join('\n');
|
||||
@@ -547,7 +547,7 @@ function mapExecutiveControlPackageText({
|
||||
`实时地图:${appURL(buildAppHash({ page: 'map', protocol: filters.protocol, filters: { ...filters, online: filters.online || 'online' } }))}`,
|
||||
selectedVIN ? `轨迹回放:${appURL(buildAppHash({ page: 'history', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
`围栏告警:${appURL(buildAppHash({ page: 'alert-events', filters: { serviceStatus: 'degraded', ...(filters.protocol ? { protocol: filters.protocol } : {}) } }))}`,
|
||||
selectedVIN ? `统计查询:${appURL(buildAppHash({ page: 'mileage', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `里程统计:${appURL(buildAppHash({ page: 'mileage', keyword: selectedVIN, protocol: selectedProtocol }))}` : '',
|
||||
selectedVIN ? `历史导出:${appURL(buildAppHash({ page: 'history-query', keyword: selectedVIN, protocol: selectedProtocol, filters: { tab: 'raw', includeFields: 'true' } }))}` : ''
|
||||
].filter(Boolean).join('\n');
|
||||
}
|
||||
@@ -569,7 +569,7 @@ function selectedMapVehicleHandoffText(row: VehicleRealtimeRow, protocol: string
|
||||
`车辆服务:${appURL(buildAppHash({ page: 'detail', keyword: vin, protocol }))}`,
|
||||
`实时地图:${appURL(buildAppHash({ page: 'map', keyword: vin, protocol }))}`,
|
||||
`轨迹回放:${appURL(buildAppHash({ page: 'history', keyword: vin, protocol }))}`,
|
||||
`统计查询:${appURL(buildAppHash({ page: 'mileage', keyword: vin, protocol }))}`,
|
||||
`里程统计:${appURL(buildAppHash({ page: 'mileage', keyword: vin, protocol }))}`,
|
||||
`历史数据:${appURL(buildAppHash({ page: 'history-query', keyword: vin, protocol, filters: { tab: 'raw', includeFields: 'true' } }))}`,
|
||||
`告警通知:${appURL(buildAppHash({ page: 'alert-events', keyword: vin, protocol }))}`
|
||||
].join('\n');
|
||||
@@ -871,7 +871,7 @@ export function Realtime({
|
||||
`实时状态:${timeWindowRow ? `${vehicleServiceStatus(timeWindowRow).label} / ${dataFreshness(timeWindowRow).detail}` : '未选车辆'}`,
|
||||
`轨迹回放:${timeWindowReady ? window.location.origin + window.location.pathname + buildAppHash({ page: 'history', keyword: timeWindowKeyword, protocol: timeWindowProtocol, filters: timeWindowFilters() }) : '-'}`,
|
||||
`历史数据:${timeWindowReady ? window.location.origin + window.location.pathname + buildAppHash({ page: 'history-query', keyword: timeWindowKeyword, protocol: timeWindowProtocol, filters: timeWindowFilters({ tab: 'raw', includeFields: 'true' }) }) : '-'}`,
|
||||
`统计查询:${timeWindowReady ? window.location.origin + window.location.pathname + buildAppHash({ page: 'mileage', keyword: timeWindowKeyword, protocol: timeWindowProtocol, filters: timeWindowFilters() }) : '-'}`,
|
||||
`里程统计:${timeWindowReady ? window.location.origin + window.location.pathname + buildAppHash({ page: 'mileage', keyword: timeWindowKeyword, protocol: timeWindowProtocol, filters: timeWindowFilters() }) : '-'}`,
|
||||
`告警通知:${timeWindowReady ? window.location.origin + window.location.pathname + buildAppHash({ page: 'alert-events', keyword: timeWindowKeyword, protocol: timeWindowProtocol, filters: timeWindowFilters() }) : '-'}`
|
||||
].join('\n'), '客户时间窗复盘包');
|
||||
const timeWindowWorkItems = [
|
||||
@@ -894,7 +894,7 @@ export function Realtime({
|
||||
onClick: openTimeWindowRaw
|
||||
},
|
||||
{
|
||||
title: '统计查询',
|
||||
title: '里程统计',
|
||||
value: timeWindowRow?.totalMileageKm != null ? `${timeWindowRow.totalMileageKm} km` : '待核对',
|
||||
detail: '核对区间里程、日里程和总里程差值。',
|
||||
action: '查看统计',
|
||||
@@ -942,7 +942,7 @@ export function Realtime({
|
||||
title: '里程核对',
|
||||
value: timeWindowRow?.totalMileageKm != null ? `${timeWindowRow.totalMileageKm} km` : '待核对',
|
||||
detail: '用同一时间窗进入里程统计,核对区间差值和日统计闭合。',
|
||||
action: '统计查询',
|
||||
action: '里程统计',
|
||||
color: timeWindowRow?.totalMileageKm != null ? 'blue' as const : 'orange' as const,
|
||||
disabled: !timeWindowReady,
|
||||
onClick: openTimeWindowMileage
|
||||
@@ -1192,10 +1192,10 @@ export function Realtime({
|
||||
onClick: () => selectedMapRow && onOpenHistory?.(selectedMapRow.vin, selectedVehicleProtocol)
|
||||
},
|
||||
{
|
||||
title: '统计查询',
|
||||
title: '里程统计',
|
||||
value: selectedMapRow?.totalMileageKm != null ? `${selectedMapRow.totalMileageKm} km` : '无里程',
|
||||
detail: '进入单车统计查询,核对日里程和区间差值。',
|
||||
action: '统计查询',
|
||||
detail: '进入单车里程统计,核对日里程和区间差值。',
|
||||
action: '里程统计',
|
||||
color: selectedMapRow?.totalMileageKm != null ? 'blue' as const : 'orange' as const,
|
||||
disabled: !selectedMapRow || !canOpenVehicle(selectedMapRow.vin),
|
||||
onClick: () => {
|
||||
@@ -1299,10 +1299,10 @@ export function Realtime({
|
||||
onClick: () => selectedMapRow && onOpenHistory?.(selectedMapRow.vin, selectedVehicleProtocol)
|
||||
},
|
||||
{
|
||||
title: '统计查询',
|
||||
title: '里程统计',
|
||||
value: selectedMapRow?.totalMileageKm != null ? `${selectedMapRow.totalMileageKm} km` : '待选车',
|
||||
detail: '按选中车辆进入统计查询,核对区间里程和日报闭合。',
|
||||
action: '统计查询',
|
||||
detail: '按选中车辆进入里程统计,核对区间里程和日报闭合。',
|
||||
action: '里程统计',
|
||||
color: selectedMapRow?.totalMileageKm != null ? 'blue' as const : 'grey' as const,
|
||||
disabled: !selectedMapRow || !canOpenVehicle(selectedMapRow.vin),
|
||||
onClick: () => {
|
||||
@@ -1612,7 +1612,7 @@ export function Realtime({
|
||||
{
|
||||
label: '选车复盘',
|
||||
value: selectedVehicleLabel,
|
||||
detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或车辆列表选择一辆车后进入轨迹、统计查询和历史查询。',
|
||||
detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或车辆列表选择一辆车后进入轨迹、里程统计和历史查询。',
|
||||
color: selectedMapRow ? vehicleServiceStatus(selectedMapRow).color : 'grey' as const,
|
||||
action: '轨迹回放',
|
||||
disabled: !selectedMapRow || !canOpenVehicle(selectedMapRow.vin),
|
||||
@@ -1982,7 +1982,7 @@ export function Realtime({
|
||||
step: '04',
|
||||
title: '单车复盘',
|
||||
value: selectedMapRow?.plate || selectedMapRow?.vin || '未选车',
|
||||
detail: selectedMapRow ? '围绕选中车辆回放轨迹、统计查询和告警。' : '先在地图或表格中选择一辆可查询车辆。',
|
||||
detail: selectedMapRow ? '围绕选中车辆回放轨迹、里程统计和告警。' : '先在地图或表格中选择一辆可查询车辆。',
|
||||
action: '轨迹回放',
|
||||
color: selectedMapRow ? 'blue' as const : 'grey' as const,
|
||||
onClick: () => selectedMapRow && onOpenHistory?.(selectedMapRow.vin, selectedVehicleProtocol),
|
||||
@@ -2145,7 +2145,7 @@ export function Realtime({
|
||||
onClick: () => selectedMapRow && onOpenHistory?.(selectedMapRow.vin, selectedVehicleProtocol)
|
||||
},
|
||||
{
|
||||
label: '统计查询',
|
||||
label: '里程统计',
|
||||
value: selectedMapRow?.totalMileageKm != null ? `${selectedMapRow.totalMileageKm} km` : '无里程',
|
||||
detail: '核对单车总里程、日里程和区间闭合。',
|
||||
color: selectedMapRow?.totalMileageKm != null ? 'blue' as const : 'grey' as const,
|
||||
@@ -2191,7 +2191,7 @@ export function Realtime({
|
||||
level: selectedMapRow ? '单车' : '选车',
|
||||
title: selectedMapRow ? '复盘选中车辆' : '先选择一辆车',
|
||||
value: selectedMapRow?.plate || selectedMapRow?.vin || '等待选车',
|
||||
detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或实时列表选择车辆后,进入轨迹、统计查询、历史和告警。',
|
||||
detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或实时列表选择车辆后,进入轨迹、里程统计、历史和告警。',
|
||||
action: selectedMapRow ? '轨迹回放' : '查看车辆',
|
||||
color: selectedMapRow ? vehicleServiceStatus(selectedMapRow).color : 'blue' as const,
|
||||
disabled: selectedMapRow ? !canOpenVehicle(selectedMapRow.vin) : false,
|
||||
@@ -2301,7 +2301,7 @@ export function Realtime({
|
||||
</Space>
|
||||
<Typography.Title heading={5} style={{ margin: 0 }}>按车辆和时间窗复盘发生了什么</Typography.Title>
|
||||
<Typography.Text type="secondary">
|
||||
客户问某辆车、某段时间发生了什么时,直接串起轨迹回放、历史数据、统计查询和告警通知。
|
||||
客户问某辆车、某段时间发生了什么时,直接串起轨迹回放、历史数据、里程统计和告警通知。
|
||||
</Typography.Text>
|
||||
<Space wrap>
|
||||
<Button size="small" theme="solid" type="primary" disabled={!timeWindowReady} onClick={openTimeWindowHistory}>轨迹回放</Button>
|
||||
@@ -2462,7 +2462,7 @@ export function Realtime({
|
||||
<div className="vp-map-command-side-card">
|
||||
<Typography.Text strong>车辆服务闭环</Typography.Text>
|
||||
<Typography.Text type="secondary">
|
||||
客户从这里完成看车、选车、查轨迹、查历史、查统计、收告警和导出。
|
||||
客户从这里完成看车、选车、查轨迹、查历史、查里程、收告警和导出。
|
||||
</Typography.Text>
|
||||
</div>
|
||||
</aside>
|
||||
@@ -2713,7 +2713,7 @@ export function Realtime({
|
||||
<Tag color={amapConfigured ? 'green' : 'orange'}>{amapConfigured ? 'Live Map 可用' : '坐标预览'}</Tag>
|
||||
<Tag color={mapAttentionRows.length > 0 ? 'orange' : 'green'}>{mapAttentionRows.length.toLocaleString()} 辆关注</Tag>
|
||||
</Space>
|
||||
<Typography.Title heading={5} style={{ margin: 0 }}>把 Live Map 当作客户服务入口:先看在线车辆和关注车辆,再进入路线回放、统计查询和证据导出。</Typography.Title>
|
||||
<Typography.Title heading={5} style={{ margin: 0 }}>把 Live Map 当作客户服务入口:先看在线车辆和关注车辆,再进入路线回放、里程统计和证据导出。</Typography.Title>
|
||||
<Typography.Text type="secondary">
|
||||
地图页的第一动作要围绕车辆服务,而不是围绕协议来源;客户从地图进入监控、复盘、统计和交付。
|
||||
</Typography.Text>
|
||||
@@ -2963,7 +2963,7 @@ export function Realtime({
|
||||
</Space>
|
||||
<Typography.Title heading={5} style={{ margin: 0 }}>{selectedVehicleLabel}</Typography.Title>
|
||||
<Typography.Text type="secondary">
|
||||
客户在地图上选中车辆后,直接进入车辆档案、轨迹回放、统计查询、数据导出和告警处置。
|
||||
客户在地图上选中车辆后,直接进入车辆档案、轨迹回放、里程统计、数据导出和告警处置。
|
||||
</Typography.Text>
|
||||
</div>
|
||||
<div className="vp-map-selected-service-actions">
|
||||
@@ -3051,7 +3051,7 @@ export function Realtime({
|
||||
</Space>
|
||||
<Typography.Text strong>{selectedVehicleLabel}</Typography.Text>
|
||||
<Typography.Text type="secondary">
|
||||
面向客户看图时,先确认车辆范围、在线态势、定位态势和选中车辆,再进入轨迹、统计查询、历史数据或告警通知。
|
||||
面向客户看图时,先确认车辆范围、在线态势、定位态势和选中车辆,再进入轨迹、里程统计、历史数据或告警通知。
|
||||
</Typography.Text>
|
||||
<Space wrap>
|
||||
<Button size="small" theme="solid" type="primary" icon={<IconCopy />} onClick={copyMapCustomerPackage}>复制地图监控包</Button>
|
||||
@@ -3340,7 +3340,7 @@ export function Realtime({
|
||||
</Space>
|
||||
<Typography.Title heading={5} style={{ margin: 0 }}>从实时列表直接完成车辆监控闭环</Typography.Title>
|
||||
<Typography.Text type="secondary">
|
||||
先筛在线车辆,再看地图位置,异常车辆优先处置,最后进入单车轨迹、统计查询、告警或导出当前页。
|
||||
先筛在线车辆,再看地图位置,异常车辆优先处置,最后进入单车轨迹、里程统计、告警或导出当前页。
|
||||
</Typography.Text>
|
||||
<Space wrap>
|
||||
<Button size="small" theme="solid" type="primary" onClick={() => applyFilters({ ...filters, online: 'online' })}>只看在线</Button>
|
||||
|
||||
Reference in New Issue
Block a user