mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
refactor(FE-212): add quantity field handling in PurchaseOrderStaffApprovalForm for improved item updates
This commit is contained in:
@@ -579,7 +579,7 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
|
||||
const handlePurchaseItemChange = (
|
||||
idx: number,
|
||||
field: 'price' | 'total_price',
|
||||
field: 'price' | 'total_price' | 'qty',
|
||||
value: string | number
|
||||
) => {
|
||||
const formItem = formik.values.items?.[idx];
|
||||
@@ -588,6 +588,16 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
return;
|
||||
}
|
||||
|
||||
if (field === 'qty') {
|
||||
const numValue =
|
||||
typeof value === 'string' ? parseFloat(value) || 0 : value;
|
||||
|
||||
formik.setFieldValue(`items.${idx}.qty`, numValue);
|
||||
|
||||
formik.setFieldValue(`items.${idx}.price`, '');
|
||||
formik.setFieldValue(`items.${idx}.total_price`, '');
|
||||
}
|
||||
|
||||
if (field === 'price' || field === 'total_price') {
|
||||
const numValue =
|
||||
typeof value === 'string' ? parseFloat(value) || 0 : value;
|
||||
@@ -715,17 +725,18 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
{type === 'edit' ? (
|
||||
<NumberInput
|
||||
name={`items.${formItemIndex}.qty`}
|
||||
value={formItem?.qty || purchaseItem?.quantity || ''}
|
||||
onChange={(e) => {
|
||||
const numValue =
|
||||
typeof e.target.value === 'string'
|
||||
? parseFloat(e.target.value) || 0
|
||||
: e.target.value;
|
||||
formik.setFieldValue(
|
||||
`items.${formItemIndex}.qty`,
|
||||
numValue
|
||||
);
|
||||
}}
|
||||
value={
|
||||
formItem?.qty ||
|
||||
purchaseItem?.quantity ||
|
||||
''
|
||||
}
|
||||
onChange={(e) =>
|
||||
handlePurchaseItemChange(
|
||||
formItemIndex,
|
||||
'qty',
|
||||
e.target.value
|
||||
)
|
||||
}
|
||||
onBlur={formik.handleBlur}
|
||||
placeholder='Masukkan jumlah'
|
||||
allowNegative={false}
|
||||
@@ -916,16 +927,13 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
required
|
||||
name={`items.${idx}.qty`}
|
||||
value={formItem?.qty || ''}
|
||||
onChange={(e) => {
|
||||
const numValue =
|
||||
typeof e.target.value === 'string'
|
||||
? parseFloat(e.target.value) || 0
|
||||
: e.target.value;
|
||||
formik.setFieldValue(
|
||||
`items.${idx}.qty`,
|
||||
numValue
|
||||
);
|
||||
}}
|
||||
onChange={(e) =>
|
||||
handlePurchaseItemChange(
|
||||
idx,
|
||||
'qty',
|
||||
e.target.value
|
||||
)
|
||||
}
|
||||
onBlur={formik.handleBlur}
|
||||
placeholder='Masukkan jumlah'
|
||||
allowNegative={false}
|
||||
|
||||
Reference in New Issue
Block a user