Facturas de cliente
This commit is contained in:
parent
ec86f74830
commit
d4a4ab7a31
@ -7,7 +7,7 @@ import { useTranslation } from "../../../i18n";
|
|||||||
import { CustomerInvoiceFormData } from "../../../schemas";
|
import { CustomerInvoiceFormData } from "../../../schemas";
|
||||||
import { CustomItemViewProps } from "./types";
|
import { CustomItemViewProps } from "./types";
|
||||||
|
|
||||||
export interface BlocksViewProps extends CustomItemViewProps {}
|
export interface BlocksViewProps extends CustomItemViewProps { }
|
||||||
|
|
||||||
const formatCurrency = (amount: number) => {
|
const formatCurrency = (amount: number) => {
|
||||||
return new Intl.NumberFormat("es-ES", {
|
return new Intl.NumberFormat("es-ES", {
|
||||||
|
|||||||
@ -16,9 +16,12 @@ import {
|
|||||||
import { ChevronDownIcon, ChevronUpIcon, CopyIcon, Plus, TrashIcon } from "lucide-react";
|
import { ChevronDownIcon, ChevronUpIcon, CopyIcon, Plus, TrashIcon } from "lucide-react";
|
||||||
|
|
||||||
|
|
||||||
|
import { TaxesMultiSelectField } from '@erp/core/components';
|
||||||
import { useMoney } from '@erp/core/hooks';
|
import { useMoney } from '@erp/core/hooks';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
import { useFormContext } from 'react-hook-form';
|
||||||
import { useCalculateItemAmounts } from '../../../hooks';
|
import { useCalculateItemAmounts } from '../../../hooks';
|
||||||
|
import { useTranslation } from '../../../i18n';
|
||||||
import { CustomerInvoiceItemFormData } from '../../../schemas';
|
import { CustomerInvoiceItemFormData } from '../../../schemas';
|
||||||
import { HoverCardTotalsSummary } from './hover-card-total-summary';
|
import { HoverCardTotalsSummary } from './hover-card-total-summary';
|
||||||
import { CustomItemViewProps } from "./types";
|
import { CustomItemViewProps } from "./types";
|
||||||
@ -26,6 +29,8 @@ import { CustomItemViewProps } from "./types";
|
|||||||
export interface TableViewProps extends CustomItemViewProps { }
|
export interface TableViewProps extends CustomItemViewProps { }
|
||||||
|
|
||||||
export const TableView = ({ items, actions }: TableViewProps) => {
|
export const TableView = ({ items, actions }: TableViewProps) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const { control } = useFormContext<CustomerInvoiceItemFormData>();
|
||||||
const { format } = useMoney();
|
const { format } = useMoney();
|
||||||
const calculateItemAmounts = useCalculateItemAmounts();
|
const calculateItemAmounts = useCalculateItemAmounts();
|
||||||
const [lines, setLines] = useState<CustomerInvoiceItemFormData[]>(items);
|
const [lines, setLines] = useState<CustomerInvoiceItemFormData[]>(items);
|
||||||
@ -202,6 +207,18 @@ export const TableView = ({ items, actions }: TableViewProps) => {
|
|||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
|
||||||
|
<TableCell className="text-right">
|
||||||
|
<TaxesMultiSelectField
|
||||||
|
control={control}
|
||||||
|
name={`item.${i}.tax_codes`}
|
||||||
|
required
|
||||||
|
label={t("form_fields.item.tax_codes.label")}
|
||||||
|
placeholder={t("form_fields.item.tax_codes.placeholder")}
|
||||||
|
description={t("form_fields.item.tax_codes.description")}
|
||||||
|
/>
|
||||||
|
</TableCell>
|
||||||
|
|
||||||
|
|
||||||
{/* TOTAL */}
|
{/* TOTAL */}
|
||||||
<TableCell className="text-right font-mono">
|
<TableCell className="text-right font-mono">
|
||||||
<HoverCardTotalsSummary item={item}>
|
<HoverCardTotalsSummary item={item}>
|
||||||
|
|||||||
@ -132,7 +132,7 @@ export const CustomerInvoiceUpdatePage = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<UnsavedChangesProvider isDirty={form.formState.isDirty}>
|
<UnsavedChangesProvider isDirty={form.formState.isDirty}>
|
||||||
<AppHeader className="sticky">
|
<AppHeader>
|
||||||
<AppBreadcrumb />
|
<AppBreadcrumb />
|
||||||
<PageHeader
|
<PageHeader
|
||||||
status={invoiceData.status}
|
status={invoiceData.status}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user