import { SyncOutlined } from "@ant-design/icons"; import { Checkbox, Divider, Input, Table, Button } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import PhoneFormatter from "../../utils/PhoneFormatter"; export default function JobsFindModalComponent({ selectedJob, setSelectedJob, jobsList, jobsListLoading, importOptionsState, modalSearchState, jobsListRefetch, }) { const { t } = useTranslation(); const [modalSearch, setModalSearch] = modalSearchState; const [importOptions, setImportOptions] = importOptionsState; const columns = [ { title: t("jobs.fields.ro_number"), dataIndex: "ro_number", key: "ro_number", width: "8%", render: (text, record) => ( {record.ro_number || t("general.labels.na")} ), }, { title: t("jobs.fields.owner"), dataIndex: "owner", key: "owner", ellipsis: true, width: "25%", render: (text, record) => { return record.owner ? ( {`${record.ownr_fn || ""} ${record.ownr_ln || ""} ${ record.ownr_co_nm || "" }`} ) : ( // t("jobs.errors.noowner") {`${record.ownr_fn || ""} ${record.ownr_ln || ""} ${ record.ownr_co_nm || "" }`} ); }, }, { title: t("jobs.fields.ownr_ph1"), dataIndex: "ownr_ph1", key: "ownr_ph1", width: "12%", ellipsis: true, render: (text, record) => { return record.ownr_ph1 ? ( {record.ownr_ph1} ) : ( t("general.labels.unknown") ); }, }, { title: t("jobs.fields.status"), dataIndex: "status", key: "status", width: "10%", ellipsis: true, render: (text, record) => { return record.status || t("general.labels.na"); }, }, { title: t("jobs.fields.vehicle"), dataIndex: "vehicle", key: "vehicle", width: "15%", ellipsis: true, render: (text, record) => ( {`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${ record.v_model_desc || "" }`} ), }, { title: t("vehicles.fields.plate_no"), dataIndex: "plate_no", key: "plate_no", width: "8%", ellipsis: true, render: (text, record) => { return record.plate_no ? ( {record.plate_no} ) : ( t("general.labels.unknown") ); }, }, { title: t("jobs.fields.clm_no"), dataIndex: "clm_no", key: "clm_no", width: "12%", ellipsis: true, render: (text, record) => { return record.clm_no ? ( {record.clm_no} ) : ( t("general.labels.unknown") ); }, }, ]; const handleOnRowClick = (record) => { if (record) { if (record.id) { setSelectedJob(record.id); return; } } setSelectedJob(null); }; return (
(
{t("jobs.labels.existing_jobs")} { setModalSearch(e.target.value); }} />
)} pagination={{ position: "bottom" }} columns={columns} rowKey="id" loading={jobsListLoading} dataSource={jobsList} rowSelection={{ onSelect: (props) => { setSelectedJob(props.id); }, type: "radio", selectedRowKeys: [selectedJob], }} onRow={(record, rowIndex) => { return { onClick: (event) => { handleOnRowClick(record); }, }; }} /> setImportOptions({ ...importOptions, overrideHeaders: e.target.checked, }) } > {t("jobs.labels.override_header")} ); }