diff --git a/src/components/pages/purchase/order/PurchaseOrderDetail.tsx b/src/components/pages/purchase/order/PurchaseOrderDetail.tsx index 46550f24..5e2813aa 100644 --- a/src/components/pages/purchase/order/PurchaseOrderDetail.tsx +++ b/src/components/pages/purchase/order/PurchaseOrderDetail.tsx @@ -3,7 +3,9 @@ import { useCallback, useMemo, useState } from 'react'; import { ColumnDef, SortingState } from '@tanstack/react-table'; -import ApprovalSteps from '@/components/pages/ApprovalSteps'; +import ApprovalSteps, { + useApprovalSteps, +} from '@/components/pages/ApprovalSteps'; import Table from '@/components/Table'; import Button from '@/components/Button'; import { Icon } from '@iconify/react'; @@ -33,6 +35,7 @@ import { isResponseError } from '@/lib/api-helper'; import { toast } from 'react-hot-toast'; import { useSearchParams } from 'next/navigation'; import { formatCurrency, formatNumber, formatDate } from '@/lib/helper'; +import { PURCHASE_ORDER_APPROVAL_LINE } from '@/config/approval-line'; const ItemPembelianDropdown = ({ onEdit }: { onEdit: () => void }) => { return ( @@ -104,30 +107,21 @@ const PurchaseOrderDetail = ({ return purchaseOrderItems.filter((item) => item.received_date); }, [purchaseOrderItems]); - const approvalSteps = useMemo(() => { - if (!initialValues?.approval) return []; - - const status = - initialValues.approval.action === 'APPROVED' - ? 'APPROVED' - : initialValues.approval.action === 'REJECTED' - ? 'REJECTED' - : 'WAITING'; - - return [ - { - name: initialValues.approval.step_name, - status: status as ApprovalStepStatus, - logs: [ - { - action_by: initialValues.approval.action_by?.name, - date: initialValues.approval.action_at, - notes: initialValues.approval.notes, - }, - ], - }, - ]; - }, [initialValues?.approval]); + const { + approvals, + isLoading: approvalsLoading, + rawDataApprovals, + refresh: refreshApprovals, + } = useApprovalSteps({ + latestApproval: initialValues?.approval, + approvalLines: PURCHASE_ORDER_APPROVAL_LINE, + moduleName: 'PURCHASES', + moduleId: initialValues?.id?.toString() ?? '', + params: { + limit: 100, + group_step_number: true, + }, + }); const totalBeforeTax = useMemo(() => { return purchaseOrderItems.reduce( @@ -262,7 +256,7 @@ const PurchaseOrderDetail = ({ }, }, { - accessorKey: 'quantity', + accessorKey: 'sub_qty', header: 'Jumlah', cell: (props) => formatNumber(props.getValue() as number), }, @@ -370,12 +364,7 @@ const PurchaseOrderDetail = ({ cell: (props) => props.row.original.vehicle_number || '-', }, { - accessorKey: 'pengangkut', - header: 'Pengangkut', - cell: (props) => props.row.original.product?.name || '-', - }, - { - accessorKey: 'quantity', + accessorKey: 'total_qty', header: 'Jumlah Total', cell: (props) => formatNumber(props.getValue() as number), }, @@ -384,11 +373,6 @@ const PurchaseOrderDetail = ({ header: 'Jumlah Diterima', cell: (props) => formatNumber(props.getValue() as number), }, - { - accessorKey: 'ekspedisi', - header: 'Ekspedisi', - cell: (props) => 'Ekspedisi 1', - }, { accessorKey: 'price', header: 'Transport /Item', @@ -475,13 +459,9 @@ const PurchaseOrderDetail = ({ {/* Steps */} - {approvalSteps.length > 0 ? ( + {approvals && !approvalsLoading && (
Status approval tidak tersedia
+