diff --git a/client/src/pages/jobs-close/jobs-close.component.jsx b/client/src/pages/jobs-close/jobs-close.component.jsx index 4f014a240..f7e6d3795 100644 --- a/client/src/pages/jobs-close/jobs-close.component.jsx +++ b/client/src/pages/jobs-close/jobs-close.component.jsx @@ -3,6 +3,7 @@ import { useApolloClient, useMutation } from "@apollo/client"; import { Alert, Button, + Col, Divider, Form, Input, @@ -10,6 +11,7 @@ import { notification, PageHeader, Popconfirm, + Row, Select, Space, Statistic, @@ -329,156 +331,162 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { {t("jobs.labels.multipayers")} {Qb_Multi_Ar.treatment === "on" && ( - - ({ - validator(_, value) { - let totalAllocated = Dinero(); + + + ({ + validator(_, value) { + let totalAllocated = Dinero(); - const payers = form.getFieldValue("qb_multiple_payers"); - payers && - payers.forEach((payer) => { - totalAllocated = totalAllocated.add( - Dinero({ - amount: Math.round((payer?.amount || 0) * 100), - }) - ); - }); - const discrep = job.job_totals - ? Dinero(job.job_totals.totals.total_repairs).subtract( - totalAllocated - ) - : Dinero(); - return discrep.getAmount() > 0 - ? Promise.resolve() - : Promise.reject( - new Error( - t("jobs.labels.additionalpayeroverallocation") + const payers = form.getFieldValue("qb_multiple_payers"); + payers && + payers.forEach((payer) => { + totalAllocated = totalAllocated.add( + Dinero({ + amount: Math.round((payer?.amount || 0) * 100), + }) + ); + }); + const discrep = job.job_totals + ? Dinero(job.job_totals.totals.total_repairs).subtract( + totalAllocated ) - ); - }, - }), - ]} - > - {(fields, { add, remove }) => { - return ( -
- {fields.map((field, index) => ( - - - - - + + - - - + + + - { - remove(field.name); - }} - /> - + { + remove(field.name); + }} + /> + + + ))} + + - ))} - - - -
- ); - }} -
- - {() => { - //Perform Calculation to determine discrepancy. - let totalAllocated = Dinero(); + + ); + }} +
+ + + + {() => { + //Perform Calculation to determine discrepancy. + let totalAllocated = Dinero(); - const payers = form.getFieldValue("qb_multiple_payers"); - payers && - payers.forEach((payer) => { - totalAllocated = totalAllocated.add( - Dinero({ amount: Math.round((payer?.amount || 0) * 100) }) - ); - }); - const discrep = job.job_totals - ? Dinero(job.job_totals.totals.total_repairs).subtract( - totalAllocated - ) - : Dinero(); - return ( - - - - - - - - = - 0 ? "green" : "red", - }} - value={discrep.toFormat()} - /> - - ); - }} - -
+ const payers = form.getFieldValue("qb_multiple_payers"); + payers && + payers.forEach((payer) => { + totalAllocated = totalAllocated.add( + Dinero({ + amount: Math.round((payer?.amount || 0) * 100), + }) + ); + }); + const discrep = job.job_totals + ? Dinero(job.job_totals.totals.total_repairs).subtract( + totalAllocated + ) + : Dinero(); + return ( + + + + + - + + = + 0 ? "green" : "red", + }} + value={discrep.toFormat()} + /> + + ); + }} + + + )}