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';
|
} from '../../../../../Features/Offer/Offernew/BookingOffernew.js';
|
||||||
import { validateOffers } from '../../BSItemCards/ValidateOffer.jsx';
|
import { validateOffers } from '../../BSItemCards/ValidateOffer.jsx';
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
|
import WeightCalculatePrice from './WeightCalculatePrice.jsx';
|
||||||
|
|
||||||
const BSBillingEditQuantity = (props) => {
|
const BSBillingEditQuantity = (props) => {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
@ -678,12 +679,12 @@ const BSBillingEditQuantity = (props) => {
|
||||||
const handleEditQuantity = async (
|
const handleEditQuantity = async (
|
||||||
editedProduct,
|
editedProduct,
|
||||||
editedProductIndex,
|
editedProductIndex,
|
||||||
newPrice
|
newPrice,
|
||||||
|
overrideQty = null
|
||||||
) => {
|
) => {
|
||||||
// check itself is a offer product
|
const editedQty = overrideQty !== null
|
||||||
|
? overrideQty
|
||||||
const editedQty =
|
: props?.Productdata?.ScaleType !== 'weight'
|
||||||
props?.Productdata?.ScaleType !== 'weight'
|
|
||||||
? parseInt(Quantity)
|
? parseInt(Quantity)
|
||||||
: props.Productdata.OrderQty;
|
: props.Productdata.OrderQty;
|
||||||
const addFirst = BillOrderPre === 'Y';
|
const addFirst = BillOrderPre === 'Y';
|
||||||
|
|
@ -3096,9 +3097,10 @@ const BSBillingEditQuantity = (props) => {
|
||||||
newPrice = 0,
|
newPrice = 0,
|
||||||
offerApply = false
|
offerApply = false
|
||||||
) => {
|
) => {
|
||||||
|
const fixedQty = Number(qty.toFixed(3));
|
||||||
const updatedProduct = {
|
const updatedProduct = {
|
||||||
...editedProduct,
|
...editedProduct,
|
||||||
OrderQty: qty,
|
OrderQty: fixedQty,
|
||||||
OrderRate: newPrice > 0 ? newPrice : editedProduct?.OrderRate,
|
OrderRate: newPrice > 0 ? newPrice : editedProduct?.OrderRate,
|
||||||
...calculateTaxAmounts({
|
...calculateTaxAmounts({
|
||||||
qty: qty,
|
qty: qty,
|
||||||
|
|
@ -3236,289 +3238,6 @@ const BSBillingEditQuantity = (props) => {
|
||||||
OfferValue: offerValue,
|
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 = () => {
|
const CloseModal = () => {
|
||||||
props.handleEditQuantityCancel();
|
props.handleEditQuantityCancel();
|
||||||
setClearQuantity(false);
|
setClearQuantity(false);
|
||||||
|
|
@ -3706,6 +3425,33 @@ const BSBillingEditQuantity = (props) => {
|
||||||
setPackageDtl(data || []);
|
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 (
|
return (
|
||||||
<div className="BSBilling-EditQuantity-Modal">
|
<div className="BSBilling-EditQuantity-Modal">
|
||||||
<Messages
|
<Messages
|
||||||
|
|
@ -3802,6 +3548,19 @@ const BSBillingEditQuantity = (props) => {
|
||||||
>
|
>
|
||||||
Packing
|
Packing
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
{isKg && (<button
|
||||||
|
type="button"
|
||||||
|
className={
|
||||||
|
RadioBtnSelection === 'AddWeight'
|
||||||
|
? 'SelecBtn AddWeight'
|
||||||
|
: 'ChangeBtn'
|
||||||
|
}
|
||||||
|
onClick={() => onRadioBtnChange('AddWeight')}
|
||||||
|
>
|
||||||
|
Add Weight
|
||||||
|
</button>)}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{RadioBtnSelection == 'Quantity' && (
|
{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' }}>
|
<div style={{ display: 'flex', justifyContent: 'flex-end' }}>
|
||||||
{((RadioBtnSelection == 'Price' && disableSubmitButton) ||
|
{((RadioBtnSelection == 'Price' && disableSubmitButton) ||
|
||||||
RadioBtnSelection == 'Quantity') && (
|
RadioBtnSelection == 'Quantity') && (
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue