update invoice detail

This commit is contained in:
2026-05-29 17:51:57 +03:30
parent d10034cc21
commit 073cc1b169
3 changed files with 32 additions and 10 deletions
+17 -8
View File
@@ -13,6 +13,7 @@ import type { InvoiceItem as ApiInvoiceItem } from './types/InvoiceTypes'
import { Paths } from '@/config/Paths'
import { useGetPaymentInvoice } from '../payment/hooks/usePaymentData'
import InvoicePaymentList from './InvoicePaymentList'
import { formatItemDiscountDisplay } from './utils/invoiceItem'
interface TableInvoiceItem extends RowDataType {
id: string
@@ -20,7 +21,8 @@ interface TableInvoiceItem extends RowDataType {
title: string
quantity: string
unitPrice: string
discount: string
discountValue: string
discountPercent: string
totalPrice: string
confirmed: boolean
confirmedAt: string | null
@@ -57,17 +59,20 @@ const InvoiceDetail: FC = () => {
: null
const items: TableInvoiceItem[] =
invoice?.items?.map((item: ApiInvoiceItem) => ({
invoice?.items?.map((item: ApiInvoiceItem) => {
const discounts = formatItemDiscountDisplay(item)
return {
id: item.id,
image: item.product?.images?.[0] ?? null,
title: item.product?.title || '-',
quantity: String(item.quantity),
unitPrice: formatPrice(item.unitPrice),
discount: item.discount ? `${NumberFormat(item.discount)}٪` : '۰',
discountValue: discounts.value,
discountPercent: discounts.percent,
totalPrice: formatPrice(item.total ?? 0),
confirmed: !!item.confirmedAt,
confirmedAt: item.confirmedAt,
})) ?? []
}}) ?? []
const handlePrint = () => {
window.print()
@@ -97,8 +102,12 @@ const InvoiceDetail: FC = () => {
title: 'مبلغ واحد',
},
{
key: 'discount',
title: 'تخفیف',
key: 'discountValue',
title: 'تخفیف (مبلغ)',
},
{
key: 'discountPercent',
title: 'تخفیف (درصد)',
},
{
key: 'totalPrice',
@@ -253,10 +262,10 @@ const InvoiceDetail: FC = () => {
<span className='text-[#8C90A3]'>جمع کل:</span>
<span className='text-black font-medium'>{formatPrice(invoice.subTotal)}</span>
</div>
{invoice.discount > 0 && (
{(invoice.discount ?? 0) > 0 && (
<div className='flex justify-between text-xs'>
<span className='text-[#8C90A3]'>تخفیف:</span>
<span className='text-black'>{formatPrice(invoice.discount)}</span>
<span className='text-black'>{formatPrice(invoice.discount ?? 0)}</span>
</div>
)}
{invoice.enableTax && invoice.taxAmount > 0 && (