Added copy from job to ccc IO-565

This commit is contained in:
Patrick Fic
2021-02-04 18:35:14 -08:00
parent ef03a6cd42
commit 69ac212f0c
8 changed files with 121 additions and 3 deletions

View File

@@ -0,0 +1,44 @@
import { useLazyQuery } from "@apollo/react-hooks";
import { Button, notification } from "antd";
import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { GET_JOB_FOR_CC_CONTRACT } from "../../graphql/jobs.queries";
export default function ContractCreateJobPrefillComponent({ jobId, form }) {
const [call, { loading, error, data }] = useLazyQuery(
GET_JOB_FOR_CC_CONTRACT
);
const { t } = useTranslation();
const handleClick = () => {
call({ variables: { id: jobId } });
};
useEffect(() => {
if (data) {
form.setFieldsValue({
driver_dlst: data.jobs_by_pk.ownr_ast,
driver_fn: data.jobs_by_pk.ownr_fn,
driver_ln: data.jobs_by_pk.ownr_ln,
driver_addr1: data.jobs_by_pk.ownr_addr1,
driver_state: data.jobs_by_pk.ownr_st,
driver_city: data.jobs_by_pk.ownr_city,
driver_zip: data.jobs_by_pk.ownr_zip,
driver_ph1: data.jobs_by_pk.ownr_ph1,
});
}
}, [data, form]);
if (error) {
notification["error"]({
message: t("contracts.errors.fetchingjobinfo", {
error: JSON.stringify(error),
}),
});
}
return (
<Button onClick={handleClick} disabled={!jobId} loading={loading}>
{t("contracts.labels.populatefromjob")}
</Button>
);
}

View File

@@ -10,8 +10,12 @@ import InputPhone, {
PhoneItemFormatterValidation,
} from "../form-items-formatted/phone-form-item.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
export default function ContractFormComponent({ form, create = false }) {
import ContractFormJobPrefill from "./contract-form-job-prefill.component";
export default function ContractFormComponent({
form,
create = false,
selectedJobState,
}) {
const { t } = useTranslation();
return (
<div>
@@ -100,6 +104,9 @@ export default function ContractFormComponent({ form, create = false }) {
</Form.Item>
)}
</LayoutFormRow>
<div>
<ContractFormJobPrefill jobId={selectedJobState[0]} form={form} />
</div>
<LayoutFormRow>
<Form.Item
label={t("contracts.fields.driver_dlnumber")}