@@ -19,8 +19,14 @@ export const statusRegistry: Record<string, StatusConfig> = {
|
|||||||
// --- ProformaInvoiceStatusEnum ---
|
// --- ProformaInvoiceStatusEnum ---
|
||||||
[ProformaInvoiceStatusEnum.ALL]: { label: 'همه', variant: 'neutral' },
|
[ProformaInvoiceStatusEnum.ALL]: { label: 'همه', variant: 'neutral' },
|
||||||
[ProformaInvoiceStatusEnum.NOT_CONFIRMED]: { label: 'تایید نشده', variant: 'warning' },
|
[ProformaInvoiceStatusEnum.NOT_CONFIRMED]: { label: 'تایید نشده', variant: 'warning' },
|
||||||
|
[ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED]: { label: 'تایید جزئی', variant: 'info' },
|
||||||
[ProformaInvoiceStatusEnum.CONFIRMED]: { label: 'تایید شده', variant: 'success' },
|
[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 ---
|
||||||
[OrderStatusEnum.CREATED]: { label: 'ایجاد شده', variant: 'info' },
|
[OrderStatusEnum.CREATED]: { label: 'ایجاد شده', variant: 'info' },
|
||||||
[OrderStatusEnum.INVOICED]: { label: 'فاکتور شده', variant: 'success' },
|
[OrderStatusEnum.INVOICED]: { label: 'فاکتور شده', variant: 'success' },
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ const ProformaInvoice: FC = () => {
|
|||||||
// فیلتر تب
|
// فیلتر تب
|
||||||
if (activeTab === ProformaInvoiceStatusEnum.NOT_CONFIRMED) {
|
if (activeTab === ProformaInvoiceStatusEnum.NOT_CONFIRMED) {
|
||||||
result = result.filter((inv) => inv.confirmStatus === 'pending')
|
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) {
|
} else if (activeTab === ProformaInvoiceStatusEnum.CONFIRMED) {
|
||||||
result = result.filter((inv) => inv.confirmStatus === 'confirmed')
|
result = result.filter((inv) => inv.confirmStatus === 'confirmed')
|
||||||
}
|
}
|
||||||
@@ -92,11 +94,16 @@ const ProformaInvoice: FC = () => {
|
|||||||
key: 'confirmStatus',
|
key: 'confirmStatus',
|
||||||
title: 'وضعیت تایید',
|
title: 'وضعیت تایید',
|
||||||
render: (item) => {
|
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 (
|
return (
|
||||||
<StatusWithText
|
<StatusWithText
|
||||||
variant={confirmed ? 'success' : 'warning'}
|
variant={status.variant}
|
||||||
text={confirmed ? 'تایید شده' : 'تایید نشده'}
|
text={status.text}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@@ -143,6 +150,7 @@ const ProformaInvoice: FC = () => {
|
|||||||
items={[
|
items={[
|
||||||
{ label: 'همه', value: ProformaInvoiceStatusEnum.ALL },
|
{ label: 'همه', value: ProformaInvoiceStatusEnum.ALL },
|
||||||
{ label: 'تایید نشده', value: ProformaInvoiceStatusEnum.NOT_CONFIRMED },
|
{ label: 'تایید نشده', value: ProformaInvoiceStatusEnum.NOT_CONFIRMED },
|
||||||
|
{ label: 'تایید جزئی', value: ProformaInvoiceStatusEnum.PARTIALLY_CONFIRMED },
|
||||||
{ label: 'تایید شده', value: ProformaInvoiceStatusEnum.CONFIRMED },
|
{ label: 'تایید شده', value: ProformaInvoiceStatusEnum.CONFIRMED },
|
||||||
]}
|
]}
|
||||||
activeTab={activeTab}
|
activeTab={activeTab}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
export const enum ProformaInvoiceStatusEnum {
|
export const enum ProformaInvoiceStatusEnum {
|
||||||
ALL = 'all',
|
ALL = 'all',
|
||||||
NOT_CONFIRMED = 'not_confirmed',
|
NOT_CONFIRMED = 'not_confirmed',
|
||||||
|
PARTIALLY_CONFIRMED = 'partially_confirmed',
|
||||||
CONFIRMED = 'confirmed',
|
CONFIRMED = 'confirmed',
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ export type Invoice = {
|
|||||||
total: number;
|
total: number;
|
||||||
paidAmount: number;
|
paidAmount: number;
|
||||||
balance: number;
|
balance: number;
|
||||||
confirmStatus: 'pending' | 'confirmed';
|
confirmStatus: 'pending' | 'partially_confirmed' | 'confirmed';
|
||||||
enableTax: boolean;
|
enableTax: boolean;
|
||||||
approvalDeadline: string;
|
approvalDeadline: string;
|
||||||
attachments: unknown[];
|
attachments: unknown[];
|
||||||
|
|||||||
Reference in New Issue
Block a user