BOD-63 added tax fields to form + schema for track tax on an item level

This commit is contained in:
Patrick Fic
2020-05-05 12:15:25 -07:00
parent 9238018022
commit 522dc07058
38 changed files with 963 additions and 9 deletions

View File

@@ -6,6 +6,7 @@ import CurrencyInput from "../form-items-formatted/currency-form-item.component"
import JobSearchSelect from "../job-search-select/job-search-select.component";
import VendorSearchSelect from "../vendor-search-select/vendor-search-select.component";
import InvoiceFormLines from "./invoice-form.lines.component";
import Dinero from "dinero.js";
export default function InvoiceFormComponent({
form,
@@ -107,6 +108,42 @@ export default function InvoiceFormComponent({
>
<CurrencyInput />
</Form.Item>
<Form.Item
label={t("invoices.fields.federal_tax_rate")}
name="federal_tax_rate"
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<CurrencyInput />
</Form.Item>
<Form.Item
label={t("invoices.fields.state_tax_rate")}
name="state_tax_rate"
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<CurrencyInput />
</Form.Item>
<Form.Item
label={t("invoices.fields.local_tax_rate")}
name="local_tax_rate"
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<CurrencyInput />
</Form.Item>
</div>
<InvoiceFormLines
lineData={lineData}
@@ -119,6 +156,16 @@ export default function InvoiceFormComponent({
<DocumentsUploadContainer jobId={form.getFieldValue("jobid")} />
</Form.Item>
<Form.Item shouldUpdate>
{() => {
return (
<div>
{JSON.stringify(form.getFieldsValue(["invoicelines", "total"]))}
</div>
);
}}
</Form.Item>
<button
onClick={() => {
console.log(form.getFieldsValue());

View File

@@ -1,5 +1,5 @@
import { DeleteFilled } from "@ant-design/icons";
import { Button, Form, Input, Select } from "antd";
import { Button, Form, Input, Select, Switch } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import CurrencyInput from "../form-items-formatted/currency-form-item.component";
@@ -59,7 +59,6 @@ export default function InvoiceEnterModalLinesComponent({
}}
/>
</Form.Item>
<Form.Item
label={t("invoicelines.fields.line_desc")}
key={`${index}line_desc`}
@@ -73,7 +72,6 @@ export default function InvoiceEnterModalLinesComponent({
>
<Input />
</Form.Item>
<Form.Item
label={t("invoicelines.fields.actual")}
key={`${index}actual_price`}
@@ -135,6 +133,31 @@ export default function InvoiceEnterModalLinesComponent({
))}
</Select>
</Form.Item>
<Form.Item
label={t("invoicelines.fields.federal_tax_applicable")}
key={`${index}fedtax`}
initialValue={"true"}
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"]}
>
<Switch />
</Form.Item>{" "}
<Form.Item
label={t("invoicelines.fields.local_tax_applicable")}
key={`${index}localtax`}
valuePropName="checked"
name={[field.name, "applicable_taxes", "local"]}
>
<Switch />
</Form.Item>
<DeleteFilled
onClick={() => {
remove(field.name);