diff --git a/src/pages/invoice/ProformaInvoice.tsx b/src/pages/invoice/ProformaInvoice.tsx index 8c07f57..0089fd1 100644 --- a/src/pages/invoice/ProformaInvoice.tsx +++ b/src/pages/invoice/ProformaInvoice.tsx @@ -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 ( - {confirmed ? 'تایید شده' : 'تایید نشده'} + {status.text} ) }, diff --git a/src/pages/invoice/enum/InvoiceEnum.tsx b/src/pages/invoice/enum/InvoiceEnum.tsx index cc38e52..4370bb3 100644 --- a/src/pages/invoice/enum/InvoiceEnum.tsx +++ b/src/pages/invoice/enum/InvoiceEnum.tsx @@ -1,5 +1,6 @@ export const enum ProformaInvoiceStatusEnum { ALL = 'all', NOT_CONFIRMED = 'not_confirmed', + PARTIALLY_CONFIRMED = 'partially_confirmed', CONFIRMED = 'confirmed', } \ No newline at end of file diff --git a/src/pages/invoice/types/Types.ts b/src/pages/invoice/types/Types.ts index e52e964..0980d0e 100644 --- a/src/pages/invoice/types/Types.ts +++ b/src/pages/invoice/types/Types.ts @@ -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[];