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'; import { Measurement } from '../services/apiTypes'; /* name: '测量名称1', time: '03-02 10:20', line: '京沪线', segment: 'A段', direction: '上行', railType: '60轨', */ export type UpdateState = 'idle' | 'pending' | 'uploading' | 'uploaded'; export default function MeasureItem({ item, onDetail, }: { item: Measurement; onDetail?: () => void; }) { return (

{item.name}

{`${item.line}`}

{`${item.section}`}

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

{item.createAt}
); } export function MeasureItemEx(props: { item: Measurement; 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.item.name}

{`${props.item.line}`}

{`${props.item.section}`}

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

{props.item.createAt}
{stateText()}
); }