From e390ff4614452980079f9c4a3dc2b0616253f8ff Mon Sep 17 00:00:00 2001 From: Pablo Urquijo Date: Fri, 11 Apr 2025 17:10:13 +0200 Subject: [PATCH] [EAM-4375] Pass mandatory params to BOO employee autocomplete --- src/tools/WSWorkorders.js | 4 +- .../dialogs/AddBookLabourDialog.jsx | 174 +++++++++--------- 2 files changed, 90 insertions(+), 88 deletions(-) diff --git a/src/tools/WSWorkorders.js b/src/tools/WSWorkorders.js index 5b67795a..9e9e6fb8 100644 --- a/src/tools/WSWorkorders.js +++ b/src/tools/WSWorkorders.js @@ -229,8 +229,8 @@ class WSWorkorders { } - autocompleteBOOEmployee = (data, config = {}) => { - return WS._get("/autocomplete/boo/employee/" + data, config); + autocompleteBOOEmployee = (workOrder, activity, trade, typeOfHours) => (data, config = {}) => { + return WS._get(`/autocomplete/boo/event/${workOrder}/activity/${activity}/trade/${trade}/octype/${typeOfHours}/employee/${data}`, config); }; autocompleteBOODepartment = (data, config = {}) => { diff --git a/src/ui/pages/work/activities/dialogs/AddBookLabourDialog.jsx b/src/ui/pages/work/activities/dialogs/AddBookLabourDialog.jsx index 645375b6..36d4d562 100644 --- a/src/ui/pages/work/activities/dialogs/AddBookLabourDialog.jsx +++ b/src/ui/pages/work/activities/dialogs/AddBookLabourDialog.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import Button from "@mui/material/Button"; import DialogActions from "@mui/material/DialogActions"; import DialogContent from "@mui/material/DialogContent"; @@ -26,6 +26,16 @@ function AddBookLabourDialog(props) { let [loading, setLoading] = useState(false); let [formValues, setFormValues] = useState({}); const {handleError, showNotification} = useSnackbarStore(); + const { activityCode, typeOfHours } = formValues; + const tradeCode = useMemo(() => { + let filteredActivities = props.activities.filter( + (activity) => activity.activityCode === activityCode + ); + if (filteredActivities.length === 1) { + return filteredActivities[0].tradeCode; + } + }, [activityCode]); + useEffect(() => { if (props.open) { @@ -51,15 +61,6 @@ function AddBookLabourDialog(props) { }; let handleSave = () => { - // Populate trade code - let tradeCode = ""; - let filteredActivities = props.activities.filter( - (activity) => activity.activityCode === formValues.activityCode - ); - if (filteredActivities.length === 1) { - tradeCode = filteredActivities[0].tradeCode; - } - let bookingLabour = { ...formValues, startTime: convertTimeToSeconds(formValues["startTime"]), @@ -201,86 +202,87 @@ function AddBookLabourDialog(props) { updateFormValues )} /> + {activityCode && <> + - - - + - + - + - - - + + + + }