From 8e7fb7cf20df85ed26dbafedd50beb7ba97cbeeb Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Thu, 16 May 2024 16:30:20 +0800 Subject: [PATCH] update project --- .../CreateProject/CreateProject.tsx | 36 +++++++++---------- src/components/CreateProject/Milestone.tsx | 7 ++-- .../CreateProject/MilestoneSection.tsx | 2 ++ .../CreateProject/StaffAllocation.tsx | 4 +-- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/components/CreateProject/CreateProject.tsx b/src/components/CreateProject/CreateProject.tsx index 4242afb..fac9c79 100644 --- a/src/components/CreateProject/CreateProject.tsx +++ b/src/components/CreateProject/CreateProject.tsx @@ -170,12 +170,12 @@ const CreateProject: React.FC = ({ // Tab - Milestone let projectTotal = 0 - const milestonesKeys = Object.keys(data.milestones) + const milestonesKeys = Object.keys(data.milestones).filter(key => taskGroupKeys.includes(key)) milestonesKeys.filter(key => Object.keys(data.taskGroups).includes(key)).forEach(key => { const { startDate, endDate, payments } = data.milestones[parseFloat(key)] if (!Boolean(startDate) || startDate === "Invalid Date" || !Boolean(endDate) || endDate === "Invalid Date" || new Date(startDate) > new Date(endDate)) { - formProps.setError("milestones", {message: "milestones is not valid", type: "invalid"}) + formProps.setError("milestones", { message: "milestones is not valid", type: "invalid" }) setTabIndex(3) hasErrors = true } @@ -183,8 +183,8 @@ const CreateProject: React.FC = ({ projectTotal += payments.reduce((acc, payment) => acc + payment.amount, 0) }) - if (projectTotal !== data.expectedProjectFee) { - formProps.setError("milestones", {message: "milestones is not valid", type: "invalid"}) + if (projectTotal !== data.expectedProjectFee || milestonesKeys.length !== taskGroupKeys.length) { + formProps.setError("milestones", { message: "milestones is not valid", type: "invalid" }) setTabIndex(3) hasErrors = true } @@ -219,7 +219,7 @@ const CreateProject: React.FC = ({ data.projectActualEnd = dayjs().format("YYYY-MM-DD"); } - data.taskTemplateId = data.taskTemplateId === "All" ? undefined : data.taskTemplateId; + data.taskTemplateId = data.taskTemplateId === "All" ? undefined : data.taskTemplateId; const response = await saveProject(data); if (response.id > 0) { @@ -293,7 +293,7 @@ const CreateProject: React.FC = ({ {isEditMode && !(formProps.getValues("projectDeleted") === true) && ( {/* {!formProps.getValues("projectActualStart") && ( */} - {formProps.getValues("projectStatus") === "Pending to Start" && ( + {formProps.getValues("projectStatus").toLowerCase() === "pending to start" && ( - )} + {formProps.getValues("projectStatus").toLowerCase() === "on-going" && ( + + )} {!( // formProps.getValues("projectActualStart") && // formProps.getValues("projectActualEnd") - formProps.getValues("projectStatus") === "Completed" || + formProps.getValues("projectStatus") === "Completed" || formProps.getValues("projectStatus") === "Deleted" ) && (