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([]);
setDropdownPositions({});
// Fullscreen on Sales Entry click
if (item.label === 'Sales Entry') {
if (!document.fullscreenElement) {
document.documentElement.requestFullscreen().catch(() => {});
}
}
// Trigger onClick callback if provided
if (onClick) {
onClick({

View File

@ -1,4 +1,3 @@
import '../../../../Styles/BookingScreen/Components/UtillComponents/BSNavBarComponents.scss';
import { useRef, useState, useEffect, useCallback } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { IoSearchOutline } from 'react-icons/io5';
@ -33,9 +32,9 @@ import { isMobile } from 'react-device-detect';
import { BiBarcodeReader } from 'react-icons/bi';
import TooltipWrapper from '../../../../Components/Tooltip/Tooltip';
import BarCodeScan from '../../../../Services/BarCodeScan.jsx';
import '../../../../Styles/BookingScreen/Components/UtillComponents/BSNavBarComponents.scss';
const BSNavBarComboSearch = (props) => {
const dispatch = useDispatch();
const propsData = props?.SessionData;
const [form] = Form.useForm();
@ -1185,11 +1184,6 @@ const BSNavBarComboSearch = (props) => {
await onChangeprodFunction(value);
}
// setOptions(() => {
// if (!value || value.includes('@')) {
// return [];
// }
return DropDown && Array.isArray(DropDown)
? DropDown.map((item) => ({
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 (
<div className="L">
<Messages
@ -1246,14 +1219,7 @@ const BSNavBarComboSearch = (props) => {
: {}
}
>
<Form.Item
name="ProdName"
// style={{ margin: '-17px 8px 0px -7px' }}
// rules={
// [{ required: true, message: 'Please enter Item Name' }]
// }
className="custom-search"
>
<Form.Item name="ProdName" className="custom-search">
<div className="Combosearch" style={{ height: '3rem' }}>
<AutoComplete
className={
@ -1262,10 +1228,6 @@ const BSNavBarComboSearch = (props) => {
ref={searchInputRef}
onSearch={handleSearch}
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) => ({
value: option.ComboName,
label: option.ComboName,
@ -1290,14 +1252,11 @@ const BSNavBarComboSearch = (props) => {
/>
</div>
{isMobile && screenWidth <= 768 ? (
// <BiBarcodeReader
// className="search-icon"
// onClick={() => handleQrcode()}
// />
<BarCodeScan
onScan={(value) => {
onChangeprodFunction(value);
}} />
}}
/>
) : (
<IoSearchOutline className="search-icon" />
)}
@ -1400,25 +1359,6 @@ const BSNavBarComboSearch = (props) => {
</div>
</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>
);
};

View File

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

View File

@ -1,21 +1,26 @@
function PozoQuickAddIcon({ fill, className, style, onClick }) {
function PozoQuickAddIcon({ fill = '#1292ee', className, style, onClick }) {
return (
<>
<svg
width="40"
height="40"
viewBox="0 0 100 80"
fill="none"
className={className}
style={style}
onClick={onClick}
>
<path
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'}
/>
</svg>
</>
<svg
width="45"
height="45"
viewBox="0 0 22 22"
className={className}
style={style}
onClick={onClick}
fill="none"
stroke={fill}
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
>
<circle cx="10" cy="12" r="6" />
<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>
);
}

View File

@ -31,7 +31,6 @@
.Deliverychallan-table {
width: 95%;
height: 45vh;
// overflow: scroll;
}
.DeliveryChellanDetails {
@ -63,8 +62,7 @@
}
.DeliveryChallan-inputForm .ant-table-thead tr {
background-color: #2c88ee !important;
}
}
.DeliveryChallan-inputForm {
display: flex;
@ -93,7 +91,8 @@
column-gap: 3rem;
padding-top: 0.2rem;
height: 78vh;
overflow: scroll;
overflow: auto;
scrollbar-width: thin;
row-gap: 1.5rem;
@media (max-width: 768px) {
@ -106,9 +105,6 @@
flex-grow: 1;
justify-content: flex-end;
width: 100%;
// position: fixed;
// bottom: 10px;
// right: 100px;
}
.ant-table-wrapper .ant-table-tbody > tr.ant-table-row:hover > td,
@ -133,7 +129,6 @@
}
.Deliverychallan-table {
// width: 70px;
.ant-table table {
border-spacing: 0px;
}
@ -142,7 +137,16 @@
width: 84% !important;
}
}
.product-scan .sales-quotation{
.product-scan .sales-quotation {
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 { useNavigate } from 'react-router-dom';
import { useDispatch } from 'react-redux';
@ -16,7 +14,7 @@ import {
Space,
Segmented,
} from 'antd';
import { BsUpcScan } from "react-icons/bs";
import { BsUpcScan } from 'react-icons/bs';
import {
ArrowRightOutlined,
DeleteFilled,
@ -92,7 +90,7 @@ const DeliveryChellanForm = () => {
console.log(AllCustomer, 'AllCustomer');
const [SelProduct, setSelProduct] = useState(null);
const [selectedProductName, setSelectedProductName] = useState(null);
const [productSearchText, setProductSearchText] = useState("");
const [productSearchText, setProductSearchText] = useState('');
const [scanner, setScanner] = useState(false);
console.log(ProductData, 'ProductData');
const [selectedProductVariantData, setselectedProductVariantData] =
@ -117,12 +115,8 @@ const DeliveryChellanForm = () => {
const [pendingOrderDetails, setPendingOrderDetails] = useState(null);
const [pendingRecord, setPendingRecord] = useState(null);
console.log(PrintingData, 'PrintingDataPrintingData');
console.log(TableData, 'TableData');
const items = [
{
@ -135,7 +129,6 @@ const DeliveryChellanForm = () => {
},
];
useEffect(() => {
dispatch(changeBreadCrumb({ items: items }));
// getAdminUserdata();
@ -174,15 +167,15 @@ const DeliveryChellanForm = () => {
);
if (matchedProduct) {
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);
if (matchedProduct?.ProdVariantPriceDetails?.length < 2) {
setSelectedProductName("");
setSelProduct(null)
setSelectedProductName('');
setSelProduct(null);
}
} else {
setMessageType("error");
setMessageData("The Scanned Product not Available in Product List")
setMessageType('error');
setMessageData('The Scanned Product not Available in Product List');
}
}, 300),
[ProductData]
@ -206,20 +199,25 @@ const DeliveryChellanForm = () => {
BranchId: BranchId,
AppId: AppId,
};
let response = await dispatch(getPrintSelectionComponentData(data)).unwrap();
if(response?.data?.statusCode === 1) {
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');
setDCPrintTemplateStyle(DCPrintTemplate?.StyleName);
setDCPrintTemplateDtl(DCPrintTemplate);
let response = await dispatch(
getPrintSelectionComponentData(data)
).unwrap();
if (response?.data?.statusCode === 1) {
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'
);
setDCPrintTemplateStyle(DCPrintTemplate?.StyleName);
setDCPrintTemplateDtl(DCPrintTemplate);
}
};
// useEffect(() => {
// Print();
@ -277,7 +275,6 @@ const DeliveryChellanForm = () => {
await setAllCustomer(res?.data?.data);
};
const handleAdminUserDropDownChange = (UserId) => {
setSelecAdminUser(UserId);
formRef.current?.setFieldsValue({ CustId: UserId });
@ -285,34 +282,34 @@ const DeliveryChellanForm = () => {
};
const handleScanSearch = () => {
if (scanner === false) {
setMessageType("success");
setMessageData("Search by QrCode/BarCode Enabled")
setMessageType('success');
setMessageData('Search by QrCode/BarCode Enabled');
} else {
setMessageType("success");
setMessageData("Search by QrCode/BarCode Disabled")
setMessageType('success');
setMessageData('Search by QrCode/BarCode Disabled');
}
setScanner(prev => !prev)
setScanner((prev) => !prev);
setSelectedProductName(null);
setselectedProductVariantData(null);
setVariants(null)
setVariants(null);
formRef?.current?.setFieldsValue({
ProdId: null,
VarProdId: null
VarProdId: null,
});
}
};
const handleProductSearch = (value) => {
if (scanner) {
debouncedScannerSearch(value);
}
setProductSearchText(value)
setProductSearchText(value);
setSelectedProductName(value);
setselectedProductVariantData([]);
setVariants([])
setVariants([]);
};
const ProductDropDownChange = async (ProdId, option) => {
formRef?.current?.resetFields(['VarProdId']);
setProductSearchText("")
setSelectedProductName(option?.label ? option?.label : '')
setProductSearchText('');
setSelectedProductName(option?.label ? option?.label : '');
console.log(ProdId, 'ProdIdProdId');
setSelProduct(ProdId);
@ -332,7 +329,8 @@ const DeliveryChellanForm = () => {
let variants1 = variantValues1?.data?.data;
// 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(
cc?.[0]?.ProdVariantDetails?.map((detail) => ({
@ -342,8 +340,7 @@ const DeliveryChellanForm = () => {
);
if (cc?.[0]?.ProdVariantDetails?.length < 2) {
if (TableData?.some((e) => e.ProdId === ProdId)
) {
if (TableData?.some((e) => e.ProdId === ProdId)) {
setMessageType('error');
setMessageData('Already Product Exists');
@ -413,9 +410,7 @@ const DeliveryChellanForm = () => {
)?.[0]?.ProdVariantName;
const ProdName1 = TableData?.some(
(e) =>
e.ProdId === SelProduct &&
e.ProdVariantName === ProdName2
(e) => e.ProdId === SelProduct && e.ProdVariantName === ProdName2
);
if (ProdName1) {
setMessageType('error');
@ -527,11 +522,12 @@ const DeliveryChellanForm = () => {
}
};
const statusFormatter = (record)=>{
let filterData=TableData?.filter((e)=> e?.InwardDtlId !=record.InwardDtlId);
setTableData(filterData)
}
const statusFormatter = (record) => {
let filterData = TableData?.filter(
(e) => e?.InwardDtlId != record.InwardDtlId
);
setTableData(filterData);
};
const getColumns = (data, seltax) => {
const hasDiscount = data?.some((record) => record.PurcDisc > 0);
@ -555,11 +551,11 @@ const DeliveryChellanForm = () => {
<a style={{ color: 'black' }}>
{
record?.ProdName +
'(' +
record?.Size +
'-' +
record?.UomName +
')'
'(' +
record?.Size +
'-' +
record?.UomName +
')'
// +
// '(' +
// record?.ProdVariantName +
@ -617,32 +613,25 @@ const DeliveryChellanForm = () => {
);
},
},
{
title: 'Action',
key: 'Action',
dataIndex: 'Action',
render: (_, record, index) =>
TableData.length >= 1 ? (
<Space size="middle">
<a>
{ (
<DeleteFilled
style={{
color: '#FF4D4F',
}}
onClick={() =>
statusFormatter(record)
}
/>
)
}
</a>
</Space>
) : null,
{
title: 'Action',
key: 'Action',
dataIndex: 'Action',
render: (_, record, index) =>
TableData.length >= 1 ? (
<Space size="middle">
<a>
{
<DeleteFilled
style={{
color: '#FF4D4F',
}}
onClick={() => statusFormatter(record)}
/>
}
</a>
</Space>
) : null,
},
];
return baseColumns;
@ -721,7 +710,7 @@ const DeliveryChellanForm = () => {
const taxamt =
SelTaxTypeName?.toLowerCase() === 'withtax'
? (Amount * parseInt(record?.TaxPercentage)) /
(100 + parseInt(record?.TaxPercentage))
(100 + parseInt(record?.TaxPercentage))
: 0;
const newData = TableData.map((item, index1) => {
if (index1 === index) {
@ -800,7 +789,6 @@ const DeliveryChellanForm = () => {
console.log(response, 'responseresponse');
if (response?.data?.statusCode == 1) {
setMessageType('success');
setMessageData(response?.data?.response);
transportFormRef?.current?.resetFields();
@ -827,7 +815,7 @@ const DeliveryChellanForm = () => {
TransporterId: challanDetail?.TransporterId,
ProductDetails: challanDetail?.ProductDetails,
TotalAmount: challanDetail?.TotalAmount,
VehicleNo: challanDetail?.VehicleNo
VehicleNo: challanDetail?.VehicleNo,
};
setPrintingData([orderData]);
@ -1028,37 +1016,36 @@ const DeliveryChellanForm = () => {
setPendingOrderDetails(null);
setPendingRecord(null);
form.resetFields();
};
const handlePrint = async() => {
const handlePrint = async () => {
const DCstyle = await DCPrintStyleFunction(
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle);
const stylesMap = {
'Style 1': 'DCPrintStyle1',
'Style 2': 'DCPrintStyle2',
'Style 3': 'DCPrintStyle3',
'Style 4': 'DCPrintStyle4',
'Style 5': 'DCPrintStyle5',
'Style 6': 'DCPrintStyle6',
'Style 7': 'DCPrintStyle7',
'Style 8': 'DCPrintStyle8',
'Style 9': 'DCPrintStyle9',
'Style 10': 'DCPrintStyle10',
'Style 11': 'DCPrintStyle11',
'Style 12': 'DCPrintStyle12',
'Style 13': 'DC-Default-Print',
A4: 'DCPrintStyleA4',
A5: 'DCPrintStyleA5',
A4Standard: 'DCPrintStyleA4Standard',
};
const selectedStyle =
stylesMap[
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle
];
console.log(selectedStyle,DCstyle, 'selectedStyle');
setTimeout(() => {
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle
);
const stylesMap = {
'Style 1': 'DCPrintStyle1',
'Style 2': 'DCPrintStyle2',
'Style 3': 'DCPrintStyle3',
'Style 4': 'DCPrintStyle4',
'Style 5': 'DCPrintStyle5',
'Style 6': 'DCPrintStyle6',
'Style 7': 'DCPrintStyle7',
'Style 8': 'DCPrintStyle8',
'Style 9': 'DCPrintStyle9',
'Style 10': 'DCPrintStyle10',
'Style 11': 'DCPrintStyle11',
'Style 12': 'DCPrintStyle12',
'Style 13': 'DC-Default-Print',
A4: 'DCPrintStyleA4',
A5: 'DCPrintStyleA5',
A4Standard: 'DCPrintStyleA4Standard',
};
const selectedStyle =
stylesMap[
DCPrintTemplateStyle == undefined ? 'Style 13' : DCPrintTemplateStyle
];
console.log(selectedStyle, DCstyle, 'selectedStyle');
setTimeout(() => {
printDiv(`${selectedStyle}`, DCstyle);
}, 100);
};
@ -1169,12 +1156,14 @@ const DeliveryChellanForm = () => {
messageData={messageData}
onComplete={onComplete}
/>
<div className="formName"
<div
className="formName"
style={{
display: 'flex',
justifyContent: 'space-between',
marginTop: '12px',
}}>
}}
>
<FormHeader title={'Delivery Challan'} />
<div
style={{
@ -1189,10 +1178,12 @@ const DeliveryChellanForm = () => {
cursor: 'pointer',
fontFamily: 'Poppins',
fontWeight: '500',
fontSize: "14px",
justifyContent: "center",
fontSize: '14px',
justifyContent: 'center',
}}
onClick={() => navigate(`${subDirectory}setting/delivery-challan/list`)}
onClick={() =>
navigate(`${subDirectory}setting/delivery-challan/list`)
}
>
<FaEye /> <span>View Chellans</span>
</div>
@ -1231,7 +1222,6 @@ const DeliveryChellanForm = () => {
</Form.Item>
</div>
<div className="DeliveryChallanDropDown">
<Form.Item
name="ProdId"
@ -1243,33 +1233,54 @@ const DeliveryChellanForm = () => {
]}
>
<div className="product-scan sales-quotation">
<FloatLabel label={"Product Name"} value={selectedProductName}>
<FloatLabel
label={'Product Name'}
value={selectedProductName}
>
<AutoComplete
className="field-DropDown"
value={selectedProductName}
filterOption={(input, option) => {
const product = ProductData.find(p => p.ProdId === option.value);
const nameMatch = option.label.toLowerCase().includes(productSearchText.toLowerCase());
const qrMatch = product?.QRCode?.toLowerCase() == productSearchText.toLowerCase();
const product = ProductData.find(
(p) => p.ProdId === option.value
);
const nameMatch = option.label
.toLowerCase()
.includes(productSearchText.toLowerCase());
const qrMatch =
product?.QRCode?.toLowerCase() ==
productSearchText.toLowerCase();
return nameMatch || qrMatch;
}}
options={!scanner ? ProductData?.map
((option) => ({
value: option.ProdId,
label: `${option.ProdName} (${option.Size} ${option.UomName})${option?.BrandName ? ` - ${option?.BrandName}` : ''}`
})) : []}
options={
!scanner
? ProductData?.map((option) => ({
value: option.ProdId,
label: `${option.ProdName} (${option.Size} ${option.UomName})${option?.BrandName ? ` - ${option?.BrandName}` : ''}`,
}))
: []
}
onSelect={ProductDropDownChange}
onChange={handleProductSearch}
onKeyDown={(e) => {
if (scanner && e.key === "Enter") {
if (scanner && e.key === 'Enter') {
e.preventDefault();
}
}}
>
</AutoComplete>
></AutoComplete>
</FloatLabel>
<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} />
<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}
/>
</Tooltip>
</div>
</Form.Item>
@ -1391,8 +1402,8 @@ const DeliveryChellanForm = () => {
onClick={transporterFn}
>
<div>
<IoMdAddCircleOutline size={20} /> Add Transport Details{' '}
<FaTruck scale={20} />
<IoMdAddCircleOutline size={20} /> Add Transport
Details <FaTruck scale={20} />
</div>
<DefaultModal
title={
@ -1578,8 +1589,10 @@ const DeliveryChellanForm = () => {
</div>
</div>
</div>
<div className="QuosubmitButton"
style={{ display: 'flex', gap: '2rem', alignItems: 'center' }}>
<div
className="QuosubmitButton"
style={{ display: 'flex', gap: '2rem', alignItems: 'center' }}
>
<Buttons
buttonText="SUBMIT"
color="901D77"
@ -1610,11 +1623,7 @@ const DeliveryChellanForm = () => {
</>
)}
</div>
</Form>
</div>
<DefaultModal
width={400}
@ -1647,22 +1656,18 @@ const DeliveryChellanForm = () => {
</div>
}
/>
{PrintingData?.length > 0 &&
<div
style={{ display: "none" }}
>
<DeliveryPrint
PrintingData1={[PrintingData]}
DCprinterTemplateStyle={DCPrintTemplateStyle}
DCPrintTemplateDtl={DCPrintTemplateDtl}
/>
</div>
}
{PrintingData?.length > 0 && (
<div style={{ display: 'none' }}>
<DeliveryPrint
PrintingData1={[PrintingData]}
DCprinterTemplateStyle={DCPrintTemplateStyle}
DCPrintTemplateDtl={DCPrintTemplateDtl}
/>
</div>
)}
</div>
</div>
</div>
);
};
export default DeliveryChellanForm;
export default DeliveryChellanForm;

View File

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

View File

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

View File

@ -442,3 +442,21 @@
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-family: "Poppins";
}
.EmployeeSetMaster {
position: relative;
.incenbtivepayBTN {
position: fixed;
bottom: 2rem;
right: 2rem;
}
}

View File

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