@@ -19,8 +19,14 @@ export const statusRegistry: Record<string, StatusConfig> = {
|
||||
// --- 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' },
|
||||
|
||||
@@ -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 (
|
||||
<StatusWithText
|
||||
variant={confirmed ? 'success' : 'warning'}
|
||||
text={confirmed ? 'تایید شده' : 'تایید نشده'}
|
||||
variant={status.variant}
|
||||
text={status.text}
|
||||
/>
|
||||
)
|
||||
},
|
||||
@@ -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}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export const enum ProformaInvoiceStatusEnum {
|
||||
ALL = 'all',
|
||||
NOT_CONFIRMED = 'not_confirmed',
|
||||
PARTIALLY_CONFIRMED = 'partially_confirmed',
|
||||
CONFIRMED = 'confirmed',
|
||||
}
|
||||
@@ -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[];
|
||||
|
||||
Reference in New Issue
Block a user