feature/IO-3499-React-19: Ticket Ticket Issues, Employee Select Issues

This commit is contained in:
Dave
2026-01-16 16:41:56 -05:00
parent a2230be5fe
commit 5271970ec1
8 changed files with 265 additions and 207 deletions

View File

@@ -37,6 +37,7 @@ export function TechClockOffButton({
const [updateJobStatus] = useMutation(UPDATE_JOB_STATUS);
const notification = useNotification();
const [form] = Form.useForm();
const {
treatments: { Enhanced_Payroll }
} = useTreatmentsWithConfig({
@@ -45,14 +46,15 @@ export function TechClockOffButton({
splitKey: bodyshop.imexshopid
});
const { queryLoading, data: lineTicketData } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: {
id: jobId
},
skip: !jobId,
const id = jobId ?? null;
const { loading: queryLoading, data: lineTicketData } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: { id },
skip: !id,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only"
});
const { t } = useTranslation();
const emps = bodyshop.employees.filter((e) => e.id === technician?.id)[0];
@@ -63,6 +65,7 @@ export function TechClockOffButton({
const status = values.status;
delete values.status;
setLoading(true);
const result = await updateTimeticket({
variables: {
timeticketId: timeTicketId,
@@ -95,10 +98,11 @@ export function TechClockOffButton({
title: t("timetickets.successes.clockedout")
});
}
if (!isShiftTicket) {
const job_update_result = await updateJobStatus({
variables: {
jobId: jobId,
jobId: id,
status: status
}
});
@@ -115,6 +119,7 @@ export function TechClockOffButton({
});
}
}
setLoading(false);
if (completedCallback) completedCallback();
};
@@ -139,7 +144,6 @@ export function TechClockOffButton({
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
@@ -151,7 +155,6 @@ export function TechClockOffButton({
rules={[
{
required: true
//message: t("general.validation.required"),
},
({ getFieldValue }) => ({
validator(rule, value) {
@@ -179,9 +182,7 @@ export function TechClockOffButton({
if (value > costCenterDiff)
return Promise.reject(t("timetickets.validation.hoursenteredmorethanavailable"));
else {
return Promise.resolve();
}
return Promise.resolve();
}
})
]}
@@ -190,13 +191,13 @@ export function TechClockOffButton({
</Form.Item>
</div>
) : null}
<Form.Item
name="cost_center"
label={t("timetickets.fields.cost_center")}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
@@ -228,7 +229,6 @@ export function TechClockOffButton({
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
@@ -239,12 +239,15 @@ export function TechClockOffButton({
</Select>
</Form.Item>
)}
<Button type="primary" htmlType="submit" loading={loading}>
{t("general.actions.save")}
</Button>
<TechJobClockoutDelete completedCallback={completedCallback} timeTicketId={timeTicketId} />
{!isShiftTicket && (
<LaborAllocationContainer jobid={jobId || null} loading={queryLoading} lineTicketData={lineTicketData} />
<LaborAllocationContainer jobid={id || null} loading={queryLoading} lineTicketData={lineTicketData} />
)}
</Space>
</Form>