Skeleton Add
This commit is contained in:
parent
eba144301a
commit
587632ebe9
|
|
@ -0,0 +1,53 @@
|
||||||
|
import React from 'react';
|
||||||
|
import './BillingTableSkeleton.scss';
|
||||||
|
|
||||||
|
const BillingTableSkeleton = () => {
|
||||||
|
return (
|
||||||
|
<div className="billing-skeleton">
|
||||||
|
<div className="billing-header">
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="billing-row">
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton" style={{ height: '30px' }}></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="billing-row">
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton" style={{ height: '30px' }}></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="billing-row">
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton" style={{ height: '30px' }}></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
<div className="skeleton"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="billing-bottom">
|
||||||
|
<div className="billing-left">
|
||||||
|
<div className="skeleton billing-box"></div>
|
||||||
|
<div className="skeleton billing-box"></div>
|
||||||
|
</div>
|
||||||
|
<div className="billing-right">
|
||||||
|
<div className="skeleton billing-box"></div>
|
||||||
|
<div className="skeleton billing-total"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BillingTableSkeleton;
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
@keyframes shimmer {
|
||||||
|
0% {
|
||||||
|
background-position: -500px 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
background-position: 500px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.skeleton {
|
||||||
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 37%, #e0e0e0 63%);
|
||||||
|
background-size: 1000px 100%;
|
||||||
|
animation: shimmer 1.4s infinite;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-skeleton {
|
||||||
|
background: #fff;
|
||||||
|
max-width: 420px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-header {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 40px 1fr 50px 60px 30px;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 10px;
|
||||||
|
background: #dde3e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-row {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 40px 1fr 50px 60px 30px;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-bottom {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-left,
|
||||||
|
.billing-right {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-box {
|
||||||
|
height: 36px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.billing-total {
|
||||||
|
height: 48px;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
import React from 'react';
|
||||||
|
import './CardSkeleton.scss';
|
||||||
|
import NavbarSkeleton from './NavbarSkeleton';
|
||||||
|
|
||||||
|
const CardSkeleton = ({ count = 15 }) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
marginTop: '1rem',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<NavbarSkeleton />
|
||||||
|
</div>
|
||||||
|
<div className="card-skeleton-grid">
|
||||||
|
{Array.from({ length: count }).map((_, index) => (
|
||||||
|
<div key={index} className="card-skeleton">
|
||||||
|
<div className="skeleton cardimg"></div>
|
||||||
|
<div style={{ width: '50%' }}>
|
||||||
|
<div className="skeleton card-title"></div>
|
||||||
|
<div className="skeleton card-price"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CardSkeleton;
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
@keyframes shimmer {
|
||||||
|
0% {
|
||||||
|
background-position: -500px 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
background-position: 500px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.skeleton {
|
||||||
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 37%, #e0e0e0 63%);
|
||||||
|
background-size: 1000px 100%;
|
||||||
|
animation: shimmer 1.4s infinite;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-skeleton-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||||
|
gap: 14px;
|
||||||
|
margin-top: 1rem;
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-skeleton {
|
||||||
|
background: #fff;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cardimg {
|
||||||
|
width: 50%;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-title {
|
||||||
|
height: 14px;
|
||||||
|
width: 60%;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-price {
|
||||||
|
height: 14px;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
import React from 'react';
|
||||||
|
import './NavbarSkeleton.scss';
|
||||||
|
|
||||||
|
const NavbarSkeleton = () => {
|
||||||
|
return (
|
||||||
|
<div className="navbar-skeleton">
|
||||||
|
|
||||||
|
{/* LEFT */}
|
||||||
|
<div className="nav-left">
|
||||||
|
<div className="skeleton navbar-logo"></div>
|
||||||
|
<div className="nav-title-group">
|
||||||
|
<div className="skeleton navbar-title"></div>
|
||||||
|
<div className="skeleton navbar-subtitle"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* CENTER SEARCH */}
|
||||||
|
<div className="skeleton navbar-search"></div>
|
||||||
|
|
||||||
|
{/* ICON GROUP 1 */}
|
||||||
|
<div className="nav-icons">
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* SMALL BOX */}
|
||||||
|
<div className="skeleton navbar-time"></div>
|
||||||
|
|
||||||
|
{/* ICON GROUP 2 */}
|
||||||
|
<div className="nav-icons">
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
<div className="skeleton navbar-icon"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* PROFILE */}
|
||||||
|
<div className="skeleton navbar-profile"></div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default NavbarSkeleton;
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
@keyframes shimmer {
|
||||||
|
0% { background-position: -500px 0; }
|
||||||
|
100% { background-position: 500px 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.skeleton {
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
#e0e0e0 25%,
|
||||||
|
#f0f0f0 37%,
|
||||||
|
#e0e0e0 63%
|
||||||
|
);
|
||||||
|
background-size: 1000px 100%;
|
||||||
|
animation: shimmer 1.4s infinite;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NAVBAR */
|
||||||
|
.navbar-skeleton {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
padding: 10px 16px;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LEFT */
|
||||||
|
.nav-left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-logo {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-title-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-title {
|
||||||
|
width: 120px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-subtitle {
|
||||||
|
width: 160px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SEARCH */
|
||||||
|
.navbar-search {
|
||||||
|
flex: 1;
|
||||||
|
height: 34px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ICON GROUP */
|
||||||
|
.nav-icons {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-icon {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SMALL RECT BOX */
|
||||||
|
.navbar-time {
|
||||||
|
width: 90px;
|
||||||
|
height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* PROFILE */
|
||||||
|
.navbar-profile {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
@ -16,6 +16,7 @@ import { isMobile } from 'react-device-detect';
|
||||||
import { getTemplateData } from '../../../../../Features/ThemeChange/ThemeChange.js';
|
import { getTemplateData } from '../../../../../Features/ThemeChange/ThemeChange.js';
|
||||||
import PozoCartIcon from '../../../../../Pages/BookingScreen/Components/UtillComponents/PozoCartIcon.jsx';
|
import PozoCartIcon from '../../../../../Pages/BookingScreen/Components/UtillComponents/PozoCartIcon.jsx';
|
||||||
import TooltipWrapper from '../../../../../Components/Tooltip/Tooltip';
|
import TooltipWrapper from '../../../../../Components/Tooltip/Tooltip';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
// jsx File
|
// jsx File
|
||||||
const BSBillingTable1 = lazy(
|
const BSBillingTable1 = lazy(
|
||||||
() => import('../BSBillingTable1/BSBillingTable1.jsx')
|
() => import('../BSBillingTable1/BSBillingTable1.jsx')
|
||||||
|
|
@ -128,7 +129,7 @@ export default function BSBTOverall1() {
|
||||||
}, [width]);
|
}, [width]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,7 @@ const CustomerPriceHistory = lazy(
|
||||||
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
||||||
); // Scss File
|
); // Scss File
|
||||||
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable1/BSBillingTable1.scss';
|
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable1/BSBillingTable1.scss';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
|
|
||||||
const BSBillingTable1 = () => {
|
const BSBillingTable1 = () => {
|
||||||
const { removeExtraCharge } = useUtilsComponent();
|
const { removeExtraCharge } = useUtilsComponent();
|
||||||
|
|
@ -2017,7 +2018,7 @@ const BSBillingTable1 = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<div className="BillingTable1-Structure" style={{ overflow: 'auto' }}>
|
<div className="BillingTable1-Structure" style={{ overflow: 'auto' }}>
|
||||||
<div className="BillingTable1-table-div">
|
<div className="BillingTable1-table-div">
|
||||||
|
|
|
||||||
|
|
@ -220,6 +220,7 @@ const OtherServicePrintStyle1 = lazy(
|
||||||
import('../../../PrintTemplates/ThermalPrinter/OtherServicePrintStyle1.jsx')
|
import('../../../PrintTemplates/ThermalPrinter/OtherServicePrintStyle1.jsx')
|
||||||
);
|
);
|
||||||
import OtherServiceMobilePrint from '../../BookingFunctionality/OtherServiceMobilePrint.jsx';
|
import OtherServiceMobilePrint from '../../BookingFunctionality/OtherServiceMobilePrint.jsx';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
const BSOtherServiceClaim = lazy(
|
const BSOtherServiceClaim = lazy(
|
||||||
() => import('../../UtillComponents/BSOtherServiceClaim.jsx')
|
() => import('../../UtillComponents/BSOtherServiceClaim.jsx')
|
||||||
);
|
);
|
||||||
|
|
@ -3658,7 +3659,7 @@ const BSBillingTable2 = () => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
templateData?.BookingLayout?.[0] === 'Layout6'
|
templateData?.BookingLayout?.[0] === 'Layout6'
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,7 @@ import {
|
||||||
import { ApplicationPreferences } from '../../../../../Features/BrachLogin/BranchLogin.js';
|
import { ApplicationPreferences } from '../../../../../Features/BrachLogin/BranchLogin.js';
|
||||||
import { useDateStore } from '../../../../../Features/BookingScreen/BookingData/DateStore.js';
|
import { useDateStore } from '../../../../../Features/BookingScreen/BookingData/DateStore.js';
|
||||||
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
const CustomerPriceHistory = lazy(
|
const CustomerPriceHistory = lazy(
|
||||||
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
||||||
);
|
);
|
||||||
|
|
@ -2174,7 +2175,7 @@ const BSBillingTable4 = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
isMobile ? 'BSBilling4-tablediv-mobile' : 'BSBilling4-tablediv'
|
isMobile ? 'BSBilling4-tablediv-mobile' : 'BSBilling4-tablediv'
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,7 @@ import {
|
||||||
import CardPopover from '../StandardTable/Utils/CardPopover.jsx';
|
import CardPopover from '../StandardTable/Utils/CardPopover.jsx';
|
||||||
import UpiPopover from '../StandardTable/Utils/UpiPopOver.jsx';
|
import UpiPopover from '../StandardTable/Utils/UpiPopOver.jsx';
|
||||||
import { useDateStore } from '../../../../../Features/BookingScreen/BookingData/DateStore.js';
|
import { useDateStore } from '../../../../../Features/BookingScreen/BookingData/DateStore.js';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
// Jsx Files
|
// Jsx Files
|
||||||
const OtherServicePrintStyle1 = lazy(
|
const OtherServicePrintStyle1 = lazy(
|
||||||
() =>
|
() =>
|
||||||
|
|
@ -3605,7 +3606,7 @@ const BSBillingTable5 = () => {
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
templateData?.BookingLayout?.[0] === 'Layout6'
|
templateData?.BookingLayout?.[0] === 'Layout6'
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { Suspense, useEffect, useState,lazy } from 'react';
|
import React, { Suspense, useEffect, useState, lazy } from 'react';
|
||||||
import { useSelector, useDispatch } from 'react-redux';
|
import { useSelector, useDispatch } from 'react-redux';
|
||||||
import { Popconfirm, Tooltip } from 'antd';
|
import { Popconfirm, Tooltip } from 'antd';
|
||||||
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable6/BSBillingTable6.scss';
|
import '../../../../../Styles/BookingScreen/Components/BSBillingTables/BSBillingTable6/BSBillingTable6.scss';
|
||||||
|
|
@ -75,6 +75,7 @@ import {
|
||||||
import { getCustomerDisplayWindow } from '../../../../../Features/customerDisplayWindow/customerDisplayWindow.js';
|
import { getCustomerDisplayWindow } from '../../../../../Features/customerDisplayWindow/customerDisplayWindow.js';
|
||||||
import { useApplyOfferto_CardDetail } from '../../UtillComponents/BSNavBarOffer/BSNavBarOffer_CustomHooks.jsx';
|
import { useApplyOfferto_CardDetail } from '../../UtillComponents/BSNavBarOffer/BSNavBarOffer_CustomHooks.jsx';
|
||||||
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
const BSEditTotalAmt = lazy(
|
const BSEditTotalAmt = lazy(
|
||||||
() => import('../BSEditTotalAmount/BSEditTotalAmt.jsx')
|
() => import('../BSEditTotalAmount/BSEditTotalAmt.jsx')
|
||||||
);
|
);
|
||||||
|
|
@ -1986,7 +1987,7 @@ const BSBillingTable6 = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
true
|
true
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,7 @@ const CustomerPriceHistory = lazy(
|
||||||
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
() => import('../../UtillComponents/CustomerPriceHistory.jsx')
|
||||||
);
|
);
|
||||||
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
import { useUtilsComponent } from '../../../../../Services/utils.js';
|
||||||
|
import BillingTableSkeleton from '../../../../../Components/Skeleton/BillingTableSkeleton.jsx';
|
||||||
|
|
||||||
const BSBillingTable7 = () => {
|
const BSBillingTable7 = () => {
|
||||||
const { removeExtraCharge } = useUtilsComponent();
|
const { removeExtraCharge } = useUtilsComponent();
|
||||||
|
|
@ -1894,7 +1895,7 @@ const BSBillingTable7 = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<Suspense fallback={<BillingTableSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -12,6 +12,7 @@ import { useNavigate } from 'react-router-dom';
|
||||||
const UserRelieveManager = lazy(() => import('../../Template/RealivingUser'));
|
const UserRelieveManager = lazy(() => import('../../Template/RealivingUser'));
|
||||||
// Scss
|
// Scss
|
||||||
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss';
|
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss';
|
||||||
|
import NavbarSkeleton from '../../../../Components/Skeleton/NavbarSkeleton';
|
||||||
const subDirectory = import.meta.env.ENV_BASE_URL;
|
const subDirectory = import.meta.env.ENV_BASE_URL;
|
||||||
|
|
||||||
const BSNavBarUserInfo = ({
|
const BSNavBarUserInfo = ({
|
||||||
|
|
@ -38,7 +39,7 @@ const BSNavBarUserInfo = ({
|
||||||
navigate(`${subDirectory}app-page/branch-login`);
|
navigate(`${subDirectory}app-page/branch-login`);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<NavbarSkeleton />}>
|
||||||
<div ref={divRef} className="BSNavBar1-Accmenu">
|
<div ref={divRef} className="BSNavBar1-Accmenu">
|
||||||
<div className="BSNavBar1-Acc-menu">
|
<div className="BSNavBar1-Acc-menu">
|
||||||
{CompBranchData?.length > 1 && (
|
{CompBranchData?.length > 1 && (
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@ import { FaParking } from 'react-icons/fa';
|
||||||
import { isMobile } from 'react-device-detect';
|
import { isMobile } from 'react-device-detect';
|
||||||
import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx';
|
import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx';
|
||||||
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss';
|
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss';
|
||||||
|
import NavbarSkeleton from '../../../../Components/Skeleton/NavbarSkeleton.jsx';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.ENV_BASE_URL;
|
const subDirectory = import.meta.env.ENV_BASE_URL;
|
||||||
const commonUrl = import.meta.env.ENV_COMMON_BASE_URL;
|
const commonUrl = import.meta.env.ENV_COMMON_BASE_URL;
|
||||||
|
|
@ -611,7 +612,7 @@ const BSNavbar1 = (props) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Suspense Loading...</div>}>
|
<Suspense fallback={<NavbarSkeleton />}>
|
||||||
<div
|
<div
|
||||||
className="BSBillingNavBar1"
|
className="BSBillingNavBar1"
|
||||||
style={{
|
style={{
|
||||||
|
|
|
||||||
|
|
@ -137,6 +137,7 @@ const BSCustomerSelect = lazy(
|
||||||
);
|
);
|
||||||
// Scss
|
// Scss
|
||||||
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss';
|
import '../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar2.scss';
|
||||||
|
import NavbarSkeleton from '../../../../Components/Skeleton/NavbarSkeleton.jsx';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.ENV_BASE_URL;
|
const subDirectory = import.meta.env.ENV_BASE_URL;
|
||||||
const commonUrl = import.meta.env.ENV_COMMON_BASE_URL;
|
const commonUrl = import.meta.env.ENV_COMMON_BASE_URL;
|
||||||
|
|
@ -585,7 +586,7 @@ const BSNavbar2 = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<NavbarSkeleton />}>
|
||||||
<div className="BSBillingNavBar2" style={{ backgroundColor: 'white' }}>
|
<div className="BSBillingNavBar2" style={{ backgroundColor: 'white' }}>
|
||||||
<div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>
|
<div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,7 @@ import BSNavBarWeightScale from '../UtillComponents/BSNavBarWeightScale.jsx';
|
||||||
import { CgSearchLoading } from 'react-icons/cg';
|
import { CgSearchLoading } from 'react-icons/cg';
|
||||||
import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx';
|
import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx';
|
||||||
import MultipleSearch from '../UtillComponents/MultipleSearch.jsx';
|
import MultipleSearch from '../UtillComponents/MultipleSearch.jsx';
|
||||||
|
import NavbarSkeleton from '../../../../Components/Skeleton/NavbarSkeleton.jsx';
|
||||||
|
|
||||||
// Jsx Files
|
// Jsx Files
|
||||||
const BSNavBarFavItems = lazy(
|
const BSNavBarFavItems = lazy(
|
||||||
|
|
@ -595,7 +596,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<NavbarSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<div className="BSNavbar3Main">
|
<div className="BSNavbar3Main">
|
||||||
<div className="homeTime">
|
<div className="homeTime">
|
||||||
|
|
|
||||||
|
|
@ -1,490 +1,540 @@
|
||||||
import { shallowEqual, useSelector } from "react-redux";
|
import { shallowEqual, useSelector } from 'react-redux';
|
||||||
import { GlobalAccessForOthers, GlobalCardAccess, GlobalCombosearch, GlobalItemCard, GlobalProductCategorie, GlobalSelectedDatas, GlobalWithoutSubCatItemCard, triggerProductCard } from "../../../../Features/BookingScreen/BookingData/BookingData";
|
import {
|
||||||
import { DefaultModal } from "../../../../Components/Modal/DefaultModal";
|
GlobalAccessForOthers,
|
||||||
import { useCallback, useEffect, useRef, useState } from "react";
|
GlobalCardAccess,
|
||||||
import { Tables } from "../../../../Components/Tables/Table";
|
GlobalCombosearch,
|
||||||
import { InputField } from "../../../../Components/Forms/InputField";
|
GlobalItemCard,
|
||||||
import { Form, Pagination, Tooltip } from "antd";
|
GlobalProductCategorie,
|
||||||
import { getSession } from "../../../../Services/Others";
|
GlobalSelectedDatas,
|
||||||
import { Messages } from "../../../../Components/Notifications/Messages";
|
GlobalWithoutSubCatItemCard,
|
||||||
import { useDispatch } from "react-redux";
|
triggerProductCard,
|
||||||
import { PutStockPrice } from "../../../../Features/StockPriceUpdate/StockPriceUpdateMaster";
|
} from '../../../../Features/BookingScreen/BookingData/BookingData';
|
||||||
import PriceChange from "../../../../Images/PayOptImgs/PriceChange.svg";
|
import { DefaultModal } from '../../../../Components/Modal/DefaultModal';
|
||||||
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
||||||
|
import { Tables } from '../../../../Components/Tables/Table';
|
||||||
|
import { InputField } from '../../../../Components/Forms/InputField';
|
||||||
|
import { Form, Pagination, Tooltip } from 'antd';
|
||||||
|
import { getSession } from '../../../../Services/Others';
|
||||||
|
import { Messages } from '../../../../Components/Notifications/Messages';
|
||||||
|
import { useDispatch } from 'react-redux';
|
||||||
|
import { PutStockPrice } from '../../../../Features/StockPriceUpdate/StockPriceUpdateMaster';
|
||||||
|
import PriceChange from '../../../../Images/PayOptImgs/PriceChange.svg';
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
|
// src\Styles\BookingScreen\Template\BSLayout2\BSLayout2.scss
|
||||||
|
import '../../../../Styles/BookingScreen/Template/BSLayout2/BSLayout2.scss';
|
||||||
|
|
||||||
const ProductPriceChange = ({ showButton = true, priceChangeProduct = null, productPriceChange = false, setProductPriceChange = () => { }, setPriceChangeProduct = () => { } }) => {
|
const ProductPriceChange = ({
|
||||||
|
showButton = true,
|
||||||
|
priceChangeProduct = null,
|
||||||
|
productPriceChange = false,
|
||||||
|
setProductPriceChange = () => {},
|
||||||
|
setPriceChangeProduct = () => {},
|
||||||
|
}) => {
|
||||||
|
const formRef = useRef(null);
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const formRef = useRef(null);
|
const AppId = getSession('AppId');
|
||||||
const dispatch = useDispatch();
|
const CompId = getSession('CompId');
|
||||||
|
const BranchId = getSession('BranchId');
|
||||||
|
const UserId = getSession('UserId');
|
||||||
|
|
||||||
const AppId = getSession('AppId');
|
const [messageData, setMessageData] = useState(null);
|
||||||
const CompId = getSession('CompId');
|
const [messageType, setMessageType] = useState(null);
|
||||||
const BranchId = getSession('BranchId');
|
const [currentPage, setCurrentPage] = useState(1);
|
||||||
const UserId = getSession('UserId');
|
const [pageSize] = useState(10);
|
||||||
|
|
||||||
const [messageData, setMessageData] = useState(null);
|
const [noSubcatCardData, setNoSubcatCardData] = useState();
|
||||||
const [messageType, setMessageType] = useState(null);
|
const [priceChangeModal, setPriceChangeModal] = useState(false);
|
||||||
const [currentPage, setCurrentPage] = useState(1);
|
|
||||||
const [pageSize] = useState(10);
|
|
||||||
|
|
||||||
const [noSubcatCardData, setNoSubcatCardData] = useState();
|
const comboSearch = useSelector(GlobalCombosearch);
|
||||||
const [priceChangeModal, setPriceChangeModal] = useState(false);
|
const ProdCat = useSelector(GlobalProductCategorie, shallowEqual);
|
||||||
|
const ItemCard = useSelector(GlobalItemCard, shallowEqual);
|
||||||
|
const withoutSubCatItemCard = useSelector(
|
||||||
|
GlobalWithoutSubCatItemCard,
|
||||||
|
shallowEqual
|
||||||
|
);
|
||||||
|
const CardAccess = useSelector(GlobalCardAccess, shallowEqual);
|
||||||
|
const globalAccessForOthers = useSelector(
|
||||||
|
GlobalAccessForOthers,
|
||||||
|
shallowEqual
|
||||||
|
);
|
||||||
|
const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual);
|
||||||
|
const [tableData, setTableData] = useState([]);
|
||||||
|
const [editingKey, setEditingKey] = useState(null);
|
||||||
|
const [priceChangedProducts, setPriceChangedProducts] = useState([]);
|
||||||
|
console.log(comboSearch, 'comboSearch');
|
||||||
|
|
||||||
const comboSearch = useSelector(GlobalCombosearch);
|
// console.log(noSubcatCardData, "noSubcatCardData")
|
||||||
const ProdCat = useSelector(GlobalProductCategorie, shallowEqual);
|
|
||||||
const ItemCard = useSelector(GlobalItemCard, shallowEqual);
|
|
||||||
const withoutSubCatItemCard = useSelector(GlobalWithoutSubCatItemCard, shallowEqual);
|
|
||||||
const CardAccess = useSelector(GlobalCardAccess, shallowEqual);
|
|
||||||
const globalAccessForOthers = useSelector(GlobalAccessForOthers, shallowEqual);
|
|
||||||
const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual);
|
|
||||||
const [tableData, setTableData] = useState([]);
|
|
||||||
const [editingKey, setEditingKey] = useState(null);
|
|
||||||
const [priceChangedProducts, setPriceChangedProducts] = useState([]);
|
|
||||||
console.log(comboSearch, "comboSearch")
|
|
||||||
|
|
||||||
// console.log(noSubcatCardData, "noSubcatCardData")
|
useEffect(() => {
|
||||||
|
if (ProdCat && (ItemCard || withoutSubCatItemCard)) {
|
||||||
|
setNoSubcatCardData(
|
||||||
|
ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]);
|
||||||
|
|
||||||
useEffect(() => {
|
const priceChangeColumns = [
|
||||||
if (ProdCat && (ItemCard || withoutSubCatItemCard)) {
|
{
|
||||||
setNoSubcatCardData(ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard);
|
title: 'S.No',
|
||||||
}
|
dataIndex: 'SlNo',
|
||||||
}, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]);
|
key: 'SlNo',
|
||||||
|
width: '60px',
|
||||||
|
align: 'center',
|
||||||
|
render: (text, record, index) => (
|
||||||
|
<div>{(currentPage - 1) * pageSize + index + 1}</div>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Product Name',
|
||||||
|
dataIndex: 'ProdName',
|
||||||
|
key: 'ProdName',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Batch No.',
|
||||||
|
dataIndex: 'BatchRef',
|
||||||
|
key: 'BatchRef',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Old MRP',
|
||||||
|
dataIndex: 'MRP',
|
||||||
|
key: 'MRP',
|
||||||
|
width: '100px',
|
||||||
|
align: 'right',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'New MRP (Optional)',
|
||||||
|
dataIndex: 'NewMRP',
|
||||||
|
key: 'NewMRP',
|
||||||
|
width: '100px',
|
||||||
|
align: 'right',
|
||||||
|
render: (text, record, index) => {
|
||||||
|
// if (index === editingKey) {
|
||||||
|
|
||||||
const priceChangeColumns = [
|
// }
|
||||||
{
|
// return <div>{text ? text : 'Enter New MRP'}</div>
|
||||||
title: 'S.No',
|
return (
|
||||||
dataIndex: 'SlNo',
|
<Form.Item
|
||||||
key: 'SlNo',
|
key={`NewMRP-${record?.localId}`}
|
||||||
width: '60px',
|
name={`NewMRP${record?.localId}`}
|
||||||
align: 'center',
|
rules={[
|
||||||
render: (text, record, index) => <div>{(currentPage - 1) * pageSize + index + 1}</div>
|
{
|
||||||
},
|
validator: async (_, value) => {
|
||||||
{
|
if (value === '') {
|
||||||
title: 'Product Name',
|
return Promise.resolve();
|
||||||
dataIndex: 'ProdName',
|
} else if (parseFloat(value) < 1) {
|
||||||
key: 'ProdName',
|
return Promise.reject(`MRP should be greater than 0`);
|
||||||
},
|
}
|
||||||
{
|
return Promise.resolve();
|
||||||
title: 'Batch No.',
|
},
|
||||||
dataIndex: 'BatchRef',
|
},
|
||||||
key: 'BatchRef',
|
]}
|
||||||
},
|
>
|
||||||
{
|
<InputField
|
||||||
title: 'Old MRP',
|
value={text}
|
||||||
dataIndex: 'MRP',
|
placeholder="Enter New MRP"
|
||||||
key: 'MRP',
|
onChange={(e) =>
|
||||||
width: '100px',
|
handleNewMRPChange(e?.target?.value, record?.localId)
|
||||||
align: 'right',
|
}
|
||||||
},
|
inputMode="decimal"
|
||||||
{
|
onInput={(e) => {
|
||||||
title: 'New MRP (Optional)',
|
let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters
|
||||||
dataIndex: 'NewMRP',
|
const parts = cleanedValue.split('.');
|
||||||
key: 'NewMRP',
|
|
||||||
width: '100px',
|
|
||||||
align: 'right',
|
|
||||||
render: (text, record, index) => {
|
|
||||||
// if (index === editingKey) {
|
|
||||||
|
|
||||||
// }
|
if (cleanedValue.startsWith('.')) {
|
||||||
// return <div>{text ? text : 'Enter New MRP'}</div>
|
cleanedValue = '0' + cleanedValue;
|
||||||
return (
|
}
|
||||||
<Form.Item
|
|
||||||
key={`NewMRP-${record?.localId}`}
|
|
||||||
name={`NewMRP${record?.localId}`}
|
|
||||||
rules={[
|
|
||||||
{
|
|
||||||
validator: async (_, value) => {
|
|
||||||
if (value === '') {
|
|
||||||
return Promise.resolve();
|
|
||||||
} else if (parseFloat(value) < 1) {
|
|
||||||
return Promise.reject(`MRP should be greater than 0`)
|
|
||||||
}
|
|
||||||
return Promise.resolve();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]}>
|
|
||||||
<InputField
|
|
||||||
|
|
||||||
value={text}
|
e.target.value =
|
||||||
placeholder="Enter New MRP"
|
parts.length > 2
|
||||||
onChange={(e) => handleNewMRPChange(e?.target?.value, record?.localId)}
|
? `${parts[0]}.${parts.slice(1).join('')}`
|
||||||
inputMode="decimal"
|
: cleanedValue;
|
||||||
onInput={(e) => {
|
}}
|
||||||
let cleanedValue = e.target.value.replace(
|
/>
|
||||||
/[^0-9.]/g,
|
</Form.Item>
|
||||||
''
|
);
|
||||||
); // Remove invalid characters
|
},
|
||||||
const parts = cleanedValue.split('.');
|
},
|
||||||
|
{
|
||||||
|
title: 'Old Sell Price',
|
||||||
|
dataIndex: 'SellPrice',
|
||||||
|
key: 'SellPrice',
|
||||||
|
width: '120px',
|
||||||
|
align: 'right',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'New Sell Price',
|
||||||
|
dataIndex: 'NewSellPrice',
|
||||||
|
key: 'NewSellPrice',
|
||||||
|
width: '120px',
|
||||||
|
align: 'right',
|
||||||
|
render: (text, record, index) => {
|
||||||
|
// if (index === editingKey) {
|
||||||
|
|
||||||
if (cleanedValue.startsWith('.')) {
|
// }
|
||||||
cleanedValue = '0' + cleanedValue;
|
// return <div>{text ? text : 'Enter New Sell Price'}</div>
|
||||||
}
|
return (
|
||||||
|
<Form.Item
|
||||||
|
key={`NewSellPrice-${record?.localId}`}
|
||||||
|
name={`NewSellPrice${record?.localId}`}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
validator: async (_, value) => {
|
||||||
|
if (value === '') {
|
||||||
|
return Promise.resolve();
|
||||||
|
} else if (parseFloat(value) < 1) {
|
||||||
|
return Promise.reject(
|
||||||
|
`Sell Price should be greater than 0`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return Promise.resolve();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<InputField
|
||||||
|
value={text}
|
||||||
|
placeholder="Enter New Sell Price"
|
||||||
|
onChange={(e) =>
|
||||||
|
handleNewSellPriceChange(e?.target?.value, record?.localId)
|
||||||
|
}
|
||||||
|
inputMode="decimal"
|
||||||
|
onInput={(e) => {
|
||||||
|
let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters
|
||||||
|
const parts = cleanedValue.split('.');
|
||||||
|
|
||||||
e.target.value =
|
if (cleanedValue.startsWith('.')) {
|
||||||
parts.length > 2
|
cleanedValue = '0' + cleanedValue;
|
||||||
? `${parts[0]}.${parts.slice(1).join('')}`
|
}
|
||||||
: cleanedValue;
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Old Sell Price',
|
|
||||||
dataIndex: 'SellPrice',
|
|
||||||
key: 'SellPrice',
|
|
||||||
width: '120px',
|
|
||||||
align: 'right',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'New Sell Price',
|
|
||||||
dataIndex: 'NewSellPrice',
|
|
||||||
key: 'NewSellPrice',
|
|
||||||
width: '120px',
|
|
||||||
align: 'right',
|
|
||||||
render: (text, record, index) => {
|
|
||||||
// if (index === editingKey) {
|
|
||||||
|
|
||||||
// }
|
e.target.value =
|
||||||
// return <div>{text ? text : 'Enter New Sell Price'}</div>
|
parts.length > 2
|
||||||
return (
|
? `${parts[0]}.${parts.slice(1).join('')}`
|
||||||
<Form.Item
|
: cleanedValue;
|
||||||
key={`NewSellPrice-${record?.localId}`}
|
}}
|
||||||
name={`NewSellPrice${record?.localId}`}
|
/>
|
||||||
rules={[
|
</Form.Item>
|
||||||
{
|
);
|
||||||
validator: async (_, value) => {
|
},
|
||||||
if (value === '') {
|
},
|
||||||
return Promise.resolve();
|
];
|
||||||
} else if (parseFloat(value) < 1) {
|
|
||||||
return Promise.reject(`Sell Price should be greater than 0`)
|
|
||||||
}
|
|
||||||
return Promise.resolve();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<InputField
|
|
||||||
|
|
||||||
value={text}
|
const cardData = !globalAccessForOthers
|
||||||
placeholder="Enter New Sell Price"
|
? CardAccess
|
||||||
onChange={(e) => handleNewSellPriceChange(e?.target?.value, record?.localId)}
|
? SelectedDatas?.length > 1
|
||||||
inputMode="decimal"
|
? SelectedDatas
|
||||||
onInput={(e) => {
|
: SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0
|
||||||
let cleanedValue = e.target.value.replace(
|
? []
|
||||||
/[^0-9.]/g,
|
: SelectedDatas
|
||||||
''
|
: ItemCard?.length === 0 ||
|
||||||
); // Remove invalid characters
|
(ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0)
|
||||||
const parts = cleanedValue.split('.');
|
? noSubcatCardData
|
||||||
|
: ItemCard
|
||||||
|
: '';
|
||||||
|
|
||||||
if (cleanedValue.startsWith('.')) {
|
console.log(cardData, 'cardData1', ItemCard, SelectedDatas, noSubcatCardData);
|
||||||
cleanedValue = '0' + cleanedValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
e.target.value =
|
useEffect(() => {
|
||||||
parts.length > 2
|
const extractStockDtls = (data) => {
|
||||||
? `${parts[0]}.${parts.slice(1).join('')}`
|
if (data?.length === 0) return [];
|
||||||
: cleanedValue;
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const cardData = !globalAccessForOthers
|
let stockDtls = [];
|
||||||
? CardAccess
|
|
||||||
? SelectedDatas?.length > 1
|
|
||||||
? SelectedDatas
|
|
||||||
: SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0
|
|
||||||
? []
|
|
||||||
: SelectedDatas
|
|
||||||
: ItemCard?.length === 0 || (ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0)
|
|
||||||
? noSubcatCardData
|
|
||||||
: ItemCard
|
|
||||||
: '';
|
|
||||||
|
|
||||||
console.log(cardData, "cardData1", ItemCard, SelectedDatas, noSubcatCardData)
|
data?.forEach((item) => {
|
||||||
|
const products = item?.ProductDetail ?? [];
|
||||||
|
|
||||||
useEffect(() => {
|
products.forEach((product) => {
|
||||||
const extractStockDtls = (data) => {
|
const variants = product?.ProdVariantDetails ?? [];
|
||||||
if (data?.length === 0) return [];
|
|
||||||
|
|
||||||
let stockDtls = [];
|
variants
|
||||||
|
.filter((variant) => variant?.StockDetails?.length > 0)
|
||||||
|
.forEach((variant) => {
|
||||||
|
const stocks = variant.StockDetails.map((stock) => ({
|
||||||
|
...stock,
|
||||||
|
ProdName:
|
||||||
|
product?.ProdName +
|
||||||
|
(product?.Size && product?.UomName
|
||||||
|
? ` (${product.Size} ${product.UomName})`
|
||||||
|
: product?.Size
|
||||||
|
? ` (${product.Size})`
|
||||||
|
: '') +
|
||||||
|
(product?.BrandName ? ` - (${product.BrandName})` : '') +
|
||||||
|
(variant?.ProdVariantName
|
||||||
|
? ` (${variant.ProdVariantName})`
|
||||||
|
: ''),
|
||||||
|
UomName: product?.UomName,
|
||||||
|
BrandName: product?.BrandName,
|
||||||
|
Size: product?.Size,
|
||||||
|
StockAvailable: product?.StockAvailable,
|
||||||
|
ProdVariantName: variant?.ProdVariantName,
|
||||||
|
localId: uuidv4(),
|
||||||
|
}));
|
||||||
|
|
||||||
data?.forEach(item => {
|
stockDtls.push(
|
||||||
const products = item?.ProductDetail ?? [];
|
...stocks.filter((stock) =>
|
||||||
|
stock?.StockAvailable === 'Y' ? stock?.BatchRef : true
|
||||||
products.forEach(product => {
|
)
|
||||||
const variants = product?.ProdVariantDetails ?? [];
|
);
|
||||||
|
|
||||||
variants
|
|
||||||
.filter(variant => variant?.StockDetails?.length > 0)
|
|
||||||
.forEach(variant => {
|
|
||||||
const stocks = variant.StockDetails.map(stock => ({
|
|
||||||
...stock,
|
|
||||||
ProdName:
|
|
||||||
product?.ProdName +
|
|
||||||
(
|
|
||||||
product?.Size && product?.UomName
|
|
||||||
? ` (${product.Size} ${product.UomName})`
|
|
||||||
: product?.Size
|
|
||||||
? ` (${product.Size})`
|
|
||||||
: ''
|
|
||||||
) +
|
|
||||||
(
|
|
||||||
product?.BrandName
|
|
||||||
? ` - (${product.BrandName})`
|
|
||||||
: ''
|
|
||||||
) +
|
|
||||||
(
|
|
||||||
variant?.ProdVariantName
|
|
||||||
? ` (${variant.ProdVariantName})`
|
|
||||||
: ''
|
|
||||||
),
|
|
||||||
UomName: product?.UomName,
|
|
||||||
BrandName: product?.BrandName,
|
|
||||||
Size: product?.Size,
|
|
||||||
StockAvailable: product?.StockAvailable,
|
|
||||||
ProdVariantName: variant?.ProdVariantName,
|
|
||||||
localId: uuidv4(),
|
|
||||||
}));
|
|
||||||
|
|
||||||
stockDtls.push(
|
|
||||||
...stocks.filter(stock =>
|
|
||||||
stock?.StockAvailable === 'Y'
|
|
||||||
? stock?.BatchRef
|
|
||||||
: true
|
|
||||||
)
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
console.log("extractStockDtls", stockDtls);
|
console.log('extractStockDtls', stockDtls);
|
||||||
return stockDtls;
|
return stockDtls;
|
||||||
}
|
};
|
||||||
setTableData(extractStockDtls(priceChangeProduct || cardData))
|
setTableData(extractStockDtls(priceChangeProduct || cardData));
|
||||||
setCurrentPage(1)
|
setCurrentPage(1);
|
||||||
}, [cardData, priceChangeProduct])
|
}, [cardData, priceChangeProduct]);
|
||||||
|
|
||||||
const handleNewMRPChange = (value, localId) => {
|
const handleNewMRPChange = (value, localId) => {
|
||||||
|
const updatedTableData = [...tableData];
|
||||||
|
const index = updatedTableData.findIndex(
|
||||||
|
(item) => item?.localId === localId
|
||||||
|
);
|
||||||
|
updatedTableData[index].NewMRP = value;
|
||||||
|
setTableData(updatedTableData);
|
||||||
|
updatedTableData[index].NewSellPrice = null;
|
||||||
|
formRef.current.setFieldsValue({
|
||||||
|
[`NewMRP${localId}`]: value,
|
||||||
|
[`NewSellPrice${localId}`]: null,
|
||||||
|
});
|
||||||
|
|
||||||
const updatedTableData = [...tableData];
|
const priceChangedProdList = [...priceChangedProducts];
|
||||||
const index = updatedTableData.findIndex(item => item?.localId === localId);
|
const prodIndex = priceChangedProdList?.findIndex(
|
||||||
updatedTableData[index].NewMRP = value;
|
(prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
|
||||||
setTableData(updatedTableData);
|
);
|
||||||
|
if (prodIndex !== -1) {
|
||||||
|
priceChangedProdList[prodIndex] = {
|
||||||
|
...priceChangedProdList?.[prodIndex],
|
||||||
|
NewMRP: value,
|
||||||
|
NewSellPrice: null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
setPriceChangedProducts(priceChangedProdList);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleNewSellPriceChange = (value, localId) => {
|
||||||
|
const index = tableData.findIndex((item) => item?.localId === localId);
|
||||||
|
const updatedTableData = [...tableData];
|
||||||
|
if (updatedTableData[index]?.NewMRP) {
|
||||||
|
if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) {
|
||||||
|
setMessageType('error');
|
||||||
|
setMessageData('New Sell Price cannot be greater than New MRP');
|
||||||
|
formRef.current.setFieldsValue({
|
||||||
|
[`NewSellPrice${localId}`]: null,
|
||||||
|
});
|
||||||
updatedTableData[index].NewSellPrice = null;
|
updatedTableData[index].NewSellPrice = null;
|
||||||
formRef.current.setFieldsValue({
|
|
||||||
[`NewMRP${localId}`]: value,
|
|
||||||
[`NewSellPrice${localId}`]: null,
|
|
||||||
});
|
|
||||||
|
|
||||||
const priceChangedProdList = [...priceChangedProducts];
|
|
||||||
const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
|
|
||||||
if (prodIndex !== -1) {
|
|
||||||
priceChangedProdList[prodIndex] = {
|
|
||||||
...priceChangedProdList?.[prodIndex],
|
|
||||||
NewMRP: value,
|
|
||||||
NewSellPrice: null,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
setPriceChangedProducts(priceChangedProdList);
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleNewSellPriceChange = (value, localId) => {
|
|
||||||
const index = tableData.findIndex(item => item?.localId === localId);
|
|
||||||
const updatedTableData = [...tableData];
|
|
||||||
if (updatedTableData[index]?.NewMRP) {
|
|
||||||
if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData('New Sell Price cannot be greater than New MRP');
|
|
||||||
formRef.current.setFieldsValue({
|
|
||||||
[`NewSellPrice${localId}`]: null,
|
|
||||||
});
|
|
||||||
updatedTableData[index].NewSellPrice = null;
|
|
||||||
setTableData(updatedTableData);
|
|
||||||
const priceChangedProdList = [...priceChangedProducts];
|
|
||||||
const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
|
|
||||||
|
|
||||||
if (prodIndex !== -1) {
|
|
||||||
priceChangedProdList.splice(prodIndex, 1);
|
|
||||||
}
|
|
||||||
setPriceChangedProducts(priceChangedProdList);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) {
|
|
||||||
if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData('New Sell Price cannot be greater than MRP');
|
|
||||||
formRef.current.setFieldsValue({
|
|
||||||
[`NewSellPrice${index}`]: null,
|
|
||||||
});
|
|
||||||
updatedTableData[index].NewSellPrice = null;
|
|
||||||
setTableData(updatedTableData);
|
|
||||||
const priceChangedProdList = [...priceChangedProducts];
|
|
||||||
const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
|
|
||||||
|
|
||||||
if (prodIndex !== -1) {
|
|
||||||
priceChangedProdList.splice(prodIndex, 1);
|
|
||||||
}
|
|
||||||
setPriceChangedProducts(priceChangedProdList);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
updatedTableData[index].NewSellPrice = value;
|
|
||||||
setTableData(updatedTableData);
|
setTableData(updatedTableData);
|
||||||
formRef.current.setFieldsValue({
|
|
||||||
[`NewSellPrice${index}`]: value,
|
|
||||||
});
|
|
||||||
|
|
||||||
const priceChangedProdList = [...priceChangedProducts];
|
const priceChangedProdList = [...priceChangedProducts];
|
||||||
const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
|
const prodIndex = priceChangedProdList?.findIndex(
|
||||||
|
(prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
|
||||||
|
);
|
||||||
|
|
||||||
if (prodIndex !== -1) {
|
if (prodIndex !== -1) {
|
||||||
priceChangedProdList[prodIndex] = {
|
priceChangedProdList.splice(prodIndex, 1);
|
||||||
...priceChangedProdList[prodIndex],
|
|
||||||
SellPrice: String(value)
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
priceChangedProdList.push({
|
|
||||||
ProdId: updatedTableData[index]?.ProdId,
|
|
||||||
ProdName: updatedTableData[index]?.ProdName,
|
|
||||||
MRP: String(updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP),
|
|
||||||
SellPrice: String(value),
|
|
||||||
AdjComment: "string",
|
|
||||||
InwardDtlId: updatedTableData[index]?.InwardDtlId
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setPriceChangedProducts(priceChangedProdList);
|
setPriceChangedProducts(priceChangedProdList);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) {
|
||||||
|
if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) {
|
||||||
|
setMessageType('error');
|
||||||
|
setMessageData('New Sell Price cannot be greater than MRP');
|
||||||
|
formRef.current.setFieldsValue({
|
||||||
|
[`NewSellPrice${index}`]: null,
|
||||||
|
});
|
||||||
|
updatedTableData[index].NewSellPrice = null;
|
||||||
|
setTableData(updatedTableData);
|
||||||
|
const priceChangedProdList = [...priceChangedProducts];
|
||||||
|
const prodIndex = priceChangedProdList?.findIndex(
|
||||||
|
(prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
|
||||||
|
);
|
||||||
|
|
||||||
const edit = (record, index) => {
|
if (prodIndex !== -1) {
|
||||||
console.log("edit", record, index);
|
priceChangedProdList.splice(prodIndex, 1);
|
||||||
setEditingKey(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
|
||||||
console.log("submit");
|
|
||||||
|
|
||||||
if (priceChangedProducts?.length > 0) {
|
|
||||||
console.log("priceChangedProducts", priceChangedProducts);
|
|
||||||
const validation = priceChangedProducts?.every((prod) => {
|
|
||||||
if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData(`${prod?.ProdName}: MRP cannot be less than Sell Price`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
if (!validation) return;
|
|
||||||
|
|
||||||
const data = {
|
|
||||||
AppId: AppId,
|
|
||||||
CompId: CompId,
|
|
||||||
BranchId: BranchId,
|
|
||||||
ProductDetails: priceChangedProducts,
|
|
||||||
UpdatedBy: UserId,
|
|
||||||
}
|
|
||||||
|
|
||||||
const res = await dispatch(PutStockPrice(data))?.unwrap();
|
|
||||||
if (res?.data?.statusCode === 1) {
|
|
||||||
setMessageData('Price Changed Successfully');
|
|
||||||
setMessageType('success');
|
|
||||||
setPriceChangeModal(false);
|
|
||||||
setProductPriceChange(false);
|
|
||||||
setEditingKey(null);
|
|
||||||
setPriceChangedProducts([]);
|
|
||||||
setTableData([]);
|
|
||||||
dispatch(triggerProductCard())
|
|
||||||
setPriceChangeProduct(null);
|
|
||||||
formRef.current.resetFields();
|
|
||||||
} else {
|
|
||||||
setMessageData('Error Updating Product Price')
|
|
||||||
setMessageType('error');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData('No changes made / No sell price entered');
|
|
||||||
}
|
}
|
||||||
|
setPriceChangedProducts(priceChangedProdList);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updatedTableData[index].NewSellPrice = value;
|
||||||
|
setTableData(updatedTableData);
|
||||||
|
formRef.current.setFieldsValue({
|
||||||
|
[`NewSellPrice${index}`]: value,
|
||||||
|
});
|
||||||
|
|
||||||
|
const priceChangedProdList = [...priceChangedProducts];
|
||||||
|
const prodIndex = priceChangedProdList?.findIndex(
|
||||||
|
(prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
|
||||||
|
);
|
||||||
|
|
||||||
|
if (prodIndex !== -1) {
|
||||||
|
priceChangedProdList[prodIndex] = {
|
||||||
|
...priceChangedProdList[prodIndex],
|
||||||
|
SellPrice: String(value),
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
priceChangedProdList.push({
|
||||||
|
ProdId: updatedTableData[index]?.ProdId,
|
||||||
|
ProdName: updatedTableData[index]?.ProdName,
|
||||||
|
MRP: String(
|
||||||
|
updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP
|
||||||
|
),
|
||||||
|
SellPrice: String(value),
|
||||||
|
AdjComment: 'string',
|
||||||
|
InwardDtlId: updatedTableData[index]?.InwardDtlId,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const onComplete = useCallback(() => {
|
setPriceChangedProducts(priceChangedProdList);
|
||||||
setMessageData(null);
|
};
|
||||||
setMessageType(null);
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
return (
|
const edit = (record, index) => {
|
||||||
<>
|
console.log('edit', record, index);
|
||||||
|
setEditingKey(index);
|
||||||
|
};
|
||||||
|
|
||||||
<Messages messageData={messageData} messageType={messageType} onComplete={onComplete} />
|
const handleSubmit = async () => {
|
||||||
{showButton ? <Tooltip title="Price Change">
|
console.log('submit');
|
||||||
<button className="price-change-btn" type="button" onClick={() => {
|
|
||||||
if (comboSearch) {
|
if (priceChangedProducts?.length > 0) {
|
||||||
setMessageType('warning');
|
console.log('priceChangedProducts', priceChangedProducts);
|
||||||
setMessageData('Price change will not work for combo products');
|
const validation = priceChangedProducts?.every((prod) => {
|
||||||
return
|
if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) {
|
||||||
}
|
setMessageType('error');
|
||||||
setPriceChangeModal(true)
|
setMessageData(
|
||||||
}}>
|
`${prod?.ProdName}: MRP cannot be less than Sell Price`
|
||||||
{/* <FaIndianRupeeSign size={35}/> */}
|
);
|
||||||
<img src={PriceChange} alt="" width={30} />
|
return false;
|
||||||
</button>
|
}
|
||||||
</Tooltip> : <></>}
|
if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) {
|
||||||
<DefaultModal
|
setMessageType('error');
|
||||||
title="Price Change"
|
setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`);
|
||||||
className={'price-change-modal'}
|
return false;
|
||||||
open={priceChangeModal || productPriceChange}
|
}
|
||||||
footer={true}
|
return true;
|
||||||
width={900}
|
});
|
||||||
handleCancel={() => {
|
if (!validation) return;
|
||||||
setPriceChangeModal(false);
|
|
||||||
setProductPriceChange(false);
|
const data = {
|
||||||
setEditingKey(null);
|
AppId: AppId,
|
||||||
setPriceChangedProducts([]);
|
CompId: CompId,
|
||||||
formRef?.current?.resetFields();
|
BranchId: BranchId,
|
||||||
setPriceChangeProduct(null);
|
ProductDetails: priceChangedProducts,
|
||||||
setCurrentPage(1);
|
UpdatedBy: UserId,
|
||||||
}}
|
};
|
||||||
handleSubmit={handleSubmit}
|
|
||||||
|
const res = await dispatch(PutStockPrice(data))?.unwrap();
|
||||||
|
if (res?.data?.statusCode === 1) {
|
||||||
|
setMessageData('Price Changed Successfully');
|
||||||
|
setMessageType('success');
|
||||||
|
setPriceChangeModal(false);
|
||||||
|
setProductPriceChange(false);
|
||||||
|
setEditingKey(null);
|
||||||
|
setPriceChangedProducts([]);
|
||||||
|
setTableData([]);
|
||||||
|
dispatch(triggerProductCard());
|
||||||
|
setPriceChangeProduct(null);
|
||||||
|
formRef.current.resetFields();
|
||||||
|
} else {
|
||||||
|
setMessageData('Error Updating Product Price');
|
||||||
|
setMessageType('error');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setMessageType('error');
|
||||||
|
setMessageData('No changes made / No sell price entered');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const onComplete = useCallback(() => {
|
||||||
|
setMessageData(null);
|
||||||
|
setMessageType(null);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Messages
|
||||||
|
messageData={messageData}
|
||||||
|
messageType={messageType}
|
||||||
|
onComplete={onComplete}
|
||||||
|
/>
|
||||||
|
{showButton ? (
|
||||||
|
<Tooltip title="Price Change">
|
||||||
|
<button
|
||||||
|
className="price-change-btn"
|
||||||
|
type="button"
|
||||||
|
onClick={() => {
|
||||||
|
if (comboSearch) {
|
||||||
|
setMessageType('warning');
|
||||||
|
setMessageData('Price change will not work for combo products');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setPriceChangeModal(true);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* <FaIndianRupeeSign size={35}/> */}
|
||||||
|
<img src={PriceChange} alt="" width={30} />
|
||||||
|
</button>
|
||||||
|
</Tooltip>
|
||||||
|
) : (
|
||||||
|
<></>
|
||||||
|
)}
|
||||||
|
<DefaultModal
|
||||||
|
title="Price Change"
|
||||||
|
className={'price-change-modal'}
|
||||||
|
open={priceChangeModal || productPriceChange}
|
||||||
|
footer={true}
|
||||||
|
width={900}
|
||||||
|
handleCancel={() => {
|
||||||
|
setPriceChangeModal(false);
|
||||||
|
setProductPriceChange(false);
|
||||||
|
setEditingKey(null);
|
||||||
|
setPriceChangedProducts([]);
|
||||||
|
formRef?.current?.resetFields();
|
||||||
|
setPriceChangeProduct(null);
|
||||||
|
setCurrentPage(1);
|
||||||
|
}}
|
||||||
|
handleSubmit={handleSubmit}
|
||||||
|
>
|
||||||
|
<div className="price-change-table">
|
||||||
|
{/* <div className="table-notes">Note : Click on a row to edit/modify</div> */}
|
||||||
|
<Form ref={formRef}>
|
||||||
|
<Tables
|
||||||
|
columns={priceChangeColumns}
|
||||||
|
data={tableData?.slice(
|
||||||
|
(currentPage - 1) * pageSize,
|
||||||
|
currentPage * pageSize
|
||||||
|
)}
|
||||||
|
onRow={(record, index) => ({
|
||||||
|
onClick: () => {
|
||||||
|
edit(record, index);
|
||||||
|
},
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'center',
|
||||||
|
margin: '20px 0',
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="price-change-table">
|
<Pagination
|
||||||
{/* <div className="table-notes">Note : Click on a row to edit/modify</div> */}
|
current={currentPage}
|
||||||
<Form ref={formRef}>
|
pageSize={pageSize}
|
||||||
<Tables
|
total={tableData?.length}
|
||||||
columns={priceChangeColumns}
|
onChange={(page) => setCurrentPage(page)}
|
||||||
data={tableData?.slice((currentPage - 1) * pageSize, currentPage * pageSize)}
|
showSizeChanger={false}
|
||||||
onRow={(record, index) => ({
|
showTotal={(total, range) =>
|
||||||
onClick: () => {
|
`${range[0]}-${range[1]} of ${total} items`
|
||||||
edit(record, index);
|
}
|
||||||
},
|
/>
|
||||||
})}
|
</div>
|
||||||
/>
|
</Form>
|
||||||
<div style={{ display: 'flex', justifyContent: 'center', margin: '20px 0' }}>
|
</div>
|
||||||
<Pagination
|
</DefaultModal>
|
||||||
current={currentPage}
|
</>
|
||||||
pageSize={pageSize}
|
);
|
||||||
total={tableData?.length}
|
};
|
||||||
onChange={(page) => setCurrentPage(page)}
|
|
||||||
showSizeChanger={false}
|
|
||||||
showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</Form>
|
|
||||||
</div>
|
|
||||||
</DefaultModal>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default ProductPriceChange;
|
export default ProductPriceChange;
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ import TooltipWrapper from '../../../../Components/Tooltip/Tooltip.jsx';
|
||||||
import BookingCloseIcon from '../../Components/UtillComponents/BookingCloseIcon.jsx';
|
import BookingCloseIcon from '../../Components/UtillComponents/BookingCloseIcon.jsx';
|
||||||
import BSEwayBillicon from '../../Components/UtillComponents/BSEwayBillicon.jsx';
|
import BSEwayBillicon from '../../Components/UtillComponents/BSEwayBillicon.jsx';
|
||||||
import SAdminUserNotification from '../../Components/BookingFunctionality/SAdminUserNotification.jsx';
|
import SAdminUserNotification from '../../Components/BookingFunctionality/SAdminUserNotification.jsx';
|
||||||
|
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||||
// Jsx Files
|
// Jsx Files
|
||||||
const BSKioskCounterPayment = lazy(
|
const BSKioskCounterPayment = lazy(
|
||||||
() => import('../../Components/UtillComponents/BSKioskCounterPayment.jsx')
|
() => import('../../Components/UtillComponents/BSKioskCounterPayment.jsx')
|
||||||
|
|
@ -320,7 +321,7 @@ const BSLayout1 = () => {
|
||||||
};
|
};
|
||||||
// BSLayout1Data?.BookingNavbar?.[1]?.some((item) => item?.OptionName === "AddCustomer")
|
// BSLayout1Data?.BookingNavbar?.[1]?.some((item) => item?.OptionName === "AddCustomer")
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading…</div>}>
|
<Suspense fallback={<CardSkeleton />}>
|
||||||
{' '}
|
{' '}
|
||||||
<>
|
<>
|
||||||
<Messages
|
<Messages
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,7 @@ const SalesCountForStandard = lazy(
|
||||||
);
|
);
|
||||||
import BsBookingitemCard from '../../Components/BSItemCards/BsBookingitemCard.jsx';
|
import BsBookingitemCard from '../../Components/BSItemCards/BsBookingitemCard.jsx';
|
||||||
import LayoutSubCategoryFetcher from '../../LayoutSubCategoryFetcher.jsx';
|
import LayoutSubCategoryFetcher from '../../LayoutSubCategoryFetcher.jsx';
|
||||||
|
import NavbarSkeleton from '../../../../Components/Skeleton/NavbarSkeleton.jsx';
|
||||||
const ListOfSalesInvoices = lazy(
|
const ListOfSalesInvoices = lazy(
|
||||||
() =>
|
() =>
|
||||||
import('../../Components/BSBillingTables/ListofInvoices/ListOfSalesInvoices.jsx')
|
import('../../Components/BSBillingTables/ListofInvoices/ListOfSalesInvoices.jsx')
|
||||||
|
|
@ -339,7 +340,7 @@ const BSLayout2 = () => {
|
||||||
(AppExpDate?.RemainingDays <= 7 ||
|
(AppExpDate?.RemainingDays <= 7 ||
|
||||||
AppExpDate === 'undefined' ||
|
AppExpDate === 'undefined' ||
|
||||||
AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
|
AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<Suspense fallback={<NavbarSkeleton />}>
|
||||||
<PlanExpireNotification />
|
<PlanExpireNotification />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
)}
|
)}
|
||||||
|
|
@ -347,13 +348,12 @@ const BSLayout2 = () => {
|
||||||
className="BSLayout2-Master"
|
className="BSLayout2-Master"
|
||||||
style={{ height: containerHeight, overflow: 'hidden' }}
|
style={{ height: containerHeight, overflow: 'hidden' }}
|
||||||
>
|
>
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<div className="BSLayout2-NavBar">
|
||||||
<div className="BSLayout2-NavBar">
|
{BookingNavbar == 'Navbar1' && <BSNavbar1 />}
|
||||||
{BookingNavbar == 'Navbar1' && <BSNavbar1 />}
|
{BookingNavbar == 'Navbar2' && <BSNavbar2 />}
|
||||||
{BookingNavbar == 'Navbar2' && <BSNavbar2 />}
|
{BookingNavbar == 'Navbar3' && <BSNavbar3 />}
|
||||||
{BookingNavbar == 'Navbar3' && <BSNavbar3 />}
|
</div>
|
||||||
</div>
|
|
||||||
</Suspense>
|
|
||||||
<div
|
<div
|
||||||
// className="BSLayout2"
|
// className="BSLayout2"
|
||||||
className={
|
className={
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ const BSNavbar1 = lazy(() => import('../../Components/BSNavbar/BSNavbar1'));
|
||||||
const BSNavbar2 = lazy(() => import('../../Components/BSNavbar/BSNavbar2'));
|
const BSNavbar2 = lazy(() => import('../../Components/BSNavbar/BSNavbar2'));
|
||||||
// Scss
|
// Scss
|
||||||
import '../../../../Styles/BookingScreen/Template/BSLayout3/BSLayout3.scss';
|
import '../../../../Styles/BookingScreen/Template/BSLayout3/BSLayout3.scss';
|
||||||
|
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
||||||
|
|
@ -301,7 +302,7 @@ const BSLayout3 = () => {
|
||||||
setListOfInvoices(false);
|
setListOfInvoices(false);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Suspense Loading...</div>}>
|
<Suspense fallback={<CardSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<Messages
|
<Messages
|
||||||
messageType={messageType}
|
messageType={messageType}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {lazy, Suspense, useCallback, useEffect, useState } from 'react';
|
import { lazy, Suspense, useCallback, useEffect, useState } from 'react';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { Tooltip, Badge, Popconfirm } from 'antd';
|
import { Tooltip, Badge, Popconfirm } from 'antd';
|
||||||
|
|
@ -130,6 +130,7 @@ const ComboSalesBillTable = lazy(
|
||||||
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
||||||
// Scss
|
// Scss
|
||||||
import '../../../../Styles/BookingScreen/Template/BSLayout4/BSLayout4.scss';
|
import '../../../../Styles/BookingScreen/Template/BSLayout4/BSLayout4.scss';
|
||||||
|
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
||||||
|
|
@ -317,7 +318,7 @@ const BSLayout4 = () => {
|
||||||
setBookingModalOpen(false);
|
setBookingModalOpen(false);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading...</div>}>
|
<Suspense fallback={<CardSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<Messages
|
<Messages
|
||||||
messageType={messageType}
|
messageType={messageType}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {lazy,useCallback, useEffect, useState } from 'react';
|
import { lazy, Suspense, useCallback, useEffect, useState } from 'react';
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { isMobile } from 'react-device-detect';
|
import { isMobile } from 'react-device-detect';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
@ -105,6 +105,7 @@ import { CiShop } from 'react-icons/ci';
|
||||||
import BranchName from '../BranchName.jsx';
|
import BranchName from '../BranchName.jsx';
|
||||||
import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx';
|
import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx';
|
||||||
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
||||||
|
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
const commonDirectory = import.meta.env.COMMON_BASE_URL;
|
||||||
|
|
||||||
|
|
@ -124,7 +125,7 @@ const BSLayout5 = () => {
|
||||||
const OrderStatus = useSelector(GlobalOrderStatus);
|
const OrderStatus = useSelector(GlobalOrderStatus);
|
||||||
const SessionData = useSelector(StoredSessionData);
|
const SessionData = useSelector(StoredSessionData);
|
||||||
const badgeCount = useSelector(globalKioskSalesCount);
|
const badgeCount = useSelector(globalKioskSalesCount);
|
||||||
const [count, setcount] = useState(0);
|
const [count, setcount] = useState(0);
|
||||||
const BookingStatus = useSelector(GlobalBookingStatus);
|
const BookingStatus = useSelector(GlobalBookingStatus);
|
||||||
const tableData = useSelector(GlobalOrderCardDetails);
|
const tableData = useSelector(GlobalOrderCardDetails);
|
||||||
const CheckBookingStatus =
|
const CheckBookingStatus =
|
||||||
|
|
@ -154,12 +155,14 @@ const BSLayout5 = () => {
|
||||||
const animations = ['example1', 'example2', 'example3'];
|
const animations = ['example1', 'example2', 'example3'];
|
||||||
let ss = animations[count];
|
let ss = animations[count];
|
||||||
let containerHeight = isMobile
|
let containerHeight = isMobile
|
||||||
? AppExpDate?.RemainingDays <= 7 || AppExpDate?.PlanType?.toLowerCase() === 'extend'
|
? AppExpDate?.RemainingDays <= 7 ||
|
||||||
|
AppExpDate?.PlanType?.toLowerCase() === 'extend'
|
||||||
? '580px'
|
? '580px'
|
||||||
: '590px'
|
: '590px'
|
||||||
: UserType != 'Super Admin' &&
|
: (UserType != 'Super Admin' &&
|
||||||
UserType != 'Super Admin User' &&
|
UserType != 'Super Admin User' &&
|
||||||
AppExpDate?.RemainingDays <= 7 || AppExpDate?.PlanType?.toLowerCase() === 'extend'
|
AppExpDate?.RemainingDays <= 7) ||
|
||||||
|
AppExpDate?.PlanType?.toLowerCase() === 'extend'
|
||||||
? '96vh'
|
? '96vh'
|
||||||
: '99vh';
|
: '99vh';
|
||||||
const [ListOfInvoices, setListOfInvoices] = useState(false);
|
const [ListOfInvoices, setListOfInvoices] = useState(false);
|
||||||
|
|
@ -234,7 +237,6 @@ const BSLayout5 = () => {
|
||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
||||||
const openModalKiosk = () => {
|
const openModalKiosk = () => {
|
||||||
setKioskopen(true);
|
setKioskopen(true);
|
||||||
};
|
};
|
||||||
|
|
@ -304,205 +306,208 @@ const BSLayout5 = () => {
|
||||||
setBookingModalOpen(false);
|
setBookingModalOpen(false);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<>
|
<Suspense fallback={<CardSkeleton />}>
|
||||||
<Messages
|
<>
|
||||||
messageType={messageType}
|
<Messages
|
||||||
messageData={messageData}
|
messageType={messageType}
|
||||||
onComplete={onComplete}
|
messageData={messageData}
|
||||||
/>
|
onComplete={onComplete}
|
||||||
{UserType != 'Super Admin' &&
|
/>
|
||||||
UserType != 'Super Admin User' &&
|
{UserType != 'Super Admin' &&
|
||||||
(AppExpDate?.RemainingDays <= 7 || AppExpDate === 'undefined' || AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
|
UserType != 'Super Admin User' &&
|
||||||
<PlanExpireNotification />
|
(AppExpDate?.RemainingDays <= 7 ||
|
||||||
)}
|
AppExpDate === 'undefined' ||
|
||||||
<div
|
AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
|
||||||
className="BSLayout5-Master"
|
<PlanExpireNotification />
|
||||||
style={{ height: containerHeight, overflow: 'hidden' }}
|
)}
|
||||||
>
|
|
||||||
<div className="BSLayout5-NavBar">
|
|
||||||
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar1' && <BSNavbar1 />}
|
|
||||||
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar2' && <BSNavbar2 />}
|
|
||||||
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar3' && <BSNavbar3 />}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
className="BSLayout5"
|
className="BSLayout5-Master"
|
||||||
style={{
|
style={{ height: containerHeight, overflow: 'hidden' }}
|
||||||
backgroundColor: GlobalLayoutColorDetail?.OverallBackgroundColor,
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
{BookingNavbar != 'Navbar3' ? (
|
<div className="BSLayout5-NavBar">
|
||||||
<div className="Layout-bill-container">
|
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar1' && <BSNavbar1 />}
|
||||||
<div
|
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar2' && <BSNavbar2 />}
|
||||||
className="Layout-bill-Subcontainer"
|
{BSLayout5Data?.BookingNavbar?.[0] == 'Navbar3' && <BSNavbar3 />}
|
||||||
style={{ width: OtherServicesglobal ? '10%' : '100%' }}
|
</div>
|
||||||
>
|
|
||||||
{UserType !== 'Employee' && (
|
|
||||||
<div className="pricing-name-details">
|
|
||||||
{PricingAppPricingName?.[0]?.PricingName +
|
|
||||||
' / ' +
|
|
||||||
PricingAppPricingName?.[0]?.Type}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{!OtherServicesglobal && (
|
|
||||||
<SalesCountComponent
|
|
||||||
DineInAccess={DineInAccess}
|
|
||||||
GlobalsalesDetailData={GlobalsalesDetailData}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{!OtherServicesglobal &&
|
<div
|
||||||
SessionData?.FeatureAddonData?.FeatureDtls?.find(
|
className="BSLayout5"
|
||||||
(item) =>
|
style={{
|
||||||
item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
|
backgroundColor: GlobalLayoutColorDetail?.OverallBackgroundColor,
|
||||||
) &&
|
}}
|
||||||
!sportsAppPreference && (
|
>
|
||||||
<div
|
{BookingNavbar != 'Navbar3' ? (
|
||||||
style={{
|
<div className="Layout-bill-container">
|
||||||
pointerEvents: OrderStatus > 0 ? 'none' : 'auto',
|
<div
|
||||||
opacity: OrderStatus > 0 ? 0.5 : 1,
|
className="Layout-bill-Subcontainer"
|
||||||
}}
|
style={{ width: OtherServicesglobal ? '10%' : '100%' }}
|
||||||
>
|
>
|
||||||
<Tooltip title={'Kiosk Sales'}>
|
{UserType !== 'Employee' && (
|
||||||
{''}
|
<div className="pricing-name-details">
|
||||||
<Badge
|
{PricingAppPricingName?.[0]?.PricingName +
|
||||||
count={badgeCount}
|
' / ' +
|
||||||
offset={[-10, 3]}
|
PricingAppPricingName?.[0]?.Type}
|
||||||
size="small"
|
|
||||||
>
|
|
||||||
<PozoKioskIcon
|
|
||||||
onClick={() => openModalKiosk()}
|
|
||||||
style={{ cursor: 'pointer', fontSize: '1.5rem' }}
|
|
||||||
className="iconsize"
|
|
||||||
/>
|
|
||||||
</Badge>
|
|
||||||
</Tooltip>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{!OtherServicesglobal && (
|
{!OtherServicesglobal && (
|
||||||
<TooltipWrapper
|
<SalesCountComponent
|
||||||
title={'Low Stock Alerts'}
|
DineInAccess={DineInAccess}
|
||||||
isMobile={isMobile}
|
GlobalsalesDetailData={GlobalsalesDetailData}
|
||||||
>
|
/>
|
||||||
{' '}
|
|
||||||
<BSExpireProductsList />
|
|
||||||
</TooltipWrapper>
|
|
||||||
)}
|
|
||||||
{!OtherServicesglobal && Kioskopen && (
|
|
||||||
<BSKioskCounterPayment
|
|
||||||
Kioskopen={Kioskopen}
|
|
||||||
closeKioskModal={closeModalKiosk}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
{SAdminuserPin?.length > 0 &&
|
|
||||||
UserType != 'Super Admin User' && (
|
|
||||||
<div>
|
|
||||||
<SAdminUserNotification
|
|
||||||
SAdminuserPin={SAdminuserPin}
|
|
||||||
popOverOpen={popOverOpen}
|
|
||||||
handleSupportUser={handleSupportUser}
|
|
||||||
handlePopOverOpen={handlePopOverOpen}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
)}
|
)}
|
||||||
{!OtherServicesglobal && (
|
|
||||||
<>
|
{!OtherServicesglobal &&
|
||||||
{' '}
|
SessionData?.FeatureAddonData?.FeatureDtls?.find(
|
||||||
{CheckBookingStatus == 'Open' ? (
|
(item) =>
|
||||||
<div style={{ marginLeft: '10px' }}>
|
item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
|
||||||
<TooltipWrapper
|
) &&
|
||||||
title={'Booking Close'}
|
!sportsAppPreference && (
|
||||||
isMobile={isMobile}
|
<div
|
||||||
>
|
style={{
|
||||||
{' '}
|
pointerEvents: OrderStatus > 0 ? 'none' : 'auto',
|
||||||
<BookingCloseIcon
|
opacity: OrderStatus > 0 ? 0.5 : 1,
|
||||||
onClick={OpenBookingModal}
|
}}
|
||||||
bgFill={'#52c41a'}
|
>
|
||||||
style={{
|
<Tooltip title={'Kiosk Sales'}>
|
||||||
fontSize: '16px',
|
{''}
|
||||||
marginTop: '4px',
|
<Badge
|
||||||
color: '#52c41a',
|
count={badgeCount}
|
||||||
cursor: 'pointer',
|
offset={[-10, 3]}
|
||||||
}}
|
size="small"
|
||||||
/>
|
|
||||||
{/* <button className="BookingCloseButton"
|
|
||||||
>Booking Close</button> */}
|
|
||||||
</TooltipWrapper>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<div style={{ marginLeft: '10px' }}>
|
|
||||||
<TooltipWrapper
|
|
||||||
title="Booking Open"
|
|
||||||
isMobile={isMobile}
|
|
||||||
>
|
|
||||||
<Popconfirm
|
|
||||||
placement="leftTop"
|
|
||||||
title="Booking Open"
|
|
||||||
description="Are you sure you want to Open the sales?"
|
|
||||||
okText="Yes"
|
|
||||||
cancelText="No"
|
|
||||||
onConfirm={() => BookingOpenFun('Open')}
|
|
||||||
>
|
>
|
||||||
<span>
|
<PozoKioskIcon
|
||||||
<BookingCloseIcon
|
onClick={() => openModalKiosk()}
|
||||||
bgFill="red"
|
style={{ cursor: 'pointer', fontSize: '1.5rem' }}
|
||||||
style={{
|
className="iconsize"
|
||||||
fontSize: '16px',
|
/>
|
||||||
marginTop: '4px',
|
</Badge>
|
||||||
color: '#52c41a',
|
</Tooltip>
|
||||||
cursor: 'pointer',
|
</div>
|
||||||
}}
|
)}
|
||||||
/>
|
{!OtherServicesglobal && (
|
||||||
</span>
|
<TooltipWrapper
|
||||||
</Popconfirm>
|
title={'Low Stock Alerts'}
|
||||||
</TooltipWrapper>
|
isMobile={isMobile}
|
||||||
|
>
|
||||||
|
{' '}
|
||||||
|
<BSExpireProductsList />
|
||||||
|
</TooltipWrapper>
|
||||||
|
)}
|
||||||
|
{!OtherServicesglobal && Kioskopen && (
|
||||||
|
<BSKioskCounterPayment
|
||||||
|
Kioskopen={Kioskopen}
|
||||||
|
closeKioskModal={closeModalKiosk}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{SAdminuserPin?.length > 0 &&
|
||||||
|
UserType != 'Super Admin User' && (
|
||||||
|
<div>
|
||||||
|
<SAdminUserNotification
|
||||||
|
SAdminuserPin={SAdminuserPin}
|
||||||
|
popOverOpen={popOverOpen}
|
||||||
|
handleSupportUser={handleSupportUser}
|
||||||
|
handlePopOverOpen={handlePopOverOpen}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{!OtherServicesglobal && (
|
||||||
|
<>
|
||||||
|
{' '}
|
||||||
|
{CheckBookingStatus == 'Open' ? (
|
||||||
|
<div style={{ marginLeft: '10px' }}>
|
||||||
|
<TooltipWrapper
|
||||||
|
title={'Booking Close'}
|
||||||
|
isMobile={isMobile}
|
||||||
|
>
|
||||||
|
{' '}
|
||||||
|
<BookingCloseIcon
|
||||||
|
onClick={OpenBookingModal}
|
||||||
|
bgFill={'#52c41a'}
|
||||||
|
style={{
|
||||||
|
fontSize: '16px',
|
||||||
|
marginTop: '4px',
|
||||||
|
color: '#52c41a',
|
||||||
|
cursor: 'pointer',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{/* <button className="BookingCloseButton"
|
||||||
|
>Booking Close</button> */}
|
||||||
|
</TooltipWrapper>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<div style={{ marginLeft: '10px' }}>
|
||||||
|
<TooltipWrapper
|
||||||
|
title="Booking Open"
|
||||||
|
isMobile={isMobile}
|
||||||
|
>
|
||||||
|
<Popconfirm
|
||||||
|
placement="leftTop"
|
||||||
|
title="Booking Open"
|
||||||
|
description="Are you sure you want to Open the sales?"
|
||||||
|
okText="Yes"
|
||||||
|
cancelText="No"
|
||||||
|
onConfirm={() => BookingOpenFun('Open')}
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
<BookingCloseIcon
|
||||||
|
bgFill="red"
|
||||||
|
style={{
|
||||||
|
fontSize: '16px',
|
||||||
|
marginTop: '4px',
|
||||||
|
color: '#52c41a',
|
||||||
|
cursor: 'pointer',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
</Popconfirm>
|
||||||
|
</TooltipWrapper>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{!OtherServicesglobal && (
|
||||||
|
<div style={{ marginLeft: '10px' }}>
|
||||||
|
<TooltipWrapper title={'E-way Bill'} isMobile={isMobile}>
|
||||||
|
{''}
|
||||||
|
<BSEwayBillicon
|
||||||
|
style={{ cursor: 'pointer', marginTop: '5px' }}
|
||||||
|
onClick={OpenListOfInvoices}
|
||||||
|
/>
|
||||||
|
</TooltipWrapper>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<SalesCountForStandard
|
||||||
|
PricingAppPricingName={PricingAppPricingName}
|
||||||
|
DineInAccess={DineInAccess}
|
||||||
|
GlobalsalesDetailData={GlobalsalesDetailData}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<div className="BsLayout5-ContentDiv">
|
||||||
|
<div className="BSCategory5-tablecont">
|
||||||
|
{action ? (
|
||||||
|
<BranchTransferComponent />
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
{BookingBilling == 'Billing1' && <BSBillingTable1 />}
|
||||||
|
{BookingBilling == 'Billing2' && <BSBillingTable2 />}
|
||||||
|
{BookingBilling == 'Billing3' && <BSBillingTable3 />}
|
||||||
|
{BookingBilling == 'Billing4' && <BSBillingTable4 />}
|
||||||
|
{BookingBilling == 'Billing5' && <BSBillingTable5 />}
|
||||||
|
{BookingBilling == 'Billing6' && <BSBillingTable6 />}
|
||||||
|
{BookingBilling == 'Billing7' && <BSBillingTable7 />}
|
||||||
|
{BookingBilling == 'Billing8' && <ComboSalesBillTable />}
|
||||||
|
{BookingBilling == 'StandardBilling' && (
|
||||||
|
<div className="BSCategory2New">
|
||||||
|
<StandardTable />
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{!OtherServicesglobal && (
|
{/* <div
|
||||||
<div style={{ marginLeft: '10px' }}>
|
|
||||||
<TooltipWrapper title={'E-way Bill'} isMobile={isMobile}>
|
|
||||||
{''}
|
|
||||||
<BSEwayBillicon
|
|
||||||
style={{ cursor: 'pointer', marginTop: '5px' }}
|
|
||||||
onClick={OpenListOfInvoices}
|
|
||||||
/>
|
|
||||||
</TooltipWrapper>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<SalesCountForStandard
|
|
||||||
PricingAppPricingName={PricingAppPricingName}
|
|
||||||
DineInAccess={DineInAccess}
|
|
||||||
GlobalsalesDetailData={GlobalsalesDetailData}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<div className="BsLayout5-ContentDiv">
|
|
||||||
<div className="BSCategory5-tablecont">
|
|
||||||
{action ? (
|
|
||||||
<BranchTransferComponent />
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
{BookingBilling == 'Billing1' && <BSBillingTable1 />}
|
|
||||||
{BookingBilling == 'Billing2' && <BSBillingTable2 />}
|
|
||||||
{BookingBilling == 'Billing3' && <BSBillingTable3 />}
|
|
||||||
{BookingBilling == 'Billing4' && <BSBillingTable4 />}
|
|
||||||
{BookingBilling == 'Billing5' && <BSBillingTable5 />}
|
|
||||||
{BookingBilling == 'Billing6' && <BSBillingTable6 />}
|
|
||||||
{BookingBilling == 'Billing7' && <BSBillingTable7 />}
|
|
||||||
{BookingBilling == 'Billing8' && <ComboSalesBillTable />}
|
|
||||||
{BookingBilling == 'StandardBilling' && (
|
|
||||||
<div className="BSCategory2New">
|
|
||||||
<StandardTable />
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
{/* <div
|
|
||||||
className="salesStoreName"
|
className="salesStoreName"
|
||||||
style={{
|
style={{
|
||||||
color: SelectedBillColor?.['FontColor'],
|
color: SelectedBillColor?.['FontColor'],
|
||||||
|
|
@ -511,90 +516,94 @@ const BSLayout5 = () => {
|
||||||
>
|
>
|
||||||
<BranchName />
|
<BranchName />
|
||||||
</div> */}
|
</div> */}
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="BSCategory5-Contentcont" style={{ width: '100vw' }}>
|
|
||||||
<div
|
|
||||||
style={{
|
|
||||||
backgroundColor:
|
|
||||||
SelectedCatgColor?.['OverallBackgroundColor'],
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{!OtherServicesglobal && (
|
|
||||||
<CategoryVertical
|
|
||||||
categoryFunction={dynamicComponentProps(
|
|
||||||
'Category',
|
|
||||||
BookingCategory?.[1],
|
|
||||||
BookingCategory?.[0]
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
{OtherServicesglobal && (
|
|
||||||
<BSOtherServicesVerticalcat
|
|
||||||
categoryFunction={dynamicComponentProps(
|
|
||||||
'Category',
|
|
||||||
BookingCategory?.[1],
|
|
||||||
BookingCategory?.[0]
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
className="BSCategory5-Cardcont"
|
className="BSCategory5-Contentcont"
|
||||||
style={{
|
style={{ width: '100vw' }}
|
||||||
backgroundColor:
|
|
||||||
SelectedCardColor?.['OverallBackgroundColor'],
|
|
||||||
width: '100%',
|
|
||||||
display: 'flex',
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
{!OtherServicesglobal && Comboglobal === false && (
|
<div
|
||||||
<BSItemCard
|
style={{
|
||||||
cardFunctionality={dynamicComponentProps(
|
backgroundColor:
|
||||||
'Card',
|
SelectedCatgColor?.['OverallBackgroundColor'],
|
||||||
BookingCard?.[1],
|
}}
|
||||||
BookingCard?.[0]
|
>
|
||||||
)}
|
{!OtherServicesglobal && (
|
||||||
/>
|
<CategoryVertical
|
||||||
)}
|
categoryFunction={dynamicComponentProps(
|
||||||
{!OtherServicesglobal && Comboglobal === true && (
|
'Category',
|
||||||
<BSComboItemCard
|
BookingCategory?.[1],
|
||||||
cardFunctionality={dynamicComponentProps(
|
BookingCategory?.[0]
|
||||||
'Card',
|
)}
|
||||||
BookingCard?.[1],
|
/>
|
||||||
BookingCard?.[0]
|
)}
|
||||||
)}
|
{OtherServicesglobal && (
|
||||||
/>
|
<BSOtherServicesVerticalcat
|
||||||
)}
|
categoryFunction={dynamicComponentProps(
|
||||||
{OtherServicesglobal && (
|
'Category',
|
||||||
<BSOtherServiceItemCard
|
BookingCategory?.[1],
|
||||||
screenHeight={window.innerHeight}
|
BookingCategory?.[0]
|
||||||
cardFunctionality={dynamicComponentProps(
|
)}
|
||||||
'Card',
|
/>
|
||||||
BookingCard?.[1],
|
)}
|
||||||
BookingCard?.[0]
|
</div>
|
||||||
)}
|
|
||||||
/>
|
<div
|
||||||
)}
|
className="BSCategory5-Cardcont"
|
||||||
|
style={{
|
||||||
|
backgroundColor:
|
||||||
|
SelectedCardColor?.['OverallBackgroundColor'],
|
||||||
|
width: '100%',
|
||||||
|
display: 'flex',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{!OtherServicesglobal && Comboglobal === false && (
|
||||||
|
<BSItemCard
|
||||||
|
cardFunctionality={dynamicComponentProps(
|
||||||
|
'Card',
|
||||||
|
BookingCard?.[1],
|
||||||
|
BookingCard?.[0]
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{!OtherServicesglobal && Comboglobal === true && (
|
||||||
|
<BSComboItemCard
|
||||||
|
cardFunctionality={dynamicComponentProps(
|
||||||
|
'Card',
|
||||||
|
BookingCard?.[1],
|
||||||
|
BookingCard?.[0]
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{OtherServicesglobal && (
|
||||||
|
<BSOtherServiceItemCard
|
||||||
|
screenHeight={window.innerHeight}
|
||||||
|
cardFunctionality={dynamicComponentProps(
|
||||||
|
'Card',
|
||||||
|
BookingCard?.[1],
|
||||||
|
BookingCard?.[0]
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{BookingModalOpen && !OtherServicesglobal && (
|
||||||
{BookingModalOpen && !OtherServicesglobal && (
|
<RetailBookingClosing
|
||||||
<RetailBookingClosing
|
PaymentOpen={BookingModalOpen}
|
||||||
PaymentOpen={BookingModalOpen}
|
PaymentClose={HandleBookingModalClose}
|
||||||
PaymentClose={HandleBookingModalClose}
|
/>
|
||||||
/>
|
)}
|
||||||
)}
|
{ListOfInvoices && !OtherServicesglobal && (
|
||||||
{ListOfInvoices && !OtherServicesglobal && (
|
<ListOfSalesInvoices
|
||||||
<ListOfSalesInvoices
|
ListOfInvoicesOpen={ListOfInvoices}
|
||||||
ListOfInvoicesOpen={ListOfInvoices}
|
handleInvoiceClose={handleInvoiceClose}
|
||||||
handleInvoiceClose={handleInvoiceClose}
|
/>
|
||||||
/>
|
)}
|
||||||
)}
|
</>
|
||||||
</>
|
</Suspense>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,7 @@ import SalesCountForStandard from '../SalesCountForStandard.jsx';
|
||||||
import StandardTable from '../../Components/BSBillingTables/StandardTable/StandardTable.jsx';
|
import StandardTable from '../../Components/BSBillingTables/StandardTable/StandardTable.jsx';
|
||||||
import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx';
|
import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx';
|
||||||
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
import PlanExpireNotification from '../PlanExpireNotification.jsx';
|
||||||
|
import CardSkeleton from '../../../../Components/Skeleton/CardSkeleton.jsx';
|
||||||
const BSLayout6 = () => {
|
const BSLayout6 = () => {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const { action, selectedProducts } = useSelector(
|
const { action, selectedProducts } = useSelector(
|
||||||
|
|
@ -314,7 +315,7 @@ const BSLayout6 = () => {
|
||||||
setBookingModalOpen(false);
|
setBookingModalOpen(false);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<div>Loading components...</div>}>
|
<Suspense fallback={<CardSkeleton />}>
|
||||||
<>
|
<>
|
||||||
<Messages
|
<Messages
|
||||||
messageType={messageType}
|
messageType={messageType}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ const BranchName = ({ IconStatus }) => {
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
gap: '10px',
|
gap: '10px',
|
||||||
width: '180px',
|
width: '160px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Loading...
|
Loading...
|
||||||
|
|
@ -96,7 +96,7 @@ const BranchName = ({ IconStatus }) => {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
gap: '10px',
|
gap: '10px',
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
width: '180px',
|
width: '160px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
|
|
@ -121,7 +121,7 @@ const BranchName = ({ IconStatus }) => {
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
gap: '10px',
|
gap: '10px',
|
||||||
width: '180px',
|
width: '160px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{!imageLoaded && (
|
{!imageLoaded && (
|
||||||
|
|
|
||||||
|
|
@ -806,7 +806,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
isOnchanges={formType == 'edit' ? true : false}
|
isOnchanges={formType == 'edit' ? true : false}
|
||||||
valueData={selectedUserData}
|
valueData={selectedUserData}
|
||||||
disabled={formType == 'edit' ? true : false}
|
disabled={formType == 'edit' ? true : false}
|
||||||
// defaultValue={LastSelectConfig}
|
// defaultValue={LastSelectConfig}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
@ -920,7 +920,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
disabled={true}
|
disabled={true}
|
||||||
isOnChange={
|
isOnChange={
|
||||||
formRef.current?.getFieldsValue()?.MobileNo !=
|
formRef.current?.getFieldsValue()?.MobileNo !=
|
||||||
undefined
|
undefined
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
}
|
}
|
||||||
|
|
@ -969,8 +969,8 @@ const EmployeeForm = ({ formType }) => {
|
||||||
{SelectedUserCreation === 'N' ? (
|
{SelectedUserCreation === 'N' ? (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="Password"
|
name="Password"
|
||||||
// rules={[{ required: true }]}
|
// rules={[{ required: true }]}
|
||||||
// hasFeedback
|
// hasFeedback
|
||||||
>
|
>
|
||||||
<Input.Password
|
<Input.Password
|
||||||
field="Password"
|
field="Password"
|
||||||
|
|
@ -985,7 +985,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
addonBefore="Password"
|
addonBefore="Password"
|
||||||
isOnChange={formType == 'edit' ? true : false}
|
isOnChange={formType == 'edit' ? true : false}
|
||||||
style={{ width: '250px' }}
|
style={{ width: '250px' }}
|
||||||
// disabled={formType == "edit" ? true : false}
|
// disabled={formType == "edit" ? true : false}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
@ -1041,7 +1041,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
onChangeFunction={(e) => EmpTypeDropDownChange(e)}
|
onChangeFunction={(e) => EmpTypeDropDownChange(e)}
|
||||||
isOnchanges={formType == 'edit' ? true : false}
|
isOnchanges={formType == 'edit' ? true : false}
|
||||||
valueData={seletedEmpTypeDrop}
|
valueData={seletedEmpTypeDrop}
|
||||||
// defaultValue={LastSelectConfig}
|
// defaultValue={LastSelectConfig}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{/* EmpDesig */}
|
{/* EmpDesig */}
|
||||||
|
|
@ -1068,7 +1068,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
onChangeFunction={(e) => EmpDesigDropDownChange(e)}
|
onChangeFunction={(e) => EmpDesigDropDownChange(e)}
|
||||||
isOnchanges={formType == 'edit' ? true : false}
|
isOnchanges={formType == 'edit' ? true : false}
|
||||||
valueData={seletedEmpDesigDrop}
|
valueData={seletedEmpDesigDrop}
|
||||||
// defaultValue={LastSelectConfig}
|
// defaultValue={LastSelectConfig}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{/* EmpDept */}
|
{/* EmpDept */}
|
||||||
|
|
@ -1095,7 +1095,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
onChangeFunction={(e) => EmpDeptDropDownChange(e)}
|
onChangeFunction={(e) => EmpDeptDropDownChange(e)}
|
||||||
isOnchanges={formType == 'edit' ? true : false}
|
isOnchanges={formType == 'edit' ? true : false}
|
||||||
valueData={seletedEmpDeptDrop}
|
valueData={seletedEmpDeptDrop}
|
||||||
// defaultValue={LastSelectConfig}
|
// defaultValue={LastSelectConfig}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
|
|
@ -1124,7 +1124,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
onChangeFunction={(e) => ShiftDropDownChange(e)}
|
onChangeFunction={(e) => ShiftDropDownChange(e)}
|
||||||
isOnchanges={formType == 'edit' ? true : false}
|
isOnchanges={formType == 'edit' ? true : false}
|
||||||
valueData={seletedShiftDrop}
|
valueData={seletedShiftDrop}
|
||||||
// defaultValue={LastSelectConfig}
|
// defaultValue={LastSelectConfig}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
|
|
@ -1244,7 +1244,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
formType === 'edit'
|
formType === 'edit'
|
||||||
? editstate?.EmpPhotoLink
|
? editstate?.EmpPhotoLink
|
||||||
: formRef.current?.getFieldsValue()
|
: formRef.current?.getFieldsValue()
|
||||||
?.UserImage || ImageUrl;
|
?.UserImage || ImageUrl;
|
||||||
// Always return a string
|
// Always return a string
|
||||||
return typeof link === 'string' ? link : '';
|
return typeof link === 'string' ? link : '';
|
||||||
})()}
|
})()}
|
||||||
|
|
@ -1290,7 +1290,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
// isOnChange={editstate?.Address1 ? true : false}
|
// isOnChange={editstate?.Address1 ? true : false}
|
||||||
isOnChange={
|
isOnChange={
|
||||||
formRef.current?.getFieldsValue()?.Address1 !=
|
formRef.current?.getFieldsValue()?.Address1 !=
|
||||||
undefined
|
undefined
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
}
|
}
|
||||||
|
|
@ -1329,7 +1329,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
// isOnChange={editstate?.Address2 ? true : false}
|
// isOnChange={editstate?.Address2 ? true : false}
|
||||||
isOnChange={
|
isOnChange={
|
||||||
formRef.current?.getFieldsValue()?.Address2 !=
|
formRef.current?.getFieldsValue()?.Address2 !=
|
||||||
undefined
|
undefined
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
}
|
}
|
||||||
|
|
@ -1352,13 +1352,13 @@ const EmployeeForm = ({ formType }) => {
|
||||||
{
|
{
|
||||||
validator: (_, value) =>
|
validator: (_, value) =>
|
||||||
(value || editstate?.Zip) &&
|
(value || editstate?.Zip) &&
|
||||||
value?.toString().length === 6
|
value?.toString().length === 6
|
||||||
? Promise.resolve()
|
? Promise.resolve()
|
||||||
: editstate?.Zip?.toString().length === 6
|
: editstate?.Zip?.toString().length === 6
|
||||||
? Promise.resolve()
|
? Promise.resolve()
|
||||||
: Promise.reject(
|
: Promise.reject(
|
||||||
'Please enter a 6-digit ZIP code'
|
'Please enter a 6-digit ZIP code'
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
|
|
@ -1511,7 +1511,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
isOnChange={
|
isOnChange={
|
||||||
SelectedLatitude ||
|
SelectedLatitude ||
|
||||||
(formRef.current?.getFieldsValue()?.Latitude !=
|
(formRef.current?.getFieldsValue()?.Latitude !=
|
||||||
undefined
|
undefined
|
||||||
? true
|
? true
|
||||||
: false)
|
: false)
|
||||||
}
|
}
|
||||||
|
|
@ -1564,7 +1564,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
isOnChange={
|
isOnChange={
|
||||||
SelectedLatitude ||
|
SelectedLatitude ||
|
||||||
(formRef.current?.getFieldsValue()?.Longitude !=
|
(formRef.current?.getFieldsValue()?.Longitude !=
|
||||||
undefined
|
undefined
|
||||||
? true
|
? true
|
||||||
: false)
|
: false)
|
||||||
}
|
}
|
||||||
|
|
@ -1603,7 +1603,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
}
|
}
|
||||||
isOnChange={
|
isOnChange={
|
||||||
formType == 'edit' ||
|
formType == 'edit' ||
|
||||||
fieldChangeMap['Description']
|
fieldChangeMap['Description']
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
}
|
}
|
||||||
|
|
@ -1620,7 +1620,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
}
|
}
|
||||||
isOnChange={
|
isOnChange={
|
||||||
formType == 'edit' ||
|
formType == 'edit' ||
|
||||||
fieldChangeMap['Certification']
|
fieldChangeMap['Certification']
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
}
|
}
|
||||||
|
|
@ -1632,8 +1632,6 @@ const EmployeeForm = ({ formType }) => {
|
||||||
length: Math.max(1, imageUrls.length),
|
length: Math.max(1, imageUrls.length),
|
||||||
}).map((_, idx) => (
|
}).map((_, idx) => (
|
||||||
<div key={idx} style={{ marginBottom: 12 }}>
|
<div key={idx} style={{ marginBottom: 12 }}>
|
||||||
|
|
||||||
|
|
||||||
<div style={{ width: 'max-content' }}>
|
<div style={{ width: 'max-content' }}>
|
||||||
<CropUpload
|
<CropUpload
|
||||||
onlineImage={''}
|
onlineImage={''}
|
||||||
|
|
@ -1701,9 +1699,9 @@ const EmployeeForm = ({ formType }) => {
|
||||||
prevlca={
|
prevlca={
|
||||||
editstate
|
editstate
|
||||||
? {
|
? {
|
||||||
lat: editstate.Latitude,
|
lat: editstate.Latitude,
|
||||||
lng: editstate.Longitude,
|
lng: editstate.Longitude,
|
||||||
}
|
}
|
||||||
: null
|
: null
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
@ -1717,7 +1715,7 @@ const EmployeeForm = ({ formType }) => {
|
||||||
buttonText="SUBMIT"
|
buttonText="SUBMIT"
|
||||||
color="901D77"
|
color="901D77"
|
||||||
icon={<ArrowRightOutlined />}
|
icon={<ArrowRightOutlined />}
|
||||||
// handleSubmit={handleSubmit}
|
// handleSubmit={handleSubmit}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -92,9 +92,11 @@ const EmployeeMaster = () => {
|
||||||
}
|
}
|
||||||
const gettingTableData = await dispatch(getshift(CompId)).unwrap();
|
const gettingTableData = await dispatch(getshift(CompId)).unwrap();
|
||||||
if (gettingTableData?.data?.statusCode === 1) {
|
if (gettingTableData?.data?.statusCode === 1) {
|
||||||
const activeEmployees = gettingTableData?.data?.data?.filter(emp => emp.ActiveStatus === "A");
|
const activeEmployees = gettingTableData?.data?.data?.filter(
|
||||||
|
(emp) => emp.ActiveStatus === 'A'
|
||||||
|
);
|
||||||
|
|
||||||
setShiftData(activeEmployees);
|
setShiftData(activeEmployees);
|
||||||
}
|
}
|
||||||
const gettingEmpDesgDropDown = await dispatch(
|
const gettingEmpDesgDropDown = await dispatch(
|
||||||
EmpDesgDropDown({ AppId: AppId })
|
EmpDesgDropDown({ AppId: AppId })
|
||||||
|
|
@ -229,7 +231,9 @@ const EmployeeMaster = () => {
|
||||||
String(record.EmpFirstName)
|
String(record.EmpFirstName)
|
||||||
?.toLowerCase()
|
?.toLowerCase()
|
||||||
?.includes(value?.toLowerCase()) ||
|
?.includes(value?.toLowerCase()) ||
|
||||||
String(record.CompName)?.toLowerCase()?.includes(value?.toLowerCase()) ||
|
String(record.CompName)
|
||||||
|
?.toLowerCase()
|
||||||
|
?.includes(value?.toLowerCase()) ||
|
||||||
String(record.BrName)?.toLowerCase()?.includes(value?.toLowerCase())
|
String(record.BrName)?.toLowerCase()?.includes(value?.toLowerCase())
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
@ -360,9 +364,8 @@ const EmployeeMaster = () => {
|
||||||
setMessageData('Please Add Shift Details');
|
setMessageData('Please Add Shift Details');
|
||||||
setMessageType('warning');
|
setMessageType('warning');
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
navigate(`${subDirectory}setting/shift-master`);
|
navigate(`${subDirectory}setting/shift-master`);
|
||||||
},1000);
|
}, 1000);
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setMessageData('Please Add Designation Details');
|
setMessageData('Please Add Designation Details');
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ import { getAdmin } from '../../Features/ProductPage/ProductPage.js';
|
||||||
import { useAuth } from '../../AuthContext.jsx';
|
import { useAuth } from '../../AuthContext.jsx';
|
||||||
import { getPreferenceData } from '../../Features/BookingScreen/BookingData/BookingData.js';
|
import { getPreferenceData } from '../../Features/BookingScreen/BookingData/BookingData.js';
|
||||||
import Imageupload from '../../Components/Forms/Upload.jsx';
|
import Imageupload from '../../Components/Forms/Upload.jsx';
|
||||||
|
// src\Styles\OverAllStyle\OverAllStyle.scss
|
||||||
|
import '../../Styles/OverAllStyle/OverAllStyle.scss';
|
||||||
|
|
||||||
const subDirectory = import.meta.env.ENV_BASE_URL;
|
const subDirectory = import.meta.env.ENV_BASE_URL;
|
||||||
const items = [
|
const items = [
|
||||||
|
|
@ -453,7 +455,7 @@ function ExtraChargesList() {
|
||||||
return allowDecimal ? num.toFixed(2) : Math.round(num).toString();
|
return allowDecimal ? num.toFixed(2) : Math.round(num).toString();
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className="userPageTable">
|
<div className="userPageTable ClassExtraChargesList">
|
||||||
<div className="userPageContent">
|
<div className="userPageContent">
|
||||||
<div className="formAddNew">
|
<div className="formAddNew">
|
||||||
<Messages
|
<Messages
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,14 @@ const KioskFooter2 = (props) => {
|
||||||
const [paymentModalOpen, setPaymentModalOpen] = useState(false);
|
const [paymentModalOpen, setPaymentModalOpen] = useState(false);
|
||||||
const getmobilepage = useSelector(GlobalPaymentgatewayRedirect);
|
const getmobilepage = useSelector(GlobalPaymentgatewayRedirect);
|
||||||
const appPreferences = useSelector(ApplicationPreferences);
|
const appPreferences = useSelector(ApplicationPreferences);
|
||||||
const bookingTypePreference = appPreferences?.find((preference) => preference?.PreferredCatName === 'Booking Type')?.PreferenceCatDetails
|
const bookingTypePreference = appPreferences?.find(
|
||||||
const dinePreference = bookingTypePreference?.find((type) => type?.PreferredSubCatName?.toLowerCase() === "dine in" && type?.PreferredStatus === 'Y')
|
(preference) => preference?.PreferredCatName === 'Booking Type'
|
||||||
|
)?.PreferenceCatDetails;
|
||||||
|
const dinePreference = bookingTypePreference?.find(
|
||||||
|
(type) =>
|
||||||
|
type?.PreferredSubCatName?.toLowerCase() === 'dine in' &&
|
||||||
|
type?.PreferredStatus === 'Y'
|
||||||
|
);
|
||||||
|
|
||||||
const clicked = useSelector(GlobalOrderbtnClicked);
|
const clicked = useSelector(GlobalOrderbtnClicked);
|
||||||
const kioskTemplateData = props?.data;
|
const kioskTemplateData = props?.data;
|
||||||
|
|
@ -111,7 +117,7 @@ const KioskFooter2 = (props) => {
|
||||||
<div className="KioskFooter2-price-container" style={{ flexGrow: '1' }}>
|
<div className="KioskFooter2-price-container" style={{ flexGrow: '1' }}>
|
||||||
<div>
|
<div>
|
||||||
<div className="KioskFooter2-Dinein">
|
<div className="KioskFooter2-Dinein">
|
||||||
{(KioskCurrentPage !== 'OrderView' && dinePreference) && (
|
{KioskCurrentPage !== 'OrderView' && dinePreference && (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
|
|
|
||||||
|
|
@ -286,10 +286,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .formHeader {
|
|
||||||
// width: -webkit-fill-available;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.header-buttons {
|
.header-buttons {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -299,3 +295,7 @@
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.purchase-entry-form {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,6 @@
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
.ant-breadcrumb ol {
|
.ant-breadcrumb ol {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
// align-items: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-breadcrumb-link a {
|
.ant-breadcrumb-link a {
|
||||||
|
|
@ -57,7 +56,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
// height: 90vh;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
width: 98%;
|
width: 98%;
|
||||||
|
|
@ -67,7 +65,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
// height: 90vh;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
margin: 0 16px;
|
margin: 0 16px;
|
||||||
|
|
@ -83,17 +80,14 @@
|
||||||
.userPage {
|
.userPage {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// padding: 1vw max(10px, 1.2vw);
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.userPageContent {
|
.userPageContent {
|
||||||
// height: 100%;
|
|
||||||
height: auto;
|
height: auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding-bottom: 3rem;
|
padding-bottom: 3rem;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
// padding: 1rem 1rem;
|
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -169,12 +163,10 @@
|
||||||
|
|
||||||
.formAddNew {
|
.formAddNew {
|
||||||
display: flex;
|
display: flex;
|
||||||
// flex-direction: column;
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
row-gap: 0.5rem;
|
row-gap: 0.5rem;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
// flex-wrap: wrap;
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
|
|
@ -209,14 +201,11 @@
|
||||||
.userPageTable {
|
.userPageTable {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// padding-left: var(--TABLE_PAGE_PADDING);
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding-bottom: 4rem;
|
padding-bottom: 4rem;
|
||||||
scrollbar-width: none; /* Firefox */
|
scrollbar-width: none; /* Firefox */
|
||||||
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
||||||
|
|
||||||
// padding-bottom: 10rem;
|
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
height: 90%;
|
height: 90%;
|
||||||
|
|
@ -227,18 +216,17 @@
|
||||||
|
|
||||||
.searchAddDiv {
|
.searchAddDiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
// flex-wrap: wrap;
|
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
row-gap: 1rem;
|
row-gap: 1rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
flex-wrap: unset !important;
|
flex-wrap: wrap !important;
|
||||||
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.reportTable {
|
.reportTable {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
// width: 80vw;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 70vh !important;
|
height: 70vh !important;
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
|
|
@ -253,7 +241,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
thead {
|
thead {
|
||||||
// background-color: #f1f1f1 !important;
|
|
||||||
background-color: #2c88ee !important;
|
background-color: #2c88ee !important;
|
||||||
svg {
|
svg {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
@ -266,15 +253,6 @@
|
||||||
height: 31px !important;
|
height: 31px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// thead,
|
|
||||||
// tr,
|
|
||||||
// td,
|
|
||||||
// th {
|
|
||||||
// &:hover {
|
|
||||||
// background: #fff !important;
|
|
||||||
// background-color: #fff !important;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
.ant-table-content {
|
.ant-table-content {
|
||||||
.ant-table-thead tr:hover {
|
.ant-table-thead tr:hover {
|
||||||
|
|
@ -293,7 +271,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.pageOverAll {
|
.pageOverAll {
|
||||||
// background-color: white;
|
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
@ -352,7 +329,6 @@
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
img {
|
img {
|
||||||
// display: none;
|
|
||||||
width: 75px;
|
width: 75px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
|
|
@ -370,7 +346,6 @@
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// background-color: #e9eaeb;
|
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
@ -451,5 +426,5 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-table-thead .ant-table-cell {
|
.ant-table-thead .ant-table-cell {
|
||||||
border: none !important;
|
border: none !important;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBill-Table3 {
|
.BSBill-Table3 {
|
||||||
// width: 36.6vw;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
border-spacing: 0 0px;
|
border-spacing: 0 0px;
|
||||||
|
|
@ -32,18 +31,6 @@
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSBill-Table4 th {
|
|
||||||
// padding: 1vh 1vw;
|
|
||||||
// border-spacing: 0;
|
|
||||||
// color: #fff;
|
|
||||||
// text-align: center;
|
|
||||||
// font-family: "Gilroy-Medium";
|
|
||||||
// font-size: 20px;
|
|
||||||
// font-style: normal;
|
|
||||||
// font-weight: 400;
|
|
||||||
// line-height: normal;
|
|
||||||
// position: fixed;
|
|
||||||
// }
|
|
||||||
.BSBill-Table3-content {
|
.BSBill-Table3-content {
|
||||||
background-color: rgba(235, 235, 236, 1);
|
background-color: rgba(235, 235, 236, 1);
|
||||||
font-family: "Poppins", sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
|
|
@ -72,6 +59,7 @@
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
.tooltip .tooltiptext {
|
.tooltip .tooltiptext {
|
||||||
top: 35px !important;
|
top: 35px !important;
|
||||||
|
height: 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,10 +166,8 @@
|
||||||
.Table3-Price-div {
|
.Table3-Price-div {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// column-gap: 2rem;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
//draft by Sri
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -190,8 +176,6 @@
|
||||||
width: 30px;
|
width: 30px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
// cursor: pointer;
|
|
||||||
// font-size:30px;
|
|
||||||
color: var(--SELECTED_COLOR);
|
color: var(--SELECTED_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -200,8 +184,6 @@
|
||||||
width: 30px;
|
width: 30px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
// cursor: pointer;
|
|
||||||
// font-size:30px;
|
|
||||||
color: var(--SELECTED_COLOR);
|
color: var(--SELECTED_COLOR);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
@ -219,13 +201,6 @@
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .arrow {
|
|
||||||
// background-color: #6df38b;
|
|
||||||
// border-radius: 50%;
|
|
||||||
// width: 35px;
|
|
||||||
// height: 35px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.BSBill3-items {
|
.BSBill3-items {
|
||||||
color: var(--SELECTED_COLOR);
|
color: var(--SELECTED_COLOR);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
|
@ -242,7 +217,6 @@
|
||||||
|
|
||||||
.icon-button3 {
|
.icon-button3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
// width: 30px;
|
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 6px 6px;
|
margin: 6px 6px;
|
||||||
|
|
@ -255,14 +229,6 @@
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .Table4-fullrate {
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: space-evenly;
|
|
||||||
// }
|
|
||||||
// .Table4-tbody {
|
|
||||||
// display: block;
|
|
||||||
// height: 500px;
|
|
||||||
// }
|
|
||||||
.BSBilling3-view-summary {
|
.BSBilling3-view-summary {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
@ -294,7 +260,6 @@
|
||||||
align-items: right;
|
align-items: right;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
// padding: 0rem 1rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.Table3-item-price {
|
.Table3-item-price {
|
||||||
|
|
@ -314,7 +279,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.customerBSBilling3- {
|
.customerBSBilling3- {
|
||||||
// width: 50%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -334,14 +298,6 @@
|
||||||
font-family: "Poppins";
|
font-family: "Poppins";
|
||||||
}
|
}
|
||||||
|
|
||||||
// .table3body {
|
|
||||||
// height: 20vh;
|
|
||||||
// overflow: auto;
|
|
||||||
// }
|
|
||||||
// .BSBilling3-tablediv{
|
|
||||||
// height: 40vh;
|
|
||||||
// overflow: auto;
|
|
||||||
// }
|
|
||||||
.BSC1-Master .BSBilling3-tablediv {
|
.BSC1-Master .BSBilling3-tablediv {
|
||||||
height: 99%;
|
height: 99%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
@ -390,8 +346,6 @@
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
// -webkit-mask-image: linear-gradient(-75deg, rgba(41, 41, 41, 0.6) 30%, #c9c9c9 50%, rgba(255, 255, 255, 0.6) 70%);
|
|
||||||
// -webkit-mask-size: 200%;
|
|
||||||
animation: shine 0.5s linear infinite;
|
animation: shine 0.5s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -410,11 +364,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// position:fixed;
|
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
// height: 130px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSTable3_hold {
|
.BSTable3_hold {
|
||||||
|
|
@ -455,7 +407,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BS3hold-sum {
|
.BS3hold-sum {
|
||||||
// font-size: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -505,7 +456,6 @@
|
||||||
height: 50px;
|
height: 50px;
|
||||||
justify-content: space-evenly;
|
justify-content: space-evenly;
|
||||||
background-color: var(--SELECTED_COLOR);
|
background-color: var(--SELECTED_COLOR);
|
||||||
// border: #545454 solid 1px;
|
|
||||||
border: none !important;
|
border: none !important;
|
||||||
color: rgb(255, 255, 255);
|
color: rgb(255, 255, 255);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -591,10 +541,8 @@
|
||||||
.CustomerAddSrch {
|
.CustomerAddSrch {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
// transform: scale(1);
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
column-gap: 0.5rem;
|
column-gap: 0.5rem;
|
||||||
// background-color: #f1ff9f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.shine {
|
.shine {
|
||||||
|
|
@ -606,7 +554,6 @@
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: linear-gradient(to right, #4d4d4d 0, #fff 10%, #4d4d4d 20%);
|
background: linear-gradient(to right, #4d4d4d 0, #fff 10%, #4d4d4d 20%);
|
||||||
background-position: 0;
|
background-position: 0;
|
||||||
// -webkit-background-clip: text;
|
|
||||||
-webkit-text-fill-color: transparent;
|
-webkit-text-fill-color: transparent;
|
||||||
animation: shine 3s infinite linear;
|
animation: shine 3s infinite linear;
|
||||||
animation-fill-mode: forwards;
|
animation-fill-mode: forwards;
|
||||||
|
|
@ -694,7 +641,6 @@
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
border: 1px solid #000;
|
border: 1px solid #000;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
// border-width: 0 2px 2px 0;
|
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -705,7 +651,6 @@
|
||||||
padding: 0rem 1rem;
|
padding: 0rem 1rem;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
// transition: transform 0.3s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.arrow:hover {
|
.arrow:hover {
|
||||||
|
|
@ -762,7 +707,6 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
// height: 130px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.Table3-Price-div-table {
|
.Table3-Price-div-table {
|
||||||
|
|
@ -812,7 +756,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBill-Table3 {
|
.BSBill-Table3 {
|
||||||
// width: 90vw;
|
|
||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -838,15 +781,9 @@
|
||||||
.Table3-vertical-line {
|
.Table3-vertical-line {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .Table3-payment-mode{
|
|
||||||
// flex-wrap: wrap;
|
|
||||||
// }
|
|
||||||
.Table3-Price-div-table {
|
.Table3-Price-div-table {
|
||||||
display: block;
|
display: block;
|
||||||
// width: 250px;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// width: max-content;
|
|
||||||
max-height: 23vh;
|
max-height: 23vh;
|
||||||
height: max-content;
|
height: max-content;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
@ -879,24 +816,12 @@
|
||||||
flex-direction: row !important;
|
flex-direction: row !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .Table3-Price-summarypop{
|
|
||||||
// display: none;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.Table3-Price-summarypopfullscrn {
|
.Table3-Price-summarypopfullscrn {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 280px) and (max-width: 499px) {
|
@media (min-width: 280px) and (max-width: 499px) {
|
||||||
// .Table3-price {
|
|
||||||
// display: flex;
|
|
||||||
// width: 100%;
|
|
||||||
// flex-direction: column;
|
|
||||||
// // row-gap: 1rem;
|
|
||||||
// background-color: transparent;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.Cust-tag {
|
.Cust-tag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 129px !important;
|
bottom: 129px !important;
|
||||||
|
|
@ -944,9 +869,6 @@
|
||||||
.Table3-payment-mode {
|
.Table3-payment-mode {
|
||||||
padding: 0rem 0.8rem;
|
padding: 0rem 0.8rem;
|
||||||
column-gap: 0.5rem;
|
column-gap: 0.5rem;
|
||||||
// nk
|
|
||||||
// column-gap:0.5rem;
|
|
||||||
//
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -958,7 +880,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.Hover {
|
.Hover {
|
||||||
// color: var(--SELECTED_COLOR);
|
|
||||||
height: 35px;
|
height: 35px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|
@ -999,9 +920,9 @@
|
||||||
.Tbl3-Variant {
|
.Tbl3-Variant {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
.Tbl3VariantActve{
|
.Tbl3VariantActve {
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.css-w9q2zk-Input2 {
|
.css-w9q2zk-Input2 {
|
||||||
|
|
@ -1055,7 +976,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #52c41a;
|
background-color: #52c41a;
|
||||||
// height: 40px;
|
|
||||||
width: 80px;
|
width: 80px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
@ -1069,7 +989,6 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
// background:"#52c41a"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink-animation {
|
@keyframes blink-animation {
|
||||||
|
|
@ -1098,12 +1017,10 @@
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: black;
|
color: black;
|
||||||
/* default text color */
|
|
||||||
padding: 2px 6px;
|
padding: 2px 6px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* full width */
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1119,6 +1036,5 @@
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
color: #fff9c4;
|
color: #fff9c4;
|
||||||
/* soft yellow/cream blink */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
.BSBillingNavBar1 {
|
.BSBillingNavBar1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
// width: 100%;
|
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
@ -29,14 +28,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSBillingNav1div2 {
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: space-evenly;
|
|
||||||
// align-items: center;
|
|
||||||
// width: 100%;
|
|
||||||
// color: var(--DEFAULT_SELECTED_COLOR);
|
|
||||||
// }
|
|
||||||
|
|
||||||
.BSBillingNavBar1-SearchBar {
|
.BSBillingNavBar1-SearchBar {
|
||||||
display: flex;
|
display: flex;
|
||||||
font-family: "Gilroy";
|
font-family: "Gilroy";
|
||||||
|
|
@ -45,6 +36,8 @@
|
||||||
color: #212529 !important;
|
color: #212529 !important;
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
text-wrap: nowrap;
|
text-wrap: nowrap;
|
||||||
|
width: 95px;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vl {
|
.vl {
|
||||||
|
|
@ -72,10 +65,6 @@
|
||||||
color: var(--DEFAULT_SELECTED_COLOR);
|
color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
|
|
||||||
// >div {
|
|
||||||
// width: 25px !important;
|
|
||||||
// height: 35px !important;
|
|
||||||
// }
|
|
||||||
.bs-membership__icon-btn {
|
.bs-membership__icon-btn {
|
||||||
svg {
|
svg {
|
||||||
color: #fbbf24;
|
color: #fbbf24;
|
||||||
|
|
@ -86,24 +75,11 @@
|
||||||
.BSBillingnav1-threedots {
|
.BSBillingnav1-threedots {
|
||||||
display: none;
|
display: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
//nk
|
|
||||||
width: 1.7rem;
|
width: 1.7rem;
|
||||||
//
|
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
color: var(--DEFAULT_SELECTED_COLOR);
|
color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSNavBar1-Accmenu {
|
|
||||||
// position: absolute;
|
|
||||||
// right: 0rem;
|
|
||||||
// width: 160px;
|
|
||||||
// top: 2rem;
|
|
||||||
// height: 80px;
|
|
||||||
// color: black;
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: center;
|
|
||||||
// background-color: #f3f3f3;
|
|
||||||
// }
|
|
||||||
.BSBillingNavBar1-smallscreen-Inputsearch-container {
|
.BSBillingNavBar1-smallscreen-Inputsearch-container {
|
||||||
display: none;
|
display: none;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -171,10 +147,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .custom-input {
|
|
||||||
// width: 53vw !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.BSBillingNavBar1-Inputsearch {
|
.BSBillingNavBar1-Inputsearch {
|
||||||
width: 50vw !important;
|
width: 50vw !important;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
|
|
@ -213,7 +185,6 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
column-gap: 1rem;
|
column-gap: 1rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// margin-left: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSNavbar1-timer {
|
.BSNavbar1-timer {
|
||||||
|
|
@ -221,11 +192,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSBillingNavBar1-AllIcons-column {
|
|
||||||
// display: flex;
|
|
||||||
// flex-direction: column;
|
|
||||||
// row-gap: 1.5rem;
|
|
||||||
// }
|
|
||||||
.BSBillingNavBar1-AllIcons-column {
|
.BSBillingNavBar1-AllIcons-column {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -322,13 +288,6 @@
|
||||||
text-wrap: nowrap;
|
text-wrap: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSNavbar1-timer {
|
|
||||||
// width: 9vw;
|
|
||||||
// font-family: 'Gilroy';
|
|
||||||
// font-weight: 600;
|
|
||||||
// color: #212529 !important;
|
|
||||||
// font-size: 2.7vh;
|
|
||||||
// }
|
|
||||||
.BSBillingNavBar1-logo {
|
.BSBillingNavBar1-logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
@ -343,8 +302,6 @@
|
||||||
|
|
||||||
.BSBillingNav1div2 .ant-input {
|
.BSBillingNav1div2 .ant-input {
|
||||||
width: max-content;
|
width: max-content;
|
||||||
// height: 2rem;
|
|
||||||
// border-radius: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBillingNavBar1-Inputsearch {
|
.BSBillingNavBar1-Inputsearch {
|
||||||
|
|
@ -361,11 +318,6 @@
|
||||||
|
|
||||||
.BSBillingNavBar1-Inputsearch-container {
|
.BSBillingNavBar1-Inputsearch-container {
|
||||||
transition: transform 0.5s;
|
transition: transform 0.5s;
|
||||||
//nk
|
|
||||||
// & .custom-input {
|
|
||||||
// // width: 23vw;
|
|
||||||
// width: 18vw;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBillingnav1-Smallscreen {
|
.BSBillingnav1-Smallscreen {
|
||||||
|
|
@ -383,7 +335,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
transform: scale(1.2);
|
transform: scale(1.03) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
|
|
@ -433,10 +385,6 @@
|
||||||
width: 6rem !important;
|
width: 6rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .favItem-SearchBar {
|
|
||||||
// width: 7.6rem;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.AddFavItemList {
|
.AddFavItemList {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
@ -444,7 +392,6 @@
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.AddFavList {
|
.AddFavList {
|
||||||
// width: 50vw !important;
|
|
||||||
padding: 2rem 1rem !important;
|
padding: 2rem 1rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@
|
||||||
padding: 0rem 1rem;
|
padding: 0rem 1rem;
|
||||||
box-shadow: var(--BOX_SHADOW_LEVEL2);
|
box-shadow: var(--BOX_SHADOW_LEVEL2);
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
||||||
// background-color: #ffffff;
|
|
||||||
.RiVerifiedBadgeFill {
|
.RiVerifiedBadgeFill {
|
||||||
color: #1292ee !important;
|
color: #1292ee !important;
|
||||||
}
|
}
|
||||||
|
|
@ -29,7 +27,6 @@
|
||||||
.BSBillingNavBar2-SearchBar {
|
.BSBillingNavBar2-SearchBar {
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
// border: 1px solid black;
|
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,21 +48,6 @@
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
color: var(--DEFAULT_SELECTED_COLOR);
|
color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// .BSBillingNavBar2-SearchBar {
|
|
||||||
// display: flex;
|
|
||||||
|
|
||||||
// border: 1px solid black;
|
|
||||||
// border-radius: 5px;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .BSBillingNav2-search-icon {
|
|
||||||
// display: flex;
|
|
||||||
// align-items: center;
|
|
||||||
// border: 1px solid black;
|
|
||||||
// border-radius: 5px;
|
|
||||||
// padding: 1px;
|
|
||||||
// }
|
|
||||||
.BSBillingNav2-toggle-icon {
|
.BSBillingNav2-toggle-icon {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
|
|
@ -79,7 +61,6 @@
|
||||||
.BSBillingNavBar2-AllIcons {
|
.BSBillingNavBar2-AllIcons {
|
||||||
display: flex;
|
display: flex;
|
||||||
color: var(--DEFAULT_SELECTED_COLOR);
|
color: var(--DEFAULT_SELECTED_COLOR);
|
||||||
// column-gap: 1.5rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBillingnav2-threedots {
|
.BSBillingnav2-threedots {
|
||||||
|
|
@ -92,7 +73,6 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 33vw;
|
width: 33vw;
|
||||||
top: 0;
|
top: 0;
|
||||||
// height: 90vh;
|
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
right: 2px;
|
right: 2px;
|
||||||
|
|
@ -114,10 +94,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.favsbmtbtn {
|
.favsbmtbtn {
|
||||||
// position: fixed;
|
|
||||||
// bottom: 40px;
|
|
||||||
// right: 12px;
|
|
||||||
// vicky
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
|
|
@ -131,7 +107,6 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background-color: #fcfcfc;
|
background-color: #fcfcfc;
|
||||||
// background-color: #fafafa;
|
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -172,9 +147,9 @@
|
||||||
gap: 6px;
|
gap: 6px;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 10px 1rem;
|
padding: 10px 1rem;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
|
|
||||||
>div {
|
> div {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -216,10 +191,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 499px) {
|
@media (max-width: 499px) {
|
||||||
// .AddFavList .primary_Button {
|
|
||||||
// width: 6rem !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.favItem-SearchBar {
|
.favItem-SearchBar {
|
||||||
width: 7.6rem;
|
width: 7.6rem;
|
||||||
}
|
}
|
||||||
|
|
@ -232,7 +203,6 @@
|
||||||
top: 17rem;
|
top: 17rem;
|
||||||
width: 100vw !important;
|
width: 100vw !important;
|
||||||
padding: 1rem 1rem !important;
|
padding: 1rem 1rem !important;
|
||||||
// height: 100% !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.smallScreenclose {
|
.smallScreenclose {
|
||||||
|
|
@ -252,8 +222,6 @@
|
||||||
.fav-close {
|
.fav-close {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
/* background-color: #ff4d4f; */
|
|
||||||
/* color: #080808; */
|
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
@ -323,7 +291,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BSBillingNav2div2 .EstimateButton {
|
.BSBillingNav2div2 .EstimateButton {
|
||||||
// margin: 0 5px;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -404,7 +371,6 @@
|
||||||
top: 10px;
|
top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.MultiSearchIconDiv2 {
|
.MultiSearchIconDiv2 {
|
||||||
background-color: #1292ee;
|
background-color: #1292ee;
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
|
|
@ -417,7 +383,6 @@
|
||||||
height: 32px;
|
height: 32px;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
width: 32px !important;
|
width: 32px !important;
|
||||||
|
|
@ -425,4 +390,4 @@
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
.Selection-Component-Heading {
|
.Selection-Component-Heading {
|
||||||
color: #161a1e;
|
color: #161a1e;
|
||||||
// text-align: center;
|
font-family: "Gilroy-SemiBold";
|
||||||
font-family: Gilroy-SemiBold;
|
|
||||||
font-size: 33px;
|
font-size: 33px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
@ -10,7 +9,7 @@
|
||||||
|
|
||||||
.Selection-Component-SubHeading {
|
.Selection-Component-SubHeading {
|
||||||
color: #4d4d4d;
|
color: #4d4d4d;
|
||||||
font-family: Manrope;
|
font-family: "Poppins";
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
@ -20,10 +19,10 @@
|
||||||
|
|
||||||
.Selection-Component-selectheading {
|
.Selection-Component-selectheading {
|
||||||
color: #000;
|
color: #000;
|
||||||
font-family: Manrope;
|
font-family: "Poppins";
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 600;
|
font-weight: 500;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -127,17 +126,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
// .Selection-Component-OverallDiv{
|
|
||||||
// padding:2rem 0 0 2rem;
|
|
||||||
// width:100%;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// .ant-modal .ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){
|
|
||||||
// display: none
|
|
||||||
// }
|
|
||||||
|
|
||||||
.colorBtn {
|
.colorBtn {
|
||||||
background-color: var(--PRIMARY_BUTTON_BG_COLOR);
|
background-color: var(--PRIMARY_BUTTON_BG_COLOR);
|
||||||
color: rgb(255, 255, 255);
|
color: rgb(255, 255, 255);
|
||||||
|
|
@ -150,10 +138,6 @@
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .ant-btn-default{
|
|
||||||
// display: none;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.Selection-Component-InputDiv {
|
.Selection-Component-InputDiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
@ -165,6 +149,7 @@
|
||||||
background-color: #f2f9fd;
|
background-color: #f2f9fd;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
|
font-family: "Poppins";
|
||||||
|
|
||||||
& .ant-form-item {
|
& .ant-form-item {
|
||||||
margin-bottom: 0px !important;
|
margin-bottom: 0px !important;
|
||||||
|
|
@ -181,7 +166,11 @@
|
||||||
.Selection-Component-selectContainerDiv {
|
.Selection-Component-selectContainerDiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// row-gap: 2rem;
|
.ant-checkbox-label {
|
||||||
|
font-family: "Poppins";
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.Selection-Component-SubDivContainer {
|
.Selection-Component-SubDivContainer {
|
||||||
|
|
@ -391,7 +380,6 @@
|
||||||
|
|
||||||
> div {
|
> div {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
// border-bottom: 1px solid #1292ee;
|
|
||||||
color: #1292ee;
|
color: #1292ee;
|
||||||
margin: 4px 10px 4px 4px;
|
margin: 4px 10px 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
@ -404,7 +392,6 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
margin: 6px 10px 6px 4px;
|
margin: 6px 10px 6px 4px;
|
||||||
// background-color: #ff00002b;
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 1px 6px;
|
padding: 1px 6px;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
|
@ -423,10 +410,8 @@
|
||||||
|
|
||||||
> div {
|
> div {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
//border-bottom: 1px solid #1292ee;
|
|
||||||
color: rgb(0, 126, 28);
|
color: rgb(0, 126, 28);
|
||||||
margin: 6px 10px 6px 4px;
|
margin: 6px 10px 6px 4px;
|
||||||
// background-color: rgba(0, 126, 27, 0.181);
|
|
||||||
padding: 1px 6px;
|
padding: 1px 6px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
|
@ -489,7 +474,6 @@
|
||||||
|
|
||||||
.addNewSalesFiledBTN {
|
.addNewSalesFiledBTN {
|
||||||
background-color: #2563eb;
|
background-color: #2563eb;
|
||||||
// background-color: #1292ee;
|
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
width: max-content;
|
width: max-content;
|
||||||
height: max-content;
|
height: max-content;
|
||||||
|
|
|
||||||
|
|
@ -373,11 +373,12 @@ body {
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1577,6 +1577,7 @@
|
||||||
max-height: 14vh;
|
max-height: 14vh;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
border: 1px solid #eeeeee;
|
border: 1px solid #eeeeee;
|
||||||
|
scrollbar-width: thin;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notificationCenterTitle {
|
.notificationCenterTitle {
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,13 @@
|
||||||
|
|
||||||
.MapDiv {
|
.MapDiv {
|
||||||
position: relative;
|
position: relative;
|
||||||
//srinath
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
// height: 55%;
|
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
// width: var(--INPUT_FIELD_WIDTH);
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subinputForm .ant-input-affix-wrapper>input.ant-input {
|
.subinputForm .ant-input-affix-wrapper > input.ant-input {
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
border: none;
|
border: none;
|
||||||
padding: 18px 14px 6px 1px !important;
|
padding: 18px 14px 6px 1px !important;
|
||||||
|
|
@ -169,4 +166,11 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.ClassEmployeeMaster {
|
||||||
|
.searchAddDiv {
|
||||||
|
flex-wrap: wrap !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -215,10 +215,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.address-type-section {
|
.address-type-section {
|
||||||
// padding: 12px;
|
|
||||||
// background-color: #f8fafc;
|
|
||||||
// border-radius: 8px;
|
|
||||||
// border: 1px solid #e2e8f0;
|
|
||||||
.ant-checkbox-inner {
|
.ant-checkbox-inner {
|
||||||
height: 14px;
|
height: 14px;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
|
|
@ -259,28 +255,6 @@
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
|
|
||||||
// &.address1 {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.address2 {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.zip {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.city {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.district {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.state {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
// &.coordinates {
|
|
||||||
// border-left: 2px solid #d0c8ff;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.labelCoordinates {
|
.labelCoordinates {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
color: #3b424d;
|
color: #3b424d;
|
||||||
|
|
@ -339,7 +313,6 @@
|
||||||
.commonMaster-btn {
|
.commonMaster-btn {
|
||||||
.tertiary_Button {
|
.tertiary_Button {
|
||||||
width: 40vw !important;
|
width: 40vw !important;
|
||||||
// font-size: 11px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.primary_Button {
|
.primary_Button {
|
||||||
|
|
@ -350,7 +323,6 @@
|
||||||
.productMaster-input .primary_Button {
|
.productMaster-input .primary_Button {
|
||||||
width: 33.33vw !important;
|
width: 33.33vw !important;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
// background-color: #f1c40f !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.subRowFlex {
|
.subRowFlex {
|
||||||
|
|
@ -367,9 +339,6 @@
|
||||||
|
|
||||||
.searchAddDiv {
|
.searchAddDiv {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
// .primary_Button {
|
|
||||||
// // width: 76.39vw !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.searchDiv {
|
.searchDiv {
|
||||||
width: 76.39vw !important;
|
width: 76.39vw !important;
|
||||||
|
|
@ -381,12 +350,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.subinputForm {
|
.subinputForm {
|
||||||
// width: 100%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row !important;
|
flex-direction: row !important;
|
||||||
// gap: 1rem;
|
|
||||||
// align-items: center;
|
|
||||||
// justify-content: flex-start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.Counter-Category-mapping {
|
.Counter-Category-mapping {
|
||||||
|
|
@ -413,7 +378,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.commonMaster-btn {
|
.commonMaster-btn {
|
||||||
// flex-direction: column;
|
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
height: unset !important;
|
height: unset !important;
|
||||||
|
|
||||||
|
|
@ -923,7 +887,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
.ant-form-item{
|
.ant-form-item {
|
||||||
margin-bottom: 0 !important;
|
margin-bottom: 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1072,7 +1036,6 @@ table {
|
||||||
height: 15mm;
|
height: 15mm;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 6px;
|
font-size: 6px;
|
||||||
//border:1px solid black;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -1331,10 +1294,6 @@ table {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .OverAllSticker8 {
|
|
||||||
// height: 149mm;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.Sticker8 {
|
.Sticker8 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
@ -1610,7 +1569,6 @@ table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Sree
|
// Sree
|
||||||
.component-table-purchae {
|
.component-table-purchae {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -1645,7 +1603,6 @@ table {
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.userPageContent {
|
.userPageContent {
|
||||||
.wspreorder-input1 {
|
.wspreorder-input1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -1668,4 +1625,12 @@ table {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.ClassExtraChargesList {
|
||||||
|
.searchAddDiv {
|
||||||
|
flex-wrap: wrap !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue