{
const start = form.getFieldValue("start");
form.setFieldsValue({end: start.add(30, "minutes")});
}}
/>
({
async validator(rule, value) {
if (value) {
const {start} = form.getFieldsValue();
if (dayjs(start).isAfter(dayjs(value))) {
return Promise.reject(
t("employees.labels.endmustbeafterstart")
);
} else {
return Promise.resolve();
}
} else {
return Promise.resolve();
}
},
}),
]}
>
);
const menuItems = [
{
key: 'schedule',
disabled: !jobInPreProduction || !job.converted || jobRO,
label: t("jobs.actions.schedule"),
onClick: () => {
logImEXEvent("job_header_schedule");
setScheduleContext({
actions: {refetch: refetch},
context: {
jobId: job.id,
job: job,
alt_transport: job.alt_transport,
},
});
},
},
{
key: 'cancelallappointments',
onClick: () => {
if (job.status !== bodyshop.md_ro_statuses.default_scheduled) {
return;
}
showCancelScheduleModal()
},
disabled: job.status !== bodyshop.md_ro_statuses.default_scheduled,
label: t("menus.jobsactions.cancelallappointments")
},
{
key: 'intake',
disabled: !!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO,
label: !!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO ? (
t("jobs.actions.intake")
) : (