import icon_check_s from '../assets/icon_check_s_s.svg'; import icon_check_u from '../assets/icon_check_s_u.svg'; import icon_arr from '../assets/icon_arr_p_r.svg'; import icon_pending from '../assets/icon_upload_0.svg'; import icon_uploading from '../assets/icon_upload_1.svg'; import icon_uploaded from '../assets/icon_upload_2.svg'; /* name: '测量名称1', time: '03-02 10:20', line: '京沪线', segment: 'A段', direction: '上行', railType: '60轨', */ export type UpdateState = 'idle' | 'pending' | 'uploading' | 'uploaded'; export default function MeasureItem(props: { name: string; time: string; line: string; segment: string; direction: string; railType: string; uploadState: UpdateState; onDetail?: () => void; }) { return (
{props.uploadState === 'uploaded' && icon}

{props.name}

{`${props.line}`}

{`${props.segment}`}

{`${props.direction}方向`}

{props.time}
); } export function MeasureItemEx(props: { name: string; time: string; line: string; segment: string; direction: string; railType: string; selected: boolean; uploadState: UpdateState; onSelected?: () => void; onDetail?: () => void; }) { const stateImg = () => { if (props.uploadState === 'idle') { if (props.selected) { return icon; } else { return icon; } } else if (props.uploadState === 'pending') { return icon; } else if (props.uploadState === 'uploading') { return icon; } else if (props.uploadState === 'uploaded') { return icon; } return null; }; const stateText = () => { if (props.uploadState === 'pending') { return 等待中; } else if (props.uploadState === 'uploading') { return 上传中; } else if (props.uploadState === 'uploaded') { return 上传完成; } return null; }; return (
{stateImg()}

{props.name}

{`${props.line}`}

{`${props.segment}`}

{`${props.direction}方向`}

{props.time}
{stateText()}
); }