added two date and service-name column inside ProjectAssignedOrgslist and fixed inactive fn in project team

This commit is contained in:
pramod.mahajan 2025-10-06 10:58:07 +05:30
parent 7505b790a7
commit 470421b730
2 changed files with 40 additions and 18 deletions

View File

@ -1,6 +1,7 @@
import React from "react"; import React from "react";
import { useProjectAssignedOrganizations } from "../../../hooks/useProjects"; import { useProjectAssignedOrganizations } from "../../../hooks/useProjects";
import { useSelectedProject } from "../../../slices/apiDataManager"; import { useSelectedProject } from "../../../slices/apiDataManager";
import { formatUTCToLocalTime } from "../../../utils/dateUtils";
const ProjectAssignedOrgs = () => { const ProjectAssignedOrgs = () => {
const selectedProject = useSelectedProject(); const selectedProject = useSelectedProject();
@ -47,18 +48,33 @@ const ProjectAssignedOrgs = () => {
), ),
align: "text-center", align: "text-center",
}, },
{
key: "isActive", {
label: "Status", key: "organizationType",
label: "Organization Type",
getValue: (org) => ( getValue: (org) => (
<span <span
className={`text-truncate d-inline-block badge bg-label-${org.isActive ? "primary" :"secondary"}`} className="text-truncate d-inline-block"
style={{ maxWidth: "80px" }} style={{ maxWidth: "200px" }}
> >
{org?.isActive ? "Active" : "Inactive"} {org?.organizationType || "N/A"}
</span> </span>
), ),
align: "text-start", align: "text-center",
},
{
key: "assignedDate",
label: "Assigned Date",
getValue: (org) => (
<span
className="text-truncate d-inline-block"
style={{ maxWidth: "200px" }}
>
{/* {org?.assignedDate || "N/A"} */}
{formatUTCToLocalTime(org?.assignedDate)}
</span>
),
align: "text-center",
}, },
]; ];

View File

@ -93,20 +93,26 @@ const Teams = () => {
}; };
const filteredEmployees = useMemo(() => { const filteredEmployees = useMemo(() => {
if (!projectEmployees || !searchTerm?.trim()) return projectEmployees; if (!projectEmployees) return [];
const lower = searchTerm.toLowerCase(); let filtered = projectEmployees;
return projectEmployees?.filter((emp) => { if (activeEmployee) {
const fullName = `${emp.firstName ?? ""} ${ filtered = projectEmployees.filter((emp) => !emp.isActive);
emp.lastName ?? "" }
}`.toLowerCase();
const joberole = getJobRole(emp?.jobRoleId)?.toLowerCase(); // Apply search filter if present
if (searchTerm?.trim()) {
const lower = searchTerm.toLowerCase();
filtered = filtered.filter((emp) => {
const fullName = `${emp.firstName ?? ""} ${emp.lastName ?? ""}`.toLowerCase();
const jobRole = getJobRole(emp?.jobRoleId)?.toLowerCase();
return fullName.includes(lower) || jobRole.includes(lower);
});
}
return fullName?.includes(lower) || joberole?.includes(lower); return filtered;
}); }, [projectEmployees, searchTerm, activeEmployee]);
}, [projectEmployees, searchTerm]);
const handleSearch = (e) => setSearchTerm(e.target.value); const handleSearch = (e) => setSearchTerm(e.target.value);
const employeeHandler = useCallback( const employeeHandler = useCallback(
(msg) => { (msg) => {
@ -317,7 +323,7 @@ const Teams = () => {
{!employeeLodaing && filteredEmployees.length === 0 && ( {!employeeLodaing && filteredEmployees.length === 0 && (
<div className="text-center text-muted py-3 d-flex justify-content-center align-items-center py-12"> <div className="text-center text-muted py-3 d-flex justify-content-center align-items-center py-12">
<p> <p>
{!activeEmployee {activeEmployee
? "No active employees assigned to the project" ? "No active employees assigned to the project"
: "No inactive employees assigned to the project"} : "No inactive employees assigned to the project"}
</p> </p>