Compare commits

..

No commits in common. "20c9dca7593ad421c3be5ea60b7e2b32a6090732" and "b39a3d7e97ba5a08112396a958c907588a81fad2" have entirely different histories.

7 changed files with 70 additions and 24 deletions

View File

@ -183,6 +183,7 @@ const Header = () => {
<> <>
<i <i
className="rounded-circle bx bx-building-house bx-sm-lg bx-md" className="rounded-circle bx bx-building-house bx-sm-lg bx-md"
></i> ></i>
<div className="btn-group"> <div className="btn-group">
<button <button
@ -230,7 +231,6 @@ const Header = () => {
)} )}
</div> </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"> <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"> <li className="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">

View File

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

View File

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

View File

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

View File

@ -19,7 +19,6 @@ import ManageProjectInfo from "../../components/Project/ManageProjectInfo";
import showToast from "../../services/toastService"; import showToast from "../../services/toastService";
import { getCachedData, cacheData } from "../../slices/apiDataManager"; import { getCachedData, cacheData } from "../../slices/apiDataManager";
import GlobalModel from "../../components/common/GlobalModel"; import GlobalModel from "../../components/common/GlobalModel";
import {formatNumber} from "../../utils/dateUtils";
const ProjectListView = ({ projectData, recall }) => { const ProjectListView = ({ projectData, recall }) => {
const [projectInfo, setProjectInfo] = useState(projectData); const [projectInfo, setProjectInfo] = useState(projectData);
@ -74,8 +73,63 @@ 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 ( 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 && ( {showModal && projects_Details && (
<GlobalModel isOpen={showModal} closeModal={handleClose}> <ManageProjectInfo <GlobalModel isOpen={showModal} closeModal={handleClose}> <ManageProjectInfo
project={projects_Details} project={projects_Details}
@ -108,7 +162,7 @@ const ProjectListView = ({ projectData, recall }) => {
? moment(projectInfo.endDate).format("DD-MMM-YYYY") ? moment(projectInfo.endDate).format("DD-MMM-YYYY")
: "NA"} : "NA"}
</td> </td>
<td className="mx-2 text-center small">{formatNumber(projectInfo.plannedWork)}</td> <td className="mx-2 text-center small">{projectInfo.plannedWork}</td>
<td className="py-6 mx-2 text-start small align-items-center"> <td className="py-6 mx-2 text-start small align-items-center">
<ProgressBar <ProgressBar
plannedWork={projectInfo.plannedWork} plannedWork={projectInfo.plannedWork}

View File

@ -61,8 +61,3 @@ export const checkIfCurrentDate = (dateString) => {
return currentDate.getTime() === inputDate.getTime(); 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": case "33deaef9-9af1-4f2a-b443-681ea0d04f81":
return "bg-label-secondary"; return "bg-label-secondary";
case "cdad86aa-8a56-4ff4-b633-9c629057dfef": case "cdad86aa-8a56-4ff4-b633-9c629057dfef":
return "bg-label-primary"; return "bg-label-success";
} }
}; };