From b52f4f8521b3aadafcce73435fb08172505ce11f Mon Sep 17 00:00:00 2001 From: Srinath Date: Thu, 26 Mar 2026 14:43:10 +0530 Subject: [PATCH] Added Policy Details --- .../SalesBillProductsReturn.jsx | 76 ++++++++++++++++--- 1 file changed, 65 insertions(+), 11 deletions(-) diff --git a/src/Pages/CancelReschedule/SalesBillProductsReturn.jsx b/src/Pages/CancelReschedule/SalesBillProductsReturn.jsx index 7d450b4..2f897d5 100644 --- a/src/Pages/CancelReschedule/SalesBillProductsReturn.jsx +++ b/src/Pages/CancelReschedule/SalesBillProductsReturn.jsx @@ -17,6 +17,7 @@ import { DatePicProd } from "../../Components/Forms/DatePickerProduct"; import { useNavigate } from "react-router-dom"; import { FaEye, FaPlus } from "react-icons/fa"; import { DefaultModal } from "../../Components/Modal/DefaultModal"; +import { IoEye } from "react-icons/io5"; const { RangePicker } = DatePicker; const SEARCH_OPTIONS = [ @@ -70,6 +71,8 @@ const SalesBillProductsReturn = () => { const [currentEditingItem, setCurrentEditingItem] = useState(null); const [modalDescription, setModalDescription] = useState(''); const [modalImageUrl, setModalImageUrl] = useState(''); + const [policyDeatilModal, setPolicyDeatilModal] = useState(false); + const [selectedPolicyDetails, setSelectedPolicyDetails] = useState(null); console.log(selectedItems, "selectedItemsselectedItemsselectedItems") @@ -77,7 +80,7 @@ const SalesBillProductsReturn = () => { navigateTo(`${subDirectory}setting/sales-bill-product-return/list`); }; const handleCheckboxChange = (item, checked) => { - const { ProdId, InwardDtlId, Type, SalesQty, Rate, TotalAmt, TaxAmt, SinglePc, ProdNameQty,IsWarrantyEligible } = item; + const { ProdId, InwardDtlId, Type, SalesQty, Rate, TotalAmt, TaxAmt, SinglePc, ProdNameQty, IsWarrantyEligible } = item; if (checked) { const data = { ProdId, @@ -108,7 +111,15 @@ const SalesBillProductsReturn = () => { const description = product?.Description || "" return { ReturnEligible: eligible, Description: description }; }; - + const handleOrdermodalCancel = () => { + setPolicyDeatilModal(false); + setSelectedPolicyDetails(null); + }; + const Viewdetails = (item) => { + const policy = policybasedprodcuts?.find(p => p.ProdId === item.ProdId) || null; + setSelectedPolicyDetails(policy); + setPolicyDeatilModal(true); + }; useEffect(() => { const fetchPaymentOptions = async () => { try { @@ -192,12 +203,11 @@ const SalesBillProductsReturn = () => { try { const res = await dispatch(getReturnBill(data)).unwrap(); - if (res?.data?.statusCode === 1) { const modifiedData = res?.data?.data?.map(item => { return { ...item, - productDetails: item?.productDetails.map(product => { + productDetails: item?.productDetails?.map(product => { return { ...product, ExchangeQty: 0, @@ -577,8 +587,9 @@ const SalesBillProductsReturn = () => { - + + @@ -597,17 +608,23 @@ const SalesBillProductsReturn = () => { disabled={!ReturnEligible} onChange={(e) => handleCheckboxChange(item, e.target.checked)} /> - {!ReturnEligible && ( + {/* {( - {/* */} - - {/* */} + Viewdetails(item)} + /> - )} + )} */} + @@ -638,7 +655,7 @@ const SalesBillProductsReturn = () => { - {selectedItems.map((item, index) => { + {selectedItems?.map((item, index) => { return ( @@ -816,6 +833,43 @@ const SalesBillProductsReturn = () => { handleCancel={handleCancel} handleSubmit={handleModalSubmit} /> + + + {selectedPolicyDetails?.ProdName ? ( +
Select Sl.NoPolicy Details Product Name Sales-Qty Rate {index + 1} + Viewdetails(item)} + /> {item.ProdNameQty} {item.SalesQty} ₹{item.Rate}
{index + 1}
+ + {[ + ['Product Name', selectedPolicyDetails.ProdName], + ['Policy Name', selectedPolicyDetails.PolicyName], + ['Description', selectedPolicyDetails.Description], + ['Return Allowed', selectedPolicyDetails.IsReturnAllowed === 'Y' ? 'Yes' : 'No'], + ['Exchange Allowed', selectedPolicyDetails.IsExchangeAllowed === 'Y' ? 'Yes' : 'No'], + ['Return Window (Days)', selectedPolicyDetails.ReturnWindowDays], + ['Exchange Window (Days)', selectedPolicyDetails.ExchangeWindowDays], + ['Exchange Limit Count', selectedPolicyDetails.ExchangeLimitCount ?? 'N/A'], + ['Return Eligible', selectedPolicyDetails.ReturnEligible ? 'Yes' : 'No'], + // ['Effective From', selectedPolicyDetails.EffectiveFrom ? dayjs(selectedPolicyDetails.EffectiveFrom).format('DD-MM-YYYY') : 'N/A'], + // ['Effective To', selectedPolicyDetails.EffectiveTo ? dayjs(selectedPolicyDetails.EffectiveTo).format('DD-MM-YYYY') : 'N/A'], + ].map(([label, value]) => ( + + + + + ))} + +
{label}{value}
+ ) : ( +

No policy found for this product.

+ )} + + } + />