From ff0ee8cbaea716202c78ebd640baab222dc406c2 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Tue, 22 Sep 2020 08:50:41 -0700 Subject: [PATCH] Updated to include completion date on intake. BOD-401 --- .../job-checklist-form.component.jsx | 31 +++++++++++++------ .../job-checklist/job-checklist.component.jsx | 4 +-- client/src/graphql/bodyshop.queries.js | 6 ++-- .../jobs-intake.page.container.jsx | 1 + 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/client/src/components/job-checklist/components/job-checklist-form/job-checklist-form.component.jsx b/client/src/components/job-checklist/components/job-checklist-form/job-checklist-form.component.jsx index 94a04584f..fa3483351 100644 --- a/client/src/components/job-checklist/components/job-checklist-form/job-checklist-form.component.jsx +++ b/client/src/components/job-checklist/components/job-checklist-form/job-checklist-form.component.jsx @@ -6,15 +6,15 @@ import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { useHistory, useLocation, useParams } from "react-router-dom"; import { createStructuredSelector } from "reselect"; +import { logImEXEvent } from "../../../../firebase/firebase.utils"; import { MARK_LATEST_APPOINTMENT_AS_ARRIVED } from "../../../../graphql/appointments.queries"; import { UPDATE_JOB } from "../../../../graphql/jobs.queries"; import { selectBodyshop, selectCurrentUser, } from "../../../../redux/user/user.selectors"; -import DateTimePicker from "../../../form-date-time-picker/form-date-time-picker.component"; import ConfigFormComponents from "../../../config-form-components/config-form-components.component"; -import { logImEXEvent } from "../../../../firebase/firebase.utils"; +import DateTimePicker from "../../../form-date-time-picker/form-date-time-picker.component"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, @@ -24,7 +24,13 @@ const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); -export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { +export function JobChecklistForm({ + formItems, + bodyshop, + currentUser, + type, + job, +}) { const { t } = useTranslation(); const [intakeJob] = useMutation(UPDATE_JOB); const [loading, setLoading] = useState(false); @@ -32,6 +38,7 @@ export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { const { jobId } = useParams(); const history = useHistory(); const search = queryString.parse(useLocation().search); + const [form] = Form.useForm(); const handleFinish = async (values) => { setLoading(true); @@ -48,7 +55,7 @@ export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { ...(type === "intake" && { actual_in: new Date() }), ...(type === "intake" && { - scheduled_completion: values.scheduledCompletion, + scheduled_completion: values.scheduled_completion, }), [(type === "intake" && "intakechecklist") || @@ -59,7 +66,7 @@ export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { }, ...(type === "deliver" && { - scheduled_delivery: values.scheduledDelivery, + scheduled_delivery: values.scheduled_delivery, }), ...(type === "deliver" && values.removeFromProduction && { @@ -95,13 +102,17 @@ export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { } }; - const [form] = Form.useForm(); - return (
{t("checklist.labels.checklist")} @@ -117,7 +128,7 @@ export function JobChecklistForm({ formItems, bodyshop, currentUser, type }) { diff --git a/client/src/components/job-checklist/job-checklist.component.jsx b/client/src/components/job-checklist/job-checklist.component.jsx index cbf6513e0..40845b3b4 100644 --- a/client/src/components/job-checklist/job-checklist.component.jsx +++ b/client/src/components/job-checklist/job-checklist.component.jsx @@ -2,7 +2,7 @@ import React from "react"; import JobChecklistTemplateList from "./components/job-checklist-template-list/job-checklist-template-list.component"; import JobChecklistForm from "./components/job-checklist-form/job-checklist-form.component"; import { Row, Col } from "antd"; -export default function JobIntakeComponent({ checklistConfig, type }) { +export default function JobIntakeComponent({ checklistConfig, type, job }) { const { form, templates } = checklistConfig; return ( @@ -11,7 +11,7 @@ export default function JobIntakeComponent({ checklistConfig, type }) { - + ); diff --git a/client/src/graphql/bodyshop.queries.js b/client/src/graphql/bodyshop.queries.js index 2cf607f32..ac4e9a08f 100644 --- a/client/src/graphql/bodyshop.queries.js +++ b/client/src/graphql/bodyshop.queries.js @@ -69,7 +69,7 @@ export const QUERY_BODYSHOP = gql` enforce_class md_labor_rates deliverchecklist - target_touchtime + target_touchtime employees { id first_name @@ -137,7 +137,7 @@ export const UPDATE_SHOP = gql` enforce_class md_labor_rates deliverchecklist - target_touchtime + target_touchtime employees { id first_name @@ -159,6 +159,8 @@ export const QUERY_INTAKE_CHECKLIST = gql` id ro_number est_number + scheduled_completion + scheduled_delivery } } `; diff --git a/client/src/pages/jobs-intake/jobs-intake.page.container.jsx b/client/src/pages/jobs-intake/jobs-intake.page.container.jsx index 313695375..2ec0ff39a 100644 --- a/client/src/pages/jobs-intake/jobs-intake.page.container.jsx +++ b/client/src/pages/jobs-intake/jobs-intake.page.container.jsx @@ -69,6 +69,7 @@ export function JobsIntakeContainer({