diff --git a/src/components/pages/purchase/form/order/PurchaseOrderStaffApprovalForm.tsx b/src/components/pages/purchase/form/order/PurchaseOrderStaffApprovalForm.tsx index 017a0952..63756ad9 100644 --- a/src/components/pages/purchase/form/order/PurchaseOrderStaffApprovalForm.tsx +++ b/src/components/pages/purchase/form/order/PurchaseOrderStaffApprovalForm.tsx @@ -23,6 +23,7 @@ import { PurchaseStaffApprovalItemSchema, } from './PurchaseOrderForm.schema'; import { isResponseError } from '@/lib/api-helper'; +import { formatNumber } from '@/lib/helper'; import { PurchaseApi } from '@/services/api/purchase'; import { CreateStaffApprovalRequestPayload, @@ -590,7 +591,11 @@ const PurchaseOrderStaffApprovalForm = ({ if (field === 'qty') { const numValue = - typeof value === 'string' ? parseFloat(value) || 0 : value; + typeof value === 'string' + ? value === '' + ? '' + : parseFloat(value) || 0 + : value; formik.setFieldValue(`items.${idx}.qty`, numValue); @@ -600,16 +605,30 @@ const PurchaseOrderStaffApprovalForm = ({ if (field === 'price' || field === 'total_price') { const numValue = - typeof value === 'string' ? parseFloat(value) || 0 : value; + typeof value === 'string' + ? value === '' + ? '' + : parseFloat(value) || 0 + : value; formik.setFieldValue(`items.${idx}.${field}`, numValue); - if (field === 'price' && formItem.qty > 0 && numValue >= 0) { + if ( + field === 'price' && + formItem.qty > 0 && + numValue !== '' && + numValue >= 0 + ) { const calculatedTotal = numValue * formItem.qty; formik.setFieldValue(`items.${idx}.total_price`, calculatedTotal); } - if (field === 'total_price' && formItem.qty > 0 && numValue >= 0) { + if ( + field === 'total_price' && + formItem.qty > 0 && + numValue !== '' && + numValue >= 0 + ) { const calculatedPrice = numValue / formItem.qty; formik.setFieldValue(`items.${idx}.price`, calculatedPrice); } @@ -692,6 +711,7 @@ const PurchaseOrderStaffApprovalForm = ({ handleProductChange(formItemIndex, val) } options={supplierProductOptions} + placeholder='Pilih produk' isClearable={false} isSearchable={false} isDisabled={type === 'add'} @@ -699,6 +719,9 @@ const PurchaseOrderStaffApprovalForm = ({ wrapper: 'min-w-52 md:min-w-72 lg:min-w-80', }} + bottomLabel={ + 'Previous: ' + purchaseItem.product.name + } />