Merge pull request 'Invoice print footer style align' (#75) from invoice-print-style into main

Reviewed-on: Pozomind/pozo-retail-app#75
This commit is contained in:
karthikalakshmi 2026-02-05 11:42:54 +05:30
commit d59d8bdee2
1 changed files with 125 additions and 134 deletions

View File

@ -119,12 +119,6 @@ const TaxInvoice = ({
const parts = dateStr.split(':');
return parts[0] || dateStr;
}
console.log(
Date1,
moment(Date1).format('DD-MMM-YYYY'),
'datadatadatadatadatadata'
);
// Extract data from table2Data - mapping from A4Standard structure
const invoiceData = {
// Company Details - mapped from A4Standard
companyName: table2Data?.CompName || table2Data?.BrName || '',
@ -193,20 +187,20 @@ const TaxInvoice = ({
const cgstTotal =
OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce((sum, item) => sum + (item.CGST || 0), 0)
)?.toFixed(2)
OrderDetailGST?.reduce((sum, item) => sum + (item.CGST || 0), 0)
)?.toFixed(2)
: 0;
const sgstTotal =
OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce((sum, item) => sum + (item.SGST || 0), 0)
)?.toFixed(2)
OrderDetailGST?.reduce((sum, item) => sum + (item.SGST || 0), 0)
)?.toFixed(2)
: 0;
const igstTotal =
OrderDetailIGST && OrderDetailIGST.length > 0
? Number(
OrderDetailIGST?.reduce((sum, item) => sum + (item.TaxAmt || 0), 0)
)?.toFixed(2)
OrderDetailIGST?.reduce((sum, item) => sum + (item.TaxAmt || 0), 0)
)?.toFixed(2)
: 0;
// Calculate round off value
@ -250,13 +244,13 @@ const TaxInvoice = ({
? isMobile
? 7
: PageSize == 'A5'
? 9
: 8
? 6
: 5
: isMobile
? 10
: PageSize == 'A5'
? 12
: 11;
? 9
: 8;
let dataSource = [];
// Simplified data source logic - always use all product details
@ -835,24 +829,24 @@ const TaxInvoice = ({
)}
{item?.ProductIdentifierDtls?.length > 0
? item?.ProductIdentifierDtls.filter(
(items) =>
items.SerialNumber && items.SerialNumber !== ''
)?.map((a, i) => (
<div key={i}>{a.SerialNumber}</div>
))
(items) =>
items.SerialNumber && items.SerialNumber !== ''
)?.map((a, i) => (
<div key={i}>{a.SerialNumber}</div>
))
: ''}
{item?.ProductIdentifierDtls?.length > 0
? item?.ProductIdentifierDtls.filter(
(id) => id.IMEI1 !== '' || id.IMEI2 !== ''
)?.map((id, i) => {
const imei1 = id.IMEI1 || '';
const imei2 = id.IMEI2 || '';
return (
<div key={i}>
{[imei1, imei2].filter(Boolean).join(',')}
</div>
);
})
(id) => id.IMEI1 !== '' || id.IMEI2 !== ''
)?.map((id, i) => {
const imei1 = id.IMEI1 || '';
const imei2 = id.IMEI2 || '';
return (
<div key={i}>
{[imei1, imei2].filter(Boolean).join(',')}
</div>
);
})
: ''}
</div>
<div
@ -1000,14 +994,14 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) => sum + (item.CGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) => sum + (item.CGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
</div>
@ -1052,14 +1046,14 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) => sum + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) => sum + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
</div>
@ -1108,14 +1102,14 @@ const TaxInvoice = ({
>
{OrderDetailIGST && OrderDetailIGST.length > 0
? Number(
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
</div>
@ -1368,7 +1362,7 @@ const TaxInvoice = ({
{/* Amount in Words */}
<div
style={{
padding: '8px 10px',
padding: '5px 10px',
borderBottom: '1px solid #000',
fontSize: '11px',
display: 'flex',
@ -1382,7 +1376,7 @@ const TaxInvoice = ({
flexDirection: 'column',
}}
>
<div style={{ marginBottom: '3px' }}>
<div style={{ marginBottom: '2px' }}>
Amount Chargeable (in words)
</div>
<div style={{ fontWeight: '700', fontSize: '16px' }}>
@ -1640,15 +1634,15 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.WithOutTaxAmount || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.WithOutTaxAmount || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
<div
@ -1667,14 +1661,14 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) => sum + (item.CGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) => sum + (item.CGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
<div
@ -1693,14 +1687,14 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) => sum + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) => sum + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
<div
@ -1708,15 +1702,15 @@ const TaxInvoice = ({
>
{OrderDetailGST && OrderDetailGST.length > 0
? Number(
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.CGST || 0) + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.CGST || 0) + (item.SGST || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
</div>
@ -1911,15 +1905,15 @@ const TaxInvoice = ({
>
{OrderDetailIGST && OrderDetailIGST.length > 0
? Number(
OrderDetailIGST?.reduce(
(sum, item) =>
sum + (item.WithOutTaxAmount || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailIGST?.reduce(
(sum, item) =>
sum + (item.WithOutTaxAmount || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
@ -1939,14 +1933,14 @@ const TaxInvoice = ({
>
{OrderDetailIGST && OrderDetailIGST.length > 0
? Number(
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
<div
@ -1954,14 +1948,14 @@ const TaxInvoice = ({
>
{OrderDetailIGST && OrderDetailIGST.length > 0
? Number(
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
).toLocaleString('en-IN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
: '0.00'}
</div>
</div>
@ -2236,18 +2230,18 @@ const TaxInvoice = ({
{numberToWords(
Math.floor(
invoiceData.taxAmount ||
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.CGST || 0) + (item.SGST || 0),
0
) ||
Number(
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
) ||
OrderDetailGST?.reduce(
(sum, item) =>
sum + (item.CGST || 0) + (item.SGST || 0),
0
) ||
Number(
OrderDetailIGST?.reduce(
(sum, item) => sum + (item.TaxAmt || 0),
0
)
) ||
0
)
)}{' '}
Only
@ -2257,9 +2251,7 @@ const TaxInvoice = ({
</>
)}
{/* Bank Details and Signature */}
<div
style={{ display: 'flex', minHeight: '120px', width: '100%' }}
>
<div style={{ display: 'flex', minHeight: '100px', width: '100%' }}>
{/* Declaration */}
<div
style={{
@ -2292,7 +2284,6 @@ const TaxInvoice = ({
</div>
</div>
</div>
{/* Signature Section */}
<div
style={{
@ -2369,8 +2360,8 @@ const TaxInvoice = ({
style={{
borderTop: '1px solid #000',
borderLeft: '1px solid #000',
width: isMobile ? '100%' : '92%',
padding: '15px',
width: isMobile ? '100%' : '94%',
padding: '10px',
}}
>
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? (
@ -2398,7 +2389,7 @@ const TaxInvoice = ({
<div
style={{
width: '70px',
height: '30px',
height: '20px',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',