fix(FE): Include deliveries in deps for cost handlers

This commit is contained in:
rstubryan
2026-01-23 12:58:33 +07:00
parent bcc2f71623
commit e35f857057
@@ -673,26 +673,29 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
[] []
); );
const handleDeliveryCostChange = useCallback((idx: number, value: number) => { const handleDeliveryCostChange = useCallback(
formik.setFieldValue(`deliveries.${idx}.delivery_cost`, value); (idx: number, value: number) => {
formik.setFieldValue(`deliveries.${idx}.delivery_cost`, value);
const delivery = formik.values.deliveries?.[idx]; const delivery = formik.values.deliveries?.[idx];
if (delivery) { if (delivery) {
const productQty = delivery.products.reduce( const productQty = delivery.products.reduce(
(sum, p) => sum + (parseInt(p.product_qty.toString()) || 0), (sum, p) => sum + (parseInt(p.product_qty.toString()) || 0),
0 0
);
if (productQty > 0 && value > 0) {
const perItem = value / productQty;
formik.setFieldValue(
`deliveries.${idx}.delivery_cost_per_item`,
perItem
); );
} else if (value === 0) { if (productQty > 0 && value > 0) {
formik.setFieldValue(`deliveries.${idx}.delivery_cost_per_item`, 0); const perItem = value / productQty;
formik.setFieldValue(
`deliveries.${idx}.delivery_cost_per_item`,
perItem
);
} else if (value === 0) {
formik.setFieldValue(`deliveries.${idx}.delivery_cost_per_item`, 0);
}
} }
} },
}, []); [formik.values.deliveries]
);
const handleDeliveryCostPerItemChange = useCallback( const handleDeliveryCostPerItemChange = useCallback(
(idx: number, value: number) => { (idx: number, value: number) => {
@@ -712,7 +715,7 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
} }
} }
}, },
[] [formik.values.deliveries]
); );
const handleDeliveryCostChangeWrapper = useCallback( const handleDeliveryCostChangeWrapper = useCallback(