feat(platform): align customer mileage service wording
This commit is contained in:
@@ -188,8 +188,8 @@ function mileageSummaryText({
|
||||
`当前页里程:${formatKm(pageMileageTotal)} km`,
|
||||
`异常记录:${anomalyCount.toLocaleString()}`,
|
||||
`最大单日:${peak}`,
|
||||
'统计口径:区间总值等于各日里程之和',
|
||||
`统计查询:${statisticsURL}`,
|
||||
'里程口径:区间总值等于各日里程之和',
|
||||
`里程统计:${statisticsURL}`,
|
||||
...(vehicleURL ? [`车辆服务:${vehicleURL}`] : [])
|
||||
].join('\n');
|
||||
}
|
||||
@@ -249,7 +249,7 @@ function mileageDeliveryPackageText({
|
||||
`在线影响:${onlineSummary.onlineVehicleCount.toLocaleString()} 在线 / ${onlineSummary.offlineVehicleCount.toLocaleString()} 离线 / 在线率 ${formatPercent(onlineSummary.onlineRatePercent)}`,
|
||||
`发布判断:${publishAuditConclusion}`,
|
||||
`可信度:${confidenceStatus}`,
|
||||
'统计口径:日里程按首末总里程差值计算,区间总值应等于每日里程之和',
|
||||
'里程口径:日里程按首末总里程差值计算,区间总值应等于每日里程之和',
|
||||
`里程统计:${statisticsURL}`,
|
||||
`轨迹复核:${appURL(buildAppHash({ page: 'history', keyword: filters.keyword?.trim() || '', protocol: filters.protocol?.trim() || '', filters: { ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) } }))}`,
|
||||
`历史明细:${appURL(buildAppHash({ page: 'history-query', keyword: filters.keyword?.trim() || '', protocol: filters.protocol?.trim() || '', filters: { ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}), tab: 'raw', includeFields: 'true' } }))}`,
|
||||
@@ -368,7 +368,7 @@ function mileageReconciliationControlText({
|
||||
`覆盖率:${formatPercent(pageCoverageRate)}`,
|
||||
`在线影响:${onlineSummary.onlineVehicleCount.toLocaleString()} 在线 / ${onlineSummary.offlineVehicleCount.toLocaleString()} 离线 / 在线率 ${formatPercent(onlineSummary.onlineRatePercent)}`,
|
||||
`轨迹证明:${peak}`,
|
||||
`统计查询:${statisticsURL}`,
|
||||
`里程统计:${statisticsURL}`,
|
||||
`报表导出:${statisticsURL}`,
|
||||
`轨迹回放:${appURL(buildAppHash({ page: 'history', keyword: filters.keyword?.trim() || '', protocol: filters.protocol?.trim() || '', filters: { ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) } }))}`,
|
||||
`历史明细:${appURL(buildAppHash({ page: 'history-query', keyword: filters.keyword?.trim() || '', protocol: filters.protocol?.trim() || '', filters: { ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}), tab: 'raw', includeFields: 'true' } }))}`,
|
||||
@@ -413,7 +413,7 @@ function mileageBIPublishText({
|
||||
`车辆范围:${keyword}`,
|
||||
`数据通道:${protocol}`,
|
||||
`日期范围:${dateRange}`,
|
||||
`统计口径:日里程按首末总里程差值计算,区间总值等于每日里程之和`,
|
||||
`里程口径:日里程按首末总里程差值计算,区间总值等于每日里程之和`,
|
||||
`累计里程:${formatKm(summary.totalMileageKm)} km`,
|
||||
`明细合计:${formatKm(pageMileageTotal)} km`,
|
||||
`闭合状态:${closureStatus}${closureDeltaKm == null ? '' : `,差值 ${formatKm(Math.abs(closureDeltaKm))} km`}`,
|
||||
@@ -422,7 +422,7 @@ function mileageBIPublishText({
|
||||
`通道一致性:${sourceConsistencyText}`,
|
||||
`统计车辆:${summary.vehicleCount.toLocaleString()},记录:${summary.recordCount.toLocaleString()},来源:${summary.sourceCount.toLocaleString()}`,
|
||||
`发布风险:${publishable ? '当前筛选范围闭合且无异常记录' : '存在分页未全量、异常记录或闭合差值,需要先复核轨迹和历史明细'}`,
|
||||
`统计查询:${statisticsURL}`,
|
||||
`里程统计:${statisticsURL}`,
|
||||
...(vehicleURL ? [`车辆服务:${vehicleURL}`] : [])
|
||||
].join('\n');
|
||||
}
|
||||
@@ -470,7 +470,7 @@ function statisticsImpactText({
|
||||
`异常记录:${anomalyCount.toLocaleString()}`,
|
||||
`当前页覆盖:${formatPercent(pageCoverageRate)}`,
|
||||
`业务影响:${publishAuditConclusion === '可发布' ? '当前统计范围可进入运营和BI口径' : '当前统计范围需要先复核轨迹、历史明细和离线车辆影响'}`,
|
||||
`统计查询:${statisticsURL}`,
|
||||
`里程统计:${statisticsURL}`,
|
||||
...(vehicleURL ? [`车辆服务:${vehicleURL}`] : [])
|
||||
].join('\n');
|
||||
}
|
||||
@@ -528,7 +528,7 @@ function mileagePublishAuditReport({
|
||||
` 动作:${item.action}`
|
||||
].join('\n')),
|
||||
'',
|
||||
`统计查询:${statisticsURL}`,
|
||||
`里程统计:${statisticsURL}`,
|
||||
...(vehicleURL ? [`车辆服务:${vehicleURL}`] : [])
|
||||
].join('\n');
|
||||
}
|
||||
@@ -554,7 +554,7 @@ function mileageEvidencePackageText(row: DailyMileageRow) {
|
||||
`车辆服务:${appURL(buildAppHash({ page: 'detail', keyword: row.vin, protocol: row.source }))}`,
|
||||
`轨迹证据:${appURL(buildAppHash({ page: 'history', keyword: row.vin, protocol: row.source, filters: evidenceFilters }))}`,
|
||||
`历史明细:${appURL(buildAppHash({ page: 'history-query', keyword: row.vin, protocol: row.source, filters: { ...evidenceFilters, tab: 'raw', includeFields: 'true' } }))}`,
|
||||
`统计查询:${appURL(buildAppHash({ page: 'mileage', keyword: row.vin, protocol: row.source, filters: evidenceFilters }))}`
|
||||
`里程统计:${appURL(buildAppHash({ page: 'mileage', keyword: row.vin, protocol: row.source, filters: evidenceFilters }))}`
|
||||
].join('\n');
|
||||
}
|
||||
|
||||
@@ -642,7 +642,7 @@ function onlineOperationsReportText({
|
||||
'1. 在线率下降时先检查实时在线状态、数据接入和最后上报时间',
|
||||
'2. 离线车辆优先打开车辆服务,核对实时、轨迹、历史明细和告警记录',
|
||||
'3. 统计发布前确认离线车辆是否影响当日里程和区间闭合',
|
||||
`统计查询:${statisticsURL}`,
|
||||
`里程统计:${statisticsURL}`,
|
||||
...(vehicleURL ? [`车辆服务:${vehicleURL}`] : [])
|
||||
].join('\n');
|
||||
}
|
||||
@@ -1074,7 +1074,7 @@ export function Mileage({
|
||||
step: '05',
|
||||
title: '明细导出',
|
||||
value: `${rows.length.toLocaleString()} 当前页`,
|
||||
detail: '导出明细并附带统计口径,支撑 BI 核对、客户复盘和报表交付。',
|
||||
detail: '导出明细并附带里程口径,支撑 BI 核对、客户复盘和报表交付。',
|
||||
action: '导出明细',
|
||||
color: rows.length > 0 ? 'blue' as const : 'grey' as const,
|
||||
disabled: rows.length === 0,
|
||||
@@ -1133,7 +1133,7 @@ export function Mileage({
|
||||
];
|
||||
const mileageDeliveryNavigation = [
|
||||
{
|
||||
title: '确认统计口径',
|
||||
title: '确认里程口径',
|
||||
value: `${formatKm(summary.totalMileageKm)} km`,
|
||||
detail: `范围 ${mileageRangeText},闭合状态 ${closureStatus},发布判断 ${publishAuditConclusion}。`,
|
||||
action: '复制统计摘要',
|
||||
@@ -1914,7 +1914,7 @@ export function Mileage({
|
||||
return (
|
||||
<div className="vp-page">
|
||||
<PageHeader
|
||||
title="统计查询"
|
||||
title="里程统计"
|
||||
description="按车辆查询里程、在线影响、区间闭合、异常复核和数据交付"
|
||||
actions={(
|
||||
<Button disabled={!currentVehicleKeyword} onClick={() => onOpenVehicle(currentVehicleKeyword, currentProtocol)}>
|
||||
@@ -2206,18 +2206,18 @@ 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">
|
||||
<Space wrap>
|
||||
<Tag color="blue">客户统计查询</Tag>
|
||||
<Tag color="blue">客户里程统计</Tag>
|
||||
<Tag color={mileageDeliveryColor}>{mileageDeliveryState}</Tag>
|
||||
<Tag color={closureStatusColor}>{closureStatus}</Tag>
|
||||
</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={copyStatisticsSummary}>复制统计摘要</Button>
|
||||
@@ -2234,7 +2234,7 @@ export function Mileage({
|
||||
className="vp-mileage-customer-query-step"
|
||||
disabled={item.disabled}
|
||||
onClick={item.onClick}
|
||||
aria-label={`客户统计查询 ${item.title} ${item.action}`}
|
||||
aria-label={`客户里程统计 ${item.title} ${item.action}`}
|
||||
>
|
||||
<span>{item.step}</span>
|
||||
<Tag color={item.color}>{item.title}</Tag>
|
||||
@@ -2543,7 +2543,7 @@ export function Mileage({
|
||||
<Tag color={statisticsImpactColor}>{statisticsImpactLevel}</Tag>
|
||||
<div className="vp-monitor-metric-value">{summary.vehicleCount.toLocaleString()} 辆车</div>
|
||||
<Typography.Text type="secondary">
|
||||
当前筛选会影响 {summary.recordCount.toLocaleString()} 条里程记录、{formatKm(summary.totalMileageKm)} km 统计口径和 {offlineVehicleCount.toLocaleString()} 辆离线车辆判断。
|
||||
当前筛选会影响 {summary.recordCount.toLocaleString()} 条里程记录、{formatKm(summary.totalMileageKm)} km 里程口径和 {offlineVehicleCount.toLocaleString()} 辆离线车辆判断。
|
||||
</Typography.Text>
|
||||
<Space wrap>
|
||||
<Tag color={confidenceColor}>{confidenceStatus}</Tag>
|
||||
@@ -2711,7 +2711,7 @@ export function Mileage({
|
||||
)}
|
||||
</div>
|
||||
<div className="vp-mileage-side-card">
|
||||
<div className="vp-mileage-side-title">统计口径</div>
|
||||
<div className="vp-mileage-side-title">里程口径</div>
|
||||
<Typography.Text type="secondary">
|
||||
区间里程以每日首末总里程差值汇总,目标是区间总值等于每日里程之和。
|
||||
</Typography.Text>
|
||||
@@ -2813,7 +2813,7 @@ export function Mileage({
|
||||
<div className="vp-stat-closure-action">
|
||||
<Tag color={closureStatusColor}>{closureStatus}</Tag>
|
||||
<Typography.Text type="secondary">
|
||||
{closurePassed && anomalyRows.length === 0 ? '当前统计口径可直接用于 BI 里程口径;若存在跨通道差异,再进入车辆服务查看统计依据。' : '统计进入 BI 前需要结合异常记录、轨迹回放和历史明细完成复核。'}
|
||||
{closurePassed && anomalyRows.length === 0 ? '当前里程口径可直接用于 BI 里程口径;若存在跨通道差异,再进入车辆服务查看统计依据。' : '统计进入 BI 前需要结合异常记录、轨迹回放和历史明细完成复核。'}
|
||||
</Typography.Text>
|
||||
<Space wrap>
|
||||
<Button size="small" onClick={copyStatisticsSummary}>复制闭合摘要</Button>
|
||||
@@ -3003,7 +3003,7 @@ export function Mileage({
|
||||
]}
|
||||
/>
|
||||
</Card>
|
||||
<Card bordered title="统计口径" style={{ marginTop: 16 }}>
|
||||
<Card bordered title="里程口径" style={{ marginTop: 16 }}>
|
||||
<div className="vp-table-toolbar">
|
||||
<Space wrap>
|
||||
<Tag color="blue">可复制日报口径</Tag>
|
||||
|
||||
Reference in New Issue
Block a user