in this component i have change total amt
This commit is contained in:
parent
006c6dd1e1
commit
da669b3f44
|
|
@ -40,6 +40,7 @@ import {
|
|||
} from '../../../../../Features/Offer/Offernew/BookingOffernew.js';
|
||||
import { validateOffers } from '../../BSItemCards/ValidateOffer.jsx';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import WeightCalculatePrice from './WeightCalculatePrice.jsx';
|
||||
|
||||
const BSBillingEditQuantity = (props) => {
|
||||
const dispatch = useDispatch();
|
||||
|
|
@ -678,12 +679,12 @@ const BSBillingEditQuantity = (props) => {
|
|||
const handleEditQuantity = async (
|
||||
editedProduct,
|
||||
editedProductIndex,
|
||||
newPrice
|
||||
newPrice,
|
||||
overrideQty = null
|
||||
) => {
|
||||
// check itself is a offer product
|
||||
|
||||
const editedQty =
|
||||
props?.Productdata?.ScaleType !== 'weight'
|
||||
const editedQty = overrideQty !== null
|
||||
? overrideQty
|
||||
: props?.Productdata?.ScaleType !== 'weight'
|
||||
? parseInt(Quantity)
|
||||
: props.Productdata.OrderQty;
|
||||
const addFirst = BillOrderPre === 'Y';
|
||||
|
|
@ -3096,9 +3097,10 @@ const BSBillingEditQuantity = (props) => {
|
|||
newPrice = 0,
|
||||
offerApply = false
|
||||
) => {
|
||||
const fixedQty = Number(qty.toFixed(3));
|
||||
const updatedProduct = {
|
||||
...editedProduct,
|
||||
OrderQty: qty,
|
||||
OrderQty: fixedQty,
|
||||
OrderRate: newPrice > 0 ? newPrice : editedProduct?.OrderRate,
|
||||
...calculateTaxAmounts({
|
||||
qty: qty,
|
||||
|
|
@ -3236,289 +3238,6 @@ const BSBillingEditQuantity = (props) => {
|
|||
OfferValue: offerValue,
|
||||
};
|
||||
};
|
||||
|
||||
// const AddProductQuantity = async () => {
|
||||
// let NewPrice = NewPrice1 > 0 ? NewPrice1 : props.Productdata.OrderRate;
|
||||
// await dispatch(changeHoldOrderDtl(false));
|
||||
// await dispatch(changePreviousOrderLength(CartOrderDetails?.length));
|
||||
// const OtherOrderDatas = CartOrderDetails?.filter(
|
||||
// (cartItem) =>
|
||||
// !(
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName
|
||||
// ) && !cartItem?.SalesId
|
||||
// );
|
||||
|
||||
// const OtherOrderDatawithsales = CartOrderDetails?.filter(
|
||||
// (cartItem) => cartItem?.SalesId
|
||||
// );
|
||||
// const OtherorderDataforNormal = CartOrderDetails?.filter(
|
||||
// (cartItem) =>
|
||||
// !(
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName &&
|
||||
// !cartItem?.SalesId
|
||||
// )
|
||||
// );
|
||||
|
||||
// const isItemInCart = CartOrderDetails?.find(
|
||||
// (cartItem) =>
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName &&
|
||||
// !cartItem?.SalesId
|
||||
// ); // check if the item is already in the cart
|
||||
// // changing for one piece stock checking
|
||||
// const isItemInCartfilter = CartOrderDetails?.filter(
|
||||
// (cartItem) =>
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// !(
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName
|
||||
// ) &&
|
||||
// !cartItem?.SalesId
|
||||
// ); // check if the item is already in the cart
|
||||
// let OverallQuantity = CalculateOverallQty(isItemInCart, isItemInCartfilter);
|
||||
// const BookingTypeProd = props?.Productdata?.BookingTypeName;
|
||||
// const isItemInCartHold = CartOrderDetails?.find(
|
||||
// (cartItem) =>
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName
|
||||
// ); // check if the item is already in the cart
|
||||
// const isItemInCartHoldfilter = CartOrderDetails?.filter(
|
||||
// (cartItem) =>
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// !(
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName
|
||||
// )
|
||||
// ); // check if the item is already in the cart
|
||||
// const holddataproduct = ReorderProductData?.filter(
|
||||
// (cartItem) =>
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId
|
||||
// );
|
||||
// let totalSelectedProductQty = holddataproduct?.reduce(
|
||||
// (accumulator, card) => {
|
||||
// return (
|
||||
// accumulator +
|
||||
// parseInt(
|
||||
// card?.StockAvailable === 'Y'
|
||||
// ? props?.Productdata?.SinglePc === 'Y'
|
||||
// ? card.SinglePc !== 'Y'
|
||||
// ? card.OrderQty * card.NoOfPcs
|
||||
// : card.OrderQty
|
||||
// : card.SinglePc !== 'Y'
|
||||
// ? card.OrderQty
|
||||
// : card.OverAllPcs % card.NoOfPcs >= card.OrderQty
|
||||
// ? 0
|
||||
// : card.OrderQty % card.NoOfPcs === 0
|
||||
// ? Math.floor(card.OrderQty / card.NoOfPcs)
|
||||
// : Math.floor(card.OrderQty / card.NoOfPcs) + 1
|
||||
// : 0
|
||||
// )
|
||||
// );
|
||||
// },
|
||||
// 0
|
||||
// );
|
||||
|
||||
// let OverallQuantityhold =
|
||||
// CalculateOverallQty(isItemInCartHold, isItemInCartHoldfilter) +
|
||||
// totalSelectedProductQty;
|
||||
// const OtherorderDataforNormalWithoutSalesId = CartOrderDetails?.filter(
|
||||
// (cartItem) =>
|
||||
// !(
|
||||
// cartItem?.ProdId === props?.Productdata?.ProdId &&
|
||||
// cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId &&
|
||||
// cartItem?.OrderRate === props?.Productdata?.OrderRate &&
|
||||
// cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName
|
||||
// )
|
||||
// );
|
||||
|
||||
// if (parseInt(Quantity) === 0 || Quantity === '') {
|
||||
// setMessageType('error');
|
||||
// setMessageData('Please enter valid quantity');
|
||||
// setQuantity('');
|
||||
// }
|
||||
// else {
|
||||
// if (isItemInCart && BookingTypeProd != 'Dine In' && OrderType != 'Hold') {
|
||||
// if (isItemInCart?.StockAvailable === 'Y') {
|
||||
// let Condition = OverallQuantity >= Quantity;
|
||||
// if (Condition) {
|
||||
// const UpdatedCartItem = await createUpdatedCartItem(
|
||||
// isItemInCart,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherorderDataforNormal
|
||||
// );
|
||||
// await dispatch(changeOrderCardDetails(Cartdata));
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// } else {
|
||||
// setMessageType('error');
|
||||
// setMessageData('Stock Not Available');
|
||||
// setQuantity('');
|
||||
// }
|
||||
// } else {
|
||||
// if (
|
||||
// isItemInCart &&
|
||||
// BookingTypeProd != 'Dine In' &&
|
||||
// OrderType != 'Hold'
|
||||
// ) {
|
||||
// const UpdatedCartItem = createUpdatedCartItem(
|
||||
// isItemInCart,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherorderDataforNormal
|
||||
// );
|
||||
// await dispatch(changeOrderCardDetails(Cartdata));
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
// }
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// }
|
||||
// }
|
||||
// else if (isItemInCartHold && OrderType === 'Hold') {
|
||||
// if (isItemInCartHold?.StockAvailable === 'Y') {
|
||||
// let Condition = OverallQuantityhold >= Quantity;
|
||||
// if (Condition) {
|
||||
// const UpdatedCartItem = createUpdatedCartItem(
|
||||
// isItemInCartHold,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherorderDataforNormalWithoutSalesId
|
||||
// );
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
// await dispatch(changeOrderCardDetails(Cartdata));
|
||||
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// } else {
|
||||
// setMessageType('error');
|
||||
// setMessageData('Stock Not Available');
|
||||
// setQuantity('');
|
||||
// }
|
||||
// } else {
|
||||
// if (isItemInCartHold && OrderType === 'Hold') {
|
||||
// const UpdatedCartItem = createUpdatedCartItem(
|
||||
// isItemInCartHold,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherorderDataforNormalWithoutSalesId
|
||||
// );
|
||||
// await dispatch(changeOrderCardDetails(Cartdata));
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
// }
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// }
|
||||
// }
|
||||
// else if (
|
||||
// isItemInCart &&
|
||||
// BookingTypeProd === 'Dine In' &&
|
||||
// OrderType != 'Hold'
|
||||
// ) {
|
||||
// if (isItemInCart?.StockAvailable === 'Y') {
|
||||
// let Condition = OverallQuantity >= Quantity;
|
||||
// if (Condition) {
|
||||
// const UpdatedCartItem = createUpdatedCartItem(
|
||||
// isItemInCart,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherOrderDatas
|
||||
// );
|
||||
// await dispatch(
|
||||
// changeOrderCardDetails([...OtherOrderDatawithsales, ...Cartdata])
|
||||
// );
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// } else {
|
||||
// setMessageType('error');
|
||||
// setMessageData('Stock Not Available');
|
||||
// setQuantity('');
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// if (
|
||||
// isItemInCart &&
|
||||
// BookingTypeProd === 'Dine In' &&
|
||||
// OrderType != 'Hold'
|
||||
// ) {
|
||||
// const UpdatedCartItem = createUpdatedCartItem(
|
||||
// isItemInCart,
|
||||
// Quantity,
|
||||
// NewPrice
|
||||
// );
|
||||
// const Cartdata = MergecardItem(
|
||||
// UpdatedCartItem,
|
||||
// BillOrderPre,
|
||||
// OtherorderDataforNormal
|
||||
// );
|
||||
// await dispatch(changeOrderCardDetails(Cartdata));
|
||||
// if (OfferCheckedInSetup && preferenceOffer) {
|
||||
// await applyOffer(Cartdata);
|
||||
// } else {
|
||||
// dispatch(changeOrderCardDetails(Cartdata));
|
||||
// }
|
||||
// }
|
||||
// props.handleEditQuantityCancel();
|
||||
// setClearQuantity(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
const CloseModal = () => {
|
||||
props.handleEditQuantityCancel();
|
||||
setClearQuantity(false);
|
||||
|
|
@ -3706,6 +3425,33 @@ const BSBillingEditQuantity = (props) => {
|
|||
setPackageDtl(data || []);
|
||||
};
|
||||
|
||||
const handleWeightCalculation = async (data) => {
|
||||
const { price, quantity } = data;
|
||||
setQuantity(quantity);
|
||||
setEditedPrice(price);
|
||||
await handleWeightSubmit(quantity, price);
|
||||
};
|
||||
|
||||
const handleWeightSubmit = async (qty, price) => {
|
||||
await dispatch(changeHoldOrderDtl(false));
|
||||
await dispatch(changePreviousOrderLength(CartOrderDetails?.length));
|
||||
let localId = props.Index;
|
||||
let editedProductIndex = CartOrderDetails?.findIndex(
|
||||
(e) => e?.localId == localId
|
||||
);
|
||||
const editedProduct = {
|
||||
...CartOrderDetails[editedProductIndex],
|
||||
OrderQty: qty
|
||||
};
|
||||
|
||||
await handleEditQuantity(editedProduct, editedProductIndex, editedProduct.OrderRate, qty);
|
||||
props.handleEditQuantityCancel();
|
||||
setClearQuantity(false);
|
||||
};
|
||||
const isKg =
|
||||
props?.Productdata?.Size == 1 &&
|
||||
["KG", "KGS"].includes(props?.Productdata?.UomName?.toUpperCase());
|
||||
|
||||
return (
|
||||
<div className="BSBilling-EditQuantity-Modal">
|
||||
<Messages
|
||||
|
|
@ -3802,6 +3548,19 @@ const BSBillingEditQuantity = (props) => {
|
|||
>
|
||||
Packing
|
||||
</button>
|
||||
|
||||
{isKg && (<button
|
||||
type="button"
|
||||
className={
|
||||
RadioBtnSelection === 'AddWeight'
|
||||
? 'SelecBtn AddWeight'
|
||||
: 'ChangeBtn'
|
||||
}
|
||||
onClick={() => onRadioBtnChange('AddWeight')}
|
||||
>
|
||||
Add Weight
|
||||
</button>)}
|
||||
|
||||
</div>
|
||||
|
||||
{RadioBtnSelection == 'Quantity' && (
|
||||
|
|
@ -4007,6 +3766,15 @@ const BSBillingEditQuantity = (props) => {
|
|||
/>
|
||||
</>
|
||||
)}
|
||||
{RadioBtnSelection == 'AddWeight' && (
|
||||
<>
|
||||
<WeightCalculatePrice
|
||||
CartOrderDetails={CartOrderDetails}
|
||||
itemData={ItemData}
|
||||
onSubmit={handleWeightCalculation}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
<div style={{ display: 'flex', justifyContent: 'flex-end' }}>
|
||||
{((RadioBtnSelection == 'Price' && disableSubmitButton) ||
|
||||
RadioBtnSelection == 'Quantity') && (
|
||||
|
|
|
|||
Loading…
Reference in New Issue