fixed: employee fetching inside assign task
This commit is contained in:
parent
23998d8735
commit
b84275a7a3
@ -15,8 +15,7 @@ import { useCreateTask } from "../../hooks/useTasks";
|
||||
|
||||
const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
const maxPlanned =
|
||||
assignData?.workItem?.plannedWork -
|
||||
assignData?.workItem?.completedWork;
|
||||
assignData?.workItem?.plannedWork - assignData?.workItem?.completedWork;
|
||||
const schema = z.object({
|
||||
selectedEmployees: z
|
||||
.array(z.string())
|
||||
@ -71,7 +70,7 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
} else {
|
||||
console.warn("Bootstrap is not available. Popovers might not function.");
|
||||
}
|
||||
}, []);
|
||||
}, []);
|
||||
const selectedProject = useSelector(
|
||||
(store) => store.localVariables.projectId
|
||||
);
|
||||
@ -79,13 +78,13 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
employees,
|
||||
loading: employeeLoading,
|
||||
recallEmployeeData,
|
||||
} = useEmployeesAllOrByProjectId(selectedProject, false);
|
||||
} = useEmployeesAllOrByProjectId(false, selectedProject, false);
|
||||
const dispatch = useDispatch();
|
||||
const { loading } = useMaster();
|
||||
const {data:jobRoleData} = useMaster();
|
||||
const { loading } = useMaster();
|
||||
const { data: jobRoleData } = useMaster();
|
||||
|
||||
const [selectedRole, setSelectedRole] = useState("all");
|
||||
const [displayedSelection, setDisplayedSelection] = useState("");
|
||||
const [displayedSelection, setDisplayedSelection] = useState("");
|
||||
const {
|
||||
handleSubmit,
|
||||
control,
|
||||
@ -93,19 +92,19 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
watch,
|
||||
formState: { errors },
|
||||
reset,
|
||||
trigger,
|
||||
trigger,
|
||||
} = useForm({
|
||||
defaultValues: {
|
||||
selectedEmployees: [],
|
||||
description: "",
|
||||
plannedTask: "",
|
||||
},
|
||||
resolver: zodResolver(schema),
|
||||
resolver: zodResolver(schema),
|
||||
});
|
||||
|
||||
const handleCheckboxChange = (event, user) => {
|
||||
const isChecked = event.target.checked;
|
||||
let updatedSelectedEmployees = watch("selectedEmployees") || [];
|
||||
let updatedSelectedEmployees = watch("selectedEmployees") || [];
|
||||
|
||||
if (isChecked) {
|
||||
if (!updatedSelectedEmployees.includes(user.id)) {
|
||||
@ -117,12 +116,12 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
);
|
||||
}
|
||||
setValue("selectedEmployees", updatedSelectedEmployees);
|
||||
trigger("selectedEmployees");
|
||||
trigger("selectedEmployees");
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(changeMaster("Job Role"));
|
||||
|
||||
|
||||
return () => setSelectedRole("all");
|
||||
}, [dispatch]);
|
||||
|
||||
@ -137,11 +136,12 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
(emp) => String(emp.jobRoleId || "") === selectedRole
|
||||
);
|
||||
|
||||
|
||||
const onSubmit = (data) => {
|
||||
const selectedEmployeeIds = data.selectedEmployees;
|
||||
|
||||
const taskTeamWithDetails = selectedEmployeeIds?.map((empId) => empId)?.filter(Boolean);
|
||||
const taskTeamWithDetails = selectedEmployeeIds
|
||||
?.map((empId) => empId)
|
||||
?.filter(Boolean);
|
||||
const formattedData = {
|
||||
taskTeam: taskTeamWithDetails,
|
||||
plannedTask: data.plannedTask,
|
||||
@ -149,7 +149,10 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
assignmentDate: new Date().toISOString(),
|
||||
workItemId: assignData?.workItem.id,
|
||||
};
|
||||
assignTask({payload:formattedData,workAreaId:assignData?.workArea?.id});
|
||||
assignTask({
|
||||
payload: formattedData,
|
||||
workAreaId: assignData?.workArea?.id,
|
||||
});
|
||||
};
|
||||
|
||||
const closedModel = () => {
|
||||
@ -234,12 +237,12 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
<div className="col-12 h-sm-25 overflow-auto mt-2">
|
||||
{selectedRole !== "" && (
|
||||
<div className="row">
|
||||
{loading ? ( // Assuming 'loading' here refers to master data loading
|
||||
{employeeLoading ? (
|
||||
<div className="col-12">
|
||||
<p className="text-center">Loading roles...</p>
|
||||
<p className="text-center">Loading employees...</p>
|
||||
</div>
|
||||
) : filteredEmployees?.length > 0 ? (
|
||||
filteredEmployees?.map((emp) => {
|
||||
filteredEmployees.map((emp) => {
|
||||
const jobRole = jobRoleData?.find(
|
||||
(role) => role?.id === emp?.jobRoleId
|
||||
);
|
||||
@ -331,7 +334,7 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
"selectedEmployees",
|
||||
updatedSelected
|
||||
);
|
||||
trigger("selectedEmployees");
|
||||
trigger("selectedEmployees");
|
||||
}}
|
||||
>
|
||||
<i className="icon-base bx bx-x icon-md "></i>
|
||||
@ -348,7 +351,6 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
|
||||
{!loading && errors.selectedEmployees && (
|
||||
<div className="danger-text mt-1">
|
||||
<p>{errors.selectedEmployees.message}</p>{" "}
|
||||
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ const WorkArea = ({ workArea, floor, forBuilding }) => {
|
||||
{isLoading || ProjectTaskList === undefined ? (
|
||||
<div className="text-center py-2 text-muted">Loading activities...</div>
|
||||
) : ProjectTaskList?.length === 0 ? (
|
||||
<div className="text-center py-2 text-muted">Loading activities...</div>
|
||||
<div className="text-center py-2 text-muted">No activities available for this work area.</div>
|
||||
):ProjectTaskList?.length > 0 ? (
|
||||
<table className="table table-sm mx-1">
|
||||
<thead>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user