13 Issue Solved

This commit is contained in:
vignesh 2026-03-24 14:48:46 +05:30
parent b1c5327e0a
commit 37736d33da
11 changed files with 294 additions and 316 deletions

View File

@ -306,14 +306,6 @@ const PozoMenu = ({
setOpenKeys([]); setOpenKeys([]);
setDropdownPositions({}); setDropdownPositions({});
// Fullscreen on Sales Entry click
if (item.label === 'Sales Entry') {
if (!document.fullscreenElement) {
document.documentElement.requestFullscreen().catch(() => {});
}
}
// Trigger onClick callback if provided // Trigger onClick callback if provided
if (onClick) { if (onClick) {
onClick({ onClick({

View File

@ -1,4 +1,3 @@
import '../../../../Styles/BookingScreen/Components/UtillComponents/BSNavBarComponents.scss';
import { useRef, useState, useEffect, useCallback } from 'react'; import { useRef, useState, useEffect, useCallback } from 'react';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { IoSearchOutline } from 'react-icons/io5'; import { IoSearchOutline } from 'react-icons/io5';
@ -33,9 +32,9 @@ import { isMobile } from 'react-device-detect';
import { BiBarcodeReader } from 'react-icons/bi'; import { BiBarcodeReader } from 'react-icons/bi';
import TooltipWrapper from '../../../../Components/Tooltip/Tooltip'; import TooltipWrapper from '../../../../Components/Tooltip/Tooltip';
import BarCodeScan from '../../../../Services/BarCodeScan.jsx'; import BarCodeScan from '../../../../Services/BarCodeScan.jsx';
import '../../../../Styles/BookingScreen/Components/UtillComponents/BSNavBarComponents.scss';
const BSNavBarComboSearch = (props) => { const BSNavBarComboSearch = (props) => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const propsData = props?.SessionData; const propsData = props?.SessionData;
const [form] = Form.useForm(); const [form] = Form.useForm();
@ -1185,11 +1184,6 @@ const BSNavBarComboSearch = (props) => {
await onChangeprodFunction(value); await onChangeprodFunction(value);
} }
// setOptions(() => {
// if (!value || value.includes('@')) {
// return [];
// }
return DropDown && Array.isArray(DropDown) return DropDown && Array.isArray(DropDown)
? DropDown.map((item) => ({ ? DropDown.map((item) => ({
label: `${item.ComboName}`, // Display the combo name label: `${item.ComboName}`, // Display the combo name
@ -1198,28 +1192,7 @@ const BSNavBarComboSearch = (props) => {
: []; : [];
// }); // });
}; };
// const stopScannerFromParent = () => {
// if (scannerRef.current) {
// scannerRef.current.stopScanner(); // Call stopScanner from the child component
// }
// };
// const handleQrcode = () => {
// setOpenScanner((prev) => !prev);
// if (!openScanner && scannerRef.current) {
// scannerRef.current.reinitializeCamera(); // Call the function to reinitialize the camera
// }
// };
// const handleQrData = (decodedText, err) => {
// onChangeprodFunction(decodedText);
// setOpenScanner(false); // Close the modal after scanning
// stopScannerFromParent();
// if (err && err?.error) {
// setMessageData(err?.error);
// setMessageType('error');
// }
// };
return ( return (
<div className="L"> <div className="L">
<Messages <Messages
@ -1246,14 +1219,7 @@ const BSNavBarComboSearch = (props) => {
: {} : {}
} }
> >
<Form.Item <Form.Item name="ProdName" className="custom-search">
name="ProdName"
// style={{ margin: '-17px 8px 0px -7px' }}
// rules={
// [{ required: true, message: 'Please enter Item Name' }]
// }
className="custom-search"
>
<div className="Combosearch" style={{ height: '3rem' }}> <div className="Combosearch" style={{ height: '3rem' }}>
<AutoComplete <AutoComplete
className={ className={
@ -1262,10 +1228,6 @@ const BSNavBarComboSearch = (props) => {
ref={searchInputRef} ref={searchInputRef}
onSearch={handleSearch} onSearch={handleSearch}
placeholder="Search Combo Product (SHIFT + S)" placeholder="Search Combo Product (SHIFT + S)"
// filterOption={(inputValue, option) =>
// option.label.toLowerCase().includes(inputValue.toLowerCase()) ||
// option.value.toString().toLowerCase().includes(inputValue.toLowerCase())
// }
options={DropDown?.map((option) => ({ options={DropDown?.map((option) => ({
value: option.ComboName, value: option.ComboName,
label: option.ComboName, label: option.ComboName,
@ -1290,14 +1252,11 @@ const BSNavBarComboSearch = (props) => {
/> />
</div> </div>
{isMobile && screenWidth <= 768 ? ( {isMobile && screenWidth <= 768 ? (
// <BiBarcodeReader
// className="search-icon"
// onClick={() => handleQrcode()}
// />
<BarCodeScan <BarCodeScan
onScan={(value) => { onScan={(value) => {
onChangeprodFunction(value); onChangeprodFunction(value);
}} /> }}
/>
) : ( ) : (
<IoSearchOutline className="search-icon" /> <IoSearchOutline className="search-icon" />
)} )}
@ -1400,25 +1359,6 @@ const BSNavBarComboSearch = (props) => {
</div> </div>
</Modal> </Modal>
)} )}
{/* {isMobile && screenWidth <= 768 && (
<DefaultModal
title="Barcode Reader"
width={800}
open={openScanner}
footer={false}
handleCancel={handleQrData} // Close modal on cancel
>
{openScanner && (
<BarcodeScanner
ref={scannerRef}
openScanner={openScanner}
setOpenScanner={setOpenScanner}
handleQrData={handleQrData}
type="ComboSearch"
/>
)}
</DefaultModal>
)} */}
</div> </div>
); );
}; };

View File

@ -33,7 +33,7 @@ const CustomisedInvoiceChange = () => {
const globalOrderId = useSelector(GlobalCurrentOrderId); const globalOrderId = useSelector(GlobalCurrentOrderId);
const [OpenInvoiceModal, setOpenInvoiceModal] = useState(false); const [OpenInvoiceModal, setOpenInvoiceModal] = useState(false);
const [CurrentOrderid, setCurrentOrderid] = useState(null); const [CurrentOrderid, setCurrentOrderid] = useState(null);
const [BranchStartno,setBranchStartno] = useState(null) const [BranchStartno, setBranchStartno] = useState(null);
const { invoiceDate, setInvoiceDate } = useDateStore(); const { invoiceDate, setInvoiceDate } = useDateStore();
const [MissedOrderIds, setMissedOrderIds] = useState([]); const [MissedOrderIds, setMissedOrderIds] = useState([]);
console.log(MissedOrderIds, 'MissedOrderIdsMissedOrderIds'); console.log(MissedOrderIds, 'MissedOrderIdsMissedOrderIds');
@ -47,19 +47,18 @@ const CustomisedInvoiceChange = () => {
if (CompId && BranchId && globalOrderId == null) { if (CompId && BranchId && globalOrderId == null) {
// setMissedOrderIds(response?.data?.data) // setMissedOrderIds(response?.data?.data)
setCurrentOrderid(response?.data?.data?.[0]?.StartNo); setCurrentOrderid(response?.data?.data?.[0]?.StartNo);
setBranchStartno(response?.data?.data?.[0]?.BranchStartNo) setBranchStartno(response?.data?.data?.[0]?.BranchStartNo);
formRef.current?.setFieldsValue({ formRef.current?.setFieldsValue({
CurrentOrderid: response?.data?.data?.[0]?.StartNo, CurrentOrderid: response?.data?.data?.[0]?.StartNo,
}); });
}else { } else {
setCurrentOrderid(globalOrderId); setCurrentOrderid(globalOrderId);
setBranchStartno(response?.data?.data?.[0]?.BranchStartNo) setBranchStartno(response?.data?.data?.[0]?.BranchStartNo);
formRef.current?.setFieldsValue({ CurrentOrderid: globalOrderId }); formRef.current?.setFieldsValue({ CurrentOrderid: globalOrderId });
} }
} } else {
else{
setCurrentOrderid(null); setCurrentOrderid(null);
setBranchStartno(null) setBranchStartno(null);
formRef.current?.setFieldsValue({ CurrentOrderid: null }); formRef.current?.setFieldsValue({ CurrentOrderid: null });
} }
@ -99,16 +98,16 @@ const CustomisedInvoiceChange = () => {
const getDatePickerValue = () => { const getDatePickerValue = () => {
return dayjs(invoiceDate); return dayjs(invoiceDate);
}; };
const newinvoicenoset =(invoiceno) =>{ const newinvoicenoset = (invoiceno) => {
setCurrentOrderid(invoiceno); setCurrentOrderid(invoiceno);
formRef.current?.setFieldsValue({ formRef.current?.setFieldsValue({
CurrentOrderid: invoiceno, CurrentOrderid: invoiceno,
}); });
} };
return ( return (
<div className="BSBilling7-icon-flex"> <div className="BSBilling7-icon-flex">
{/* <BiSolidOffer className='BSBillingNav-icon'/> */} {/* <BiSolidOffer className='BSBillingNav-icon'/> */}
<TooltipWrapper title={'Customised Bill No'}> <TooltipWrapper title={'Customized Bill No'}>
<div className="missingNumCheckIcon"> <div className="missingNumCheckIcon">
<div> <div>
<RiListSettingsLine onClick={() => ChangeInvoiceModal()} /> <RiListSettingsLine onClick={() => ChangeInvoiceModal()} />
@ -121,11 +120,11 @@ const CustomisedInvoiceChange = () => {
open={OpenInvoiceModal} open={OpenInvoiceModal}
width={800} width={800}
footer={false} footer={false}
title={'Customised Invoice Number'} title={'Customized Invoice Number'}
children={ children={
<div> <div>
{/* <div className="formName"> {/* <div className="formName">
<FormHeader title={'Customised Invoice Number'} /> <FormHeader title={'Customized Invoice Number'} />
</div> */} </div> */}
<Form <Form
ref={formRef} ref={formRef}
@ -171,7 +170,7 @@ const CustomisedInvoiceChange = () => {
onChange={(e) => setCurrentOrderid(e?.target?.value)} onChange={(e) => setCurrentOrderid(e?.target?.value)}
/> />
</Form.Item> </Form.Item>
<div className='fromlabelDate'> <div className="fromlabelDate">
<label>Bill Date</label> <label>Bill Date</label>
<DatePicker <DatePicker
disabledDate={disablefutureDates} disabledDate={disablefutureDates}
@ -181,20 +180,22 @@ const CustomisedInvoiceChange = () => {
/> />
</div> </div>
</div> </div>
{MissedOrderIds?.length > 0 && {MissedOrderIds?.length > 0 && (
<div> <div>
<p className="missedinvocenum">Missed Invoice Numbers:</p> <p className="missedinvocenum">
<div className="Missedorderlist" > Missed Invoice Numbers:
</p>
<div className="Missedorderlist">
{MissedOrderIds?.map((item) => ( {MissedOrderIds?.map((item) => (
<p onClick={()=>newinvoicenoset(item?.OrderNo)}>{item.OrderNo}</p> <p onClick={() => newinvoicenoset(item?.OrderNo)}>
{item.OrderNo}
</p>
))} ))}
</div> </div>
<p></p> <p></p>
</div> </div>
} )}
<div <div className="CustomisedBTN">
className='CustomisedBTN'
>
<Buttons <Buttons
buttonText="SUBMIT" buttonText="SUBMIT"
color="901D77" color="901D77"

View File

@ -1,21 +1,26 @@
function PozoQuickAddIcon({ fill, className, style, onClick }) { function PozoQuickAddIcon({ fill = '#1292ee', className, style, onClick }) {
return ( return (
<>
<svg <svg
width="40" width="45"
height="40" height="45"
viewBox="0 0 100 80" viewBox="0 0 22 22"
fill="none"
className={className} className={className}
style={style} style={style}
onClick={onClick} onClick={onClick}
fill="none"
stroke={fill}
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
> >
<path <circle cx="10" cy="12" r="6" />
d="M67.953 11H20.047C13.399 11 8 16.3884 8 23.0235V70.9765C8 77.6116 13.399 83 20.047 83H67.953C74.601 83 79.9999 77.6116 79.9999 70.9765V23.0235C80.0201 16.3884 74.6211 11 67.953 11ZM58.1824 50.0863H47.1024V61.1447C47.1024 62.8537 45.7123 64.2209 44.0201 64.2209C42.3279 64.2209 40.9379 62.8336 40.9379 61.1447V50.0863H29.8578C28.1455 50.0863 26.7756 48.699 26.7756 47.0101C26.7756 45.3211 28.1656 43.9338 29.8578 43.9338H40.9379V32.8755C40.9379 31.1664 42.3279 29.7992 44.0201 29.7992C45.7123 29.7992 47.1024 31.1865 47.1024 32.8755V43.9338H58.1824C59.8948 43.9338 61.2646 45.3211 61.2646 47.0101C61.2646 48.699 59.8948 50.0863 58.1824 50.0863Z"
fill={fill || 'currentcolor'} <line x1="10" y1="12" x2="10" y2="9" />
/> <line x1="10" y1="12" x2="13" y2="14" />
<line x1="18" y1="6" x2="18" y2="10" />
<line x1="16" y1="8" x2="20" y2="8" />
</svg> </svg>
</>
); );
} }

View File

@ -31,7 +31,6 @@
.Deliverychallan-table { .Deliverychallan-table {
width: 95%; width: 95%;
height: 45vh; height: 45vh;
// overflow: scroll;
} }
.DeliveryChellanDetails { .DeliveryChellanDetails {
@ -63,8 +62,7 @@
} }
.DeliveryChallan-inputForm .ant-table-thead tr { .DeliveryChallan-inputForm .ant-table-thead tr {
background-color: #2c88ee !important; background-color: #2c88ee !important;
}
}
.DeliveryChallan-inputForm { .DeliveryChallan-inputForm {
display: flex; display: flex;
@ -93,7 +91,8 @@
column-gap: 3rem; column-gap: 3rem;
padding-top: 0.2rem; padding-top: 0.2rem;
height: 78vh; height: 78vh;
overflow: scroll; overflow: auto;
scrollbar-width: thin;
row-gap: 1.5rem; row-gap: 1.5rem;
@media (max-width: 768px) { @media (max-width: 768px) {
@ -106,9 +105,6 @@
flex-grow: 1; flex-grow: 1;
justify-content: flex-end; justify-content: flex-end;
width: 100%; width: 100%;
// position: fixed;
// bottom: 10px;
// right: 100px;
} }
.ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td, .ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td,
@ -133,7 +129,6 @@
} }
.Deliverychallan-table { .Deliverychallan-table {
// width: 70px;
.ant-table table { .ant-table table {
border-spacing: 0px; border-spacing: 0px;
} }
@ -142,7 +137,16 @@
width: 84% !important; width: 84% !important;
} }
} }
.product-scan .sales-quotation{ .product-scan .sales-quotation {
display: flex; display: flex;
}
.product-scan .sales-quotation {
position: relative;
}
.product-scan-Icon {
position: absolute;
right: 10px;
top: 25%;
font-size: 20px !important;
} }

View File

@ -1,5 +1,3 @@
import React, { useState, useEffect, useRef, useCallback } from 'react'; import React, { useState, useEffect, useRef, useCallback } from 'react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
@ -16,7 +14,7 @@ import {
Space, Space,
Segmented, Segmented,
} from 'antd'; } from 'antd';
import { BsUpcScan } from "react-icons/bs"; import { BsUpcScan } from 'react-icons/bs';
import { import {
ArrowRightOutlined, ArrowRightOutlined,
DeleteFilled, DeleteFilled,
@ -92,7 +90,7 @@ const DeliveryChellanForm = () => {
console.log(AllCustomer, 'AllCustomer'); console.log(AllCustomer, 'AllCustomer');
const [SelProduct, setSelProduct] = useState(null); const [SelProduct, setSelProduct] = useState(null);
const [selectedProductName, setSelectedProductName] = useState(null); const [selectedProductName, setSelectedProductName] = useState(null);
const [productSearchText, setProductSearchText] = useState(""); const [productSearchText, setProductSearchText] = useState('');
const [scanner, setScanner] = useState(false); const [scanner, setScanner] = useState(false);
console.log(ProductData, 'ProductData'); console.log(ProductData, 'ProductData');
const [selectedProductVariantData, setselectedProductVariantData] = const [selectedProductVariantData, setselectedProductVariantData] =
@ -117,12 +115,8 @@ const DeliveryChellanForm = () => {
const [pendingOrderDetails, setPendingOrderDetails] = useState(null); const [pendingOrderDetails, setPendingOrderDetails] = useState(null);
const [pendingRecord, setPendingRecord] = useState(null); const [pendingRecord, setPendingRecord] = useState(null);
console.log(PrintingData, 'PrintingDataPrintingData'); console.log(PrintingData, 'PrintingDataPrintingData');
console.log(TableData, 'TableData'); console.log(TableData, 'TableData');
const items = [ const items = [
{ {
@ -135,7 +129,6 @@ const DeliveryChellanForm = () => {
}, },
]; ];
useEffect(() => { useEffect(() => {
dispatch(changeBreadCrumb({ items: items })); dispatch(changeBreadCrumb({ items: items }));
// getAdminUserdata(); // getAdminUserdata();
@ -174,15 +167,15 @@ const DeliveryChellanForm = () => {
); );
if (matchedProduct) { if (matchedProduct) {
let productName = {}; let productName = {};
productName.label = `${matchedProduct?.ProdName} (${matchedProduct.Size} ${matchedProduct.UomName})${matchedProduct?.BrandName ? ` - ${matchedProduct?.BrandName}` : ''}` productName.label = `${matchedProduct?.ProdName} (${matchedProduct.Size} ${matchedProduct.UomName})${matchedProduct?.BrandName ? ` - ${matchedProduct?.BrandName}` : ''}`;
ProductDropDownChange(matchedProduct.ProdId, productName); ProductDropDownChange(matchedProduct.ProdId, productName);
if (matchedProduct?.ProdVariantPriceDetails?.length < 2) { if (matchedProduct?.ProdVariantPriceDetails?.length < 2) {
setSelectedProductName(""); setSelectedProductName('');
setSelProduct(null) setSelProduct(null);
} }
} else { } else {
setMessageType("error"); setMessageType('error');
setMessageData("The Scanned Product not Available in Product List") setMessageData('The Scanned Product not Available in Product List');
} }
}, 300), }, 300),
[ProductData] [ProductData]
@ -206,20 +199,25 @@ const DeliveryChellanForm = () => {
BranchId: BranchId, BranchId: BranchId,
AppId: AppId, AppId: AppId,
}; };
let response = await dispatch(getPrintSelectionComponentData(data)).unwrap(); let response = await dispatch(
if(response?.data?.statusCode === 1) { getPrintSelectionComponentData(data)
let DCPrintTemplate = ).unwrap();
response?.data?.data?.[0]?.ComponentDetails?.find( if (response?.data?.statusCode === 1) {
(item) => item.SetasDefault == 'Y' && item.PrintTypeName === 'Delivery Chalan' let DCPrintTemplate = response?.data?.data?.[0]?.ComponentDetails?.find(
(item) =>
item.SetasDefault == 'Y' && item.PrintTypeName === 'Delivery Chalan'
);
console.log(
DCPrintTemplate,
response?.data?.data?.[0]?.ComponentDetails?.find(
(item) =>
item.SetasDefault == 'Y' && item.PrintTypeName === 'Delivery Chalan'
),
'DCPrintTemplate'
); );
console.log(DCPrintTemplate,response?.data?.data?.[0]?.ComponentDetails?.find(
(item) => item.SetasDefault == 'Y' && item.PrintTypeName === 'Delivery Chalan'
), 'DCPrintTemplate');
setDCPrintTemplateStyle(DCPrintTemplate?.StyleName); setDCPrintTemplateStyle(DCPrintTemplate?.StyleName);
setDCPrintTemplateDtl(DCPrintTemplate); setDCPrintTemplateDtl(DCPrintTemplate);
} }
}; };
// useEffect(() => { // useEffect(() => {
// Print(); // Print();
@ -277,7 +275,6 @@ const DeliveryChellanForm = () => {
await setAllCustomer(res?.data?.data); await setAllCustomer(res?.data?.data);
}; };
const handleAdminUserDropDownChange = (UserId) => { const handleAdminUserDropDownChange = (UserId) => {
setSelecAdminUser(UserId); setSelecAdminUser(UserId);
formRef.current?.setFieldsValue({ CustId: UserId }); formRef.current?.setFieldsValue({ CustId: UserId });
@ -285,34 +282,34 @@ const DeliveryChellanForm = () => {
}; };
const handleScanSearch = () => { const handleScanSearch = () => {
if (scanner === false) { if (scanner === false) {
setMessageType("success"); setMessageType('success');
setMessageData("Search by QrCode/BarCode Enabled") setMessageData('Search by QrCode/BarCode Enabled');
} else { } else {
setMessageType("success"); setMessageType('success');
setMessageData("Search by QrCode/BarCode Disabled") setMessageData('Search by QrCode/BarCode Disabled');
} }
setScanner(prev => !prev) setScanner((prev) => !prev);
setSelectedProductName(null); setSelectedProductName(null);
setselectedProductVariantData(null); setselectedProductVariantData(null);
setVariants(null) setVariants(null);
formRef?.current?.setFieldsValue({ formRef?.current?.setFieldsValue({
ProdId: null, ProdId: null,
VarProdId: null VarProdId: null,
}); });
} };
const handleProductSearch = (value) => { const handleProductSearch = (value) => {
if (scanner) { if (scanner) {
debouncedScannerSearch(value); debouncedScannerSearch(value);
} }
setProductSearchText(value) setProductSearchText(value);
setSelectedProductName(value); setSelectedProductName(value);
setselectedProductVariantData([]); setselectedProductVariantData([]);
setVariants([]) setVariants([]);
}; };
const ProductDropDownChange = async (ProdId, option) => { const ProductDropDownChange = async (ProdId, option) => {
formRef?.current?.resetFields(['VarProdId']); formRef?.current?.resetFields(['VarProdId']);
setProductSearchText("") setProductSearchText('');
setSelectedProductName(option?.label ? option?.label : '') setSelectedProductName(option?.label ? option?.label : '');
console.log(ProdId, 'ProdIdProdId'); console.log(ProdId, 'ProdIdProdId');
setSelProduct(ProdId); setSelProduct(ProdId);
@ -332,7 +329,8 @@ const DeliveryChellanForm = () => {
let variants1 = variantValues1?.data?.data; let variants1 = variantValues1?.data?.data;
// let cc = variants1?.[0]?.ProductDetail; // let cc = variants1?.[0]?.ProductDetail;
let cc = variants1?.filter((item) => item?.ProdName == x)?.[0]?.ProductDetail; let cc = variants1?.filter((item) => item?.ProdName == x)?.[0]
?.ProductDetail;
setVariants( setVariants(
cc?.[0]?.ProdVariantDetails?.map((detail) => ({ cc?.[0]?.ProdVariantDetails?.map((detail) => ({
@ -342,8 +340,7 @@ const DeliveryChellanForm = () => {
); );
if (cc?.[0]?.ProdVariantDetails?.length < 2) { if (cc?.[0]?.ProdVariantDetails?.length < 2) {
if (TableData?.some((e) => e.ProdId === ProdId) if (TableData?.some((e) => e.ProdId === ProdId)) {
) {
setMessageType('error'); setMessageType('error');
setMessageData('Already Product Exists'); setMessageData('Already Product Exists');
@ -413,9 +410,7 @@ const DeliveryChellanForm = () => {
)?.[0]?.ProdVariantName; )?.[0]?.ProdVariantName;
const ProdName1 = TableData?.some( const ProdName1 = TableData?.some(
(e) => (e) => e.ProdId === SelProduct && e.ProdVariantName === ProdName2
e.ProdId === SelProduct &&
e.ProdVariantName === ProdName2
); );
if (ProdName1) { if (ProdName1) {
setMessageType('error'); setMessageType('error');
@ -527,11 +522,12 @@ const DeliveryChellanForm = () => {
} }
}; };
const statusFormatter = (record)=>{ const statusFormatter = (record) => {
let filterData=TableData?.filter((e)=> e?.InwardDtlId !=record.InwardDtlId); let filterData = TableData?.filter(
setTableData(filterData) (e) => e?.InwardDtlId != record.InwardDtlId
);
} setTableData(filterData);
};
const getColumns = (data, seltax) => { const getColumns = (data, seltax) => {
const hasDiscount = data?.some((record) => record.PurcDisc > 0); const hasDiscount = data?.some((record) => record.PurcDisc > 0);
@ -624,21 +620,14 @@ const DeliveryChellanForm = () => {
render: (_, record, index) => render: (_, record, index) =>
TableData.length >= 1 ? ( TableData.length >= 1 ? (
<Space size="middle"> <Space size="middle">
<a> <a>
{ ( {
<DeleteFilled <DeleteFilled
style={{ style={{
color: '#FF4D4F', color: '#FF4D4F',
}} }}
onClick={() => onClick={() => statusFormatter(record)}
statusFormatter(record)
}
/> />
)
} }
</a> </a>
</Space> </Space>
@ -800,7 +789,6 @@ const DeliveryChellanForm = () => {
console.log(response, 'responseresponse'); console.log(response, 'responseresponse');
if (response?.data?.statusCode == 1) { if (response?.data?.statusCode == 1) {
setMessageType('success'); setMessageType('success');
setMessageData(response?.data?.response); setMessageData(response?.data?.response);
transportFormRef?.current?.resetFields(); transportFormRef?.current?.resetFields();
@ -827,7 +815,7 @@ const DeliveryChellanForm = () => {
TransporterId: challanDetail?.TransporterId, TransporterId: challanDetail?.TransporterId,
ProductDetails: challanDetail?.ProductDetails, ProductDetails: challanDetail?.ProductDetails,
TotalAmount: challanDetail?.TotalAmount, TotalAmount: challanDetail?.TotalAmount,
VehicleNo: challanDetail?.VehicleNo VehicleNo: challanDetail?.VehicleNo,
}; };
setPrintingData([orderData]); setPrintingData([orderData]);
@ -1028,11 +1016,11 @@ const DeliveryChellanForm = () => {
setPendingOrderDetails(null); setPendingOrderDetails(null);
setPendingRecord(null); setPendingRecord(null);
form.resetFields(); form.resetFields();
}; };
const handlePrint = async() => { const handlePrint = async () => {
const DCstyle = await DCPrintStyleFunction( const DCstyle = await DCPrintStyleFunction(
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle); DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle
);
const stylesMap = { const stylesMap = {
'Style 1': 'DCPrintStyle1', 'Style 1': 'DCPrintStyle1',
'Style 2': 'DCPrintStyle2', 'Style 2': 'DCPrintStyle2',
@ -1056,9 +1044,8 @@ const DeliveryChellanForm = () => {
stylesMap[ stylesMap[
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle
]; ];
console.log(selectedStyle,DCstyle, 'selectedStyle'); console.log(selectedStyle, DCstyle, 'selectedStyle');
setTimeout(() => { setTimeout(() => {
printDiv(`${selectedStyle}`, DCstyle); printDiv(`${selectedStyle}`, DCstyle);
}, 100); }, 100);
}; };
@ -1169,12 +1156,14 @@ const DeliveryChellanForm = () => {
messageData={messageData} messageData={messageData}
onComplete={onComplete} onComplete={onComplete}
/> />
<div className="formName" <div
className="formName"
style={{ style={{
display: 'flex', display: 'flex',
justifyContent: 'space-between', justifyContent: 'space-between',
marginTop: '12px', marginTop: '12px',
}}> }}
>
<FormHeader title={'Delivery Challan'} /> <FormHeader title={'Delivery Challan'} />
<div <div
style={{ style={{
@ -1189,10 +1178,12 @@ const DeliveryChellanForm = () => {
cursor: 'pointer', cursor: 'pointer',
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: '500', fontWeight: '500',
fontSize: "14px", fontSize: '14px',
justifyContent: "center", justifyContent: 'center',
}} }}
onClick={() => navigate(`${subDirectory}setting/delivery-challan/list`)} onClick={() =>
navigate(`${subDirectory}setting/delivery-challan/list`)
}
> >
<FaEye /> <span>View Chellans</span> <FaEye /> <span>View Chellans</span>
</div> </div>
@ -1231,7 +1222,6 @@ const DeliveryChellanForm = () => {
</Form.Item> </Form.Item>
</div> </div>
<div className="DeliveryChallanDropDown"> <div className="DeliveryChallanDropDown">
<Form.Item <Form.Item
name="ProdId" name="ProdId"
@ -1243,33 +1233,54 @@ const DeliveryChellanForm = () => {
]} ]}
> >
<div className="product-scan sales-quotation"> <div className="product-scan sales-quotation">
<FloatLabel label={"Product Name"} value={selectedProductName}> <FloatLabel
label={'Product Name'}
value={selectedProductName}
>
<AutoComplete <AutoComplete
className="field-DropDown" className="field-DropDown"
value={selectedProductName} value={selectedProductName}
filterOption={(input, option) => { filterOption={(input, option) => {
const product = ProductData.find(p => p.ProdId === option.value); const product = ProductData.find(
const nameMatch = option.label.toLowerCase().includes(productSearchText.toLowerCase()); (p) => p.ProdId === option.value
const qrMatch = product?.QRCode?.toLowerCase() == productSearchText.toLowerCase(); );
const nameMatch = option.label
.toLowerCase()
.includes(productSearchText.toLowerCase());
const qrMatch =
product?.QRCode?.toLowerCase() ==
productSearchText.toLowerCase();
return nameMatch || qrMatch; return nameMatch || qrMatch;
}} }}
options={!scanner ? ProductData?.map options={
((option) => ({ !scanner
? ProductData?.map((option) => ({
value: option.ProdId, value: option.ProdId,
label: `${option.ProdName} (${option.Size} ${option.UomName})${option?.BrandName ? ` - ${option?.BrandName}` : ''}` label: `${option.ProdName} (${option.Size} ${option.UomName})${option?.BrandName ? ` - ${option?.BrandName}` : ''}`,
})) : []} }))
: []
}
onSelect={ProductDropDownChange} onSelect={ProductDropDownChange}
onChange={handleProductSearch} onChange={handleProductSearch}
onKeyDown={(e) => { onKeyDown={(e) => {
if (scanner && e.key === "Enter") { if (scanner && e.key === 'Enter') {
e.preventDefault(); e.preventDefault();
} }
}} }}
> ></AutoComplete>
</AutoComplete>
</FloatLabel> </FloatLabel>
<Tooltip title={"BarCode/QrCode"} placement={"top"}> <Tooltip title={'BarCode/QrCode'} placement={'top'}>
<BsUpcScan strokeWidth={0.5} color="#000" style={{ fontSize: "16px", color: scanner ? "#52c41a" : "#888", fontWeight: "600" }} className="product-scan-Icon" onClick={handleScanSearch} /> <BsUpcScan
strokeWidth={0.5}
color="#000"
style={{
fontSize: '16px',
color: scanner ? '#52c41a' : '#888',
fontWeight: '600',
}}
className="product-scan-Icon"
onClick={handleScanSearch}
/>
</Tooltip> </Tooltip>
</div> </div>
</Form.Item> </Form.Item>
@ -1391,8 +1402,8 @@ const DeliveryChellanForm = () => {
onClick={transporterFn} onClick={transporterFn}
> >
<div> <div>
<IoMdAddCircleOutline size={20} /> Add Transport Details{' '} <IoMdAddCircleOutline size={20} /> Add Transport
<FaTruck scale={20} /> Details <FaTruck scale={20} />
</div> </div>
<DefaultModal <DefaultModal
title={ title={
@ -1578,8 +1589,10 @@ const DeliveryChellanForm = () => {
</div> </div>
</div> </div>
</div> </div>
<div className="QuosubmitButton" <div
style={{ display: 'flex', gap: '2rem', alignItems: 'center' }}> className="QuosubmitButton"
style={{ display: 'flex', gap: '2rem', alignItems: 'center' }}
>
<Buttons <Buttons
buttonText="SUBMIT" buttonText="SUBMIT"
color="901D77" color="901D77"
@ -1610,11 +1623,7 @@ const DeliveryChellanForm = () => {
</> </>
)} )}
</div> </div>
</Form> </Form>
</div> </div>
<DefaultModal <DefaultModal
width={400} width={400}
@ -1647,19 +1656,15 @@ const DeliveryChellanForm = () => {
</div> </div>
} }
/> />
{PrintingData?.length > 0 && {PrintingData?.length > 0 && (
<div style={{ display: 'none' }}>
<div
style={{ display: "none" }}
>
<DeliveryPrint <DeliveryPrint
PrintingData1={[PrintingData]} PrintingData1={[PrintingData]}
DCprinterTemplateStyle={DCPrintTemplateStyle} DCprinterTemplateStyle={DCPrintTemplateStyle}
DCPrintTemplateDtl={DCPrintTemplateDtl} DCPrintTemplateDtl={DCPrintTemplateDtl}
/> />
</div> </div>
} )}
</div> </div>
</div> </div>
</div> </div>

View File

@ -27,6 +27,7 @@ import {
getRetailTranList, getRetailTranList,
PostPaymentReceivedData, PostPaymentReceivedData,
} from '../../../Features/Payment/PaymentReceivedRetail/PaymentReceivedRetail.js'; } from '../../../Features/Payment/PaymentReceivedRetail/PaymentReceivedRetail.js';
import { ArrowRightOutlined } from '@ant-design/icons';
import { getPreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData.js'; import { getPreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData.js';
const subDirectory = import.meta.env.BASE_URL; const subDirectory = import.meta.env.BASE_URL;
const PaymentReceivedRetail = () => { const PaymentReceivedRetail = () => {
@ -305,7 +306,12 @@ const PaymentReceivedRetail = () => {
} }
}; };
const getPreference = async () => { const getPreference = async () => {
const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: UserId }; const data = {
AppId: AppId,
CompId: CompId,
BranchId: BranchId,
UserId: UserId,
};
const { data: res } = await dispatch(getPreferenceData(data)).unwrap(); const { data: res } = await dispatch(getPreferenceData(data)).unwrap();
const decimalSetting = res?.data?.[0]?.SettingDtlDetails?.find( const decimalSetting = res?.data?.[0]?.SettingDtlDetails?.find(
(setting) => (setting) =>
@ -566,7 +572,7 @@ const PaymentReceivedRetail = () => {
<Buttons <Buttons
buttonText="SUBMIT" buttonText="SUBMIT"
color="901D77" color="901D77"
// icon={<PlusOutlined />} icon={<ArrowRightOutlined />}
htmlType={true} htmlType={true}
disabled={ disabled={
SelectedCustomer == '0' SelectedCustomer == '0'

View File

@ -1,9 +1,9 @@
.opening-stock-excel-upload { .opening-stock-excel-upload {
padding: 16px; padding: 16px;
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
* { * {
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
} }
.openingStock-excel-actions { .openingStock-excel-actions {
@ -19,12 +19,12 @@
border-radius: 6px; border-radius: 6px;
color: white; color: white;
font-weight: 400; font-weight: 400;
height: 32px; padding: 8px 16px;
padding: 0 15px;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 6px; gap: 6px;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
height: max-content;
font-size: 14px; font-size: 14px;
&:hover:not(:disabled) { &:hover:not(:disabled) {
@ -41,6 +41,7 @@
cursor: not-allowed; cursor: not-allowed;
transform: none; transform: none;
box-shadow: none; box-shadow: none;
width: max-content !important;
} }
svg { svg {
@ -52,7 +53,7 @@
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
gap: 6px; gap: 6px;
padding: 4px 15px; padding: 8px 16px;
background: #52c41a; background: #52c41a;
color: white; color: white;
border-radius: 6px; border-radius: 6px;
@ -61,7 +62,6 @@
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
border: 1px solid #52c41a; border: 1px solid #52c41a;
font-size: 14px; font-size: 14px;
height: 32px;
&:hover { &:hover {
background: #73d13d; background: #73d13d;
@ -150,7 +150,7 @@
} }
&::before { &::before {
content: ''; content: "";
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
@ -235,7 +235,6 @@
padding-top: 16px; padding-top: 16px;
border-top: 1px solid #f0f0f0; border-top: 1px solid #f0f0f0;
.openingStock-excel-apply-btn { .openingStock-excel-apply-btn {
background: #1890ff; background: #1890ff;
border: 1px solid #1890ff; border: 1px solid #1890ff;
@ -290,7 +289,6 @@
.openingStock-excel-footer { .openingStock-excel-footer {
flex-direction: column; flex-direction: column;
.openingStock-excel-apply-btn { .openingStock-excel-apply-btn {
width: 100%; width: 100%;
justify-content: center; justify-content: center;

View File

@ -442,3 +442,21 @@
background-color: #2c88ee !important; background-color: #2c88ee !important;
} }
} }
.Combosearch {
.MultiSearchIconDiv {
left: 6px !important;
}
.ant-select-selector {
background-color: unset !important;
}
.ant-select-selection-search-input {
font-size: 16px !important;
font-family: "Poppins" !important;
font-weight: 500;
}
.search-icon {
display: none !important;
}
}

View File

@ -1712,3 +1712,12 @@ table {
font-weight: 400; font-weight: 400;
font-family: "Poppins"; font-family: "Poppins";
} }
.EmployeeSetMaster {
position: relative;
.incenbtivepayBTN {
position: fixed;
bottom: 2rem;
right: 2rem;
}
}

View File

@ -11,7 +11,7 @@
height: max-content; height: max-content;
gap: 10px; gap: 10px;
width: 100%; width: 100%;
justify-content: space-between; justify-content: flex-start;
} }
.formDiv { .formDiv {