Kaynağa Gözat

update issue in milestone payment, aligining the money summary with the calculation

tags/Baseline_180220205_Frontend
MSI\2Fi 6 ay önce
ebeveyn
işleme
bc837f72be
3 değiştirilmiş dosya ile 37 ekleme ve 19 silme
  1. +1
    -1
      src/app/utils/formatUtil.ts
  2. +29
    -17
      src/components/CreateProject/CreateProject.tsx
  3. +7
    -1
      src/components/CreateProject/Milestone.tsx

+ 1
- 1
src/app/utils/formatUtil.ts Dosyayı Görüntüle

@@ -32,7 +32,7 @@ export const truncateMoney = (amount: number | undefined) => {
const fractionDigits = maximumFractionDigits ?? minimumFractionDigits ?? 0;

const factor = Math.pow(10, fractionDigits);
const truncatedAmount = Math.floor(amount * factor) / factor;
const truncatedAmount = Math.round(amount * factor) / factor;

return truncatedAmount;
};


+ 29
- 17
src/components/CreateProject/CreateProject.tsx Dosyayı Görüntüle

@@ -59,7 +59,7 @@ import {
} from "../Swal/CustomAlerts";
import dayjs from "dayjs";
import { DELETE_PROJECT } from "@/middleware";
import { OUTPUT_DATE_FORMAT } from "@/app/utils/formatUtil";
import { OUTPUT_DATE_FORMAT, sumMoney } from "@/app/utils/formatUtil";
import { deleteDraft, loadDraft, saveToLocalStorage } from "@/app/utils/draftUtils";

export interface Props {
@@ -272,7 +272,7 @@ const CreateProject: React.FC<Props> = ({
const onSubmit = useCallback<SubmitHandler<CreateProjectInputs>>(
async (data, event) => {
try {
console.log(data);
// console.log(data);

// detect errors
let hasErrors = false;
@@ -373,26 +373,38 @@ const CreateProject: React.FC<Props> = ({
data.milestones[parseFloat(key)].startDate = null
data.milestones[parseFloat(key)].endDate = null
}
// 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",
// });
// setTabIndex(3);
// hasErrors = true;
// }

/*
unused code for checking the stage start date and end date
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",
});
setTabIndex(3);
hasErrors = true;
}

unused code for bulk add milestone payment
projectTotal += payments.reduce(
(acc, payment) => acc + payment.amount,
0,
);
**/

projectTotal += payments.reduce(
(acc, p) => sumMoney(acc, p.amount),
0,
);

});
// console.log(projectTotal)
console.log(milestonesKeys)

if (


+ 7
- 1
src/components/CreateProject/Milestone.tsx Dosyayı Görüntüle

@@ -23,6 +23,7 @@ import { useFormContext } from "react-hook-form";
import { CreateProjectInputs } from "@/app/api/projects/actions";
import MilestoneSection from "./MilestoneSection";
import ProjectTotalFee from "./ProjectTotalFee";
import { sumMoney } from "@/app/utils/formatUtil";

export interface Props {
allTasks: Task[];
@@ -89,7 +90,12 @@ const Milestone: React.FC<Props> = ({ allTasks, isActive }) => {
// hasError = true
// }

projectTotal += payments.reduce((acc, payment) => acc + payment.amount, 0)
// projectTotal += payments.reduce((acc, payment) => acc + payment.amount, 0)
projectTotal += payments.reduce(
(acc, p) => sumMoney(acc, p.amount),
0,
);

})
console.log(milestonesKeys)



Yükleniyor…
İptal
Kaydet