Compare commits

...

7 Commits

Author SHA1 Message Date
Pramod Mahajan
20c9dca759 added formatNumber at globally for reusable 2025-07-04 11:29:24 +05:30
Pramod Mahajan
5949e7c277 improved empty state UI when no projects are found 2025-07-04 11:10:22 +05:30
Pramod Mahajan
a107041153 chnanged status color, becuase Active status is hold success color, therefor chnages success to primary for In-progress status 2025-07-04 10:53:53 +05:30
Pramod Mahajan
ca476d6f6e removed unused code 2025-07-04 10:52:07 +05:30
Pramod Mahajan
2e54ed1dd9 display project Name at header when location have project details 2025-07-04 10:51:41 +05:30
Pramod Mahajan
4c6e0b5c9e added project status - 'In-Progress' 2025-07-04 10:50:57 +05:30
Pramod Mahajan
9961b4aba7 removed unused code 2025-07-04 10:49:35 +05:30
7 changed files with 24 additions and 70 deletions

View File

@ -183,7 +183,6 @@ const Header = () => {
<>
<i
className="rounded-circle bx bx-building-house bx-sm-lg bx-md"
></i>
<div className="btn-group">
<button
@ -231,6 +230,7 @@ const Header = () => {
)}
</div>
)}
{isProjectPath && (<span className=" fs-5 align-items-center"><i className="rounded-circle bx bx-building-house bx-sm-lg bx-md me-2"></i>{displayText}</span>)}
<ul className="navbar-nav flex-row align-items-center ms-md-auto">
<li className="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">

View File

