Fix issue with variant editing

This commit is contained in:
Srinath 2026-03-23 10:53:39 +05:30
parent 46ff0f8d27
commit cf77675d5a
1 changed files with 31 additions and 23 deletions

View File

@ -629,6 +629,10 @@ const ProductForm = ({ formType }) => {
}, [editstate?.Rack, RackData]); }, [editstate?.Rack, RackData]);
useEffect(() => { useEffect(() => {
// Auto-fill "Variant X" only when we are adding a new variant.
// When editing, another effect will populate the full data.
if (!openVariant || variantEdit) return;
let variantAddData11 = [...variantPriceData]; let variantAddData11 = [...variantPriceData];
if (variantAddData11?.length > 0) { if (variantAddData11?.length > 0) {
const lastAddProdVariantName11 = const lastAddProdVariantName11 =
@ -677,7 +681,32 @@ const ProductForm = ({ formType }) => {
ProdVariantName: `Variant ${parseInt(variantAddData11?.length) + parseInt(2)}`, ProdVariantName: `Variant ${parseInt(variantAddData11?.length) + parseInt(2)}`,
}); });
} }
}, [openVariant]); }, [openVariant, variantEdit, variantPriceData]);
useEffect(() => {
// Populate edit values only after the variant form is mounted.
if (!openVariant || !variantEdit) return;
if (
variantEditIndex === undefined ||
variantEditIndex === null ||
!variantPriceData?.length
) {
return;
}
const row = variantPriceData?.[variantEditIndex];
if (!row) return;
formVariantRef?.current?.setFieldsValue({
ProdVariantName: row?.ProdVariantName,
AmountOfPiece: row?.OnePcsPrice,
MRP: row?.MRP,
SellPrice: row?.SellPrice,
WhSalePrice: row?.WhSalePrice,
OfferPrice: row?.OfferPrice,
SpecialPrice: row?.SpecialPrice,
});
}, [openVariant, variantEdit, variantEditIndex, variantPriceData]);
const onComplete = useCallback(() => { const onComplete = useCallback(() => {
setMessageData(null); setMessageData(null);
@ -1573,28 +1602,7 @@ const ProductForm = ({ formType }) => {
}; };
const variantActionsFormatter = (row, index) => { const variantActionsFormatter = (row, index) => {
if (StockOpen == 'Y') { setOpenVariant(true);
formVariantRef?.current?.setFieldsValue({
ProdVariantName: row?.ProdVariantName,
AmountOfPiece: row?.OnePcsPrice,
MRP: row?.MRP,
SellPrice: row?.SellPrice,
WhSalePrice: row?.WhSalePrice,
OfferPrice: row?.OfferPrice,
SpecialPrice: row?.SpecialPrice,
});
} else {
formVariantRef?.current?.setFieldsValue({
ProdVariantName: row?.ProdVariantName,
AmountOfPiece: row?.OnePcsPrice,
MRP: row?.MRP,
SellPrice: row?.SellPrice,
WhSalePrice: row?.WhSalePrice,
OfferPrice: row?.OfferPrice,
SpecialPrice: row?.SpecialPrice,
});
}
setVariantEdit(true); setVariantEdit(true);
setVariantEditIndex(index); setVariantEditIndex(index);
}; };