@@ -11,11 +11,6 @@ import type { FilterValues } from '@/components/Filters'
|
||||
import { useGetInvoice } from './hooks/useInvoiceData'
|
||||
import type { InvoiceType } from './types/Types'
|
||||
|
||||
const isInvoiceConfirmed = (item: InvoiceType) => {
|
||||
const items = item.items ?? []
|
||||
return items.length > 0 && items.every((i) => !!i.confirmedAt)
|
||||
}
|
||||
|
||||
const ProformaInvoice: FC = () => {
|
||||
const [activeTab, setActiveTab] = useState<ProformaInvoiceStatusEnum>(ProformaInvoiceStatusEnum.ALL)
|
||||
const [page, setPage] = useState(1)
|
||||
@@ -29,10 +24,10 @@ const ProformaInvoice: FC = () => {
|
||||
const list = data?.data ?? []
|
||||
|
||||
if (activeTab === ProformaInvoiceStatusEnum.CONFIRMED) {
|
||||
return list.filter((o) => isInvoiceConfirmed(o))
|
||||
return list.filter((o) => o.confirmStatus === 'confirmed')
|
||||
}
|
||||
if (activeTab === ProformaInvoiceStatusEnum.NOT_CONFIRMED) {
|
||||
return list.filter((o) => !isInvoiceConfirmed(o))
|
||||
return list.filter((o) => o.confirmStatus === 'pending')
|
||||
}
|
||||
|
||||
let result = list
|
||||
@@ -168,7 +163,7 @@ const ProformaInvoice: FC = () => {
|
||||
key: 'confirmStatus',
|
||||
title: 'وضعیت تایید',
|
||||
render: (item) => {
|
||||
const confirmed = isInvoiceConfirmed(item)
|
||||
const confirmed = item.confirmStatus === 'confirmed'
|
||||
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'
|
||||
|
||||
@@ -110,6 +110,7 @@ export type InvoiceType = {
|
||||
total: number;
|
||||
paidAmount: number;
|
||||
balance: number;
|
||||
confirmStatus: 'pending' | 'confirmed';
|
||||
enableTax: boolean;
|
||||
approvalDeadline: string;
|
||||
attachments: InvoiceAttachmentType[];
|
||||
|
||||
Reference in New Issue
Block a user