@ -13,6 +13,7 @@ import FilterIcon from "../../components/common/FilterIcon";
import GlobalModel from "../../components/common/GlobalModel";
import AssignTask from "../../components/Project/AssignTask";
import SubTask from "../../components/Activities/SubTask";
import {formatNumber} from "../../utils/dateUtils";
const DailyTask = () => {
const [searchParams] = useSearchParams();
@ -147,10 +148,6 @@ const DailyTask = () => {
};
const formatNumber = (num) => {
if (num == null || isNaN(num)) return "NA";
return Number.isInteger(num) ? num : num.toFixed(2);
};
return (
<>
{isModalOpen && <GlobalModel isOpen={isModalOpen} size="md" closeModal={handlecloseModal} >

View File

@ -198,9 +198,6 @@ const handleAllEmployeesToggle = (e) => {
setShowInactive(false);
setShowAllEmployees(isChecked);
if (!isChecked) {
setSelectedProject(selectedProjectId || "");
}
};
const handleEmployeeModel = (id) => {

View File

@ -42,6 +42,7 @@ const ProjectList = () => {
"b74da4c2-d07e-46f2-9919-e75e49b12731",
"603e994b-a27f-4e5d-a251-f3d69b0498ba",
"ef1c356e-0fe0-42df-a5d3-8daee355492d",
"cdad86aa-8a56-4ff4-b633-9c629057dfef",
"33deaef9-9af1-4f2a-b443-681ea0d04f81",
]);
@ -207,6 +208,10 @@ const ProjectList = () => {
id: "b74da4c2-d07e-46f2-9919-e75e49b12731",
label: "Active",
},
{
id: "cdad86aa-8a56-4ff4-b633-9c629057dfef",
label:"In Progress"
},
{
id: "603e994b-a27f-4e5d-a251-f3d69b0498ba",
label: "On Hold",
@ -263,7 +268,7 @@ const ProjectList = () => {
{listView ? (
<div className="card cursor-pointer">
<div className="card-body p-2">
<div className="table-responsive text-nowrap py-2 ">
<div className="table-responsive text-nowrap py-2 " style={{minHeight:"400px"}}>
<table className="table m-3">
<thead>
<tr>
@ -290,6 +295,10 @@ const ProjectList = () => {
id: "b74da4c2-d07e-46f2-9919-e75e49b12731",
label: "Active",
},
{
id: "cdad86aa-8a56-4ff4-b633-9c629057dfef",
label:"In Progress"
},
{
id: "603e994b-a27f-4e5d-a251-f3d69b0498ba",
label: "On Hold",
@ -331,8 +340,8 @@ const ProjectList = () => {
</thead>
<tbody className="table-border-bottom-0 overflow-auto ">
{currentItems.length === 0 ? (
<tr>
<td colSpan="12" className="text-center py-4">
<tr className="text-center">
<td colSpan="12" rowSpan='12'style={{height:"200px"}} >
No projects found
</td>
</tr>

View File

@ -19,6 +19,7 @@ import ManageProjectInfo from "../../components/Project/ManageProjectInfo";
import showToast from "../../services/toastService";
import { getCachedData, cacheData } from "../../slices/apiDataManager";
import GlobalModel from "../../components/common/GlobalModel";
import {formatNumber} from "../../utils/dateUtils";
const ProjectListView = ({ projectData, recall }) => {
const [projectInfo, setProjectInfo] = useState(projectData);
@ -73,63 +74,8 @@ const ProjectListView = ({ projectData, recall }) => {
}
};
// const handleFormSubmit = (updatedProject) => {
// if (projectInfo?.id) {
// ProjectRepository.updateProject(projectInfo.id, updatedProject)
// .then((response) => {
// const updatedProjectData = {
// ...projectInfo,
// ...response.data,
// building: projectDetails?.building,
// };
// setProjectInfo(updatedProjectData);
// if (getCachedData(`projectinfo-${projectInfo.id}`)) {
// cacheData(`projectinfo-${projectInfo.id}`, updatedProjectData);
// }
// const projects_list = getCachedData("projectslist");
// if (projects_list) {
// const updatedProjectsList = projects_list.map((project) =>
// project.id === projectInfo.id
// ? {
// ...project,
// ...response.data,
// // tenant: project.tenant
// }
// : project
// );
// cacheData("projectslist", updatedProjectsList);
// }
// recall(getCachedData("projectslist"));
// showToast("Project updated successfully.", "success");
// setShowModal(false);
// })
// .catch((error) => {
// showToast(error.message, "error");
// });
// }
// };
return (
<>
{/* {showModal && projects_Details && (
<tr>
<td
className="modal fade show"
tabIndex="-1"
role="dialog"
style={{ display: "block" }}
aria-hidden="false"
>
<ManageProjectInfo
project={projects_Details}
handleSubmitForm={handleFormSubmit}
onClose={handleClose}
/>
</td>
</tr>
)} */}
{showModal && projects_Details && (
<GlobalModel isOpen={showModal} closeModal={handleClose}> <ManageProjectInfo
project={projects_Details}
@ -162,7 +108,7 @@ const ProjectListView = ({ projectData, recall }) => {
? moment(projectInfo.endDate).format("DD-MMM-YYYY")
: "NA"}
</td>
<td className="mx-2 text-center small">{projectInfo.plannedWork}</td>
<td className="mx-2 text-center small">{formatNumber(projectInfo.plannedWork)}</td>
<td className="py-6 mx-2 text-start small align-items-center">
<ProgressBar
plannedWork={projectInfo.plannedWork}

View File

@ -61,3 +61,8 @@ export const checkIfCurrentDate = (dateString) => {
return currentDate.getTime() === inputDate.getTime();
};
export const formatNumber = (num) => {
if (num == null || isNaN(num)) return "NA";
return Number.isInteger(num) ? num : num.toFixed(2);
};

View File

@ -24,7 +24,7 @@ export const getProjectStatusColor = (statusId) => {
case "33deaef9-9af1-4f2a-b443-681ea0d04f81":
return "bg-label-secondary";
case "cdad86aa-8a56-4ff4-b633-9c629057dfef":
return "bg-label-success";
return "bg-label-primary";
}
};