Merge branch 'main' of http://192.168.1.62:3000/Pozomind/pozo-retail-app into March-3-deployment
This commit is contained in:
commit
47a75e8843
|
|
@ -3180,13 +3180,13 @@ const BSBillingEditQuantity = (props) => {
|
|||
...(
|
||||
!offerApply && itemDiscountPrice > 0
|
||||
? {
|
||||
DiscountAmt: safeRound(itemDiscountPrice),
|
||||
DiscountAmt: safeRound(itemDiscountPrice*fixedQty ),
|
||||
DiscountType: itemDiscountPercentageSelection === 'Fixed' ? 'F' : 'P',
|
||||
DiscountValue:
|
||||
itemDiscountPercentageSelection === 'Fixed'
|
||||
? itemDiscountPrice
|
||||
? itemDiscountPrice*fixedQty
|
||||
: (
|
||||
(itemDiscountPrice /
|
||||
(itemDiscountPrice*fixedQty /
|
||||
(newPrice > 0 ? newPrice : editedProduct?.OrderRate)) * 100
|
||||
)
|
||||
}
|
||||
|
|
@ -3301,7 +3301,7 @@ const BSBillingEditQuantity = (props) => {
|
|||
const { OfferType = null, OfferPrice = 0 } = product;
|
||||
|
||||
let totalAmount = qty * rate;
|
||||
totalAmount = totalAmount - (itemDiscountPrice || 0);
|
||||
totalAmount = totalAmount - (itemDiscountPrice*qty|| 0);
|
||||
const taxAmount = (
|
||||
(totalAmount * taxPercentage) /
|
||||
(100 + taxPercentage)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import {
|
|||
GlobalSelectedFooterFontColor,
|
||||
GlobalSelectedNetAmountColor,
|
||||
GlobalSelectedNetAmountFontColor,
|
||||
GloabalFieldDetails,
|
||||
} from '../../../../Features/ThemeChange/ThemeChange';
|
||||
import { isMobile } from 'react-device-detect';
|
||||
import { extractLastNumberOrderId } from '../../../../Services/Others';
|
||||
|
|
@ -70,6 +71,10 @@ const TaxInvoice = ({
|
|||
const tableBodyColor = printColors?.find(obj => obj.tableBodyColor)?.tableBodyColor;
|
||||
const footerColor = printColors?.find(obj => obj.footerColor)?.footerColor;
|
||||
const netAmtColor = printColors?.find(obj => obj.netAmtColor)?.netAmtColor;
|
||||
const FieldDetails = useSelector(GloabalFieldDetails);
|
||||
console.log(FieldDetails,"FieldDetails")
|
||||
const Discount = FieldDetails?.['Discount'];
|
||||
console.log(Discount, "Discount")
|
||||
// Function to convert number to words
|
||||
const numberToWords = (num) => {
|
||||
const a = [
|
||||
|
|
@ -802,7 +807,8 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 8% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// '5% 40% 12% 11% 16% 8% 16%',
|
||||
fontSize: '10px',
|
||||
// borderRight: '1px solid #000',
|
||||
borderBottom: '1px solid #000',
|
||||
|
|
@ -855,6 +861,15 @@ const TaxInvoice = ({
|
|||
>
|
||||
Rate
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{
|
||||
padding: '8px 4px',
|
||||
borderRight: '1px solid #000',
|
||||
textAlign: 'center',
|
||||
}}
|
||||
>
|
||||
Disc
|
||||
</div>}
|
||||
{/* <div style={{ padding: '8px 4px', borderRight: '1px solid #000', textAlign: 'center' }}>per</div> */}
|
||||
<div style={{ padding: '8px 4px', textAlign: 'center' }}>
|
||||
Amount
|
||||
|
|
@ -869,7 +884,7 @@ const TaxInvoice = ({
|
|||
key={index}
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
...(index % 2 === 0 && rowtypeStyle === "even"
|
||||
? tableBodyStyle
|
||||
|
|
@ -976,6 +991,21 @@ const TaxInvoice = ({
|
|||
maximumFractionDigits: 2,
|
||||
})}
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{
|
||||
padding: '4px 4px',
|
||||
borderRight: '1px solid #000',
|
||||
textAlign: 'right',
|
||||
}}
|
||||
>
|
||||
{Number(
|
||||
|
||||
(item.DiscountAmt / item.SalesQty) || 0
|
||||
).toLocaleString('en-IN', {
|
||||
minimumFractionDigits: 2,
|
||||
maximumFractionDigits: 2,
|
||||
})}
|
||||
</div>}
|
||||
{/* <div style={{ padding: '8px 4px', borderRight: '1px solid #000', textAlign: 'center' }}>{item.UomName || 'NOS'}</div> */}
|
||||
<div
|
||||
style={{
|
||||
|
|
@ -1003,7 +1033,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16% ' : '5% 40% 12% 11% 16% 16% ',
|
||||
// borderRight: '1px solid #000',
|
||||
fontSize: '15px',
|
||||
minHeight: '22px',
|
||||
|
|
@ -1017,6 +1047,7 @@ const TaxInvoice = ({
|
|||
borderRight: '1px solid #000',
|
||||
}}
|
||||
></div>
|
||||
{Discount && <div style={{ borderRight: '1px solid #000' }}></div>}
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
|
|
@ -1048,7 +1079,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
fontSize: '11px',
|
||||
fontWeight: '700',
|
||||
|
|
@ -1067,6 +1098,9 @@ const TaxInvoice = ({
|
|||
>
|
||||
CGST
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>}
|
||||
<div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>
|
||||
|
|
@ -1100,7 +1134,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
fontSize: '11px',
|
||||
fontWeight: '700',
|
||||
|
|
@ -1119,6 +1153,9 @@ const TaxInvoice = ({
|
|||
>
|
||||
SGST
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>}
|
||||
<div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>
|
||||
|
|
@ -1155,7 +1192,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
fontSize: '11px',
|
||||
fontWeight: '700',
|
||||
|
|
@ -1174,6 +1211,9 @@ const TaxInvoice = ({
|
|||
>
|
||||
IGST
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>}
|
||||
<div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>
|
||||
|
|
@ -1211,7 +1251,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
// borderBottom: '1px solid #000',
|
||||
fontSize: '11px',
|
||||
|
|
@ -1229,6 +1269,10 @@ const TaxInvoice = ({
|
|||
>
|
||||
ROUNDING OFF
|
||||
</div>
|
||||
|
||||
{Discount && <div
|
||||
style={{ borderRight: '1px solid #000' }}
|
||||
></div>}
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
|
|
@ -1248,7 +1292,7 @@ const TaxInvoice = ({
|
|||
key={`empty-${idx}`}
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
|
||||
minHeight: '32px', // Adjust height as needed for your design
|
||||
|
|
@ -1272,6 +1316,15 @@ const TaxInvoice = ({
|
|||
>
|
||||
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{
|
||||
padding: '4px 4px',
|
||||
borderRight: '1px solid #000',
|
||||
textAlign: 'center',
|
||||
}}
|
||||
>
|
||||
|
||||
</div>}
|
||||
<div
|
||||
style={{
|
||||
padding: '4px 4px',
|
||||
|
|
@ -1311,7 +1364,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 11% 16% 16%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderRight: '1px solid #000',
|
||||
borderBottom: '1px solid #000',
|
||||
borderTop: '1px solid #000',
|
||||
|
|
@ -1347,6 +1400,7 @@ const TaxInvoice = ({
|
|||
0}{' '}
|
||||
NOS
|
||||
</div>
|
||||
{Discount && <div style={{ borderRight: '1px solid #000' }}></div>}
|
||||
<div style={{ borderRight: '1px solid #000' }}></div>
|
||||
{/* <div style={{ borderRight: '1px solid #000'}}></div> */}
|
||||
<div
|
||||
|
|
@ -1376,7 +1430,7 @@ const TaxInvoice = ({
|
|||
<div
|
||||
style={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '5% 40% 12% 10% 12% 8% 13%',
|
||||
gridTemplateColumns: Discount ? '5% 40% 12% 11% 8% 8% 16%' : '5% 40% 12% 11% 16% 16%',
|
||||
// borderBottom: '1px solid #000',
|
||||
borderLeft: '1px solid #000',
|
||||
borderRight: '1px solid #000',
|
||||
|
|
@ -1403,6 +1457,15 @@ const TaxInvoice = ({
|
|||
>
|
||||
No items to display
|
||||
</div>
|
||||
{Discount && <div
|
||||
style={{
|
||||
padding: '8px 4px',
|
||||
borderRight: '1px solid #000',
|
||||
textAlign: 'center',
|
||||
}}
|
||||
>
|
||||
-
|
||||
</div>}
|
||||
<div
|
||||
style={{
|
||||
padding: '8px 4px',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { useState, useEffect, useRef } from 'react';
|
||||
import { useState, useEffect, useRef, useCallback } from 'react';
|
||||
import { useDispatch } from 'react-redux';
|
||||
import { InputField } from '../../Components/Forms/InputField.jsx';
|
||||
import Buttons from '../../Components/Forms/Buttons.jsx';
|
||||
|
|
@ -37,6 +37,7 @@ import { MdLocationOn, MdHome } from 'react-icons/md';
|
|||
import { useSelector } from 'react-redux';
|
||||
import { ApplicationPreferences } from '../../Features/BrachLogin/BranchLogin.js';
|
||||
import { IoMdAddCircleOutline } from 'react-icons/io';
|
||||
import { isIndianMobile } from '../../utils/calculations.js';
|
||||
|
||||
const subDirectory = import.meta.env.BASE_URL;
|
||||
|
||||
|
|
@ -354,9 +355,15 @@ const CustomerForm = ({ formType }) => {
|
|||
|
||||
//post data
|
||||
const onFinish = async (values) => {
|
||||
try {
|
||||
let postData = values;
|
||||
console.log(postData, 'postData');
|
||||
|
||||
const validMobile = isIndianMobile(postData?.CustMobile);
|
||||
if (!validMobile) {
|
||||
setMessageType('warning');
|
||||
setMessageData('Please enter a valid Indian mobile number.');
|
||||
return;
|
||||
}
|
||||
// Handle address data - use only the addresses from addressesList
|
||||
const addedAddresses = addressesList || [];
|
||||
|
||||
|
|
@ -435,6 +442,10 @@ const CustomerForm = ({ formType }) => {
|
|||
setMessageType('error');
|
||||
setMessageData(response?.data?.response);
|
||||
}
|
||||
} catch (error) {
|
||||
// Validation error will stop submit
|
||||
console.log("Validation Failed:", error);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -841,12 +852,17 @@ const CustomerForm = ({ formType }) => {
|
|||
);
|
||||
};
|
||||
|
||||
const onComplete = useCallback(() => {
|
||||
setMessageType(null);
|
||||
setMessageData(null);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="CustomerForm-Master">
|
||||
<div className="pageOverAll">
|
||||
<div className="userPage userPageCustMaster">
|
||||
<div className="userPageContent">
|
||||
<Messages messageType={messageType} messageData={messageData} />
|
||||
<Messages messageType={messageType} messageData={messageData} onComplete={onComplete} />
|
||||
<div className="formName">
|
||||
<FormHeader title={'Customer'} />
|
||||
</div>
|
||||
|
|
@ -865,10 +881,12 @@ const CustomerForm = ({ formType }) => {
|
|||
rules={[
|
||||
{
|
||||
required: true,
|
||||
pattern: /^\d{10}$/,
|
||||
message: 'Please Enter a Valid Mobile Number',
|
||||
message: "Please Enter Mobile Number",
|
||||
},
|
||||
{
|
||||
pattern: /^[6-9]\d{9}$/,
|
||||
message: "Please enter a valid mobile number",
|
||||
},
|
||||
|
||||
{ validator: validatePhoneNumber },
|
||||
]}
|
||||
>
|
||||
|
|
|
|||
|
|
@ -1733,6 +1733,10 @@ const PaymentPdfBooking = ({
|
|||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
<h6 style={{ textAlign: 'center', marginTop: '5px' }}>
|
||||
Your Order No:{' '}
|
||||
{table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
|
|
|||
Loading…
Reference in New Issue