Merge pull request 'Solved Issue' (#176) from PushMainVM into main
Reviewed-on: Pozomind/pozo-retail-app#176
This commit is contained in:
commit
65eb86ffdd
81
src/App.jsx
81
src/App.jsx
|
|
@ -10,8 +10,12 @@ import { routesConfig } from './routesConfig';
|
|||
import { GlobalItemCard } from './Features/BookingScreen/BookingData/BookingData.js';
|
||||
import { clearSession, getSession } from './Services/Others.js';
|
||||
|
||||
const KisokSelBooking = lazy(() => import('./Pages/SelfBooking/KisokSelBooking'));
|
||||
const IndividualBooking = lazy(() => import('./Pages/SelfBooking/IndividualBooking'));
|
||||
const KisokSelBooking = lazy(
|
||||
() => import('./Pages/SelfBooking/KisokSelBooking')
|
||||
);
|
||||
const IndividualBooking = lazy(
|
||||
() => import('./Pages/SelfBooking/IndividualBooking')
|
||||
);
|
||||
|
||||
const commonSubDir = import.meta.env.ENV_COMMON_BASE_URL;
|
||||
const subDirectory = import.meta.env.ENV_BASE_URL;
|
||||
|
|
@ -23,7 +27,7 @@ import useSubscriptionManager from './useSubscriptionManager.js';
|
|||
import useSessionManager from './useSessionManager.js';
|
||||
import ExtendSubscriptionModal from './Pages/ExtentedModal/ExtendSubscriptionModal.jsx';
|
||||
|
||||
const isCapacitor = () => !!(window.Capacitor?.isNativePlatform?.());
|
||||
const isCapacitor = () => !!window.Capacitor?.isNativePlatform?.();
|
||||
|
||||
// ✅ Define your home/exit pages here
|
||||
const HOME_PAGES = [
|
||||
|
|
@ -37,7 +41,14 @@ const LOGIN_PAGES = ['signin', 'login', 'auth'];
|
|||
const AppRoutes = () => {
|
||||
const ItemCard = useSelector(GlobalItemCard);
|
||||
const { sessionData, logout } = useSessionManager(ItemCard);
|
||||
const { remainingDays, handleCancel, freeExtend, extendModel,handlePay, setExtendModel } = useSubscriptionManager(sessionData, logout);
|
||||
const {
|
||||
remainingDays,
|
||||
handleCancel,
|
||||
freeExtend,
|
||||
extendModel,
|
||||
handlePay,
|
||||
setExtendModel,
|
||||
} = useSubscriptionManager(sessionData, logout);
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
|
||||
|
|
@ -56,7 +67,7 @@ const AppRoutes = () => {
|
|||
const path = location.pathname + (location.search || '');
|
||||
|
||||
// Don't track login pages
|
||||
if (LOGIN_PAGES.some(p => path.includes(p))) return;
|
||||
if (LOGIN_PAGES.some((p) => path.includes(p))) return;
|
||||
|
||||
const raw = sessionStorage.getItem('navStack');
|
||||
let stack = raw ? JSON.parse(raw) : [];
|
||||
|
|
@ -78,7 +89,7 @@ const AppRoutes = () => {
|
|||
const currentPath = location.pathname;
|
||||
|
||||
// On home page — just stay, don't redirect
|
||||
if (HOME_PAGES.some(p => currentPath.includes(p))) {
|
||||
if (HOME_PAGES.some((p) => currentPath.includes(p))) {
|
||||
window.history.go(1); // stay here
|
||||
return;
|
||||
}
|
||||
|
|
@ -104,42 +115,44 @@ const AppRoutes = () => {
|
|||
useEffect(() => {
|
||||
if (!isMobile && !isIOS && !isCapacitor()) return;
|
||||
|
||||
const handler = async () => {
|
||||
let backButtonListener;
|
||||
|
||||
const setupBackButton = async () => {
|
||||
try {
|
||||
backButtonListener = await CapacitorApp.addListener(
|
||||
'backButton',
|
||||
async () => {
|
||||
try {
|
||||
const currentPath = location.pathname + (location.search || '');
|
||||
console.log('🔙 Back pressed:', currentPath);
|
||||
|
||||
// ✅ On home page
|
||||
if (HOME_PAGES.some(p => currentPath.includes(p))) {
|
||||
// 🏠 Home page → minimize
|
||||
if (HOME_PAGES.some((p) => currentPath.includes(p))) {
|
||||
if (isCapacitor()) {
|
||||
console.log('📱 Minimizing app');
|
||||
await CapacitorApp.minimizeApp(); // minimize — not exit
|
||||
await CapacitorApp.minimizeApp();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// ✅ On login page → exit app
|
||||
if (LOGIN_PAGES.some(p => currentPath.includes(p))) {
|
||||
console.log('🚪 Exiting app');
|
||||
if (isCapacitor()) await CapacitorApp.exitApp();
|
||||
// 🚪 Login page → exit
|
||||
if (LOGIN_PAGES.some((p) => currentPath.includes(p))) {
|
||||
if (isCapacitor()) {
|
||||
await CapacitorApp.exitApp();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// ✅ Get stack and go back one by one
|
||||
const raw = sessionStorage.getItem('navStack');
|
||||
let stack = raw ? JSON.parse(raw) : [];
|
||||
|
||||
// Remove current path from top
|
||||
while (stack.length > 0 && stack[stack.length - 1] === currentPath) {
|
||||
while (stack.length && stack[stack.length - 1] === currentPath) {
|
||||
stack.pop();
|
||||
}
|
||||
|
||||
if (stack.length > 0) {
|
||||
if (stack.length) {
|
||||
const previous = stack[stack.length - 1];
|
||||
|
||||
// If previous is login → go to home instead
|
||||
if (LOGIN_PAGES.some(p => previous.includes(p))) {
|
||||
console.log('⬅️ Previous was login → going home');
|
||||
if (LOGIN_PAGES.some((p) => previous.includes(p))) {
|
||||
const home = '/landing-page/home';
|
||||
sessionStorage.setItem('navStack', JSON.stringify([home]));
|
||||
isBackNav.current = true;
|
||||
|
|
@ -147,34 +160,32 @@ const AppRoutes = () => {
|
|||
return;
|
||||
}
|
||||
|
||||
console.log('⬅️ Back to:', previous);
|
||||
sessionStorage.setItem('navStack', JSON.stringify(stack));
|
||||
isBackNav.current = true; // ✅ Prevent loop
|
||||
isBackNav.current = true;
|
||||
navigate(previous);
|
||||
|
||||
} else {
|
||||
// Stack empty → go home
|
||||
const home = '/landing-page/home';
|
||||
console.log('📭 Stack empty → home');
|
||||
sessionStorage.setItem('navStack', JSON.stringify([home]));
|
||||
isBackNav.current = true;
|
||||
navigate(home);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Back error:', e);
|
||||
} catch (err) {
|
||||
console.error('Back handler error:', err);
|
||||
navigate('/landing-page/home');
|
||||
}
|
||||
}
|
||||
);
|
||||
} catch (err) {
|
||||
console.error('Listener error:', err);
|
||||
}
|
||||
};
|
||||
|
||||
let listener;
|
||||
try {
|
||||
listener = CapacitorApp.addListener('backButton', handler);
|
||||
} catch (e) {}
|
||||
setupBackButton();
|
||||
|
||||
return () => {
|
||||
try {
|
||||
if (listener?.remove) listener.remove();
|
||||
} catch (e) {}
|
||||
backButtonListener?.remove();
|
||||
} catch (err) {}
|
||||
};
|
||||
}, [navigate, location.pathname, location.search]);
|
||||
|
||||
|
|
|
|||
|
|
@ -2252,7 +2252,8 @@ const BSBillingTable1 = () => {
|
|||
{OldtableDataTakeAway?.map((item, index) => (
|
||||
<tr
|
||||
key={index}
|
||||
className={`${item?.SalesId && OrderType !== 'Hold'
|
||||
className={`${
|
||||
item?.SalesId && OrderType !== 'Hold'
|
||||
? 'Billing-Table1-row-disabled'
|
||||
: 'Billing-Table1-row'
|
||||
}
|
||||
|
|
@ -2547,7 +2548,8 @@ const BSBillingTable1 = () => {
|
|||
{OldtableDataDinein?.map((item, index) => (
|
||||
<tr
|
||||
key={OldtableDataTakeAway?.length + index}
|
||||
className={`${item?.SalesId
|
||||
className={`${
|
||||
item?.SalesId
|
||||
? 'Billing-Table1-row-disabled'
|
||||
: 'Billing-Table1-row'
|
||||
}
|
||||
|
|
@ -2843,7 +2845,8 @@ const BSBillingTable1 = () => {
|
|||
OldtableDataTakeAway?.length +
|
||||
index
|
||||
}
|
||||
className={`${BookingType === 'Dine In' && item?.SalesId
|
||||
className={`${
|
||||
BookingType === 'Dine In' && item?.SalesId
|
||||
? 'Billing-Table1-row-disabled'
|
||||
: 'Billing-Table1-row'
|
||||
}
|
||||
|
|
@ -3188,7 +3191,8 @@ const BSBillingTable1 = () => {
|
|||
tableDataTakeAway?.length +
|
||||
index
|
||||
}
|
||||
className={`${BookingType === 'Dine In' && item?.SalesId
|
||||
className={`${
|
||||
BookingType === 'Dine In' && item?.SalesId
|
||||
? 'Billing-Table1-row-disabled'
|
||||
: 'Billing-Table1-row'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,14 +130,24 @@ const BsBill2 = () => {
|
|||
const productBasedExtraCharges = GlobalExtraCharge.filter(
|
||||
(obj) => 'ProdName' in obj
|
||||
);
|
||||
const overAllLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => (item.SettingIdName?.toLowerCase() === 'overalllimit') && item?.SettingValue === 'Y');
|
||||
const itemWiseLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName?.toLowerCase() === 'itemwiselimit' && item?.SettingValue === 'Y');
|
||||
const maxQtyLimit = itemWiseLimitPreferenece?.SettingCount || overAllLimitPreferenece?.SettingCount || null;
|
||||
|
||||
const overAllLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'overalllimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const itemWiseLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'itemwiselimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const maxQtyLimit =
|
||||
itemWiseLimitPreferenece?.SettingCount ||
|
||||
overAllLimitPreferenece?.SettingCount ||
|
||||
null;
|
||||
|
||||
const tableDataDinein = CartOrderDetails?.filter(
|
||||
(a, b) => a.BookingTypeName === 'Dine In' && !a?.SalesId
|
||||
|
|
@ -283,8 +293,8 @@ const BsBill2 = () => {
|
|||
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
|
||||
if (overAllLimitPreferenece) {
|
||||
const calculatedOverAllQty = calculateOverAllQtyLimit(CartOrderDetails);
|
||||
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
|
||||
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
|
||||
if (calculatedOverAllQty + 1 > maxQtyLimit) {
|
||||
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -1463,31 +1473,23 @@ const BsBill2 = () => {
|
|||
|
||||
<div className="summary-listedit-div">
|
||||
<div className="items-editables">
|
||||
{/* <MinusOutlined onClick={() => decline(item)} /> */}
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<MinusOutlined onClick={() => decline(item)} />
|
||||
</Suspense>
|
||||
|
||||
<Badge count={item?.OrderQty} overflowCount={10000}>
|
||||
{' '}
|
||||
</Badge>
|
||||
{item?.StockAvailable === 'Y' ? (
|
||||
returnCount(item) > 0 && (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)
|
||||
) : (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)}
|
||||
|
||||
<Suspense fallback={<span>Loading Edit...</span>}>
|
||||
<EditOutlined
|
||||
style={{ fontSize: '14px' }}
|
||||
onClick={() => handleEditQuantity(item)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1688,30 +1690,22 @@ const BsBill2 = () => {
|
|||
<div className="items-editables">
|
||||
{/* <MinusOutlined onClick={() => decline(item)} />
|
||||
*/}
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<MinusOutlined onClick={() => decline(item)} />
|
||||
</Suspense>
|
||||
<Badge count={item?.OrderQty} overflowCount={10000}>
|
||||
{' '}
|
||||
</Badge>
|
||||
{item?.StockAvailable === 'Y' ? (
|
||||
returnCount(item) > 0 && (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)
|
||||
) : (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)}
|
||||
|
||||
<Suspense fallback={<span>Loading Edit...</span>}>
|
||||
<EditOutlined
|
||||
style={{ fontSize: '14px' }}
|
||||
onClick={() => handleEditQuantity(item)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1946,15 +1940,12 @@ const BsBill2 = () => {
|
|||
|
||||
<div className="summary-listedit-div">
|
||||
<div className="items-editables">
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<MinusOutlined onClick={() => decline(item)} />
|
||||
</Suspense>
|
||||
<Badge count={item?.OrderQty} overflowCount={10000}>
|
||||
{' '}
|
||||
</Badge>
|
||||
{item?.StockAvailable === 'Y' ? (
|
||||
returnCount(item) > 0 && (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined
|
||||
onClick={() =>
|
||||
item.Type == 'P' || item.Type == 'C'
|
||||
|
|
@ -1964,10 +1955,8 @@ const BsBill2 = () => {
|
|||
: ''
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
)
|
||||
) : (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined
|
||||
onClick={() =>
|
||||
item.Type == 'P' || item.Type == 'C'
|
||||
|
|
@ -1977,15 +1966,12 @@ const BsBill2 = () => {
|
|||
: ''
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
)}
|
||||
|
||||
<Suspense fallback={<span>Loading Edit...</span>}>
|
||||
<EditOutlined
|
||||
style={{ fontSize: '14px' }}
|
||||
onClick={() => handleEditQuantity(item)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -2205,30 +2191,22 @@ const BsBill2 = () => {
|
|||
|
||||
<div className="summary-listedit-div">
|
||||
<div className="items-editables">
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<MinusOutlined onClick={() => decline(item)} />
|
||||
</Suspense>
|
||||
<Badge count={item?.OrderQty} overflowCount={10000}>
|
||||
{' '}
|
||||
</Badge>
|
||||
{item?.StockAvailable === 'Y' ? (
|
||||
returnCount(item) > 0 && (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)
|
||||
) : (
|
||||
<Suspense fallback={<span>Loading...</span>}>
|
||||
<PlusOutlined onClick={() => increase(item)} />
|
||||
</Suspense>
|
||||
)}
|
||||
|
||||
<Suspense fallback={<span>Loading Edit...</span>}>
|
||||
<EditOutlined
|
||||
style={{ fontSize: '14px' }}
|
||||
onClick={() => handleEditQuantity(item)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import defaultupi from '../../../../../Images/defaultupi.png';
|
|||
import pozologoimg from '../../../../../Images/pozologoimg.png';
|
||||
import paydevice from '../../../../../Images/paydevice.png';
|
||||
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable5/BSBillingTable15.scss';
|
||||
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTables3/BSBillingTable3.scss';
|
||||
import { isMobile } from 'react-device-detect';
|
||||
import {
|
||||
GlobalSelectedFont,
|
||||
|
|
|
|||
|
|
@ -128,7 +128,8 @@ const BsBill = () => {
|
|||
const GetCustId = useSelector(GlobalCustId);
|
||||
const selectedCustomer = useSelector(GlobalSelOption);
|
||||
|
||||
const [customerPriceHistoryOpen, setCustomerPriceHistoryOpen] = useState(false);
|
||||
const [customerPriceHistoryOpen, setCustomerPriceHistoryOpen] =
|
||||
useState(false);
|
||||
const [customerProduct, setCustomerProduct] = useState(null);
|
||||
const [PreviousdataLength, setPreviousdataLength] =
|
||||
useState(PreviousOrderLength);
|
||||
|
|
@ -145,14 +146,24 @@ const BsBill = () => {
|
|||
const OrderType = useSelector(GlobalOrderType);
|
||||
const GlobEstBooking = useSelector(GlobalEstimateBooking);
|
||||
const GlobalExtraCharge = useSelector(globalExtraTotalAmount);
|
||||
const overAllLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => (item.SettingIdName?.toLowerCase() === 'overalllimit') && item?.SettingValue === 'Y');
|
||||
const itemWiseLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName?.toLowerCase() === 'itemwiselimit' && item?.SettingValue === 'Y');
|
||||
const maxQtyLimit = itemWiseLimitPreferenece?.SettingCount || overAllLimitPreferenece?.SettingCount || null;
|
||||
|
||||
const overAllLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'overalllimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const itemWiseLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'itemwiselimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const maxQtyLimit =
|
||||
itemWiseLimitPreferenece?.SettingCount ||
|
||||
overAllLimitPreferenece?.SettingCount ||
|
||||
null;
|
||||
|
||||
const OtherServicesglobal = useSelector(GlobalOtherSevices);
|
||||
|
||||
|
|
@ -853,7 +864,6 @@ const BsBill = () => {
|
|||
e?.BookingTypeName != item?.BookingTypeName
|
||||
);
|
||||
|
||||
|
||||
if (TableData?.length <= 1) {
|
||||
await dispatch(changeReorderHoldDetails({}));
|
||||
await dispatch(changeReorderProductDetails([]));
|
||||
|
|
@ -1726,7 +1736,6 @@ const BsBill = () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
// const removeFromCart = async (item) => {
|
||||
// setPreviousdataLength(TableData?.length);
|
||||
|
|
@ -1988,7 +1997,6 @@ const BsBill = () => {
|
|||
event.preventDefault();
|
||||
handleShortcut('weightAmount');
|
||||
}
|
||||
|
||||
};
|
||||
window.addEventListener('keydown', handleKeyDown);
|
||||
|
||||
|
|
@ -2140,11 +2148,10 @@ const BsBill = () => {
|
|||
setMessageType(null);
|
||||
}, []);
|
||||
const increase = async (item) => {
|
||||
|
||||
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
|
||||
if (overAllLimitPreferenece) {
|
||||
const calculatedOverAllQty = calculateOverAllQtyLimit(TableData);
|
||||
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
|
||||
if (calculatedOverAllQty + 1 > maxQtyLimit) {
|
||||
setMessageData(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
|
||||
setMessageType('warning');
|
||||
return;
|
||||
|
|
@ -2511,7 +2518,7 @@ const BsBill = () => {
|
|||
const handleCustomerProductPriceHistory = (item) => {
|
||||
setCustomerPriceHistoryOpen(true);
|
||||
setCustomerProduct(item?.ProdId);
|
||||
}
|
||||
};
|
||||
const decline = async (item) => {
|
||||
setPreviousdataLength(TableData?.length);
|
||||
const isItemInCart = TableData?.find(
|
||||
|
|
@ -3098,7 +3105,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '10px',
|
||||
padding: '1px',
|
||||
}}
|
||||
|
|
@ -3118,7 +3125,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '10px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -3135,7 +3142,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
}}
|
||||
>
|
||||
{!isMobile ? (
|
||||
|
|
@ -3151,7 +3158,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '20px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -3168,7 +3175,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '20px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -3185,7 +3192,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '20px',
|
||||
}}
|
||||
// onClick={TableData?.length>0? OpenEditTotalAmount :""}
|
||||
|
|
@ -3208,7 +3215,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '20px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -3225,7 +3232,7 @@ const BsBill = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '20px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -3245,7 +3252,7 @@ const BsBill = () => {
|
|||
padding: '0.5rem',
|
||||
borderBottom: '1.9px solid #000',
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '10px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -4653,7 +4660,7 @@ const BsBill = () => {
|
|||
ProductDetail={Modaldata}
|
||||
/>
|
||||
)}
|
||||
{(customerPriceHistoryOpen && GetCustId) &&
|
||||
{customerPriceHistoryOpen && GetCustId && (
|
||||
<CustomerPriceHistory
|
||||
open={customerPriceHistoryOpen}
|
||||
custId={GetCustId}
|
||||
|
|
@ -4662,7 +4669,7 @@ const BsBill = () => {
|
|||
setCustomerProduct={setCustomerProduct}
|
||||
selectedCustomer={selectedCustomer}
|
||||
/>
|
||||
}
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1044,7 +1044,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: isPaidproduct?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: 0,
|
||||
OrderRate: isPaidproduct?.OrderRate
|
||||
OrderRate: isPaidproduct?.OrderRate,
|
||||
});
|
||||
} else if (isPaidproduct?.OrderQty > item?.OrderQty) {
|
||||
// Just Decrease Paid Qty
|
||||
|
|
@ -1218,7 +1218,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: item?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: item?.Offer,
|
||||
OrderRate: item?.OrderRate
|
||||
OrderRate: item?.OrderRate,
|
||||
});
|
||||
await ChangeFreeprodlistFn({
|
||||
OverAllFreeQty: isCheckFreeProduct?.OverAllFreeQty,
|
||||
|
|
@ -1329,7 +1329,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: item?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: item?.Offer,
|
||||
OrderRate: item?.OrderRate
|
||||
OrderRate: item?.OrderRate,
|
||||
});
|
||||
await ChangeOfferAppliedProdsFn({
|
||||
inwardDtlId: item?.InwardDtlId,
|
||||
|
|
@ -1361,7 +1361,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: isPaidProductAvailableInCart?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: 0,
|
||||
OrderRate: isPaidProductAvailableInCart?.OrderRate
|
||||
OrderRate: isPaidProductAvailableInCart?.OrderRate,
|
||||
});
|
||||
} else if (
|
||||
isPaidProductAvailableInCart?.OrderQty > item?.OrderQty
|
||||
|
|
@ -1445,7 +1445,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: item?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: item?.Offer,
|
||||
OrderRate: item?.OrderRate
|
||||
OrderRate: item?.OrderRate,
|
||||
});
|
||||
await ChangeFreeprodlistFn({
|
||||
OverAllFreeQty: freeProdList?.OverAllFreeQty,
|
||||
|
|
@ -1472,7 +1472,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: item?.InwardDtlId,
|
||||
BuyInwardDtlId: null,
|
||||
Offer: item?.Offer,
|
||||
OrderRate: item?.OrderRate
|
||||
OrderRate: item?.OrderRate,
|
||||
});
|
||||
await ChangeFreeprodlistFn({
|
||||
OverAllFreeQty: freeProdList?.OverAllFreeQty,
|
||||
|
|
@ -1819,7 +1819,7 @@ const BSBillingTable7 = () => {
|
|||
InwardDtlId: item?.InwardDtlId,
|
||||
BuyInwardDtlId: item?.InwardDtlId,
|
||||
Offer: item?.Offer,
|
||||
OrderRate: item?.OrderRate
|
||||
OrderRate: item?.OrderRate,
|
||||
});
|
||||
await ChangeFreeprodlistFn({
|
||||
OverAllFreeQty: item?.OrderQty,
|
||||
|
|
@ -1998,7 +1998,7 @@ const BSBillingTable7 = () => {
|
|||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
padding: '8px',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '10px',
|
||||
}}
|
||||
>
|
||||
|
|
@ -2017,7 +2017,7 @@ const BSBillingTable7 = () => {
|
|||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
padding: '8px',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
}}
|
||||
>
|
||||
{!isMobile ? (
|
||||
|
|
@ -2033,7 +2033,7 @@ const BSBillingTable7 = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
padding: '8px',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '5%',
|
||||
}}
|
||||
>
|
||||
|
|
@ -2051,7 +2051,7 @@ const BSBillingTable7 = () => {
|
|||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
padding: '8px',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '5%',
|
||||
}}
|
||||
>
|
||||
|
|
@ -2068,7 +2068,7 @@ const BSBillingTable7 = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
padding: '8px',
|
||||
width: '5%',
|
||||
}}
|
||||
|
|
@ -2092,7 +2092,7 @@ const BSBillingTable7 = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '5%',
|
||||
padding: '8px',
|
||||
}}
|
||||
|
|
@ -2110,7 +2110,7 @@ const BSBillingTable7 = () => {
|
|||
style={{
|
||||
fontFamily: SelectedFont,
|
||||
fontWeight: '600',
|
||||
fontSize: '16px',
|
||||
fontSize: '14px',
|
||||
width: '5%',
|
||||
padding: '8px',
|
||||
}}
|
||||
|
|
@ -2187,7 +2187,8 @@ const BSBillingTable7 = () => {
|
|||
}
|
||||
// onClick={editdelete === "Edit" ? () => handleEditQuantity(item) : editdelete === "Delete" ? () => removeFromCart(item) : ""}
|
||||
|
||||
className={`${item?.SalesId && OrderType !== 'Hold'
|
||||
className={`${
|
||||
item?.SalesId && OrderType !== 'Hold'
|
||||
? 'BSBill-Table7-content-disabled'
|
||||
: 'BSBill-Table7-content'
|
||||
}
|
||||
|
|
@ -2416,7 +2417,8 @@ const BSBillingTable7 = () => {
|
|||
}
|
||||
// onClick={editdelete === "Edit" ? () => handleEditQuantity(item) : editdelete === "Delete" ? () => removeFromCart(item) : ""}
|
||||
|
||||
className={`${item?.SalesId
|
||||
className={`${
|
||||
item?.SalesId
|
||||
? 'BSBill-Table7-content-disabled'
|
||||
: 'BSBill-Table7-content'
|
||||
}
|
||||
|
|
@ -2684,7 +2686,8 @@ const BSBillingTable7 = () => {
|
|||
}
|
||||
// onClick={editdelete === "Edit" ? () => handleEditQuantity(item) : editdelete === "Delete" ? () => removeFromCart(item) : ""}
|
||||
|
||||
className={`${BookingType === 'Dine In' && item?.SalesId
|
||||
className={`${
|
||||
BookingType === 'Dine In' && item?.SalesId
|
||||
? 'BSBill-Table7-content-disabled'
|
||||
: 'BSBill-Table7-content'
|
||||
}
|
||||
|
|
@ -2951,7 +2954,8 @@ const BSBillingTable7 = () => {
|
|||
}
|
||||
// onClick={editdelete === "Edit" ? () => handleEditQuantity(item) : editdelete === "Delete" ? () => removeFromCart(item) : ""}
|
||||
|
||||
className={`${BookingType === 'Dine In' && item?.SalesId
|
||||
className={`${
|
||||
BookingType === 'Dine In' && item?.SalesId
|
||||
? 'BSBill-Table7-content-disabled'
|
||||
: 'BSBill-Table7-content'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -205,9 +205,8 @@ const OtherServicePrintStyle1 = lazy(
|
|||
() =>
|
||||
import('../../../PrintTemplates/ThermalPrinter/OtherServicePrintStyle1.jsx')
|
||||
);
|
||||
const OtherServiceMobilePrint = lazy(
|
||||
() => import('../../BookingFunctionality/OtherServiceMobilePrint.jsx')
|
||||
);
|
||||
import OtherServiceMobilePrint from '../../BookingFunctionality/OtherServiceMobilePrint.jsx';
|
||||
|
||||
const QrinScreen = lazy(
|
||||
() => import('../../BookingFunctionality/DynamicScreenQr.jsx')
|
||||
);
|
||||
|
|
@ -3605,13 +3604,6 @@ const StandardTablePayment = () => {
|
|||
title="Share on WhatsApp"
|
||||
/>
|
||||
)}
|
||||
{/* <FaPrint
|
||||
size={32}
|
||||
color="#1292EE"
|
||||
style={{ cursor: 'pointer' }}
|
||||
onClick={handlePrintOrToken}
|
||||
title="Print"
|
||||
/> */}
|
||||
|
||||
{(filteredSettingNames?.includes('Print') ||
|
||||
!MobileNoWhatsApp ||
|
||||
|
|
@ -4196,8 +4188,7 @@ const StandardTablePayment = () => {
|
|||
}
|
||||
/>
|
||||
)}
|
||||
{
|
||||
OtherServicesPrintDetails?.length > 0 && (
|
||||
{OtherServicesPrintDetails?.length > 0 && (
|
||||
// PrintOrderDetails?.[0]?.OrderDetails?.map((orderDetail, index) => (
|
||||
<div style={{ display: 'none' }}>
|
||||
<OtherServicePrintStyle1
|
||||
|
|
@ -4217,9 +4208,7 @@ const StandardTablePayment = () => {
|
|||
printDatas={printDatas}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
// ))
|
||||
}
|
||||
)}
|
||||
</div>
|
||||
</Suspense>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import React, {
|
||||
lazy,
|
||||
Suspense,
|
||||
useCallback,
|
||||
useEffect,
|
||||
useRef,
|
||||
|
|
@ -11,13 +10,9 @@ import { useDispatch, useSelector } from 'react-redux';
|
|||
import { useNavigate } from 'react-router-dom';
|
||||
import { TiLocation } from 'react-icons/ti';
|
||||
import { BsFillPersonFill } from 'react-icons/bs';
|
||||
import { PiStorefrontFill } from 'react-icons/pi';
|
||||
import { BiSolidDashboard, BiSolidReport } from 'react-icons/bi';
|
||||
import { FaUserLarge } from 'react-icons/fa6';
|
||||
import { BiSolidPhoneCall } from 'react-icons/bi';
|
||||
import { CgMenuGridR } from 'react-icons/cg';
|
||||
import { MdTableChart } from 'react-icons/md';
|
||||
import { MdEdit } from 'react-icons/md';
|
||||
import MyTime, { DateDisplay, TimeDisplay } from './BSTimer.jsx';
|
||||
import '../../../../Styles/BookingScreen/Template/BSLayout7/BSC1NavBar.scss';
|
||||
import {
|
||||
|
|
@ -31,7 +26,6 @@ import {
|
|||
sessionStore,
|
||||
} from '../../../../Services/Others';
|
||||
import PozoHomeIcon from '../UtillComponents/Pozo retail icons/PozoHomeIcon.jsx';
|
||||
import { GlobalCompBranchData } from '../../../../Features/BrachLogin/BranchLogin.js';
|
||||
import { isMobile } from 'react-device-detect';
|
||||
import { FaDisplay } from 'react-icons/fa6';
|
||||
import {
|
||||
|
|
@ -233,7 +227,6 @@ const BSC1NavBar = () => {
|
|||
}
|
||||
}, [isFullscreen]);
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<>
|
||||
<div
|
||||
className="BSC1NavBar-Container"
|
||||
|
|
@ -298,7 +291,6 @@ const BSC1NavBar = () => {
|
|||
</div>
|
||||
|
||||
<div className="BSC1NavBar-name">
|
||||
{/* <PiStorefrontFill className="BSC1NavBar-name-icon" /> */}
|
||||
<TooltipWrapper placement="bottom" title={branchData.branchName}>
|
||||
<span className="BSC1NavBar-ellipsisname">
|
||||
{branchData.branchName}
|
||||
|
|
@ -336,9 +328,7 @@ const BSC1NavBar = () => {
|
|||
<Tooltip title={isFullscreen ? 'Exit Full Screen' : 'Full Screen'}>
|
||||
<div
|
||||
className={
|
||||
isFullscreen
|
||||
? 'BsNavbar1FullScreenExit'
|
||||
: 'BsNavbar1FullScreen'
|
||||
isFullscreen ? 'BsNavbar1FullScreenExit' : 'BsNavbar1FullScreen'
|
||||
}
|
||||
onClick={handleFullscreen}
|
||||
>
|
||||
|
|
@ -392,7 +382,6 @@ const BSC1NavBar = () => {
|
|||
</div>
|
||||
</div>
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import React, { useEffect, useState, useRef, lazy, Suspense } from 'react';
|
||||
import React, { useEffect, useState, useRef, lazy } from 'react';
|
||||
import { FaWhatsapp, FaPrint, FaParking, FaCartPlus } from 'react-icons/fa';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
|
|
@ -3479,7 +3479,6 @@ const BSC1Payment = (props) => {
|
|||
};
|
||||
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<>
|
||||
<div
|
||||
className="BSC1Payment-Container"
|
||||
|
|
@ -3570,8 +3569,7 @@ const BSC1Payment = (props) => {
|
|||
BookingType !== 'TakeAway' && ChangeTakeAway()
|
||||
}
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<PozoTakeAway
|
||||
|
|
@ -3628,10 +3626,7 @@ const BSC1Payment = (props) => {
|
|||
title="Alt + A"
|
||||
open={isAltPressed}
|
||||
>
|
||||
<TooltipWrapper
|
||||
title={'Extra Charge'}
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title={'Extra Charge'} isMobile={isMobile}>
|
||||
<div
|
||||
className="BSC1Payment-div1-btns"
|
||||
onClick={handleextraCharges}
|
||||
|
|
@ -3938,10 +3933,7 @@ const BSC1Payment = (props) => {
|
|||
}}
|
||||
onClick={() =>
|
||||
payment?.ModeName?.toLowerCase() === 'upi' // Change the condition to payment.Id
|
||||
? handleUPIButtonClick(
|
||||
payment.ModeId,
|
||||
payment.ModeName
|
||||
)
|
||||
? handleUPIButtonClick(payment.ModeId, payment.ModeName)
|
||||
: handlePaymentMode(payment.ModeId, payment.ModeName)
|
||||
}
|
||||
>
|
||||
|
|
@ -4114,14 +4106,6 @@ const BSC1Payment = (props) => {
|
|||
</div>
|
||||
</TooltipWrapper>
|
||||
|
||||
{/* <div className='BSC1Payment-div2-2'>
|
||||
<select className='BSC1Payment-div2-button'>
|
||||
<option className='BSC1Payment-div1-btns'>CASH</option>
|
||||
<option className='BSC1Payment-div1-btns'>CARD</option>
|
||||
<option className='BSC1Payment-div1-btns'>UPI</option>
|
||||
</select>
|
||||
</div> */}
|
||||
|
||||
<div class="BSC1Payment-vl"></div>
|
||||
|
||||
<div className="BSC1Payment-div3">
|
||||
|
|
@ -4150,10 +4134,7 @@ const BSC1Payment = (props) => {
|
|||
>
|
||||
<div style={{ width: '3rem' }}>Qty </div>
|
||||
<div style={{ width: '4px' }}> : </div>
|
||||
<div style={{ textAlign: 'right', width: '1rem' }}>
|
||||
{' '}
|
||||
{Qty}{' '}
|
||||
</div>
|
||||
<div style={{ textAlign: 'right', width: '1rem' }}> {Qty} </div>
|
||||
</div>
|
||||
<div
|
||||
style={{ display: 'flex', alignItems: 'center' }}
|
||||
|
|
@ -4259,9 +4240,7 @@ const BSC1Payment = (props) => {
|
|||
>
|
||||
<div
|
||||
style={{
|
||||
backgroundColor: Holddata
|
||||
? '#52c41a'
|
||||
: 'default',
|
||||
backgroundColor: Holddata ? '#52c41a' : 'default',
|
||||
color: Holddata ? '#ffffffff' : 'default',
|
||||
height: '40px',
|
||||
width: '45px',
|
||||
|
|
@ -4290,16 +4269,11 @@ const BSC1Payment = (props) => {
|
|||
{tabledata?.length > 0 && dinePreference && (
|
||||
<>
|
||||
{item?.OptionName == 'UnpaidBill' && (
|
||||
<TooltipWrapper
|
||||
title="Unpaid Bills"
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title="Unpaid Bills" isMobile={isMobile}>
|
||||
{' '}
|
||||
<div
|
||||
style={{
|
||||
backgroundColor: unpaidFlow
|
||||
? '#52c41a'
|
||||
: '#1292EE',
|
||||
backgroundColor: unpaidFlow ? '#52c41a' : '#1292EE',
|
||||
color: unpaidFlow ? '#ffffffff' : '#ffffffff',
|
||||
height: '40px',
|
||||
width: '40px',
|
||||
|
|
@ -4485,8 +4459,7 @@ const BSC1Payment = (props) => {
|
|||
: ''
|
||||
}
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
/>
|
||||
</TooltipWrapper>
|
||||
|
|
@ -4568,10 +4541,7 @@ const BSC1Payment = (props) => {
|
|||
}}
|
||||
>
|
||||
<BSCustomerSelect />
|
||||
<TooltipWrapper
|
||||
title={'Add Customer'}
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title={'Add Customer'} isMobile={isMobile}>
|
||||
<div>
|
||||
<PozoAddCustomerIcon
|
||||
className="BSBillingNav-icon-table-icon bspaymentcomboAddCus"
|
||||
|
|
@ -4875,10 +4845,9 @@ const BSC1Payment = (props) => {
|
|||
children={
|
||||
<>
|
||||
<div>
|
||||
You have already selected a table. If you click 'OK,' the
|
||||
table selection will be removed, and the unpaid flow will
|
||||
continue. If you click 'Cancel,' the dine-in flow will proceed
|
||||
as selected.
|
||||
You have already selected a table. If you click 'OK,' the table
|
||||
selection will be removed, and the unpaid flow will continue. If
|
||||
you click 'Cancel,' the dine-in flow will proceed as selected.
|
||||
</div>
|
||||
</>
|
||||
}
|
||||
|
|
@ -5035,7 +5004,6 @@ const BSC1Payment = (props) => {
|
|||
/>
|
||||
)}
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,4 @@
|
|||
import {
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
useCallback,
|
||||
Suspense,
|
||||
lazy,
|
||||
} from 'react';
|
||||
import { useEffect, useRef, useState, useCallback, lazy } from 'react';
|
||||
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
||||
import moment from 'moment';
|
||||
import { BiBarcodeReader } from 'react-icons/bi';
|
||||
|
|
@ -133,13 +126,24 @@ export default function BSC1Search(props) {
|
|||
const FeatureAddonData = useSelector(GlobalFeatAddOnData);
|
||||
useSaleswiseOfferWatcher();
|
||||
const preferenceDatas = useSelector(PreferenceData);
|
||||
const overAllLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => (item.SettingIdName?.toLowerCase() === 'overalllimit') && item?.SettingValue === 'Y');
|
||||
const itemWiseLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName?.toLowerCase() === 'itemwiselimit' && item?.SettingValue === 'Y');
|
||||
const maxQtyLimit = itemWiseLimitPreferenece?.SettingCount || overAllLimitPreferenece?.SettingCount || null;
|
||||
const overAllLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'overalllimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const itemWiseLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'itemwiselimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const maxQtyLimit =
|
||||
itemWiseLimitPreferenece?.SettingCount ||
|
||||
overAllLimitPreferenece?.SettingCount ||
|
||||
null;
|
||||
const preferenceOffer =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName === 'Offer'
|
||||
|
|
@ -253,22 +257,27 @@ export default function BSC1Search(props) {
|
|||
document.activeElement.tagName !== 'INPUT' &&
|
||||
document.activeElement.tagName !== 'TEXTAREA'
|
||||
) {
|
||||
event.preventDefault(); // Stops "S" from being typed
|
||||
event.preventDefault();
|
||||
inputRef?.current?.focus();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handleClickOutside = () => {
|
||||
const handleClickOutside = (event) => {
|
||||
if (
|
||||
containerRef.current &&
|
||||
!containerRef.current.contains(event.target)
|
||||
) {
|
||||
inputRef?.current?.blur();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('keydown', handleKeyPress);
|
||||
window.addEventListener('mousedown', handleClickOutside);
|
||||
document.addEventListener('mousedown', handleClickOutside);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('keydown', handleKeyPress);
|
||||
window.removeEventListener('mousedown', handleClickOutside);
|
||||
document.removeEventListener('mousedown', handleClickOutside);
|
||||
};
|
||||
}, []);
|
||||
//dhana
|
||||
|
|
@ -2827,11 +2836,10 @@ export default function BSC1Search(props) {
|
|||
};
|
||||
|
||||
const AddOrderDetails = async (item) => {
|
||||
|
||||
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
|
||||
if (overAllLimitPreferenece) {
|
||||
const calculatedOverAllQty = calculateOverAllQtyLimit(CartOrderDetails);
|
||||
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
|
||||
if (calculatedOverAllQty + 1 > maxQtyLimit) {
|
||||
setMessageData(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
|
||||
setMessageType('warning');
|
||||
return;
|
||||
|
|
@ -4535,7 +4543,6 @@ export default function BSC1Search(props) {
|
|||
const widthBasedOnProdVariantDetails = getMaxBrandWidth();
|
||||
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<>
|
||||
<div
|
||||
className="BSC1Search-container"
|
||||
|
|
@ -4624,9 +4631,7 @@ export default function BSC1Search(props) {
|
|||
</div>
|
||||
{ProductSearch?.length > 5 &&
|
||||
QuickAdd &&
|
||||
GetmultipleSearchDatas.some(
|
||||
(e) => e.toLowerCase() === 'qrcode'
|
||||
) && (
|
||||
GetmultipleSearchDatas.some((e) => e.toLowerCase() === 'qrcode') && (
|
||||
<div>
|
||||
<FeaturesFunctionalities
|
||||
handleQuickAddCancel={handleQuickCancel}
|
||||
|
|
@ -4701,11 +4706,8 @@ export default function BSC1Search(props) {
|
|||
<div key={index}>
|
||||
<div
|
||||
className={
|
||||
returnQtyCount(
|
||||
item?.ProdId,
|
||||
item,
|
||||
CartOrderDetails
|
||||
) > 0 || item?.StockAvailable !== 'Y'
|
||||
returnQtyCount(item?.ProdId, item, CartOrderDetails) >
|
||||
0 || item?.StockAvailable !== 'Y'
|
||||
? 'ItemQtyCard'
|
||||
: 'ItemQtyCard-disabled'
|
||||
}
|
||||
|
|
@ -4739,8 +4741,8 @@ export default function BSC1Search(props) {
|
|||
<sup style={{ fontFamily: 'Gilroy' }}>₹</sup>
|
||||
|
||||
{
|
||||
item?.ProdVariantDetails?.[0]
|
||||
?.StockDetails?.[0]?.SellPrice
|
||||
item?.ProdVariantDetails?.[0]?.StockDetails?.[0]
|
||||
?.SellPrice
|
||||
}
|
||||
</p>
|
||||
) : (
|
||||
|
|
@ -4751,11 +4753,7 @@ export default function BSC1Search(props) {
|
|||
</div>
|
||||
))}
|
||||
</div>
|
||||
{brandId !== 'null' && brandId !== 'undefined' ? (
|
||||
<hr></hr>
|
||||
) : (
|
||||
''
|
||||
)}
|
||||
{brandId !== 'null' && brandId !== 'undefined' ? <hr></hr> : ''}
|
||||
</div>
|
||||
))}
|
||||
|
||||
|
|
@ -4794,9 +4792,7 @@ export default function BSC1Search(props) {
|
|||
className="EditQuantity-headingproductname"
|
||||
style={{ marginLeft: '1rem' }}
|
||||
>
|
||||
<p className="EditQuantity-productname">
|
||||
{qtydata?.ProdName}
|
||||
</p>
|
||||
<p className="EditQuantity-productname">{qtydata?.ProdName}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ display: 'flex' }}>
|
||||
|
|
@ -4850,9 +4846,7 @@ export default function BSC1Search(props) {
|
|||
className="EditQuantity-headingproductname"
|
||||
style={{ marginLeft: '1rem' }}
|
||||
>
|
||||
<p className="EditQuantity-productname">
|
||||
{qtydata?.ProdName}
|
||||
</p>
|
||||
<p className="EditQuantity-productname">{qtydata?.ProdName}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ display: 'flex' }}>
|
||||
|
|
@ -4878,6 +4872,5 @@ export default function BSC1Search(props) {
|
|||
</div>
|
||||
</DefaultModal>
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -165,13 +165,24 @@ const BSItemCard = (props) => {
|
|||
// const applyOffer = useApplyOfferto_CardDetail();
|
||||
const preferenceDatas = useSelector(PreferenceData, shallowEqual);
|
||||
const { selectedDate } = useDateStore();
|
||||
const overAllLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => (item.SettingIdName?.toLowerCase() === 'overalllimit') && item?.SettingValue === 'Y');
|
||||
const itemWiseLimitPreferenece =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName?.toLowerCase() === 'itemwiselimit' && item?.SettingValue === 'Y');
|
||||
const maxQtyLimit = itemWiseLimitPreferenece?.SettingCount || overAllLimitPreferenece?.SettingCount || null;
|
||||
const overAllLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'overalllimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const itemWiseLimitPreferenece = preferenceDatas?.[0]?.[
|
||||
'SettingDtlDetails'
|
||||
]?.find(
|
||||
(item) =>
|
||||
item.SettingIdName?.toLowerCase() === 'itemwiselimit' &&
|
||||
item?.SettingValue === 'Y'
|
||||
);
|
||||
const maxQtyLimit =
|
||||
itemWiseLimitPreferenece?.SettingCount ||
|
||||
overAllLimitPreferenece?.SettingCount ||
|
||||
null;
|
||||
const preferenceOffer =
|
||||
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
|
||||
(item) => item.SettingIdName === 'Offer'
|
||||
|
|
@ -2084,7 +2095,7 @@ const BSItemCard = (props) => {
|
|||
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
|
||||
if (overAllLimitPreferenece) {
|
||||
const calculatedOverAllQty = calculateOverAllQtyLimit(CartOrderDetails);
|
||||
if ((calculatedOverAllQty + Qty) > maxQtyLimit) {
|
||||
if (calculatedOverAllQty + Qty > maxQtyLimit) {
|
||||
setMessageData(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
|
||||
setMessageType('warning');
|
||||
return;
|
||||
|
|
@ -7433,16 +7444,6 @@ const BSItemCard = (props) => {
|
|||
onTouchStart={handleTouchStart}
|
||||
onTouchMove={handleTouchMove}
|
||||
onTouchEnd={handleTouchEnd}
|
||||
// style={{
|
||||
// marginTop: "1rem",
|
||||
// display: "flex",
|
||||
// gap: "1rem",
|
||||
// overflowX: "auto",
|
||||
// cursor: "grab",
|
||||
// pointerEvents: OrderType === "Failed" ? "none" : "auto",
|
||||
// scrollBehavior: "smooth",
|
||||
// padding: "0 2rem", // space for arrows
|
||||
// }}
|
||||
style={{
|
||||
cursor: 'grab',
|
||||
overflowX: 'auto',
|
||||
|
|
@ -7469,7 +7470,8 @@ const BSItemCard = (props) => {
|
|||
userSelect: 'none',
|
||||
textAlign: 'center',
|
||||
fontWeight:
|
||||
selectedBrand === brand ? 'bold' : 'normal',
|
||||
selectedBrand === brand ? '600' : 'normal',
|
||||
fontFamily: 'Poppins',
|
||||
}}
|
||||
>
|
||||
{brand === 'Others' ? 'Others' : brand}
|
||||
|
|
|
|||
|
|
@ -5618,7 +5618,8 @@ const BsBookingitemCard = (props) => {
|
|||
userSelect: 'none',
|
||||
textAlign: 'center',
|
||||
fontWeight:
|
||||
selectedBrand === brand ? 'bold' : 'normal',
|
||||
selectedBrand === brand ? '600' : 'normal',
|
||||
fontFamily: 'Poppins',
|
||||
}}
|
||||
>
|
||||
{brand === 'Others' ? 'Others' : brand}
|
||||
|
|
@ -6074,7 +6075,8 @@ const BsBookingitemCard = (props) => {
|
|||
return (
|
||||
<div
|
||||
key={idx}
|
||||
className={`slotTimingSelect ${isBooked
|
||||
className={`slotTimingSelect ${
|
||||
isBooked
|
||||
? 'booked'
|
||||
: isAlreadyAdded
|
||||
? 'incart'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import React, { lazy, Suspense } from 'react';
|
||||
import React, { lazy } from 'react';
|
||||
import { MdEdit } from 'react-icons/md';
|
||||
import { FaUserLarge } from 'react-icons/fa6';
|
||||
import { BiSolidPhoneCall } from 'react-icons/bi';
|
||||
|
|
@ -39,7 +39,6 @@ const BSNavBarUserInfo = ({
|
|||
navigate(`${subDirectory}app-page/branch-login`);
|
||||
};
|
||||
return (
|
||||
<Suspense fallback={<NavbarSkeleton />}>
|
||||
<div ref={divRef} className="BSNavBar1-Accmenu">
|
||||
<div className="BSNavBar1-Acc-menu">
|
||||
{CompBranchData?.length > 1 && (
|
||||
|
|
@ -99,7 +98,6 @@ const BSNavBarUserInfo = ({
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,4 @@
|
|||
import React, {
|
||||
useCallback,
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
lazy,
|
||||
Suspense,
|
||||
} from 'react';
|
||||
import React, { useCallback, useEffect, useRef, useState, lazy } from 'react';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { Badge, Popconfirm, Popover, Tooltip } from 'antd';
|
||||
|
|
@ -612,7 +605,6 @@ const BSNavbar1 = (props) => {
|
|||
};
|
||||
|
||||
return (
|
||||
<Suspense fallback={<NavbarSkeleton />}>
|
||||
<div
|
||||
className="BSBillingNavBar1"
|
||||
style={{
|
||||
|
|
@ -674,9 +666,7 @@ const BSNavbar1 = (props) => {
|
|||
}}
|
||||
>
|
||||
<FaParking
|
||||
fill={
|
||||
OtherServicesglobal === true ? '#52C41A' : '#1292EE'
|
||||
}
|
||||
fill={OtherServicesglobal === true ? '#52C41A' : '#1292EE'}
|
||||
/>
|
||||
</div>
|
||||
</TooltipWrapper>
|
||||
|
|
@ -706,10 +696,7 @@ const BSNavbar1 = (props) => {
|
|||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarSearch
|
||||
nosearch={true}
|
||||
OrderType={OrderType}
|
||||
/>
|
||||
<BSNavBarSearch nosearch={true} OrderType={OrderType} />
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
|
|
@ -738,11 +725,10 @@ const BSNavbar1 = (props) => {
|
|||
<>
|
||||
<>
|
||||
{item?.OptionName == 'RePrint' && !OtherServicesglobal && (
|
||||
<TooltipWrapper title="RePrint (Alt+R)" isMobile={isMobile}>
|
||||
<TooltipWrapper title="Reprint (Alt+R)" isMobile={isMobile}>
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSPrinterSetting />
|
||||
|
|
@ -765,8 +751,7 @@ const BSNavbar1 = (props) => {
|
|||
{item?.OptionName == 'QuickAdd' && (
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarQuickAdd />
|
||||
|
|
@ -791,8 +776,7 @@ const BSNavbar1 = (props) => {
|
|||
{item?.OptionName == 'TakeAway' && takeAwayPreference && (
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarHandbag />
|
||||
|
|
@ -819,8 +803,7 @@ const BSNavbar1 = (props) => {
|
|||
// CartOrderDetails?.length > 0 &&
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarAddons />
|
||||
|
|
@ -956,10 +939,7 @@ const BSNavbar1 = (props) => {
|
|||
)}
|
||||
|
||||
{VerifyTheProducts && (
|
||||
<TooltipWrapper
|
||||
title={'Verfied Products'}
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title={'Verfied Products'} isMobile={isMobile}>
|
||||
<div>
|
||||
<VerfiedProducts />
|
||||
</div>
|
||||
|
|
@ -1026,16 +1006,11 @@ const BSNavbar1 = (props) => {
|
|||
<div
|
||||
style={{ fontSize: '1.5rem', color: 'rgb(18, 146, 238)' }}
|
||||
>
|
||||
<TooltipWrapper
|
||||
title="Other Services"
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title="Other Services" isMobile={isMobile}>
|
||||
<div onClick={handleotherservices}>
|
||||
<FaParking
|
||||
fill={
|
||||
OtherServicesglobal === true
|
||||
? '#52C41A'
|
||||
: '#1292EE'
|
||||
OtherServicesglobal === true ? '#52C41A' : '#1292EE'
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -1043,9 +1018,7 @@ const BSNavbar1 = (props) => {
|
|||
</div>
|
||||
)}
|
||||
{!OtherServicesglobal &&
|
||||
ScanLayoutScreen?.SettingValue === 'Y' && (
|
||||
<BSScanTemplate />
|
||||
)}
|
||||
ScanLayoutScreen?.SettingValue === 'Y' && <BSScanTemplate />}
|
||||
|
||||
{!OtherServicesglobal && (
|
||||
<>
|
||||
|
|
@ -1207,8 +1180,7 @@ const BSNavbar1 = (props) => {
|
|||
))}
|
||||
{FeatureAddonData?.FeatureDtls?.find(
|
||||
(item) =>
|
||||
item?.FeatureAddonName?.toLowerCase() ===
|
||||
'Weight Scale'
|
||||
item?.FeatureAddonName?.toLowerCase() === 'Weight Scale'
|
||||
) && (
|
||||
<div
|
||||
style={{
|
||||
|
|
@ -1289,8 +1261,7 @@ const BSNavbar1 = (props) => {
|
|||
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarDragItems type="small-screen" />
|
||||
|
|
@ -1363,7 +1334,6 @@ const BSNavbar1 = (props) => {
|
|||
}
|
||||
/>
|
||||
</div>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
export default BSNavbar1;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,4 @@
|
|||
import React, {
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
useCallback,
|
||||
lazy,
|
||||
Suspense,
|
||||
} from 'react';
|
||||
import React, { useEffect, useRef, useState, useCallback, lazy } from 'react';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { AiFillHome } from 'react-icons/ai';
|
||||
|
|
@ -586,7 +579,6 @@ const BSNavbar2 = () => {
|
|||
};
|
||||
|
||||
return (
|
||||
<Suspense fallback={<NavbarSkeleton />}>
|
||||
<div className="BSBillingNavBar2" style={{ backgroundColor: 'white' }}>
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>
|
||||
<div>
|
||||
|
|
@ -616,14 +608,16 @@ const BSNavbar2 = () => {
|
|||
{OtherServiceStatus && (
|
||||
<div
|
||||
style={{
|
||||
fontSize: '1.5rem',
|
||||
// fontSize: '1.5rem',
|
||||
color: 'rgb(18, 146, 238)',
|
||||
position: 'sticky',
|
||||
height: '32px',
|
||||
}}
|
||||
>
|
||||
<TooltipWrapper title="Other Services" isMobile={isMobile}>
|
||||
<div onClick={handleotherservices}>
|
||||
<FaParking
|
||||
className="FaparkingIcon"
|
||||
fill={OtherServicesglobal === true ? '#52C41A' : '#1292EE'}
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -668,10 +662,9 @@ const BSNavbar2 = () => {
|
|||
<div style={{ display: 'flex', alignItems: 'center' }}>
|
||||
<div style={{ display: 'flex', flexGrow: '1' }}>
|
||||
<>
|
||||
{item?.OptionName == 'RePrint' &&
|
||||
!OtherServicesglobal && (
|
||||
{item?.OptionName == 'RePrint' && !OtherServicesglobal && (
|
||||
<TooltipWrapper
|
||||
title="RePrint (Alt+R)"
|
||||
title="Reprint (Alt+R)"
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<div
|
||||
|
|
@ -906,8 +899,7 @@ const BSNavbar2 = () => {
|
|||
)}
|
||||
|
||||
{FeatureAddonData?.FeatureDtls?.find(
|
||||
(item) =>
|
||||
item?.FeatureAddonName?.toLowerCase() === 'customer display'
|
||||
(item) => item?.FeatureAddonName?.toLowerCase() === 'customer display'
|
||||
) && (
|
||||
<TooltipWrapper title="Customer Display" isMobile={isMobile}>
|
||||
<div
|
||||
|
|
@ -963,16 +955,11 @@ const BSNavbar2 = () => {
|
|||
<div
|
||||
style={{ fontSize: '1.5rem', color: 'rgb(18, 146, 238)' }}
|
||||
>
|
||||
<TooltipWrapper
|
||||
title="Other Services"
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title="Other Services" isMobile={isMobile}>
|
||||
<div onClick={handleotherservices}>
|
||||
<FaParking
|
||||
fill={
|
||||
OtherServicesglobal === true
|
||||
? '#52C41A'
|
||||
: '#1292EE'
|
||||
OtherServicesglobal === true ? '#52C41A' : '#1292EE'
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -1009,8 +996,7 @@ const BSNavbar2 = () => {
|
|||
)} */}
|
||||
{navbarOptions?.map((item) => (
|
||||
<>
|
||||
{item?.OptionName == 'RePrint' &&
|
||||
!OtherServicesglobal && (
|
||||
{item?.OptionName == 'RePrint' && !OtherServicesglobal && (
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
|
|
@ -1145,8 +1131,7 @@ const BSNavbar2 = () => {
|
|||
<>
|
||||
{FeatureAddonData?.FeatureDtls?.find(
|
||||
(item) =>
|
||||
item?.FeatureAddonName?.toLowerCase() ===
|
||||
'Weight Scale'
|
||||
item?.FeatureAddonName?.toLowerCase() === 'Weight Scale'
|
||||
) && (
|
||||
<div
|
||||
style={{
|
||||
|
|
@ -1161,8 +1146,7 @@ const BSNavbar2 = () => {
|
|||
<>
|
||||
{FeatureAddonData?.FeatureDtls?.find(
|
||||
(item) =>
|
||||
item?.FeatureAddonName?.toLowerCase() ===
|
||||
'preorder'
|
||||
item?.FeatureAddonName?.toLowerCase() === 'preorder'
|
||||
) && (
|
||||
<div
|
||||
style={{
|
||||
|
|
@ -1234,8 +1218,7 @@ const BSNavbar2 = () => {
|
|||
)}
|
||||
<div
|
||||
style={{
|
||||
pointerEvents:
|
||||
OrderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<BSNavBarDragItems type="small-screen" />
|
||||
|
|
@ -1331,7 +1314,6 @@ const BSNavbar2 = () => {
|
|||
}
|
||||
/>
|
||||
</div>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
export default BSNavbar2;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,4 @@
|
|||
import {
|
||||
useState,
|
||||
useEffect,
|
||||
useRef,
|
||||
useCallback,
|
||||
useMemo,
|
||||
lazy,
|
||||
Suspense,
|
||||
} from 'react';
|
||||
import { useState, useEffect, useRef, useCallback, useMemo, lazy } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useDispatch, useSelector, shallowEqual } from 'react-redux';
|
||||
import {
|
||||
|
|
@ -596,7 +588,6 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
};
|
||||
|
||||
return (
|
||||
<Suspense fallback={<NavbarSkeleton />}>
|
||||
<>
|
||||
<div className="BSNavbar3Main">
|
||||
<div className="homeTime">
|
||||
|
|
@ -631,9 +622,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
justifyContent: 'center',
|
||||
cursor: 'pointer',
|
||||
}}
|
||||
fill={
|
||||
OtherServicesglobal === true ? '#52C41A' : '#1292EE'
|
||||
}
|
||||
fill={OtherServicesglobal === true ? '#52C41A' : '#1292EE'}
|
||||
/>
|
||||
</div>
|
||||
</TooltipWrapper>
|
||||
|
|
@ -792,10 +781,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
)}
|
||||
|
||||
{!sportsAppPreference && (
|
||||
<div
|
||||
className="FaTruckIconFavItem"
|
||||
style={{ padding: '4px 6px' }}
|
||||
>
|
||||
<div className="FaTruckIconFavItem" style={{ padding: '4px 6px' }}>
|
||||
{renderWithTooltip(
|
||||
<BSNavBarFavItems
|
||||
size={41}
|
||||
|
|
@ -894,9 +880,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
<Tooltip title={isFullscreen ? 'Exit Full Screen' : 'Full Screen'}>
|
||||
<div
|
||||
className={
|
||||
isFullscreen
|
||||
? 'BsNavbar3FullScreenExit'
|
||||
: 'BsNavbar3FullScreen'
|
||||
isFullscreen ? 'BsNavbar3FullScreenExit' : 'BsNavbar3FullScreen'
|
||||
}
|
||||
onClick={handleFullscreen}
|
||||
>
|
||||
|
|
@ -1001,10 +985,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
</div>
|
||||
)}
|
||||
{quickAddOption && (
|
||||
<div
|
||||
className="mobile-action-item"
|
||||
onClick={handleQuickAddOpen}
|
||||
>
|
||||
<div className="mobile-action-item" onClick={handleQuickAddOpen}>
|
||||
{renderWithTooltip(<FaPlus size={30} />, 'Quick Add', 'top')}
|
||||
<div>Quick Add</div>
|
||||
</div>
|
||||
|
|
@ -1103,10 +1084,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
}
|
||||
}}
|
||||
>
|
||||
<TooltipWrapper
|
||||
title={'Verfied Products'}
|
||||
isMobile={isMobile}
|
||||
>
|
||||
<TooltipWrapper title={'Verfied Products'} isMobile={isMobile}>
|
||||
<div>
|
||||
<VerfiedProducts
|
||||
drawerOpen={drawerOpen}
|
||||
|
|
@ -1170,8 +1148,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
<div
|
||||
className="BSBillingNavBar2-AllIcons"
|
||||
style={{
|
||||
pointerEvents:
|
||||
orderType === 'Failed' ? 'none' : 'auto',
|
||||
pointerEvents: orderType === 'Failed' ? 'none' : 'auto',
|
||||
}}
|
||||
>
|
||||
<div className="mobile-action-item" onClick={() => {}}>
|
||||
|
|
@ -1236,7 +1213,6 @@ const BSNavbar3 = ({ optionNames }) => {
|
|||
/>
|
||||
)}
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,20 @@
|
|||
import { extractLastNumber, getSession } from '../../../../Services/Others';
|
||||
import moment from 'moment';
|
||||
|
||||
const OtherServiceMobilePrint = async (PrintDetails, Mode, Preference, Token) => {
|
||||
|
||||
console.log(PrintDetails, Mode, Preference, Token, PrintDetails?.[0]?.OtherServicesTicketDetails,'PrintDetails, UpiId, Mode, Preference, Token');
|
||||
const OtherServiceMobilePrint = async (
|
||||
PrintDetails,
|
||||
Mode,
|
||||
Preference,
|
||||
Token
|
||||
) => {
|
||||
console.log(
|
||||
PrintDetails,
|
||||
Mode,
|
||||
Preference,
|
||||
Token,
|
||||
PrintDetails?.[0]?.OtherServicesTicketDetails,
|
||||
'PrintDetails, UpiId, Mode, Preference, Token'
|
||||
);
|
||||
|
||||
let Otherservicesdetails = PrintDetails?.[0]?.OtherServicesTicketDetails;
|
||||
let Otherservicesdetails1 = PrintDetails;
|
||||
|
|
@ -12,8 +23,12 @@ let UpiId = PrintDetails?.[0]?.TicketNo;
|
|||
let PrintDetail;
|
||||
let PaymentDetail;
|
||||
|
||||
let PrintLogo = Preference?.[0]?.SettingDtlDetails?.filter((i) => i.SettingIdName === 'PrintLogo' )?.[0];
|
||||
let PrintGreeting = Preference?.[0]?.SettingDtlDetails?.filter((i) => i.SettingIdName === 'PrintGreetings' )?.[0];
|
||||
let PrintLogo = Preference?.[0]?.SettingDtlDetails?.filter(
|
||||
(i) => i.SettingIdName === 'PrintLogo'
|
||||
)?.[0];
|
||||
let PrintGreeting = Preference?.[0]?.SettingDtlDetails?.filter(
|
||||
(i) => i.SettingIdName === 'PrintGreetings'
|
||||
)?.[0];
|
||||
if (Mode === 'Reprint') {
|
||||
PrintDetail = PrintDetails?.[0]?.OtherServicesTicketDetails;
|
||||
PaymentDetail = PrintDetails?.[0]?.OtherServicesTicketDetails;
|
||||
|
|
@ -31,7 +46,7 @@ let UpiId = PrintDetails?.[0]?.TicketNo;
|
|||
let FooterPrint = '';
|
||||
let OrderId;
|
||||
let receiptTextest = '';
|
||||
let totalAmt = PrintDetail?.[0]?.NetAmount
|
||||
let totalAmt = PrintDetail?.[0]?.NetAmount;
|
||||
|
||||
// let totalestAmt = PrintDetail?.find((a) => a.OrderType === 'E')?.NetAmount
|
||||
// ? PrintDetail?.find((a) => a.OrderType === 'E')?.NetAmount
|
||||
|
|
@ -274,15 +289,15 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
const snoSpacing = Math.max(0, 3 - String(index + 1).length);
|
||||
const rateSpacing = Math.max(0, 6 - String(data?.Rate).length);
|
||||
const qtySpacing = Math.max(0, 3 - String(data?.Qty).length);
|
||||
const totalAmtSpacing = Math.max(0,1 - String(data?.TotalAmount).length);
|
||||
const totalAmtSpacing = Math.max(
|
||||
0,
|
||||
1 - String(data?.TotalAmount).length
|
||||
);
|
||||
let formattedString =
|
||||
' '.repeat(snoSpacing) +
|
||||
parseInt(index + 1) +
|
||||
' ' +
|
||||
|
||||
(
|
||||
data?.ServiceName + ' '.repeat(20)
|
||||
).substring(0, 20) +
|
||||
(data?.ServiceName + ' '.repeat(20)).substring(0, 20) +
|
||||
' ' +
|
||||
' '.repeat(qtySpacing) +
|
||||
String(data?.Qty);
|
||||
|
|
@ -294,7 +309,6 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
' '.repeat(rateSpacing) +
|
||||
String(data?.Rate) +
|
||||
' ' +
|
||||
|
||||
' '.repeat(totalAmtSpacing) +
|
||||
String(data?.TotalAmount) +
|
||||
' ' +
|
||||
|
|
@ -337,10 +351,10 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
'S.No' +
|
||||
' ' +
|
||||
' Name ' +
|
||||
(' ') +
|
||||
' ' +
|
||||
' ' +
|
||||
'Qty ' +
|
||||
('') + // Add Disc column conditionally
|
||||
'' + // Add Disc column conditionally
|
||||
' ' +
|
||||
'Rate ' +
|
||||
' ' +
|
||||
|
|
@ -390,8 +404,7 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
Otherservicesdetails1?.[0]?.Address1 !== null &&
|
||||
Otherservicesdetails1?.[0]?.Address1 !== undefined
|
||||
) {
|
||||
BranchAddress =
|
||||
'[C]' + Otherservicesdetails1?.[0]?.Address1 + '\n';
|
||||
BranchAddress = '[C]' + Otherservicesdetails1?.[0]?.Address1 + '\n';
|
||||
} else {
|
||||
BranchAddress = '';
|
||||
}
|
||||
|
|
@ -405,7 +418,8 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
Otherservicesdetails1?.[0]?.BrMobile !== undefined &&
|
||||
Otherservicesdetails1?.[0]?.BrMobile !== ''
|
||||
) {
|
||||
MobileNumber = '[C]<b>Ph:' + Otherservicesdetails1?.[0]?.BrMobileNo + '</b>\n';
|
||||
MobileNumber =
|
||||
'[C]<b>Ph:' + Otherservicesdetails1?.[0]?.BrMobileNo + '</b>\n';
|
||||
} else {
|
||||
MobileNumber = '';
|
||||
}
|
||||
|
|
@ -519,7 +533,7 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
'ImgE' +
|
||||
TypeCheck +
|
||||
'OthTypS' +
|
||||
"OtherService" +
|
||||
'OtherService' +
|
||||
'OthTypE' +
|
||||
'OthqrS' +
|
||||
UpiId +
|
||||
|
|
@ -547,6 +561,5 @@ OrderIdSales = PrintDetail?.find((a) => a.OrderType === 'S')?.OrderId
|
|||
'HasFooterTextE' +
|
||||
';end;';
|
||||
}
|
||||
|
||||
};
|
||||
export default OtherServiceMobilePrint;
|
||||
|
|
@ -1,11 +1,4 @@
|
|||
import {
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
useCallback,
|
||||
lazy,
|
||||
Suspense,
|
||||
} from 'react';
|
||||
import { useEffect, useRef, useState, useCallback, lazy } from 'react';
|
||||
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
|
||||
import moment from 'moment';
|
||||
import { Form, Radio } from 'antd';
|
||||
|
|
@ -2173,7 +2166,6 @@ const SplitPayment = (props) => {
|
|||
}
|
||||
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<>
|
||||
<Messages messageType={messageType} messageData={messageData} />
|
||||
<div className="splitmodal">
|
||||
|
|
@ -2366,7 +2358,6 @@ const SplitPayment = (props) => {
|
|||
/>
|
||||
)}
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
};
|
||||
export default SplitPayment;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ const AllSalesPageSettings = () => {
|
|||
<>
|
||||
<TooltipWrapper>
|
||||
<div
|
||||
className="allpageSettingIcon"
|
||||
onClick={() => setsettingModal(true)}
|
||||
style={{
|
||||
cursor: 'pointer',
|
||||
|
|
|
|||
|
|
@ -356,7 +356,7 @@ const BSLayout1 = () => {
|
|||
{BookingNavbar != 'Navbar3' ? (
|
||||
<div
|
||||
className="Layout-bill-container"
|
||||
style={{ marginTop: '9px' }}
|
||||
style={{ marginTop: '12px' }}
|
||||
>
|
||||
<div
|
||||
className="Layout-bill-Subcontainer"
|
||||
|
|
|
|||
|
|
@ -342,9 +342,7 @@ const BSLayout2 = () => {
|
|||
(AppExpDate?.RemainingDays <= 7 ||
|
||||
AppExpDate === 'undefined' ||
|
||||
AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
|
||||
<Suspense fallback={<NavbarSkeleton />}>
|
||||
<PlanExpireNotification />
|
||||
</Suspense>
|
||||
)}
|
||||
<div
|
||||
className="BSLayout2-Master"
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ import {
|
|||
StoredSessionData,
|
||||
} from '../../../../Features/ThemeChange/ThemeChange.js';
|
||||
import './../../../../Styles/BookingScreen/Template/BSLayout7/Combo1.scss';
|
||||
import '../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable6/BST6Payment.scss';
|
||||
import {
|
||||
GLobalSadminUserPin,
|
||||
putSadminUserExit,
|
||||
|
|
@ -124,6 +125,7 @@ const VerfiedProducts = lazy(
|
|||
);
|
||||
import ShortcutKeyHelper from '../../Components/UtillComponents/ShortcutKeyHelper.jsx';
|
||||
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
||||
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||
|
||||
const subDirectory = import.meta.env.BASE_URL;
|
||||
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
||||
|
|
@ -361,7 +363,7 @@ export default function BSCombo1() {
|
|||
handleClick();
|
||||
}, []);
|
||||
return (
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<Suspense fallback={<CardSkeleton />}>
|
||||
<>
|
||||
<Messages
|
||||
messageType={messageType}
|
||||
|
|
@ -381,6 +383,7 @@ export default function BSCombo1() {
|
|||
<div className="SearchSubnavbar-combo">
|
||||
<BSC1NavBar />
|
||||
<div className="comboNavbarSubMain">
|
||||
<div className="SearchNavMutiple">
|
||||
{/* Multiple search */}
|
||||
<Tooltip title={'Multiple Search'}>
|
||||
<div className="MultiSearchIconDiv">
|
||||
|
|
@ -416,6 +419,7 @@ export default function BSCombo1() {
|
|||
</div>
|
||||
</Tooltip>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* <div className="Layout-bill-container" style={{ margin: '0' }}> */}
|
||||
<div className="Layout-bill-Subcontainer ComboSubNavbar">
|
||||
|
|
@ -576,24 +580,17 @@ export default function BSCombo1() {
|
|||
</div>
|
||||
)}
|
||||
</div>
|
||||
{/* {preferenceshortcutkey && (
|
||||
<div className="keyboardShortcut">
|
||||
<ShortcutKeyHelper />
|
||||
</div>)} */}
|
||||
</div>
|
||||
</div>
|
||||
{/* </div> */}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
// className="BSC1-Master" comment by sree here this class name issues
|
||||
className="ComboScreenPageTable"
|
||||
style={{
|
||||
height: isMobile ? '56vh' : '70vh',
|
||||
overflow: 'hidden',
|
||||
}}
|
||||
>
|
||||
{/* <div className="BS1ComboTable"> */}
|
||||
<div
|
||||
className={
|
||||
ComboSalesBillTable
|
||||
|
|
|
|||
|
|
@ -1,32 +1,20 @@
|
|||
import {
|
||||
useCallback,
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
lazy,
|
||||
Suspense,
|
||||
} from 'react';
|
||||
import { useCallback, useEffect, useRef, useState, lazy } from 'react';
|
||||
import { useNavigate, useOutletContext } from 'react-router-dom';
|
||||
import { shallowEqual, useDispatch } from 'react-redux';
|
||||
import { useSelector } from 'react-redux';
|
||||
|
||||
import { DatePicker, Tooltip } from 'antd';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
import '../../Styles/DashBoard/RetailDashBoard.scss';
|
||||
|
||||
const GraphChart = lazy(() => import('./Chart/GraphChart'));
|
||||
const TopSellingProductsChart = lazy(
|
||||
() => import('./TopSellingProductsChart.jsx')
|
||||
);
|
||||
|
||||
import sandClock from '../../Images/sandClock.webp';
|
||||
import Add from '../../Images/dashboard/Add.webp';
|
||||
import AddPurchase from '../../Images/dashboard/AddPurchase.webp';
|
||||
import invoice from '../../Images/dashboard/invoice.webp';
|
||||
import user from '../../Images/dashboard/user.webp';
|
||||
import report from '../../Images/dashboard/report.webp';
|
||||
|
||||
import {
|
||||
GlobalPricingAppPricingName,
|
||||
StoredSessionData,
|
||||
|
|
@ -78,13 +66,11 @@ const DefaultModal = lazy(() =>
|
|||
default: m.DefaultModal,
|
||||
}))
|
||||
);
|
||||
|
||||
const RadioGrpButton = lazy(() =>
|
||||
import('../../Components/Forms/RadioGroup.jsx').then((m) => ({
|
||||
default: m.RadioGrpButton,
|
||||
}))
|
||||
);
|
||||
|
||||
const DropDowns = lazy(() =>
|
||||
import('../../Components/Forms/DropDown.jsx').then((m) => ({
|
||||
default: m.DropDowns,
|
||||
|
|
@ -1436,7 +1422,6 @@ const RetailDashboard = () => {
|
|||
?.toUpperCase()}
|
||||
</div>
|
||||
{userprofile && (
|
||||
<Suspense fallback={null}>
|
||||
<BSNavBarUserInfo
|
||||
isOpen={userprofile}
|
||||
divRef={userProfileRef}
|
||||
|
|
@ -1447,7 +1432,6 @@ const RetailDashboard = () => {
|
|||
}}
|
||||
Logout={Logout}
|
||||
/>
|
||||
</Suspense>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1464,7 +1448,6 @@ const RetailDashboard = () => {
|
|||
{/* Branch Filter Dropdown */}
|
||||
{CompBranchData?.length > 1 && selection !== 'top-selling-products' && (
|
||||
<div className="branch-filter-dropdown">
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<DropDowns
|
||||
options={[
|
||||
{ value: 'all', label: 'All Branches' },
|
||||
|
|
@ -1479,7 +1462,6 @@ const RetailDashboard = () => {
|
|||
defaultValue="all"
|
||||
placeholder="All Branches"
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
|
@ -1500,9 +1482,7 @@ const RetailDashboard = () => {
|
|||
<div className="TotalRevenue">
|
||||
<div className="tlxHeader"></div>
|
||||
<div className="TotalRevenue-Graph">
|
||||
<Suspense fallback={<Loader />}>
|
||||
<GraphChart datasets={datasets} />
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -2375,7 +2355,6 @@ const RetailDashboard = () => {
|
|||
</>
|
||||
) : (
|
||||
<>
|
||||
<Suspense fallback={<Loader />}>
|
||||
<TopSellingProductsChart
|
||||
dates={dates}
|
||||
products={products}
|
||||
|
|
@ -2386,10 +2365,8 @@ const RetailDashboard = () => {
|
|||
fetchProducts={fetchProducts}
|
||||
initialDate={initialDate}
|
||||
/>
|
||||
</Suspense>
|
||||
</>
|
||||
)}
|
||||
<Suspense fallback={null}>
|
||||
<DefaultModal
|
||||
open={modal}
|
||||
title="Authentication"
|
||||
|
|
@ -2413,7 +2390,6 @@ const RetailDashboard = () => {
|
|||
/>
|
||||
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
|
||||
<div className="RadioButton">
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<RadioGrpButton
|
||||
content={[
|
||||
{ value: 'O', label: 'OTP' },
|
||||
|
|
@ -2423,7 +2399,6 @@ const RetailDashboard = () => {
|
|||
defaultSelect={SelectType}
|
||||
onSelectFuntion={(e) => ChangeMethod(e)}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -2478,7 +2453,6 @@ const RetailDashboard = () => {
|
|||
</div>
|
||||
</>
|
||||
</DefaultModal>
|
||||
</Suspense>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -341,7 +341,6 @@ const TopSellingProducts = ({
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<Suspense fallback={<div>Loading...</div>}>
|
||||
<DropDowns
|
||||
className={'item-range-dropdown'}
|
||||
valueData={page}
|
||||
|
|
@ -364,7 +363,6 @@ const TopSellingProducts = ({
|
|||
}}
|
||||
isOnchanges={page ? true : false}
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,15 @@ import {
|
|||
PlusCircleOutlined,
|
||||
SearchOutlined,
|
||||
} from '@ant-design/icons';
|
||||
import { Form, Tooltip, Table, Input, AutoComplete, Switch, Checkbox } from 'antd';
|
||||
import {
|
||||
Form,
|
||||
Tooltip,
|
||||
Table,
|
||||
Input,
|
||||
AutoComplete,
|
||||
Switch,
|
||||
Checkbox,
|
||||
} from 'antd';
|
||||
import { IoAddCircleSharp } from 'react-icons/io5';
|
||||
import { InputField } from '../../Components/Forms/InputField.jsx';
|
||||
import Buttons from '../../Components/Forms/Buttons.jsx';
|
||||
|
|
@ -39,7 +47,7 @@ import {
|
|||
putStockData,
|
||||
} from '../../Features/StockMaster/StockMaster.js';
|
||||
import '../../Styles/Stock/StockMaster.scss';
|
||||
import "../../Styles/OverAllStyle/OverAllStyle.scss"
|
||||
import '../../Styles/OverAllStyle/OverAllStyle.scss';
|
||||
import {
|
||||
getAdmin,
|
||||
getUomData,
|
||||
|
|
@ -708,7 +716,10 @@ const StockForm = ({ formType }) => {
|
|||
}));
|
||||
|
||||
const bulkResponse = await dispatch(
|
||||
bulkpostdata({ UploadType: 'Purchase', ProdDetails: newProductsData })
|
||||
bulkpostdata({
|
||||
UploadType: 'Purchase',
|
||||
ProdDetails: newProductsData,
|
||||
})
|
||||
).unwrap();
|
||||
|
||||
if (bulkResponse?.data?.statusCode === 1) {
|
||||
|
|
@ -3437,11 +3448,12 @@ const StockForm = ({ formType }) => {
|
|||
/>
|
||||
</Tooltip>
|
||||
</Form.Item>
|
||||
{orderType && <Form.Item
|
||||
name="showAll"
|
||||
valuePropName="checked"
|
||||
{orderType && (
|
||||
<Form.Item name="showAll" valuePropName="checked">
|
||||
<Tooltip
|
||||
title="Show all branches and warehouses"
|
||||
placement="top"
|
||||
>
|
||||
<Tooltip title="Show all branches and warehouses" placement="top">
|
||||
<span>
|
||||
<Checkbox
|
||||
checked={showAllSuppliers}
|
||||
|
|
@ -3449,7 +3461,9 @@ const StockForm = ({ formType }) => {
|
|||
const checked = e.target.checked;
|
||||
setShowAllSuppliers(checked);
|
||||
setInitialLoad(true);
|
||||
getSuplaierApi({ Type: checked ? 'Y' : null });
|
||||
getSuplaierApi({
|
||||
Type: checked ? 'Y' : null,
|
||||
});
|
||||
}}
|
||||
>
|
||||
All
|
||||
|
|
@ -3457,12 +3471,11 @@ const StockForm = ({ formType }) => {
|
|||
</span>
|
||||
</Tooltip>
|
||||
</Form.Item>
|
||||
}
|
||||
)}
|
||||
</div>
|
||||
|
||||
{!selectedSupplierName && (
|
||||
<RadioGrpButton
|
||||
|
||||
content={[
|
||||
{ value: 'own', label: 'Own' },
|
||||
{ value: 'paid', label: 'With paid' },
|
||||
|
|
@ -3474,7 +3487,6 @@ const StockForm = ({ formType }) => {
|
|||
/>
|
||||
)}
|
||||
|
||||
|
||||
<div className="pe-inward-date">
|
||||
<label className="required">Inward Date</label>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,10 @@
|
|||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
gap: 0.5rem;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
.ant-form {
|
||||
line-height: 2.3 !important;
|
||||
}
|
||||
|
||||
}
|
||||
.EditQuantity-Itemname {
|
||||
display: flex;
|
||||
|
|
@ -21,14 +20,11 @@
|
|||
.EditQuantity-headingname {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// width: 20rem;
|
||||
}
|
||||
.EditQuantity-headingproductname {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
// padding: 1rem;
|
||||
// width: 25rem;
|
||||
}
|
||||
.EditQuantity-title {
|
||||
.formHeader {
|
||||
|
|
@ -52,7 +48,6 @@
|
|||
}
|
||||
.gridEQitem {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
// border: 1px solid rgba(0, 0, 0, 0.8);
|
||||
padding: 5px;
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
|
|
@ -70,13 +65,11 @@
|
|||
.grid-item-add {
|
||||
background-color: var(--SELECTED_COLOR);
|
||||
color: #e1eef1;
|
||||
// border: 1px solid rgba(0, 0, 0, 0.8);
|
||||
padding: 8px 5px 5px 5px;
|
||||
font-size: 23px;
|
||||
text-align: center;
|
||||
border-radius: 25px;
|
||||
margin: 6px;
|
||||
// margin-left: 10px;
|
||||
}
|
||||
.EditQuantity-mealicon {
|
||||
color: #0268ba;
|
||||
|
|
@ -195,7 +188,7 @@
|
|||
border-radius: 4.982px;
|
||||
padding: 5px 6px;
|
||||
height: 2rem;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
}
|
||||
.SelecBtn {
|
||||
background-color: var(--SELECTED_COLOR);
|
||||
|
|
@ -210,7 +203,7 @@
|
|||
border-radius: 4.982px;
|
||||
padding: 5px 6px;
|
||||
height: 2rem;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
}
|
||||
.RadioButtons {
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ input::-webkit-inner-spin-button {
|
|||
|
||||
.price-button {
|
||||
border-radius: 8px;
|
||||
border: 0px solid none;
|
||||
border: none;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
background-color: var(--SELECTED_COLOR);
|
||||
|
|
@ -78,6 +78,7 @@ input::-webkit-inner-spin-button {
|
|||
width: max-content;
|
||||
padding: 0px 12px;
|
||||
cursor: pointer;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.price-button-disabled {
|
||||
|
|
@ -143,7 +144,7 @@ input::-webkit-inner-spin-button {
|
|||
justify-content: center;
|
||||
gap: 0.2rem;
|
||||
background-color: #dbdbdb;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
}
|
||||
|
||||
.payment-div-0-userplus {
|
||||
|
|
@ -238,3 +239,38 @@ input::-webkit-inner-spin-button {
|
|||
.ChairClrGreen {
|
||||
color: var(--SELECTED_COLOR);
|
||||
}
|
||||
.Btn-payment-mode-sel {
|
||||
background-color: var(--DEFAULT_SELECTED_COLOR);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
height: 40px;
|
||||
width: 75px;
|
||||
border-radius: 7.2px;
|
||||
color: #fff;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
gap: 0.2rem;
|
||||
align-items: center;
|
||||
font-family: "Poppins";
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
.Btn-payment-mode {
|
||||
background-color: var(--SELECTED_COLOR);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
height: 40px;
|
||||
width: 75px;
|
||||
border-radius: 7.2px;
|
||||
color: #fff;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
gap: 0.2rem;
|
||||
align-items: center;
|
||||
font-family: "Poppins";
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
.BSBill-Table4 th {
|
||||
border-spacing: 0;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: normal;
|
||||
|
|
@ -277,6 +277,8 @@
|
|||
background: var(--SELECTED_COLOR);
|
||||
text-align: center;
|
||||
border: 0;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.Table4-Btn-final-price-disabled {
|
||||
|
|
|
|||
|
|
@ -5,24 +5,12 @@
|
|||
background-color: #fff;
|
||||
width: inherit;
|
||||
overflow: auto;
|
||||
// height: clamp(70vh, 50vh, 40vh);
|
||||
// height: 85vh;
|
||||
//vm
|
||||
height: 80vh;
|
||||
}
|
||||
.BSBillingTable5-table-master-div-6 {
|
||||
//vm
|
||||
height: 70vh;
|
||||
}
|
||||
|
||||
// .BSLayout5-Master .BSBillingTable5-table-master-div {
|
||||
// height: 91vh !important;
|
||||
// }
|
||||
|
||||
// .BSLayout5-Master .BSBilling4TableCont-default {
|
||||
// height: 93vh;
|
||||
// }
|
||||
|
||||
.BSLayout5-Master .AddFavList {
|
||||
left: 0;
|
||||
height: 95vh;
|
||||
|
|
@ -46,11 +34,6 @@
|
|||
justify-items: center;
|
||||
}
|
||||
|
||||
.BSBillingTable5-billtable {
|
||||
// height:100Vh;
|
||||
// overflow: auto;
|
||||
}
|
||||
|
||||
.BSC1-Master .BSBillingTable5-billtable {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
|
|
@ -66,7 +49,6 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
// margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.BSBillingTable-title {
|
||||
|
|
@ -108,7 +90,6 @@
|
|||
}
|
||||
|
||||
.BSBillingTable5-table-td {
|
||||
// border: 1px solid #dddddd;
|
||||
border-bottom: 1.9px dashed #000;
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
|
|
@ -119,7 +100,6 @@
|
|||
}
|
||||
|
||||
.BSBillingTable5-table-th {
|
||||
// border: 1px solid #dddddd;
|
||||
border-bottom: 1.9px solid #000;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
|
|
@ -130,25 +110,23 @@
|
|||
}
|
||||
|
||||
.BSBillingTable5-table-notes {
|
||||
font-size: '14px';
|
||||
font-size: "14px";
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.BSBillingTable5-table-cont {
|
||||
text-align: left;
|
||||
line-height: 1.5;
|
||||
font-size: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.BSBillingTable5-table-sub-td {
|
||||
// display: flex;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #52c41a;
|
||||
}
|
||||
|
||||
.BSBillingTable5-table-tr:nth-child(even) {
|
||||
// background-color: #dddddd;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
@ -751,32 +729,6 @@ select:focus-visible {
|
|||
}
|
||||
}
|
||||
|
||||
/* For screens between 768px and 991px (e.g., tablets) */
|
||||
|
||||
// @media (min-width: 768px) and (max-width: 991px) {
|
||||
// .BSBillingTable-oCbtn {
|
||||
// position: fixed !important;
|
||||
// z-index: 1;
|
||||
// }
|
||||
|
||||
// .BSBillingTable5-billtable,{
|
||||
// display: none !important;
|
||||
// }
|
||||
// .BSLayout2-bSlayer {
|
||||
// position: fixed;
|
||||
// right: 0;
|
||||
// }
|
||||
// .BSBIllingTable5-mobscrn {
|
||||
// position: fixed;
|
||||
// bottom: 0;
|
||||
// height: 6rem;
|
||||
// // width: 100%;
|
||||
// background-color: #fff;
|
||||
// }
|
||||
// }
|
||||
|
||||
/* For screens larger than 992px (e.g., desktops) */
|
||||
|
||||
@media (min-width: 991px) and (max-width: 1364px) {
|
||||
.BSBillingTable-oCbtn {
|
||||
position: fixed !important;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ input::-webkit-inner-spin-button {
|
|||
letter-spacing: 0em;
|
||||
text-align: center;
|
||||
border: none;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
}
|
||||
|
||||
.BST6Payment-Button-pay {
|
||||
|
|
@ -29,7 +29,7 @@ input::-webkit-inner-spin-button {
|
|||
text-align: center;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
}
|
||||
|
||||
.BST6Payment-Button-pay-disabled {
|
||||
|
|
@ -43,7 +43,7 @@ input::-webkit-inner-spin-button {
|
|||
text-align: center;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ input::-webkit-inner-spin-button {
|
|||
font-weight: 600;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
}
|
||||
|
||||
.BST6Payment-Button-RECIEVED {
|
||||
|
|
@ -73,7 +73,7 @@ input::-webkit-inner-spin-button {
|
|||
border-radius: 8.3px;
|
||||
border: 0.83px solid #8e8e8e;
|
||||
font-size: 12px;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
@ -83,7 +83,7 @@ input::-webkit-inner-spin-button {
|
|||
border-radius: 8.3px;
|
||||
border: 0.83px solid #ff4d4f;
|
||||
font-size: 12px;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
@ -97,7 +97,7 @@ input::-webkit-inner-spin-button {
|
|||
border-radius: 8.3px;
|
||||
border: 0.83px solid #8e8e8e;
|
||||
font-size: 12px;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
@ -123,9 +123,6 @@ input::-webkit-inner-spin-button {
|
|||
flex-direction: row;
|
||||
gap: 2rem;
|
||||
align-items: center;
|
||||
// margin-bottom: 15px;
|
||||
// padding-right: 10px;
|
||||
// align-items: center;
|
||||
}
|
||||
|
||||
.BST6Payment-Paydiv {
|
||||
|
|
@ -176,7 +173,7 @@ input::-webkit-inner-spin-button {
|
|||
display: flex;
|
||||
gap: 0.2rem;
|
||||
align-items: center;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
text-transform: capitalize;
|
||||
|
|
@ -207,19 +204,22 @@ input::-webkit-inner-spin-button {
|
|||
|
||||
.Btn-payment-mode {
|
||||
background-color: var(--SELECTED_COLOR);
|
||||
font-size: 14px;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500;
|
||||
height: 40px;
|
||||
width: 100px;
|
||||
flex-grow: 1;
|
||||
flex: 1;
|
||||
width: max-content !important;
|
||||
border-radius: 7.2px;
|
||||
color: #fff;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
gap: 0.2rem;
|
||||
align-items: center;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
text-transform: capitalize;
|
||||
@media (max-width: 992px) {
|
||||
font-size: 11px;
|
||||
|
|
@ -240,20 +240,23 @@ input::-webkit-inner-spin-button {
|
|||
|
||||
.Btn-payment-mode-sel {
|
||||
background-color: var(--DEFAULT_SELECTED_COLOR);
|
||||
font-size: 14px;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500;
|
||||
height: 40px;
|
||||
width: 100px;
|
||||
width: max-content !important;
|
||||
flex: 1;
|
||||
flex-grow: 1;
|
||||
border-radius: 7.2px;
|
||||
color: #fff;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
gap: 0.2rem;
|
||||
align-items: center;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
text-transform: capitalize;
|
||||
border: none;
|
||||
@media (max-width: 992px) {
|
||||
font-size: 11px;
|
||||
height: 35px;
|
||||
|
|
|
|||
|
|
@ -45,11 +45,8 @@
|
|||
|
||||
.BSBill-Table7 th {
|
||||
position: sticky;
|
||||
|
||||
border-spacing: 0;
|
||||
// color: black;
|
||||
text-align: center;
|
||||
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
|
|
@ -59,10 +56,9 @@
|
|||
.BSBill-Table7-content {
|
||||
background-color: rgba(235, 235, 236, 1);
|
||||
height: 3rem;
|
||||
|
||||
font-size: 14px;
|
||||
font-size: 13px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.BSBill-Table7-content-disabled {
|
||||
|
|
@ -164,9 +160,7 @@
|
|||
margin: 10px 10px;
|
||||
}
|
||||
|
||||
.Table7-customer
|
||||
.ant-select-single:not(.ant-select-customize-input)
|
||||
.ant-select-selector {
|
||||
.Table7-customer .ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
|
||||
width: 10rem;
|
||||
height: 3rem;
|
||||
text-align: center;
|
||||
|
|
@ -178,9 +172,7 @@
|
|||
font-weight: 600;
|
||||
}
|
||||
|
||||
.Table7-customer
|
||||
.ant-select-single.ant-select-show-arrow
|
||||
.ant-select-selection-placeholder {
|
||||
.Table7-customer .ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {
|
||||
color: #000;
|
||||
padding-inline-end: 0px !important;
|
||||
}
|
||||
|
|
@ -274,14 +266,12 @@
|
|||
}
|
||||
|
||||
.BSBill-Table7 th {
|
||||
// font-weight: 400 !important;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.BSBill-Table7-content {
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
// font-weight: 400;
|
||||
}
|
||||
|
||||
.Table7-items {
|
||||
|
|
@ -327,7 +317,7 @@
|
|||
|
||||
.Table7-rate {
|
||||
display: flex;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
font-family: "Poppins", sans-serif;
|
||||
font-size: 32.203px;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
|
|
@ -347,7 +337,6 @@
|
|||
|
||||
.icon-button {
|
||||
height: 30px;
|
||||
// width:30px;
|
||||
border-radius: 30px;
|
||||
padding: 0px;
|
||||
margin: 6px 6px;
|
||||
|
|
@ -419,13 +408,9 @@
|
|||
|
||||
.BSBilling7-vertical-line {
|
||||
width: 1px;
|
||||
/* Adjust the width as needed */
|
||||
height: 100%;
|
||||
/* This will make the line span the entire height of its container */
|
||||
background-color: #000;
|
||||
/* Change the background color to your desired color */
|
||||
margin: 0 10px;
|
||||
/* Adjust margin as needed to position the line */
|
||||
}
|
||||
|
||||
hr.Table7-Dotted-Line1 {
|
||||
|
|
@ -478,7 +463,6 @@ hr.Table7-Dotted-Line1 {
|
|||
}
|
||||
|
||||
.edit-btn-table:focus {
|
||||
// background-color: #ffdb3a;
|
||||
background-color: #fff;
|
||||
color: var(--SELECTED_COLOR) !important;
|
||||
border: solid 1px var(--SELECTED_COLOR);
|
||||
|
|
@ -514,10 +498,6 @@ hr.Table7-Dotted-Line1 {
|
|||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.radio-button-group .item {
|
||||
// width: 100%;
|
||||
}
|
||||
|
||||
.radio-button-group .radio-button {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
|
|
@ -528,16 +508,14 @@ hr.Table7-Dotted-Line1 {
|
|||
.radio-button-group .radio-button + label {
|
||||
padding: 4px 10px;
|
||||
cursor: pointer;
|
||||
// border: 1px solid #CCC;
|
||||
border: none;
|
||||
margin-right: -2px;
|
||||
color: #ffffff;
|
||||
background-color: var(--DEFAULT_SELECTED_COLOR);
|
||||
font-family: 'gilroy';
|
||||
font-family: "gilroy";
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
// text-transform: uppercase;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@
|
|||
align-items: center;
|
||||
border: none;
|
||||
column-gap: 0rem;
|
||||
width: max-content;
|
||||
height: 2rem;
|
||||
border-radius: 4.982px;
|
||||
padding: 5px 6px;
|
||||
height: 2rem;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@
|
|||
.RiVerifiedBadgeFill {
|
||||
color: #1292ee !important;
|
||||
}
|
||||
.FaparkingIcon {
|
||||
width: 32px !important;
|
||||
height: 32px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.BSBillingNav2div2 {
|
||||
|
|
|
|||
|
|
@ -305,6 +305,7 @@
|
|||
.BSBillingNav-icon {
|
||||
color: #ffffff !important;
|
||||
transition: all 0.2s ease-in-out;
|
||||
width: 30px !important;
|
||||
&:hover {
|
||||
color: #1292ee !important;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@
|
|||
height: 100%;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
top: 2rem;
|
||||
top: 3.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
top: 2rem;
|
||||
top: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
.BSC1Search-container {
|
||||
// display: flex;
|
||||
// flex-direction: row;
|
||||
// padding: 0.5rem 0 0 1.5rem;
|
||||
// gap: 0.5rem;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
|
@ -143,7 +139,6 @@
|
|||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
|
||||
.ItemQtyCard {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
|
@ -195,3 +190,54 @@
|
|||
flex-direction: column;
|
||||
row-gap: 1rem;
|
||||
}
|
||||
|
||||
.qtyDetail {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
column-gap: 0.1rem;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.qtyUomName {
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
font-family: "Gilroy";
|
||||
text-align: center;
|
||||
}
|
||||
.qtyprice {
|
||||
font-size: 16px;
|
||||
background-color: var(--DEFAULT_SELECTED_COLOR);
|
||||
color: #fff;
|
||||
width: 105px;
|
||||
display: flex;
|
||||
font-family: var(--PARA_FONT_FAMILY);
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
border-bottom-left-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
}
|
||||
|
||||
.ItemQtyImgCard {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.EditQuantity-heading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 25rem;
|
||||
}
|
||||
.EditQuantity-headingname {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// width: 20rem;
|
||||
}
|
||||
.EditQuantity-headingproductname {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
// padding: 1rem;
|
||||
// width: 25rem;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -630,6 +630,22 @@
|
|||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
.allpageSettingIcon {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background-color: #1292ee !important;
|
||||
border-radius: 6px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 5px !important;
|
||||
color: #fff;
|
||||
font-size: 25px !important;
|
||||
svg {
|
||||
height: 30px !important;
|
||||
width: 30px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.comboPrichangeBTN {
|
||||
width: 32px;
|
||||
|
|
@ -704,23 +720,35 @@
|
|||
}
|
||||
}
|
||||
|
||||
.MultiSearchIconDiv3 {
|
||||
background-color: #ffffff;
|
||||
color: #1292ee !important;
|
||||
.MultiSearchIconDiv {
|
||||
background-color: #1292ee;
|
||||
color: #fff !important;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
width: 32px !important;
|
||||
height: 32px;
|
||||
padding: 4px;
|
||||
width: 35px !important;
|
||||
height: 33px;
|
||||
padding: 6px;
|
||||
|
||||
svg {
|
||||
font-size: 22px;
|
||||
width: 32px !important;
|
||||
height: 32px;
|
||||
width: 35px !important;
|
||||
height: 35px;
|
||||
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
.AsAmtCombo {
|
||||
svg {
|
||||
height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.SearchNavMutiple {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0;
|
||||
width: inherit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
// border: 0.3px solid black;
|
||||
width: 95%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.product-qty-info {
|
||||
|
|
@ -60,9 +59,6 @@
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
// .Product-table .ant-table{
|
||||
// width:90%;
|
||||
// }
|
||||
.supplierInfo {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
@ -70,12 +66,13 @@
|
|||
padding: 0.8rem;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.supplierInfo1 {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 80% !important;
|
||||
width: 100% !important;
|
||||
gap: 1rem;
|
||||
align-items: flex-start;
|
||||
|
||||
|
|
@ -133,7 +130,6 @@
|
|||
.extractor-table {
|
||||
overflow: auto;
|
||||
scrollbar-width: thin;
|
||||
|
||||
}
|
||||
|
||||
.extractor-table-red .ant-table-thead {
|
||||
|
|
@ -171,21 +167,19 @@
|
|||
|
||||
&:hover {
|
||||
background-color: #ff4d4f !important;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
&.added {
|
||||
background-color: #52c41a;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.product-legend {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
font-family: 'Poppins';
|
||||
font-family: "Poppins";
|
||||
margin-bottom: 10px;
|
||||
|
||||
.legend-item {
|
||||
|
|
@ -209,40 +203,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
// .supplierInfo .ant-select-selector
|
||||
// {
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
// .supplierInfo :where(.css-dev-only-do-not-override-2i2tap).ant-select.ant-select-in-form-item
|
||||
// {
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
|
||||
// .supplierInfo .ant-input{
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
// .invoiceDetails .ant-input{
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
// .invoiceDetails .example{
|
||||
// width: 15rem ;
|
||||
|
||||
// }
|
||||
// .invoiceDetails .ant-select-selector
|
||||
// {
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
// .invoiceDetails :where(.css-dev-only-do-not-override-2i2tap).ant-select.ant-select-in-form-item
|
||||
// {
|
||||
// width:15rem !important;
|
||||
// height:3rem !important;
|
||||
// }
|
||||
|
||||
.stockDiv {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
|
@ -282,10 +242,6 @@
|
|||
display: flex;
|
||||
}
|
||||
|
||||
// .formHeader {
|
||||
// width: -webkit-fill-available;
|
||||
// }
|
||||
|
||||
.header-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -395,7 +351,6 @@
|
|||
|
||||
&:hover {
|
||||
background-color: #ffffff !important;
|
||||
// font-size: 16px;
|
||||
height: max-content !important;
|
||||
}
|
||||
|
||||
|
|
@ -468,14 +423,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
// .stockDiv {
|
||||
// .ant-select-arrow {
|
||||
// top: 70% !important;
|
||||
// z-index: 2000 !important;
|
||||
// cursor: pointer !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
.product-scan {
|
||||
position: relative;
|
||||
|
||||
|
|
@ -613,7 +560,6 @@
|
|||
}
|
||||
|
||||
.stock-input {
|
||||
// width: 100vw;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
|
@ -900,6 +846,9 @@
|
|||
.ant-form-item {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.float-label {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
|
|
@ -909,3 +858,6 @@
|
|||
padding-bottom: 8px !important;
|
||||
}
|
||||
}
|
||||
.inputFormSTOCKFORM {
|
||||
width: 100%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,12 +10,6 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|||
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
|
||||
const queryClient = new QueryClient();
|
||||
|
||||
// Un Command This line when deployed in App Server
|
||||
window.addEventListener('beforeunload', (e) => {
|
||||
e.preventDefault();
|
||||
e.returnValue = '';
|
||||
});
|
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<Provider store={store}>
|
||||
|
|
|
|||
Loading…
Reference in New Issue