From d17066d299f27670fe6266ac6afe566534b9b989 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:18:34 +0530 Subject: [PATCH 01/10] Add new className and .MultiSearchIconDiv write style code --- .../Components/BSNavbar/BSNavbar1.scss | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss index e542f43..2884b12 100644 --- a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss +++ b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss @@ -484,3 +484,26 @@ .DisableIcon { pointer-events: none; } + + +.MultiSearchIconDiv { + background-color: #1292ee; + color: #fff !important; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + width: 35px !important; + height: 35px; + padding: 6px; + + + svg { + font-size: 22px; + width: 35px !important; + height: 35px; + + display: flex; + } +} \ No newline at end of file From 01fe805be7a097b54d5e382e012e6e7b99e5b6be Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:24:09 +0530 Subject: [PATCH 02/10] Added new multiple search icon in sales page --- .../Template/BSLayout7/BSCombo1.jsx | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Pages/BookingScreen/Template/BSLayout7/BSCombo1.jsx b/src/Pages/BookingScreen/Template/BSLayout7/BSCombo1.jsx index 515d3b9..81ff00b 100644 --- a/src/Pages/BookingScreen/Template/BSLayout7/BSCombo1.jsx +++ b/src/Pages/BookingScreen/Template/BSLayout7/BSCombo1.jsx @@ -67,6 +67,9 @@ import BSExpireProductsList from '../../Components/UtillComponents/BSExpireProdu import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx'; import { GiBasket } from 'react-icons/gi'; import { FaRegKeyboard } from 'react-icons/fa'; +import { CgSearchLoading } from "react-icons/cg"; + import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx'; +import MultipleSearch from '../../Components/UtillComponents/MultipleSearch.jsx'; const subDirectory = import.meta.env.BASE_URL; const commonDirectory = import.meta.env.COMMON_BASE_URL; @@ -106,6 +109,7 @@ export default function BSCombo1() { const [count, setcount] = useState(0); const [messageType, setMessageType] = useState(null); const [messageData, setMessageData] = useState(null); + const [multiple, setMultiple] = useState(false); const BookingBilling = BSComboData?.BookingBilling?.[0]; const DineInAccess = SettingDataSelector?.[0]?.SettingDtlDetails.filter( (i) => i.SettingIdName === 'DineIn' @@ -351,6 +355,13 @@ export default function BSCombo1() {
+ {/* Multiple search */} + +
+ setMultiple(true)} /> +
+
+ {Comboglobal === false && ( )} + setMultiple(false)} + destroyOnClose={true} + children={ + <> + + + } + /> ); } From 148a24449427afdb6f1dd5730ab5ff255bae8248 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:27:30 +0530 Subject: [PATCH 03/10] Add new className write a style code --- .../Components/BSNavbar/BSNavbar2.scss | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss index d2c1640..2275894 100644 --- a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss +++ b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss @@ -397,3 +397,26 @@ left: 11px; top: 10px; } + + +.MultiSearchIconDiv2 { + background-color: #1292ee; + color: #ffffff !important; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + width: 32px !important; + height: 32px; + padding: 4px; + + + svg { + font-size: 22px; + width: 32px !important; + height: 32px; + + display: flex; + } +} \ No newline at end of file From 0f892e2cbff95f05ccdcbba77fa8f98439b91bc6 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:28:08 +0530 Subject: [PATCH 04/10] Add new className write a style code --- .../Components/BSNavbar/BSNavbar3.scss | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss index ab7d5c2..59d670e 100644 --- a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss +++ b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss @@ -734,3 +734,26 @@ color: #fff; cursor: pointer; } + + +.MultiSearchIconDiv3 { + background-color: #ffffff; + color: #1292ee !important; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + width: 32px !important; + height: 32px; + padding: 4px; + + + svg { + font-size: 22px; + width: 32px !important; + height: 32px; + + display: flex; + } +} \ No newline at end of file From 28607fbb639a9cbb987111bd29a258aeb8b8db68 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:31:45 +0530 Subject: [PATCH 05/10] Add new className write a style code --- .../Components/BSNavbar/BSNavbar3.scss | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss index 59d670e..3ae00bf 100644 --- a/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss +++ b/src/Styles/BookingScreen/Components/BSNavbar/BSNavbar3.scss @@ -569,9 +569,9 @@ ); background-size: 300% 300%; animation: rainbowBorder 5s linear infinite; - -webkit-mask: - linear-gradient(#fff 0 0) content-box, - linear-gradient(#fff 0 0); + // -webkit-mask: + // linear-gradient(#fff 0 0) content-box, + // linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; @@ -679,11 +679,11 @@ } } - .BSCategory2New { - // position: absolute; - // bottom: -50%; - // height: 0 !important; - } + // .BSCategory2New { + // // position: absolute; + // // bottom: -50%; + // // height: 0 !important; + // } .ant-tooltip { display: none !important; From fbc0cda5d56cf353682d12aef53ecae69f91a571 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:32:54 +0530 Subject: [PATCH 06/10] create new component , multiple search --- .../UtillComponents/MultipleSearch.jsx | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 src/Pages/BookingScreen/Components/UtillComponents/MultipleSearch.jsx diff --git a/src/Pages/BookingScreen/Components/UtillComponents/MultipleSearch.jsx b/src/Pages/BookingScreen/Components/UtillComponents/MultipleSearch.jsx new file mode 100644 index 0000000..ace6660 --- /dev/null +++ b/src/Pages/BookingScreen/Components/UtillComponents/MultipleSearch.jsx @@ -0,0 +1,126 @@ +import React, { useEffect, useState } from "react"; +import { getSession } from "../../../../Services/Others"; +import { useDispatch } from "react-redux"; +import { getmultipleSearch, PostProductSearch } from "../../../../Features/BookingScreen/BookingData/BookingData"; +import Buttons from "../../../../Components/Forms/Buttons"; + + +const MultipleSearch = ({ close }) => { + const CompId = getSession("CompId"); + const BranchId = getSession("BranchId"); + const AppId = getSession("AppId"); + const dispatch = useDispatch(); + + + const options = [ + { label: "Product Name", value: "ProdName" }, + { label: "Product Variant Name", value: "ProdVariantName" }, + // { label: "Product ID", value: "ProdId" }, + { label: "One Piece QR", value: "OnePcQR" }, + { label: "QR Code", value: "QrCode" }, + { label: "Product Name Code", value: "ProdNameCode" }, + { label: "Category Name", value: "CategoryName" }, + { label: "Sub Category Name", value: "SubCategoryName" }, + { label: "Brand Name", value: "BrandName" }, + ]; + + + const [selectedValues, setSelectedValues] = useState([]); + console.log(selectedValues, 'selectedValuesselectedValues'); + + useEffect(() => { + GetmultipleSearchData(); + }, []); + + + const postMultipleSearch = async () => { + if (selectedValues.length === 0) { + alert("Please select at least one option!"); + return; + } + const data = { + CompId: CompId, + BranchId: BranchId, + AppId: AppId, + SearchTerms: selectedValues, + }; + try { + const response = await dispatch(PostProductSearch(data)).unwrap(); + console.log("Search Response:", response); + if (response?.data?.statusCode == 1) { + setSelectedValues('') + close(false); + } + } catch (error) { + console.error("Search Error:", error); + } + }; + + + const GetmultipleSearchData = async () => { + const data = { + AppId, + CompId, + BranchId, + }; + + try { + const response = await dispatch(getmultipleSearch(data)).unwrap(); + + if (response?.data?.statusCode === 1) { + const selected = response?.data?.data?.[0]?.SearchTermDtl?.map( + (item) => item?.SearchTerm + ) || []; + + setSelectedValues(selected); + } + } catch (error) { + console.error("Get Search Terms Error:", error); + } + }; + + return ( + <> +
+ {options.map((item) => ( + + ))} + +
+
+ } + /> +
+ + + ); +}; + +export default MultipleSearch; From be319ba6fd7a5ec90320b810c11ef612a61c5110 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:33:45 +0530 Subject: [PATCH 07/10] Added new multiple seach icon in sales page --- .../Components/BSNavbar/BSNavbar3.jsx | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar3.jsx b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar3.jsx index b2809a9..98f3667 100644 --- a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar3.jsx +++ b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar3.jsx @@ -122,6 +122,9 @@ import BSNavBarWholeSale from '../UtillComponents/BSNavBarWholeSale.jsx'; import { Global_OfferStatus } from '../../../../Features/Offer/Offer.js'; import { globalholddata } from '../../../../Features/BookingScreen/HoldOption/HoldOption.js'; import BSNavBarWeightScale from '../UtillComponents/BSNavBarWeightScale.jsx'; +import { CgSearchLoading } from "react-icons/cg"; +import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx'; +import MultipleSearch from '../UtillComponents/MultipleSearch.jsx'; const subDirectory = import.meta.env.ENV_BASE_URL; const commonUrl = import.meta.env.ENV_COMMON_BASE_URL; @@ -154,6 +157,7 @@ const BSNavbar3 = ({ optionNames }) => { const [quickAdd, setQuickAdd] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isFullscreen, setIsFullscreen] = useState(false); + const [multiple, setMultiple] = useState(false); const GlobEstBooking = useSelector(GlobalEstimateBooking); const compBranchData = useSelector(GlobalCompBranchData); const userProfileData = useSelector(userDataByUserId); @@ -598,6 +602,12 @@ const BSNavbar3 = ({ optionNames }) => { )}
+ {/* Multiple search */} + +
+ setMultiple(true)} /> +
+
{!sportsAppPreference && searchOption && (
{
+ + setMultiple(false)} + destroyOnClose={true} + children={ + <> + + + } + /> {quickAdd && ( Date: Wed, 28 Jan 2026 17:34:08 +0530 Subject: [PATCH 08/10] Added new multiple seach icon in sales page --- .../Components/BSNavbar/BSNavbar2.jsx | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar2.jsx b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar2.jsx index ea71386..fb3e8d1 100644 --- a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar2.jsx +++ b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar2.jsx @@ -103,7 +103,7 @@ import { import { FaUserLarge } from 'react-icons/fa6'; import { BiSolidPhoneCall } from 'react-icons/bi'; import PozoSwapIcon from '../UtillComponents/Pozo retail icons/PozoSwapIcon.jsx'; -import { MdEdit } from 'react-icons/md'; +import { CgSearchLoading } from "react-icons/cg"; import UserRelieveManager from '../../Template/RealivingUser.jsx'; import { FaParking } from 'react-icons/fa'; import BSNavBarUserInfo from './BSNavBarUserInfo'; @@ -113,6 +113,8 @@ import BSMobilePrintSettings from '../UtillComponents/BSMobilePrintSettings.jsx' import BSScanTemplate from '../UtillComponents/BSScanTemplate.jsx'; import VerfiedProducts from './verfiedProduct/VerfiedProducts'; import BranchName from '../../Template/BranchName.jsx'; +import MultipleSearch from '../UtillComponents/MultipleSearch.jsx'; +import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx'; const subDirectory = import.meta.env.ENV_BASE_URL; const commonUrl = import.meta.env.ENV_COMMON_BASE_URL; @@ -203,6 +205,7 @@ const BSNavbar2 = () => { const { SadminuserAccess } = useAuth(); const [OtherServiceStatus, setOtherServiceStatus] = useState(false); const [isHoldEnable, setisisHoldEnable] = useState(false); + const [multiple, setMultiple] = useState(false); let SAAccessCommonMaster = SadminuserAccess?.find( (e) => e?.MenuName === 'Sales' ); @@ -610,7 +613,12 @@ const BSNavbar2 = () => { )} - + {/* Multiple search */} + +
+ setMultiple(true)} /> +
+
{searchOption && !Comboglobal && @@ -1305,6 +1313,22 @@ const BSNavbar2 = () => {
+ + setMultiple(false)} + destroyOnClose={true} + children={ + <> + + + } + />
); }; From 319f2a37ed8e3ce3e7364b7f687292b8b418053e Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:34:28 +0530 Subject: [PATCH 09/10] Added new multiple seach icon in sales page --- .../Components/BSNavbar/BSNavbar1.jsx | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx index 84e698f..a763884 100644 --- a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx +++ b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx @@ -108,6 +108,7 @@ import { BiSolidPhoneCall } from 'react-icons/bi'; import { PiSignOutLight } from 'react-icons/pi'; import PozoSwapIcon from '../UtillComponents/Pozo retail icons/PozoSwapIcon.jsx'; import { MdEdit } from 'react-icons/md'; +import { CgSearchLoading } from "react-icons/cg"; import UserRelieveManager from '../../Template/RealivingUser.jsx'; import user from '../../../../Images/dashboard/user.jpg'; import BSNavBarUserInfo from './BSNavBarUserInfo'; @@ -119,6 +120,8 @@ import BSScanTemplate from '../UtillComponents/BSScanTemplate.jsx'; import VerfiedProducts from './verfiedProduct/VerfiedProducts.jsx'; import BSMembership from '../UtillComponents/BSMembership.jsx'; import BranchName from '../../Template/BranchName.jsx'; +import MultipleSearch from '../UtillComponents/MultipleSearch.jsx'; +import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx'; const subDirectory = import.meta.env.ENV_BASE_URL; const commonUrl = import.meta.env.ENV_COMMON_BASE_URL; @@ -133,6 +136,7 @@ const BSNavbar1 = (props) => { const [paymentfeataddon, setpaymentfeataddon] = useState(false); const [addcustomer, setAddCustomer] = useState(false); const [hold, setHold] = useState(false); + const [multiple, setMultiple] = useState(false); const BSLayout1Data = useSelector(getTemplateData); const navbarOptions = BSLayout1Data?.BookingNavbar?.[1]; const PreferenceDatas = useSelector(PreferenceData); @@ -634,6 +638,16 @@ const BSNavbar1 = (props) => { position: 'relative', }} > + + {/* Multiple search */} + +
+ setMultiple(true)} /> +
+
+ + + {!OtherServicesglobal && ( <> {navbarOptions?.map((item) => ( @@ -1292,6 +1306,22 @@ const BSNavbar1 = (props) => { )} + + setMultiple(false)} + destroyOnClose={true} + children={ + <> + + + } + /> ); }; From ba12d2ed1fb0b8a0959979e7f8de1e7a0251e2a3 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 28 Jan 2026 17:34:46 +0530 Subject: [PATCH 10/10] Added new multiple seach icon in sales page --- .../BookingScreen/BookingData/BookingData.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Features/BookingScreen/BookingData/BookingData.js b/src/Features/BookingScreen/BookingData/BookingData.js index 9f7d995..e3f29b2 100644 --- a/src/Features/BookingScreen/BookingData/BookingData.js +++ b/src/Features/BookingScreen/BookingData/BookingData.js @@ -1460,6 +1460,23 @@ export const CustomerOrderList = createAsyncThunk( } ); +// post /ProductSearch +export const PostProductSearch = createAsyncThunk( + 'multipleSearch/ProductSearch', + async (postData) => { + return await axiosRetailInstanceData.post(`/ProductSearch`, postData); + } +); +// get /GetProductSearch +export const getmultipleSearch = createAsyncThunk( + 'multipleSearch/GetProductSearch', + async (data) => { + return await axiosRetailInstanceData.get( + `/GetProductSearch?compId=${data?.CompId}&branchId=${data?.BranchId}&appId=${data?.AppId}` + ); + } +); + const initialState = {