mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 23:35:45 +00:00
fix: reorder input for price_per_qty and unit_price
This commit is contained in:
+44
-26
@@ -74,6 +74,24 @@ const SalesOrderProductForm = ({
|
|||||||
? Number(initialValues?.unit_price)
|
? Number(initialValues?.unit_price)
|
||||||
: 0;
|
: 0;
|
||||||
|
|
||||||
|
const isInitialTelurQty =
|
||||||
|
initialValues?.marketing_type?.value?.toLowerCase() === 'telur' &&
|
||||||
|
initialValues?.convertion_unit?.value?.toLowerCase() === 'qty';
|
||||||
|
|
||||||
|
const initialUnitPrice =
|
||||||
|
isInitialTelurQty &&
|
||||||
|
Number(initialValues?.total_price || 0) > 0 &&
|
||||||
|
Number(initialValues?.qty || 0) > 0
|
||||||
|
? Number(initialValues?.total_price) / Number(initialValues?.qty)
|
||||||
|
: initialValues?.unit_price || '';
|
||||||
|
|
||||||
|
const initialPricePerQty =
|
||||||
|
isInitialTelurQty &&
|
||||||
|
Number(initialValues?.total_price || 0) > 0 &&
|
||||||
|
Number(initialValues?.total_weight || 0) > 0
|
||||||
|
? Number(initialValues?.total_price) / Number(initialValues?.total_weight)
|
||||||
|
: (initialValues?.price_per_qty ?? null);
|
||||||
|
|
||||||
const initialPriceSisaBerat =
|
const initialPriceSisaBerat =
|
||||||
initialValues?.total_price && initialValues?.total_peti
|
initialValues?.total_price && initialValues?.total_peti
|
||||||
? Number(initialValues.total_price) -
|
? Number(initialValues.total_price) -
|
||||||
@@ -97,7 +115,7 @@ const SalesOrderProductForm = ({
|
|||||||
product_warehouse: initialValues?.product_warehouse || null,
|
product_warehouse: initialValues?.product_warehouse || null,
|
||||||
product_warehouse_data: initialValues?.product_warehouse_data || null,
|
product_warehouse_data: initialValues?.product_warehouse_data || null,
|
||||||
product_warehouse_id: initialValues?.product_warehouse_id || undefined,
|
product_warehouse_id: initialValues?.product_warehouse_id || undefined,
|
||||||
unit_price: initialValues?.unit_price || '',
|
unit_price: initialUnitPrice,
|
||||||
total_weight: initialValues?.total_weight || '',
|
total_weight: initialValues?.total_weight || '',
|
||||||
qty: initialValues?.qty || '',
|
qty: initialValues?.qty || '',
|
||||||
avg_weight: initialValues?.avg_weight || '',
|
avg_weight: initialValues?.avg_weight || '',
|
||||||
@@ -111,7 +129,7 @@ const SalesOrderProductForm = ({
|
|||||||
convertion_unit: initialValues?.convertion_unit || null,
|
convertion_unit: initialValues?.convertion_unit || null,
|
||||||
marketing_type: initialValues?.marketing_type || null,
|
marketing_type: initialValues?.marketing_type || null,
|
||||||
total_peti: initialValues?.total_peti ?? null,
|
total_peti: initialValues?.total_peti ?? null,
|
||||||
price_per_qty: initialValues?.price_per_qty ?? null,
|
price_per_qty: initialPricePerQty,
|
||||||
sisa_berat: initialSisaBerat,
|
sisa_berat: initialSisaBerat,
|
||||||
price_sisa_berat: initialPriceSisaBerat,
|
price_sisa_berat: initialPriceSisaBerat,
|
||||||
week: initialValues?.week ?? null,
|
week: initialValues?.week ?? null,
|
||||||
@@ -728,35 +746,12 @@ const SalesOrderProductForm = ({
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Harga per butir untuk TELUR + QTY */}
|
|
||||||
{formik.values.marketing_type?.value.toLowerCase() === 'telur' &&
|
|
||||||
formik.values.convertion_unit?.value.toLowerCase() === 'qty' && (
|
|
||||||
<NumberInput
|
|
||||||
required
|
|
||||||
label='Harga / Butir (Rp)'
|
|
||||||
name='price_per_qty'
|
|
||||||
value={formik.values.price_per_qty ?? undefined}
|
|
||||||
onChange={(e) => {
|
|
||||||
const value = Number(e.target.value);
|
|
||||||
handleFieldChange('price_per_qty', value, () =>
|
|
||||||
setCurrentInput('price_per_qty')
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
isError={
|
|
||||||
formik.touched.price_per_qty &&
|
|
||||||
Boolean(formik.errors.price_per_qty)
|
|
||||||
}
|
|
||||||
errorMessage={formik.errors.price_per_qty}
|
|
||||||
placeholder='Masukan Harga per Butir'
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Harga Satuan per Uom Produk Warehouse */}
|
{/* Harga Satuan per Uom Produk Warehouse */}
|
||||||
{formik.values.convertion_unit?.value.toLowerCase() !== 'peti' &&
|
{formik.values.convertion_unit?.value.toLowerCase() !== 'peti' &&
|
||||||
formik.values.convertion_unit?.value.toLowerCase() !== 'kg' && (
|
formik.values.convertion_unit?.value.toLowerCase() !== 'kg' && (
|
||||||
<NumberInput
|
<NumberInput
|
||||||
required
|
required
|
||||||
label={`Harga / ${formik.values.convertion_unit?.label !== 'qty' ? 'Kg' : (selectedProductWarehouse?.product?.uom?.name ?? 'Produk')} (Rp)`}
|
label={`Harga / ${formik.values.convertion_unit?.label.toLowerCase() !== 'qty' ? 'Kg' : 'Butir'} (Rp)`}
|
||||||
name='unit_price'
|
name='unit_price'
|
||||||
value={formik.values.unit_price}
|
value={formik.values.unit_price}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
@@ -773,6 +768,29 @@ const SalesOrderProductForm = ({
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* Harga per kg untuk TELUR + QTY */}
|
||||||
|
{formik.values.marketing_type?.value.toLowerCase() === 'telur' &&
|
||||||
|
formik.values.convertion_unit?.value.toLowerCase() === 'qty' && (
|
||||||
|
<NumberInput
|
||||||
|
required
|
||||||
|
label='Harga / Kg (Rp)'
|
||||||
|
name='price_per_qty'
|
||||||
|
value={formik.values.price_per_qty ?? undefined}
|
||||||
|
onChange={(e) => {
|
||||||
|
const value = Number(e.target.value);
|
||||||
|
handleFieldChange('price_per_qty', value, () =>
|
||||||
|
setCurrentInput('price_per_qty')
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
isError={
|
||||||
|
formik.touched.price_per_qty &&
|
||||||
|
Boolean(formik.errors.price_per_qty)
|
||||||
|
}
|
||||||
|
errorMessage={formik.errors.price_per_qty}
|
||||||
|
placeholder='Masukan Harga per Kg'
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Sisa kg diluar peti */}
|
{/* Sisa kg diluar peti */}
|
||||||
{formik.values.convertion_unit?.value.toLowerCase() === 'peti' && (
|
{formik.values.convertion_unit?.value.toLowerCase() === 'peti' && (
|
||||||
<div className='flex flex-col'>
|
<div className='flex flex-col'>
|
||||||
|
|||||||
Reference in New Issue
Block a user