Added negative validation on entering invoices for credit memos BOD-219

This commit is contained in:
Patrick Fic
2020-08-04 09:53:13 -07:00
parent a722120351
commit 455d5148d0
6 changed files with 140 additions and 86 deletions

View File

@@ -15,13 +15,13 @@ export default function InvoiceEnterModalLinesComponent({
const { setFieldsValue, getFieldsValue } = form;
return (
<Form.List name='invoicelines'>
<Form.List name="invoicelines">
{(fields, { add, remove }) => {
return (
<div className='invoice-form-lines-wrapper'>
<div className="invoice-form-lines-wrapper">
{fields.map((field, index) => (
<Form.Item required={false} key={field.key}>
<div className='invoice-form-line'>
<div className="invoice-form-line">
<Form.Item
label={t("invoicelines.fields.jobline")}
key={`${index}joblinename`}
@@ -31,7 +31,8 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
]}
>
<InvoiceLineSearchSelect
options={lineData}
onSelect={(value, opt) => {
@@ -68,7 +69,8 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
]}
>
<Input />
</Form.Item>
<Form.Item
@@ -80,8 +82,9 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
<InputNumber precision={0} />
]}
>
<InputNumber precision={0} min={0} />
</Form.Item>
<Form.Item
label={t("invoicelines.fields.actual")}
@@ -92,8 +95,10 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
]}
>
<CurrencyInput
min={0}
onBlur={(e) => {
setFieldsValue({
invoicelines: getFieldsValue(
@@ -122,8 +127,9 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
<CurrencyInput />
]}
>
<CurrencyInput min={0} />
</Form.Item>
<Form.Item shouldUpdate>
{() => {
@@ -151,7 +157,8 @@ export default function InvoiceEnterModalLinesComponent({
required: true,
message: t("general.validation.required"),
},
]}>
]}
>
<Select style={{ width: "150px" }}>
{responsibilityCenters.costs.map((item) => (
<Select.Option key={item.name}>
@@ -164,22 +171,25 @@ export default function InvoiceEnterModalLinesComponent({
label={t("invoicelines.fields.federal_tax_applicable")}
key={`${index}fedtax`}
initialValue={true}
valuePropName='checked'
name={[field.name, "applicable_taxes", "federal"]}>
valuePropName="checked"
name={[field.name, "applicable_taxes", "federal"]}
>
<Switch />
</Form.Item>
<Form.Item
label={t("invoicelines.fields.state_tax_applicable")}
key={`${index}statetax`}
valuePropName='checked'
name={[field.name, "applicable_taxes", "state"]}>
valuePropName="checked"
name={[field.name, "applicable_taxes", "state"]}
>
<Switch />
</Form.Item>
<Form.Item
label={t("invoicelines.fields.local_tax_applicable")}
key={`${index}localtax`}
valuePropName='checked'
name={[field.name, "applicable_taxes", "local"]}>
valuePropName="checked"
name={[field.name, "applicable_taxes", "local"]}
>
<Switch />
</Form.Item>
<DeleteFilled
@@ -192,11 +202,12 @@ export default function InvoiceEnterModalLinesComponent({
))}
<Form.Item>
<Button
type='dashed'
type="dashed"
onClick={() => {
add();
}}
style={{ width: "50%" }}>
style={{ width: "50%" }}
>
{t("invoicelines.actions.newline")}
</Button>
</Form.Item>