Merge pull request 'sales bill edit fix' (#155) from temp/sales-bill-edit-fix into main

Reviewed-on: Pozomind/pozo-retail-app#155
This commit is contained in:
karthikalakshmi 2026-02-18 19:50:09 +05:30
commit 6e22db34c8
11 changed files with 528 additions and 282 deletions

View File

@ -71,6 +71,10 @@ import {
GlobalDefaultBookingType,
GlobalSelOption,
GlobalCustId,
GlobalSalesBillEdit,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import BSEditTotalAmt from '../BSEditTotalAmount/BSEditTotalAmt.jsx';
import BSImeiDetails from '../BSImeiDetails/BSImeiDetails.jsx';
@ -86,6 +90,7 @@ const BSBillingTable1 = () => {
const OfferFreeProduct = useSelector(GlobalFreeProdList);
const BSLayout1Data = useSelector(getTemplateData);
const tableOptions = BSLayout1Data?.BookingBilling?.[1];
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const dispatch = useDispatch();
const applyOffer = useApplyOfferto_CardDetail();
const preferenceDatas = useSelector(PreferenceData);
@ -290,19 +295,19 @@ const BSBillingTable1 = () => {
// }
// };
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -315,8 +320,8 @@ const BSBillingTable1 = () => {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
return () => {
@ -400,17 +405,25 @@ const BSBillingTable1 = () => {
} else {
dispatch(changeOrderCardDetails([]));
}
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));
@ -1145,7 +1158,21 @@ const BSBillingTable1 = () => {
e?.Offer > 0 &&
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -2015,6 +2042,7 @@ const BSBillingTable1 = () => {
}
}
}
};
// const removeFromCart = async (item) => {
// setPreviousdataLength(tableData?.length);

View File

@ -33,6 +33,9 @@ import {
GlobalDefaultBookingType,
GlobalSelOption,
GlobalCustId,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
getTemplateData,
@ -980,13 +983,6 @@ const BsBill2 = () => {
!cartItem?.SalesId
)
);
if (OfferCheckedInSetup && preferenceOffer) {
await applyOffer(UpdatedData);
} else {
dispatch(changeOrderCardDetails(UpdatedData));
}
// if the quantity of the item is 1, remove the item from the cart
if (CartOrderDetails?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
@ -997,7 +993,18 @@ const BsBill2 = () => {
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(changeSelProdWiseEst([]));
await dispatch(ChangeTotalAmount([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (OfferCheckedInSetup && preferenceOffer) {
await applyOffer(UpdatedData);
} else {
dispatch(changeOrderCardDetails(UpdatedData));
}
} else if (
item?.BookingTypeName !== 'Dine In' &&
OrderType === 'Hold'
@ -1027,6 +1034,9 @@ const BsBill2 = () => {
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(changeSelProdWiseEst([]));
await dispatch(ChangeTotalAmount([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
} else if (item?.BookingTypeName === 'Dine In') {
const UpdatedData = CartOrderDetails?.filter(
@ -1055,6 +1065,9 @@ const BsBill2 = () => {
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(changeSelProdWiseEst([]));
await dispatch(ChangeTotalAmount([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
}
}

View File

@ -61,6 +61,10 @@ import {
GlobalDefaultBookingType,
GlobalSelOption,
GlobalCustId,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
GlobalSalesBillEdit,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTables3/BSBillingTable3.scss';
import {
@ -119,6 +123,7 @@ const BSBillingTable3 = () => {
const UnpaidData = useSelector(GlobalUnpaidData);
const GlobProdwisedata = useSelector(GlobalSelProdWiseEst);
const ReportholdData = useSelector(GlobalReorderHoldDetails);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const prodCat = useSelector(GlobalProductCategorie);
const ProdSubCat = useSelector(GlobalProductSubCategorie);
const [PreviousdataLength, setPreviousdataLength] =
@ -228,20 +233,20 @@ const BSBillingTable3 = () => {
handleEditQuantity(item);
setshortKeyMethod(method);
};
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -254,8 +259,8 @@ const BSBillingTable3 = () => {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
return () => {
@ -315,18 +320,24 @@ const BSBillingTable3 = () => {
await ClearOfferDetails();
}
dispatch(changeOrderCardDetails([]));
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));
@ -1087,6 +1098,22 @@ const BSBillingTable3 = () => {
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -1956,6 +1983,7 @@ const BSBillingTable3 = () => {
}
}
}
};
// const removeFromCart = async (item) => {

View File

@ -355,7 +355,7 @@ const BSBillingTable3Pay = () => {
const OrderCardDetail = useSelector(GlobalOrderCardDetails);
const [customerPreviesOrders, setCustomerPreviesOrders] = useState(false);
console.log(OrderCardDetail, 'OrderCardDetail');
console.log(paybtns, 'paybtnspaybtnspaybtnspaybtns', currentOrderNetAmount, previousNetAmount);
//Total calculation
const TotalItems = OrderCardDetail?.length;
const [formattedDate, setFormattedDate] = useState('');

View File

@ -46,6 +46,10 @@ import {
PostBlockSlots,
GlobalSelOption,
GlobalCustId,
GlobalSalesBillEdit,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
ChangeTotalAmount,
@ -113,6 +117,7 @@ const BSBillingTable4 = () => {
const UnpaidData = useSelector(GlobalUnpaidData);
const tableData = useSelector(GlobalOrderCardDetails);
console.log(tableData, 'tableDatatableData');
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const ReportholdData = useSelector(GlobalReorderHoldDetails);
const PreviousOrderLength = useSelector(GlobalPreviousOrderLength);
const HoldOrderDtl = useSelector(GlobalHoldOrderDtl);
@ -281,20 +286,20 @@ const BSBillingTable4 = () => {
setshortKeyMethod(method);
};
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -307,8 +312,8 @@ const BSBillingTable4 = () => {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
@ -1169,6 +1174,22 @@ const BSBillingTable4 = () => {
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -2062,6 +2083,7 @@ const BSBillingTable4 = () => {
}
}
}
};
const UnblockSlots = async (newCartItem) => {
let BlockPostdata = {
@ -2186,17 +2208,24 @@ const BSBillingTable4 = () => {
if (OrderType === 'Hold') {
AvailableDate && UnblockSlotsAll(tableData);
await dispatch(changeOrderCardDetails([]));
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));

View File

@ -47,6 +47,10 @@ import {
GlobalDefaultBookingType,
GlobalSelOption,
GlobalCustId,
changePreviousOrderOfferDetail,
changePreviousOrderPayment,
changeBillEditingMode,
GlobalSalesBillEdit,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
ChangeFullFreeProductList,
@ -92,6 +96,7 @@ const BsBill = () => {
const GlobalOfferAppliedProductsData = useSelector(
GlobalOfferAppliedProducts
);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const OfferFreeProduct = useSelector(GlobalFreeProdList, shallowEqual);
const ReorderProductData = useSelector(GlobalReorderProductDetails);
const SelectedBillColor = useSelector(SelectedGlobalBillingColorDetail);
@ -836,6 +841,23 @@ const BsBill = () => {
e?.BookingTypeName != item?.BookingTypeName
);
if (TableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -1692,6 +1714,7 @@ const BsBill = () => {
}
}
}
};
// const removeFromCart = async (item) => {
// setPreviousdataLength(TableData?.length);
@ -1927,20 +1950,20 @@ const BsBill = () => {
setshortKeyMethod(method);
};
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (TableData?.length > 0) {
OpenEditTotalAmount();
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (TableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -1953,8 +1976,8 @@ const BsBill = () => {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
return () => {
@ -2015,18 +2038,25 @@ const BsBill = () => {
} else {
await dispatch(changeOrderCardDetails([]));
}
let putData = { OrderId: [ReportholdData?.OrderId] };
console.log(putData, 'putDataputData');
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
console.log(putData, 'putDataputData');
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));

View File

@ -47,6 +47,10 @@ import {
GlobalDefaultBookingType,
GlobalSelOption,
GlobalCustId,
GlobalSalesBillEdit,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
ChangeFullFreeProductList,
@ -110,6 +114,7 @@ const BSBillingTable6 = () => {
const HoldOrderDtl = useSelector(GlobalHoldOrderDtl);
const UnpaidData = useSelector(GlobalUnpaidData);
const GlobProdwisedata = useSelector(GlobalSelProdWiseEst);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const ReportholdData = useSelector(GlobalReorderHoldDetails);
const prodCat = useSelector(GlobalProductCategorie);
const ProdSubCat = useSelector(GlobalProductSubCategorie);
@ -255,19 +260,19 @@ const BSBillingTable6 = () => {
setshortKeyMethod(method);
};
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
// 👉 CTRL shortcuts
if (!event.ctrlKey) return;
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -280,8 +285,8 @@ if (key === 'q') {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
return () => {
@ -342,18 +347,25 @@ if (key === 'q') {
} else {
dispatch(changeOrderCardDetails([]));
}
let putData = { OrderId: [ReportholdData?.OrderId] };
console.log(putData, 'putDataputData');
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
console.log(putData, 'putDataputData');
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));
@ -1069,6 +1081,22 @@ if (key === 'q') {
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -1937,6 +1965,7 @@ if (key === 'q') {
}
}
}
};
// const removeFromCart = async (item) => {
// setPreviousdataLength(tableData?.length);

View File

@ -38,6 +38,9 @@ import {
GlobalDefaultBookingType,
GlobalCustId,
GlobalSelOption,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
ChangeFullFreeProductList,
@ -250,17 +253,17 @@ const BSBillingTable7 = () => {
};
const handleKeyDown = (event) => {
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
const key = event.key.toLowerCase();
// 👉 ALT + P Open Edit Total Amount
if (event.altKey && key === 'p') {
event.preventDefault();
if (tableData?.length > 0) {
OpenEditTotalAmount();
}
return;
}
return;
}
if (!event.ctrlKey) return;
if (key === 'q') {
if (!event.ctrlKey) return;
if (key === 'q') {
event.preventDefault();
handleShortcut('qty');
} else if (key === 'e') {
@ -273,8 +276,8 @@ const BSBillingTable7 = () => {
event.preventDefault();
handleShortcut('weightAmount');
}
};
};
window.addEventListener('keydown', handleKeyDown);
return () => {
@ -958,7 +961,21 @@ const BSBillingTable7 = () => {
e?.Offer > 0 &&
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -1828,6 +1845,7 @@ const BSBillingTable7 = () => {
}
}
}
};
// const removeFromCart = async (item) => {
// setPreviousdataLength(tableData?.length);

View File

@ -60,6 +60,10 @@ import {
GlobalDefaultBookingType,
GlobalCustId,
GlobalSelOption,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
GlobalSalesBillEdit,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import {
ChangeOfferAppliedProducts,
@ -119,6 +123,7 @@ const ComboSalesBillTable = () => {
const HoldOrderDtl = useSelector(GlobalHoldOrderDtl);
const UnpaidData = useSelector(GlobalUnpaidData);
const GlobProdwisedata = useSelector(GlobalSelProdWiseEst);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const ReportholdData = useSelector(GlobalReorderHoldDetails);
const prodCat = useSelector(GlobalProductCategorie);
const ProdSubCat = useSelector(GlobalProductSubCategorie);
@ -147,13 +152,13 @@ const ComboSalesBillTable = () => {
OrderType === 'Hold'
? tableData?.filter((a, b) => a.BookingTypeName === 'TakeAway')
: tableData?.filter(
(a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId
);
(a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId
);
const OldtableDataTakeAway =
OrderType != 'Hold'
? tableData?.filter(
(a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId
)
(a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId
)
: [];
const [EditQuantity, setEditQuantity] = useState(false);
@ -236,7 +241,7 @@ const ComboSalesBillTable = () => {
}
}, [tableOptions]);
// Merge same items in hold order
// Merge same items in hold order
useEffect(() => {
if (OrderType === 'Hold' && tableData?.length > 0) {
const mergedData = [];
@ -244,9 +249,9 @@ const ComboSalesBillTable = () => {
tableData.forEach((item) => {
const key = `${item.InwardDtlId}-${item.BookingTypeName}-${item.OrderRate}`;
if (processedIds.has(key)) return;
// Find all items with same InwardDtlId, BookingTypeName, and OrderRate
const sameItems = tableData.filter(
(i) =>
@ -268,7 +273,7 @@ const ComboSalesBillTable = () => {
} else {
mergedData.push(item);
}
processedIds.add(key);
});
if (mergedData.length !== tableData.length) {
@ -276,7 +281,7 @@ const ComboSalesBillTable = () => {
}
}
}, [tableData?.length, OrderType]);
useEffect(() => {
if (SelectedFont) {
WebFont.load({
@ -388,7 +393,7 @@ const ComboSalesBillTable = () => {
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
setEditQuantity(false);
} else {
if (value?.SalesId && OrderType !== 'Hold') {
if (value?.SalesId && OrderType !== 'Hold') {
setEditQuantity(false);
} else {
setEditQuantity(true);
@ -504,18 +509,24 @@ const ComboSalesBillTable = () => {
await ClearOfferDetails();
}
dispatch(changeOrderCardDetails([]));
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));
@ -1218,9 +1229,9 @@ const ComboSalesBillTable = () => {
)?.map((item, idx) =>
idx === 0
? {
...item,
FreeQty,
}
...item,
FreeQty,
}
: item
),
};
@ -1257,7 +1268,21 @@ const ComboSalesBillTable = () => {
e?.Offer > 0 &&
e?.BookingTypeName != item?.BookingTypeName
);
if (tableData?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -2111,6 +2136,7 @@ const ComboSalesBillTable = () => {
}
}
}
};
useEffect(() => {
@ -2442,20 +2468,20 @@ const ComboSalesBillTable = () => {
tableDataDinein?.length >= PreviousdataLength
? 'wheat'
: BookingType !== 'Dine In' &&
triggerAnimation &&
OldtableDataTakeAway?.length + index === 0 &&
tableDataDinein?.length >= PreviousdataLength &&
!HoldOrderDtl &&
!UnpaidData
triggerAnimation &&
OldtableDataTakeAway?.length + index === 0 &&
tableDataDinein?.length >= PreviousdataLength &&
!HoldOrderDtl &&
!UnpaidData
? 'wheat'
: 'inherit'
: 'none',
background: row?.SalesId && OrderType !== 'Hold'
? 'rgb(243, 248, 213)'
: GlobEstBooking === 'ParEst' &&
GlobProdwisedata?.includes(
row?.InwardDtlId + ' ' + row?.BookingTypeName
)
GlobProdwisedata?.includes(
row?.InwardDtlId + ' ' + row?.BookingTypeName
)
? '#b2d1f7'
: (OldtableDataTakeAway?.length + index) % 2 === 0
? 'white'
@ -2498,44 +2524,44 @@ const ComboSalesBillTable = () => {
{/* Product Name / Item */}
{(item.OptionName === 'Item' ||
item.OptionName === 'Product Name') && (
<td
key={`prod-${index}`}
className={`productNameTd ${isActiveCell ? 'active-cell' : ''}`}
onClick={() =>
row.FullProductIdentifierDtls?.length > 0 ||
row.ProductIdentifierDtls?.length > 0
? handleImeiDetails(row)
: editField && handleEditQuantity(row)
}
>
{row?.Type !== 'OS' ? row.ProdName : row.ServiceName}
{row?.BrandName ? ` ${row.BrandName}` : ''}
{row?.Type !== 'C' && (
<p
// className="Tbl3-Variant"
className={
isActiveCell
? 'Tbl3VariantActve'
: 'Tbl3-Variant'
}
>
{/* {row?.ProdVariantName} {row?.Size} {row?.UomName} */}
(
{!row?.ProdVariantName?.toLowerCase()?.includes(
'variant'
) && <span>{row?.ProdVariantName} </span>}
{row?.Size}
{row?.SinglePc == 'Y' ? 'PCS' : row?.UomName})
</p>
)}
{row?.Type === 'C' &&
row.ProdDetail?.map((prod, idx) => (
<p key={idx}>
{prod.ProdName} - {prod.Size} {prod.UomName}
<td
key={`prod-${index}`}
className={`productNameTd ${isActiveCell ? 'active-cell' : ''}`}
onClick={() =>
row.FullProductIdentifierDtls?.length > 0 ||
row.ProductIdentifierDtls?.length > 0
? handleImeiDetails(row)
: editField && handleEditQuantity(row)
}
>
{row?.Type !== 'OS' ? row.ProdName : row.ServiceName}
{row?.BrandName ? ` ${row.BrandName}` : ''}
{row?.Type !== 'C' && (
<p
// className="Tbl3-Variant"
className={
isActiveCell
? 'Tbl3VariantActve'
: 'Tbl3-Variant'
}
>
{/* {row?.ProdVariantName} {row?.Size} {row?.UomName} */}
(
{!row?.ProdVariantName?.toLowerCase()?.includes(
'variant'
) && <span>{row?.ProdVariantName} </span>}
{row?.Size}
{row?.SinglePc == 'Y' ? 'PCS' : row?.UomName})
</p>
))}
</td>
)}
)}
{row?.Type === 'C' &&
row.ProdDetail?.map((prod, idx) => (
<p key={idx}>
{prod.ProdName} - {prod.Size} {prod.UomName}
</p>
))}
</td>
)}
{/* Barcode */}
{item.OptionName === 'Barcode' && (
@ -2562,11 +2588,10 @@ const ComboSalesBillTable = () => {
}}
key={`qty-${index}`}
tabIndex={0}
className={`${
EditQtyCombo && row?.localId === Index
? 'EditQTYcomboTD'
: 'qtyTd'
} ${isActiveCell ? 'active-cell' : ''}`}
className={`${EditQtyCombo && row?.localId === Index
? 'EditQTYcomboTD'
: 'qtyTd'
} ${isActiveCell ? 'active-cell' : ''}`}
onClick={() =>
editField && handleEditQuantityCombo(row)
}
@ -2629,9 +2654,9 @@ const ComboSalesBillTable = () => {
>
{row?.Offer > 0
? `${(
(row.Offer / (row?.OrderQty * row?.OrderRate)) *
100
).toFixed(2)}%`
(row.Offer / (row?.OrderQty * row?.OrderRate)) *
100
).toFixed(2)}%`
: '-'}
</td>
)}
@ -2663,8 +2688,8 @@ const ComboSalesBillTable = () => {
>
{allowDecimal
? Number(row.TotalAmt - (row?.Offer || 0)).toFixed(
2
)
2
)
: Number(row.TotalAmt - (row?.Offer || 0))}
</td>
)}
@ -2707,7 +2732,7 @@ const ComboSalesBillTable = () => {
<td
key={`delete-${index}`}
className={`deleteTd ${isActiveCell ? 'active-cell' : ''}`}
// className=""
// className=""
>
<AiOutlineClose
onClick={() => removeFromCart(row)}

View File

@ -68,6 +68,7 @@ import {
changePreviousOrderOfferDetail,
GlobalCustId,
GlobalSelOption,
GlobalSalesBillEdit,
} from '../../../../../Features/BookingScreen/BookingData/BookingData';
import './StandardTable.scss';
import { IoClose } from 'react-icons/io5';
@ -130,6 +131,7 @@ const StandardTable = () => {
const GlobProdwisedata = useSelector(GlobalSelProdWiseEst);
const GlobEstBooking = useSelector(GlobalEstimateBooking);
const ReportholdData = useSelector(GlobalReorderHoldDetails);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const prodCat = useSelector(GlobalProductCategorie);
const ProdSubCat = useSelector(GlobalProductSubCategorie);
const [PreviousdataLength, setPreviousdataLength] =
@ -446,17 +448,24 @@ const StandardTable = () => {
} else {
dispatch(changeOrderCardDetails([]));
}
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
if (salesBillEdit) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));
@ -1205,7 +1214,21 @@ const StandardTable = () => {
e?.Offer > 0 &&
e?.BookingTypeName != item?.BookingTypeName
);
if (OrderCardDetail?.length <= 1) {
await dispatch(changeReorderHoldDetails({}));
await dispatch(changeReorderProductDetails([]));
await dispatch(changeUnpaidData(false));
await dispatch(changeBookingType('TakeAway'));
await dispatch(changeTokenOnly(false));
await dispatch(ChangeTotalAmount([]));
await dispatch(changeAllProductTokenAvailable(false));
await dispatch(ChangeOverAllDiscSales(null));
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
}
if (item?.Offer > 0) {
//check is Buyxgetx Or something
// let ischeck= GlobalOfferAppliedProductsData?.some((e)=>e?.FreeProductsList?.[0]??.
@ -2079,6 +2102,7 @@ const StandardTable = () => {
}
}
}
};
// const removeFromCart = async (item) => {
// setPreviousdataLength(OrderCardDetail?.length);

View File

@ -22,6 +22,10 @@ import {
changeSelProdWiseEst,
GlobalDefaultBookingType,
PostBlockSlots,
changeBillEditingMode,
changePreviousOrderPayment,
changePreviousOrderOfferDetail,
GlobalSalesBillEdit,
} from '../../../../Features/BookingScreen/BookingData/BookingData';
import {
changeholddata,
@ -64,6 +68,7 @@ export const useRemoveFromCart = () => {
GlobalOfferAppliedProducts
);
const defaultBookingType = useSelector(GlobalDefaultBookingType);
const salesBillEdit = useSelector(GlobalSalesBillEdit);
const ReportholdData = useSelector(
(state) => state.BookingData.ReorderHoldDetails
);
@ -176,6 +181,9 @@ export const useRemoveFromCart = () => {
await dispatch(ChangeOverAllDiscEstimate(null));
await dispatch(changeSelProdWiseEst([]));
await dispatch(ChangeTotalAmount([]));
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
const customerDisplayWindow = getCustomerDisplayWindow();
if (customerDisplayWindow && !customerDisplayWindow.closed) {
@ -215,9 +223,9 @@ export const useRemoveFromCart = () => {
AppId: AppId,
...(AvailableDate && selectedDate
? {
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
: {}),
};
await dispatch(getSelectedFavItems(data)).unwrap();
@ -229,9 +237,9 @@ export const useRemoveFromCart = () => {
ProdSubCat: useSelector((state) => state.BookingData.ProductSubCategorie),
...(AvailableDate && selectedDate
? {
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
: {}),
};
@ -242,9 +250,9 @@ export const useRemoveFromCart = () => {
prodCat: useSelector((state) => state.BookingData.ProductCategorie),
...(AvailableDate && selectedDate
? {
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
fromDate: selectedDate?.[0],
toDate: selectedDate?.[1],
}
: {}),
};
@ -299,17 +307,24 @@ export const useRemoveFromCart = () => {
// For Hold orders, additional cleanup
if (OrderType === 'Hold' && OrderCardDetail?.length <= 1) {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
await getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
if (salesBillEdit) {
getstockbadge();
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
await getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(changeOrderType(null));
@ -330,26 +345,26 @@ export const useRemoveFromCart = () => {
console.log('isItemInCart', isItemInCart);
if (isItemInCart?.OrderQty > 1) {
const UpdatedCartItem =
// if the item is already in the cart, increase the quantity of the item
{
...isItemInCart,
OrderQty: isItemInCart?.OrderQty - 1,
TotalAmt: (isItemInCart?.OrderQty - 1) * isItemInCart?.OrderRate,
TaxAmt: (
// if the item is already in the cart, increase the quantity of the item
{
...isItemInCart,
OrderQty: isItemInCart?.OrderQty - 1,
TotalAmt: (isItemInCart?.OrderQty - 1) * isItemInCart?.OrderRate,
TaxAmt: (
((isItemInCart?.OrderQty - 1) *
isItemInCart?.OrderRate *
isItemInCart?.TaxPercentage) /
(100 + isItemInCart?.TaxPercentage)
).toFixed(2),
WithoutTaxRate:
(isItemInCart?.OrderQty - 1) * isItemInCart?.OrderRate -
(
((isItemInCart?.OrderQty - 1) *
isItemInCart?.OrderRate *
isItemInCart?.TaxPercentage) /
(100 + isItemInCart?.TaxPercentage)
).toFixed(2),
WithoutTaxRate:
(isItemInCart?.OrderQty - 1) * isItemInCart?.OrderRate -
(
((isItemInCart?.OrderQty - 1) *
isItemInCart?.OrderRate *
isItemInCart?.TaxPercentage) /
(100 + isItemInCart?.TaxPercentage)
).toFixed(2),
};
};
const UpdatedcardData = [UpdatedCartItem, ...UpdatedData];
if (OfferCheckedInSetup && preferenceOffer) {
@ -370,17 +385,24 @@ export const useRemoveFromCart = () => {
} else {
dispatch(changeOrderCardDetails([]));
}
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
await getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
if (salesBillEdit) {
getstockbadge();
dispatch(changeBillEditingMode(false));
await dispatch(changePreviousOrderPayment([]));
await dispatch(changePreviousOrderOfferDetail([]));
} else {
let putData = { OrderId: [ReportholdData?.OrderId] };
let response = await dispatch(puttinghold(putData)).unwrap();
if (response?.data?.statusCode == 1) {
await getstockbadge();
let holdingData = await dispatch(
gettinghold({ CompId: CompId, BranchId: BranchId, AppId: AppId })
).unwrap();
if (holdingData?.data?.statusCode === 1) {
dispatch(changeholddata(holdingData?.data?.data));
} else {
dispatch(changeholddata([]));
}
}
}
await dispatch(ChangeTotalAmount([]));