import { useDispatch } from 'react-redux'; import '../../Styles/PurchaseQuotation/PurchaseQuotationPrint.scss'; import { getBranchDetail } from '../../Features/BrachLogin/BranchLogin'; import { dateFormatChange1, getSession } from '../../Services/Others'; import { useEffect, useState } from 'react'; import moment from 'moment'; import DCPrintA4Style11 from './DCPrintTemplates/DCA4/DCPrintA4Style11'; import { useSelector } from 'react-redux'; import { GlobalDCPrintTemplate } from '../../Features/ThemeChange/ThemeChange'; import DCPrintStyle1 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle1'; import DCPrintstyle2 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle2'; import DCPrintStyle3 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle3'; import DCPrintstyle4 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle4'; import DCPrintStyle5 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle5'; import DCPrintstyle6 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle6'; import DCPrintStyle7 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle7'; import DCPrintstyle8 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle8'; import DCPrintStyle9 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle9'; import DCPrintStyle10 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle10'; import DCPrintStyle11 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle11'; import DCPrintstyle12 from './DCPrintTemplates/DCThermalPrinter/DCPrintStyle12'; import DCPrintStyleA5 from './DCPrintTemplates/DCA4/DCPrintStyleA5'; import DCA4Standard from './DCPrintTemplates/DCA4/DCA4Standard'; import DCInvicePrint from './DCPrintTemplates/DCThermalPrinter/DCInvicePrint'; const DeliveryPrint = ({ PrintingData1, DCprinterTemplateStyle, DCPrintTemplateDtl, }) => { const PrintingData = PrintingData1?.[0]; console.log(PrintingData, 'PrintingData'); const dispatch = useDispatch(); const BranchId = getSession('BranchId'); console.log(DCprinterTemplateStyle, 'DCprinterTemplateStyle'); const Date1 = dateFormatChange1(PrintingData?.[0]?.DCDate); const [BranchDetails, setBranchDetails] = useState({}); const [BranchLogo, setBranchLogo] = useState(null); const [BranchAddress, setBranchAddress] = useState(); const [BranchCity, setBranchCity] = useState(); const [BranchZip, setBranchZip] = useState(); const [BranchName, setBranchName] = useState(); const [base64Image, setBase64Image] = useState(null); const [conversionError, setConversionError] = useState(null); useEffect(() => { fetchBranchData(); }, []); const imageUrlToBase64 = async (url) => { try { const response = await fetch(url); const blob = await response.blob(); return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onloadend = () => resolve(reader.result); reader.onerror = reject; reader.readAsDataURL(blob); }); } catch (error) { console.error('Error fetching or converting image:', error); throw error; } }; // Call the function to convert the image URL to base64 useEffect(() => { async function fetchImage() { try { const base64 = await imageUrlToBase64(BranchLogo); setBase64Image(base64); } catch (error) { setConversionError(error.message || 'Error converting image'); } } if (BranchLogo) { fetchImage(); } }, [BranchLogo]); const fetchBranchData = async () => { const response = await dispatch( getBranchDetail({ BrId: BranchId }) ).unwrap(); if (response?.data?.statusCode === 1) { console.log(response?.data?.data, 'branchdata'); setBranchDetails(response?.data?.data?.[0]); setBranchName(response?.data?.data?.[0]?.BrName); setBranchAddress(response?.data?.data?.[0]?.Address1); setBranchCity(response?.data?.data?.[0]?.City); setBranchLogo(response?.data?.data?.[0]?.CompLogo); } else { setBranchAddress(); setBranchCity(); setBranchZip(); setBranchLogo(); } }; const chunkSize = 17; let dataChunks = []; // Check if PrintingData exists and has ProductDetails if (PrintingData?.[0]?.ProductDetails) { // Only split into chunks if there are more items than chunkSize if (PrintingData[0].ProductDetails.length > chunkSize) { // Split table data into chunks for ( let i = 0; i < PrintingData[0].ProductDetails.length; i += chunkSize ) { dataChunks.push(PrintingData[0].ProductDetails.slice(i, i + chunkSize)); } } else { // If less items than chunkSize, just use one chunk dataChunks = [PrintingData[0].ProductDetails]; } } console.log(dataChunks, 'dataChunksdataChunks'); return ( <> {/* */}{' '}
| Sl.No. | Item & Description | Qty | {/*UOM | */}
| {chunkIndex * chunkSize + index + 1} |
{item?.ProdName}
{/* {item?.ProdVariantName && (
Variant: {item?.ProdVariantName}
)} */}
{(item?.ProdVariantName ||
item?.RequestVariantName) &&
(item?.RequestVariantName ||
item?.ProdVariantName) !== 'Variant 1' && (
Variant:{' '}
{item?.RequestVariantName ||
item?.ProdVariantName}
)}
|
{item?.Qty || item?.DispatchedQty} | {/*{item?.UOM} | */}