Act Comp date required for post prod jobs IO-685
This commit is contained in:
@@ -1,20 +1,28 @@
|
|||||||
import { DatePicker, Form, Tooltip } from "antd";
|
import { DatePicker, Form, Tooltip } from "antd";
|
||||||
import React from "react";
|
import React, { useMemo } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { selectJobReadOnly } from "../../redux/application/application.selectors";
|
import { selectJobReadOnly } from "../../redux/application/application.selectors";
|
||||||
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import FormDatePicker from "../form-date-picker/form-date-picker.component";
|
import FormDatePicker from "../form-date-picker/form-date-picker.component";
|
||||||
import DateTimePicker from "../form-date-time-picker/form-date-time-picker.component";
|
import DateTimePicker from "../form-date-time-picker/form-date-time-picker.component";
|
||||||
import FormRow from "../layout-form-row/layout-form-row.component";
|
import FormRow from "../layout-form-row/layout-form-row.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
jobRO: selectJobReadOnly,
|
jobRO: selectJobReadOnly,
|
||||||
|
bodyshop: selectBodyshop,
|
||||||
});
|
});
|
||||||
|
|
||||||
export function JobsDetailDatesComponent({ jobRO, job }) {
|
export function JobsDetailDatesComponent({ jobRO, job, bodyshop }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
const jobInPostProduction = useMemo(() => {
|
||||||
|
return bodyshop.md_ro_statuses.post_production_statuses.includes(
|
||||||
|
job.status
|
||||||
|
);
|
||||||
|
}, [job.status, bodyshop.md_ro_statuses.post_production_statuses]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<FormRow header={t("jobs.forms.estdates")}>
|
<FormRow header={t("jobs.forms.estdates")}>
|
||||||
@@ -52,12 +60,25 @@ export function JobsDetailDatesComponent({ jobRO, job }) {
|
|||||||
>
|
>
|
||||||
<DateTimePicker disabled={jobRO} />
|
<DateTimePicker disabled={jobRO} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item shouldUpdate>
|
||||||
label={t("jobs.fields.actual_completion")}
|
{() => {
|
||||||
name="actual_completion"
|
return (
|
||||||
>
|
<Form.Item
|
||||||
<DateTimePicker disabled={jobRO} />
|
label={t("jobs.fields.actual_completion")}
|
||||||
|
name="actual_completion"
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
required: jobInPostProduction,
|
||||||
|
message: t("general.validation.required"),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<DateTimePicker disabled={jobRO} />
|
||||||
|
</Form.Item>
|
||||||
|
);
|
||||||
|
}}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("jobs.fields.scheduled_delivery")}
|
label={t("jobs.fields.scheduled_delivery")}
|
||||||
name="scheduled_delivery"
|
name="scheduled_delivery"
|
||||||
|
|||||||
Reference in New Issue
Block a user