From 0526741e7655f9875ca04a8df03ff4901e140cf7 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Fri, 26 Jun 2026 12:40:21 +0330 Subject: [PATCH] up --- src/config/statusRegistry.ts | 6 ++++++ src/pages/invoice/ProformaInvoice.tsx | 14 +++++++++++--- src/pages/invoice/enum/InvoiceEnum.tsx | 1 + src/pages/invoice/types/InvoiceTypes.ts | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/config/statusRegistry.ts b/src/config/statusRegistry.ts index 7e2361d..1d864ea 100644 --- a/src/config/statusRegistry.ts +++ b/src/config/statusRegistry.ts @@ -19,8 +19,14 @@ export const statusRegistry: Record = { // --- ProformaInvoiceStatusEnum --- [ProformaInvoiceStatusEnum.ALL]: { label: 'همه', variant: 'neutral' }, [ProformaInvoiceStatusEnum.NOT_CONFIRMED]: { label: 'تایید نشده', variant: 'warning' }, + [ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED]: { label: 'تایید جزئی', variant: 'info' }, [ProformaInvoiceStatusEnum.CONFIRMED]: { label: 'تایید شده', variant: 'success' }, + // --- Invoice confirm status (from API) --- + pending: { label: 'تایید نشده', variant: 'warning' }, + partially_confirmed: { label: 'تایید جزئی', variant: 'info' }, + confirmed: { label: 'تایید شده', variant: 'success' }, + // --- OrderStatusEnum --- [OrderStatusEnum.CREATED]: { label: 'ایجاد شده', variant: 'info' }, [OrderStatusEnum.INVOICED]: { label: 'فاکتور شده', variant: 'success' }, diff --git a/src/pages/invoice/ProformaInvoice.tsx b/src/pages/invoice/ProformaInvoice.tsx index 669767e..3bc0dc9 100644 --- a/src/pages/invoice/ProformaInvoice.tsx +++ b/src/pages/invoice/ProformaInvoice.tsx @@ -33,6 +33,8 @@ const ProformaInvoice: FC = () => { // فیلتر تب if (activeTab === ProformaInvoiceStatusEnum.NOT_CONFIRMED) { result = result.filter((inv) => inv.confirmStatus === 'pending') + } else if (activeTab === ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED) { + result = result.filter((inv) => inv.confirmStatus === 'partially_confirmed') } else if (activeTab === ProformaInvoiceStatusEnum.CONFIRMED) { result = result.filter((inv) => inv.confirmStatus === 'confirmed') } @@ -92,11 +94,16 @@ const ProformaInvoice: FC = () => { key: 'confirmStatus', title: 'وضعیت تایید', render: (item) => { - const confirmed = item.confirmStatus === 'confirmed' + const statusMap = { + confirmed: { variant: 'success' as const, text: 'تایید شده' }, + partially_confirmed: { variant: 'info' as const, text: 'تایید جزئی' }, + pending: { variant: 'warning' as const, text: 'تایید نشده' }, + } + const status = statusMap[item.confirmStatus] ?? statusMap.pending return ( ) }, @@ -143,6 +150,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} 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/InvoiceTypes.ts b/src/pages/invoice/types/InvoiceTypes.ts index 864fd56..c01008c 100644 --- a/src/pages/invoice/types/InvoiceTypes.ts +++ b/src/pages/invoice/types/InvoiceTypes.ts @@ -65,7 +65,7 @@ export type Invoice = { total: number; paidAmount: number; balance: number; - confirmStatus: 'pending' | 'confirmed'; + confirmStatus: 'pending' | 'partially_confirmed' | 'confirmed'; enableTax: boolean; approvalDeadline: string; attachments: unknown[];