feat(platform): clarify quality vehicle lookup action
This commit is contained in:
@@ -15,12 +15,20 @@ function formatLag(value?: number | null) {
|
|||||||
return value == null ? '未接入' : value.toLocaleString();
|
return value == null ? '未接入' : value.toLocaleString();
|
||||||
}
|
}
|
||||||
|
|
||||||
function qualityVehicleLookupKey(row: QualityIssueRow) {
|
function qualityVehicleLookup(row: QualityIssueRow) {
|
||||||
const vin = row.vin?.trim();
|
const vin = row.vin?.trim();
|
||||||
if (vin && vin !== 'unknown') {
|
if (vin && vin !== 'unknown') {
|
||||||
return vin;
|
return { key: vin, label: '车辆服务' };
|
||||||
}
|
}
|
||||||
return row.plate?.trim() || row.phone?.trim() || '';
|
const plate = row.plate?.trim();
|
||||||
|
if (plate) {
|
||||||
|
return { key: plate, label: '按车牌查车' };
|
||||||
|
}
|
||||||
|
const phone = row.phone?.trim();
|
||||||
|
if (phone) {
|
||||||
|
return { key: phone, label: '按手机号查车' };
|
||||||
|
}
|
||||||
|
return { key: '', label: '车辆服务' };
|
||||||
}
|
}
|
||||||
|
|
||||||
export function Dashboard({ onOpenVehicle, onOpenQuality }: { onOpenVehicle: (vin: string) => void; onOpenQuality: () => void }) {
|
export function Dashboard({ onOpenVehicle, onOpenQuality }: { onOpenVehicle: (vin: string) => void; onOpenQuality: () => void }) {
|
||||||
@@ -138,10 +146,11 @@ export function Dashboard({ onOpenVehicle, onOpenQuality }: { onOpenVehicle: (vi
|
|||||||
{ title: '最后时间', dataIndex: 'lastSeen', width: 170 },
|
{ title: '最后时间', dataIndex: 'lastSeen', width: 170 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: 110,
|
width: 130,
|
||||||
render: (_: unknown, row: QualityIssueRow) => (
|
render: (_: unknown, row: QualityIssueRow) => {
|
||||||
<Button disabled={!qualityVehicleLookupKey(row)} onClick={() => onOpenVehicle(qualityVehicleLookupKey(row))}>车辆服务</Button>
|
const lookup = qualityVehicleLookup(row);
|
||||||
)
|
return <Button disabled={!lookup.key} onClick={() => onOpenVehicle(lookup.key)}>{lookup.label}</Button>;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -49,12 +49,20 @@ async function copyText(value: string, label: string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function vehicleLookupKey(row: QualityIssueRow) {
|
function vehicleLookup(row: QualityIssueRow) {
|
||||||
const vin = row.vin?.trim();
|
const vin = row.vin?.trim();
|
||||||
if (vin && vin !== 'unknown') {
|
if (vin && vin !== 'unknown') {
|
||||||
return vin;
|
return { key: vin, label: '车辆服务' };
|
||||||
}
|
}
|
||||||
return row.plate?.trim() || row.phone?.trim() || '';
|
const plate = row.plate?.trim();
|
||||||
|
if (plate) {
|
||||||
|
return { key: plate, label: '按车牌查车' };
|
||||||
|
}
|
||||||
|
const phone = row.phone?.trim();
|
||||||
|
if (phone) {
|
||||||
|
return { key: phone, label: '按手机号查车' };
|
||||||
|
}
|
||||||
|
return { key: '', label: '车辆服务' };
|
||||||
}
|
}
|
||||||
|
|
||||||
export function Quality({
|
export function Quality({
|
||||||
@@ -185,19 +193,18 @@ export function Quality({
|
|||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: 250,
|
width: 250,
|
||||||
render: (_: unknown, row: QualityIssueRow) => (
|
render: (_: unknown, row: QualityIssueRow) => {
|
||||||
|
const lookup = vehicleLookup(row);
|
||||||
|
return (
|
||||||
<Space spacing={4}>
|
<Space spacing={4}>
|
||||||
<Button size="small" icon={<IconCopy />} onClick={() => copyText(row.phone, '手机号')}>手机号</Button>
|
<Button size="small" icon={<IconCopy />} onClick={() => copyText(row.phone, '手机号')}>手机号</Button>
|
||||||
<Button size="small" icon={<IconCopy />} onClick={() => copyText(row.sourceEndpoint, '来源')}>来源</Button>
|
<Button size="small" icon={<IconCopy />} onClick={() => copyText(row.sourceEndpoint, '来源')}>来源</Button>
|
||||||
<Button
|
<Button size="small" disabled={!lookup.key} onClick={() => onOpenVehicle(lookup.key)}>
|
||||||
size="small"
|
{lookup.label}
|
||||||
disabled={!vehicleLookupKey(row)}
|
|
||||||
onClick={() => onOpenVehicle(vehicleLookupKey(row))}
|
|
||||||
>
|
|
||||||
车辆服务
|
|
||||||
</Button>
|
</Button>
|
||||||
</Space>
|
</Space>
|
||||||
)
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user