This commit is contained in:
2026-06-26 12:40:32 +03:30
parent 393572a3e3
commit ceffa3b4e9
3 changed files with 14 additions and 5 deletions
+12 -4
View File
@@ -26,6 +26,9 @@ const ProformaInvoice: FC = () => {
if (activeTab === ProformaInvoiceStatusEnum.CONFIRMED) {
return list.filter((o) => o.confirmStatus === 'confirmed')
}
if (activeTab === ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED) {
return list.filter((o) => o.confirmStatus === 'partially_confirmed')
}
if (activeTab === ProformaInvoiceStatusEnum.NOT_CONFIRMED) {
return list.filter((o) => o.confirmStatus === 'pending')
}
@@ -96,6 +99,7 @@ const ProformaInvoice: FC = () => {
items={[
{ label: 'همه', value: ProformaInvoiceStatusEnum.ALL },
{ label: 'تایید نشده', value: ProformaInvoiceStatusEnum.NOT_CONFIRMED },
{ label: 'تایید جزئی', value: ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED },
{ label: 'تایید شده', value: ProformaInvoiceStatusEnum.CONFIRMED },
]}
activeTab={activeTab}
@@ -163,13 +167,17 @@ const ProformaInvoice: FC = () => {
key: 'confirmStatus',
title: 'وضعیت تایید',
render: (item) => {
const confirmed = item.confirmStatus === 'confirmed'
const statusMap = {
confirmed: { className: 'bg-green-100 text-green-800', text: 'تایید شده' },
partially_confirmed: { className: 'bg-blue-100 text-blue-800', text: 'تایید جزئی' },
pending: { className: 'bg-amber-100 text-amber-800', text: 'تایید نشده' },
}
const status = statusMap[item.confirmStatus] ?? statusMap.pending
return (
<span
className={`inline-flex h-6 items-center rounded-full px-2.5 text-xs ${confirmed ? 'bg-green-100 text-green-800' : 'bg-amber-100 text-amber-800'
}`}
className={`inline-flex h-6 items-center rounded-full px-2.5 text-xs ${status.className}`}
>
{confirmed ? 'تایید شده' : 'تایید نشده'}
{status.text}
</span>
)
},
+1
View File
@@ -1,5 +1,6 @@
export const enum ProformaInvoiceStatusEnum {
ALL = 'all',
NOT_CONFIRMED = 'not_confirmed',
PARTIALLY_CONFIRMED = 'partially_confirmed',
CONFIRMED = 'confirmed',
}
+1 -1
View File
@@ -110,7 +110,7 @@ export type InvoiceType = {
total: number;
paidAmount: number;
balance: number;
confirmStatus: 'pending' | 'confirmed';
confirmStatus: 'pending' | 'partially_confirmed' | 'confirmed';
enableTax: boolean;
approvalDeadline: string;
attachments: InvoiceAttachmentType[];