fixed: employee fetching inside assign task

This commit is contained in:
pramod mahajan 2025-07-18 17:09:49 +05:30
parent 23998d8735
commit b84275a7a3
2 changed files with 23 additions and 21 deletions

View File

@ -15,8 +15,7 @@ import { useCreateTask } from "../../hooks/useTasks";
const AssignTask = ({ assignData, onClose, setAssigned }) => { const AssignTask = ({ assignData, onClose, setAssigned }) => {
const maxPlanned = const maxPlanned =
assignData?.workItem?.plannedWork - assignData?.workItem?.plannedWork - assignData?.workItem?.completedWork;
assignData?.workItem?.completedWork;
const schema = z.object({ const schema = z.object({
selectedEmployees: z selectedEmployees: z
.array(z.string()) .array(z.string())
@ -79,10 +78,10 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
employees, employees,
loading: employeeLoading, loading: employeeLoading,
recallEmployeeData, recallEmployeeData,
} = useEmployeesAllOrByProjectId(selectedProject, false); } = useEmployeesAllOrByProjectId(false, selectedProject, false);
const dispatch = useDispatch(); const dispatch = useDispatch();
const { loading } = useMaster(); const { loading } = useMaster();
const {data:jobRoleData} = useMaster(); const { data: jobRoleData } = useMaster();
const [selectedRole, setSelectedRole] = useState("all"); const [selectedRole, setSelectedRole] = useState("all");
const [displayedSelection, setDisplayedSelection] = useState(""); const [displayedSelection, setDisplayedSelection] = useState("");
@ -137,11 +136,12 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
(emp) => String(emp.jobRoleId || "") === selectedRole (emp) => String(emp.jobRoleId || "") === selectedRole
); );
const onSubmit = (data) => { const onSubmit = (data) => {
const selectedEmployeeIds = data.selectedEmployees; const selectedEmployeeIds = data.selectedEmployees;
const taskTeamWithDetails = selectedEmployeeIds?.map((empId) => empId)?.filter(Boolean); const taskTeamWithDetails = selectedEmployeeIds
?.map((empId) => empId)
?.filter(Boolean);
const formattedData = { const formattedData = {
taskTeam: taskTeamWithDetails, taskTeam: taskTeamWithDetails,
plannedTask: data.plannedTask, plannedTask: data.plannedTask,
@ -149,7 +149,10 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
assignmentDate: new Date().toISOString(), assignmentDate: new Date().toISOString(),
workItemId: assignData?.workItem.id, workItemId: assignData?.workItem.id,
}; };
assignTask({payload:formattedData,workAreaId:assignData?.workArea?.id}); assignTask({
payload: formattedData,
workAreaId: assignData?.workArea?.id,
});
}; };
const closedModel = () => { const closedModel = () => {
@ -234,12 +237,12 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
<div className="col-12 h-sm-25 overflow-auto mt-2"> <div className="col-12 h-sm-25 overflow-auto mt-2">
{selectedRole !== "" && ( {selectedRole !== "" && (
<div className="row"> <div className="row">
{loading ? ( // Assuming 'loading' here refers to master data loading {employeeLoading ? (
<div className="col-12"> <div className="col-12">
<p className="text-center">Loading roles...</p> <p className="text-center">Loading employees...</p>
</div> </div>
) : filteredEmployees?.length > 0 ? ( ) : filteredEmployees?.length > 0 ? (
filteredEmployees?.map((emp) => { filteredEmployees.map((emp) => {
const jobRole = jobRoleData?.find( const jobRole = jobRoleData?.find(
(role) => role?.id === emp?.jobRoleId (role) => role?.id === emp?.jobRoleId
); );
@ -348,7 +351,6 @@ const AssignTask = ({ assignData, onClose, setAssigned }) => {
{!loading && errors.selectedEmployees && ( {!loading && errors.selectedEmployees && (
<div className="danger-text mt-1"> <div className="danger-text mt-1">
<p>{errors.selectedEmployees.message}</p>{" "} <p>{errors.selectedEmployees.message}</p>{" "}
</div> </div>
)} )}

View File

@ -125,7 +125,7 @@ const WorkArea = ({ workArea, floor, forBuilding }) => {
{isLoading || ProjectTaskList === undefined ? ( {isLoading || ProjectTaskList === undefined ? (
<div className="text-center py-2 text-muted">Loading activities...</div> <div className="text-center py-2 text-muted">Loading activities...</div>
) : ProjectTaskList?.length === 0 ? ( ) : 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 ? ( ):ProjectTaskList?.length > 0 ? (
<table className="table table-sm mx-1"> <table className="table table-sm mx-1">
<thead> <thead>