From 602dfa2ffb12cc2e6ac21dbcc875d173d1aeb446 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:23:39 +0530 Subject: [PATCH 01/13] Search issue fixing --- .../Reports/Revenue/RevenueItemWiseReport.jsx | 353 ++---------------- 1 file changed, 22 insertions(+), 331 deletions(-) diff --git a/src/Pages/Reports/Revenue/RevenueItemWiseReport.jsx b/src/Pages/Reports/Revenue/RevenueItemWiseReport.jsx index a45b993..52b5c42 100644 --- a/src/Pages/Reports/Revenue/RevenueItemWiseReport.jsx +++ b/src/Pages/Reports/Revenue/RevenueItemWiseReport.jsx @@ -35,23 +35,17 @@ const RevenueItemWiseReport = () => { const formattedToday = today.toISOString()?.split('T')[0]; const dispatch = useDispatch(); const formRef = useRef(); - // const [filteredInfo, setFilteredInfo] = useState({}); const [sortedInfo, setSortedInfo] = useState({}); - // const [sortedInfo2, setSortedInfo2] = useState({}); const [searchedText, setSearchedText] = useState(''); - // const [searchedText2, setSearchedText2] = useState(""); const [OrderFromDate, setOrderFromDate] = useState(formattedToday); const [OrderToDate, setOrderToDate] = useState(formattedToday); const [RevenueData, setRevenueData] = useState(); - // const [CateWiseData, setCateWiseData] = useState(); const [userDropDown, setuserDropDown] = useState([]); - // const [chartData, setchartdata] = useState([]); const [apiCall, setapiCall] = useState(false); const [chart, setchart] = useState(false); const [selectedUserData, setSelectedUserData] = useState(null); const [receiptTextItemWise, setreceiptTextItemWise] = useState(); - // const [receiptTextCatWise, setreceiptTextCatWise] = useState() const SettingDataSelector = useSelector(PreferenceData); const UomPrint = SettingDataSelector?.[0]?.SettingDtlDetails?.filter( @@ -174,32 +168,11 @@ const RevenueItemWiseReport = () => { fetchInitialData(); }, []); - // useEffect(() => { - // setchart(false) - // }, [apiCall]); useEffect(() => { if (UserRole != 'Employee') { userDropData(); } }, []); - // useEffect(() => { - // if (apiCall) { - // setSelectedUserData(0); - // fetchCatData(); - // } - // else { - - // setSelectedUserData(0); - // fetchInitialData(); - - // } - // }, [apiCall]); - // useEffect(() => { - // if (UserId==0){ - // onFinish(); - // } - // }, []); - function safeRound(amountStr) { if (amountStr == null) return allowDecimal ? '0.00' : '0'; @@ -211,28 +184,6 @@ const RevenueItemWiseReport = () => { return allowDecimal ? num.toFixed(2) : Math.round(num).toString(); } - // const fetchCatData = async () => { - // let data1 = { - // CompId: CompId, - // BranchId: BranchId, - // AppId: AppId, - // OrderFromDate: OrderFromDate?.split("T")?.[0], - // OrderToDate: OrderToDate?.split("T")?.[0], - // UserId: 0, - // type: 'PE' - - // }; - - // let response = await dispatch(getEstimateCatItemWiseReport(data1)).unwrap(); - // if (response?.data?.statusCode == 1) { - // setCateWiseData(response?.data?.data) - - // } - // else { - - // setCateWiseData(); - // } - // } const userDropData = async () => { const gettinguserDropDown = await dispatch( UserDataBasedOnBranchId(BranchId) @@ -268,27 +219,14 @@ const RevenueItemWiseReport = () => { setFilteredInfo(filters); setSortedInfo(sorter); }; - // const handleChange2 = (pagination, filters, sorter) => { - // setSortedInfo2(sorter); - // }; - - // const onComplete = useCallback(() => { - // setMessageData(null); - // setMessageType(null); - // }, []) const onSearch = (value) => { - setSearchedText(value); + setSearchedText(typeof value === "string" ? value : ""); }; + const onSearchChange = (e) => { - setSearchedText(e?.target?.value); + setSearchedText(e?.target?.value || ""); }; - // const onSearch2 = (value) => { - // setSearchedText2(value); - // }; - // const onSearchChange2 = (e) => { - // setSearchedText2(e?.target?.value); - // }; const Print = async () => { if (isMobile) { if (MobileA4Print) { @@ -426,45 +364,7 @@ const RevenueItemWiseReport = () => { }, }, ]; - // const columns2 = [ - // { - // title: "SI NO", - // dataIndex: "SINO", - // key: "SINO", - // align: "center", - // render: (text, object, index) => {index + 1}, - // }, - // { - // title: "Category", - // dataIndex: "ProdCatName", - // key: "Category", - // filteredValue: [searchedText2], - // onFilter: (value, record) => { - // return String(record.ProdCatName) - // ?.toLowerCase() - // ?.includes(value?.toLowerCase()); - // }, - // sorter: (a, b) => a?.ProdCatName?.localeCompare(b?.ProdCatName), - // sortOrder: sortedInfo2.columnKey === "ItemName" ? sortedInfo2.order : null, - // ellipsis: true, - // }, - // { - // title: "Qty", - // dataIndex: "SalesQty", - // key: "Qty", - // align: "right", - // }, - // { - // title: "Amount", - // dataIndex: "TotalAmt", - // key: "Amount", - // align: "right", - // render : (text)=> ( - // {safeRound(text)} - // ) - // } - // ]; const DateWisTableData = RevenueData?.map((item, index) => ({ SINO: index + 1, ItemName: @@ -511,40 +411,16 @@ const RevenueItemWiseReport = () => { UserId: UserId, type: 'E', }; - // let data1 = { - // CompId: CompId, - // BranchId: BranchId, - // AppId: AppId, - // OrderFromDate: OrderFromDate?.split("T")?.[0], - // OrderToDate: OrderToDate?.split("T")?.[0], - // UserId: UserId, - // type: 'E' - // }; if (!apiCall) { let Response = await dispatch(getRevenueItemWiseReport(data)).unwrap(); setRevenueData(Response?.data?.data); } - // else { - // let response = await dispatch(getEstimateCatItemWiseReport(data1)).unwrap(); - // if (response?.data?.statusCode === 1) { - // setCateWiseData(response?.data?.data) - // } else { - // // setMessageType("warning"); - // // setMessageData("No Data Found"); - // setCateWiseData(); - // } - // } + } catch (error) { console.error('An error occurred:', error); } }; - // let filterRate1 = CateWiseData?.map((item) => item.TotalAmt); - // const TotalAmount2 = filterRate1?.reduce( - // (accumulator, currentValue) => accumulator + currentValue, - // 0 - // ); - let filterPurchaseRate = RevenueData?.map((item) => item.ProductPurchaseRate); const PurchaseRate = filterPurchaseRate?.reduce( @@ -562,10 +438,6 @@ const RevenueItemWiseReport = () => { const TotalSalesAmt = salesRate - PurchaseRate; - // const onChange = (checked) => { - // setapiCall(checked); - // }; - const reprintDate = (date) => { const salesDate = new Date(date); const formattedDate = salesDate.toLocaleDateString('en-GB', { @@ -582,58 +454,6 @@ const RevenueItemWiseReport = () => { } }, [itemData]); - // useEffect(() => { - // if (CateWiseData?.length > 0) { - // mobileCatWisePrintFun(CateWiseData) - // } - - // }, [CateWiseData]) - - // const mobileCatWisePrintFun = async (printdata) => { - - // let Tabledata = printdata?.map((data, index) => { - - // const snoSpacing = Math.max(0, 3 - String(index + 1).length); - // // Calculate dynamic spacing for Rate - // const QtySpacing = Math.max(0, 5 - String(data?.SalesQty).length); - // const rateSpacing = Math.max(0, 7 - String(data?.TotalAmt).length); - - // // Calculate dynamic spacing for TotalAmt - - // // Generate formatted string with dynamic spacings - // const formattedString = - // " ".repeat(snoSpacing) + - // parseInt(index + 1) + - // " " + - // (data?.ProdCatName + " ".repeat(20)).substring(0, 20) + - - // " " + - // " ".repeat(QtySpacing) + String(data?.SalesQty) + - // " " + - // " ".repeat(rateSpacing) + String(data?.TotalAmt) + - // " " + "\n"; - - // return formattedString; - // }); - - // var receiptTextdata = - - // "[C]" + "Category Wise Sales" + "\n" + - // "[L]From Date :" + reprintDate(OrderFromDate) + - // "[L]" + " " + "To Date :" + reprintDate(OrderToDate) + - // "\n" + - // "[C]------------------------------------------------\n" + - - // "[L]" + "" + "S.No" + " " + " Category " + " " + "Quantity " + " " + "Amount " + "" + "" + - // "[L]\n" + - // "[C]------------------------------------------------\n" + - // Tabledata.join("") + - // "[C]------------------------------------------------\n" + - // "[R]" + "TotalAmount:" + parseFloat(TotalAmount).toFixed(2) + "\n" + - // "[L]------------------------------------------------\n" - - // setreceiptTextCatWise(receiptTextdata) - // } const mobileItemWisePrintFun = async (printdata) => { let Tabledata = printdata?.map((data, index) => { @@ -701,7 +521,7 @@ const RevenueItemWiseReport = () => { return allowDecimal ? parseFloat(value || 0).toFixed(2) : Math.round(value || 0); }; 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) => setting?.SettingIdName?.toLowerCase() === "decimal" && setting?.SettingValue === 'Y'); if (decimalSetting) { @@ -721,12 +541,6 @@ const RevenueItemWiseReport = () => { TotalSalesAmt={TotalSalesAmt} RevenueData={RevenueData} /> - {/* */}
@@ -735,57 +549,6 @@ const RevenueItemWiseReport = () => {

Gross Margin

- {/*
-
-

- From Date -

-
- - - -
- -
-
-

To Date

-
- - - - -
*/} @@ -863,59 +626,20 @@ const RevenueItemWiseReport = () => { />
- {/*
- - {!apiCall ? 0 - ? "ItemWiseReport-printerIcon" - : "ItemWiseReport-printerIcon-disabled" - } - /> : - 0 - ? "ItemWiseReport-printerIcon" - : "ItemWiseReport-printerIcon-disabled" - } - />} - -
*/} +
- {!apiCall ? ( - - ) : !chart ? ( - - ) : ( - '' - )} +
- {/* {apiCall &&
-

PieChart

   

TableData

-
} */}
- {/* */} - @@ -929,16 +653,17 @@ const RevenueItemWiseReport = () => { {itemData && - itemData - .filter( - (row) => - !searchedText || + (itemData || []) + .filter((row) => { + const search = (searchedText || "").toLowerCase(); + + return ( + !search || (row.ItemName && - row.ItemName?.toLowerCase()?.includes( - searchedText?.toLowerCase() - )) - ) - .sort((a, b) => { + row.ItemName.toLowerCase().includes(search)) + ); + }) + ?.sort((a, b) => { if (sortedInfo.columnKey === 'ItemName') { return sortedInfo.order === 'ascend' ? a.ItemName?.localeCompare(b.ItemName) @@ -946,7 +671,7 @@ const RevenueItemWiseReport = () => { } return 0; }) - .map((row, idx) => ( + ?.map((row, idx) => ( @@ -994,30 +719,10 @@ const RevenueItemWiseReport = () => {
{idx + 1} {row.ItemName}
- {/*
- {!apiCall ? : !chart ? ( - - ) : () - } -
*/}
- {/* {apiCall && chart ? null : ( -

Net Amount: {!apiCall ? TotalAmount : (!chart ? TotalAmount2 : "")}

- )} */} - {!apiCall ? (
@@ -1030,15 +735,6 @@ const RevenueItemWiseReport = () => { - {/* {RevenueData?.[0]?.OverallDisc > 0 && - - - } - - {RevenueData?.[0]?.TaxAmt > 0 && - - - } */}

From 62dadfba8a0d8ba8cf3104ada2cbd305d7e41871 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:31:50 +0530 Subject: [PATCH 07/13] Comment Header title --- .../EmployeeSettlement/EmployeeSettlement.jsx | 365 +++++++++--------- 1 file changed, 186 insertions(+), 179 deletions(-) diff --git a/src/Pages/Reports/EmployeeSettlement/EmployeeSettlement.jsx b/src/Pages/Reports/EmployeeSettlement/EmployeeSettlement.jsx index 6e21e02..c699748 100644 --- a/src/Pages/Reports/EmployeeSettlement/EmployeeSettlement.jsx +++ b/src/Pages/Reports/EmployeeSettlement/EmployeeSettlement.jsx @@ -22,7 +22,7 @@ import { getTipAmountSettlementList, postTipSettle, } from '../../../Features/TipAmountSettlementList/TipAmountSettlementList'; -import { getSession } from '../../../Services/Others'; +import { ExtractDateFormate, getSession } from '../../../Services/Others'; import { WaiterNames } from '../../../Features/Reports/Reports'; import { Messages } from '../../../Components/Notifications/Messages'; import { @@ -32,9 +32,11 @@ import { } from '../../../Features/EmployeeSettlement/EmployeeSettlement'; import FormHeader from '../../PageComponents/FormHeader'; import { changeBreadCrumb } from '../../../Features/AppPage/CenterPage'; +import "../../../Styles/OverAllStyle/OverAllStyle.scss" const { Option } = Select; const subDirectory = import.meta.env.BASE_URL; + const EmployeeSettlement = () => { const [form] = Form.useForm(); const dispatch = useDispatch(); @@ -51,51 +53,70 @@ const EmployeeSettlement = () => { const AppId = getSession('AppId'); const UserId = getSession('UserId'); const [TableData, setTableData] = useState([]); - const [employeeList, setEmployee] = useState([]); // Add this state for employee dropdown + const [employeeList, setEmployee] = useState([]); + const [statusValue, setStatusValue] = useState('toBe'); + const checkedTotal = checkedRows.reduce( (sum, row) => sum + (Number(row?.IncentiveDetails?.[0]?.IncentiveAmount) || 0), 0 ); - const Paymentstatus = form.getFieldValue('status'); - - console.log(checkedRowKeys, 'checkedRowKeys'); - // const employeeOptions = [ - // ...new Set(TableData.map(item => item.Employee)) - // ]; const [filteredData, setFilteredData] = useState(TableData); + const items = [ { name: 'Home', link: `${subDirectory}app-page/home`, }, - { - name: 'Incentive Settlement', - link: `${subDirectory}report/EmployeeSettlement`, - }, ]; + const modalColumns = [ { - title: 'Tip Date', - dataIndex: 'SalesDate', - key: 'SalesDate', - width: 100, - render: (date) => (date ? dayjs(date).format('DD/MM/YYYY') : ''), + title: 'Sales Start Date', + dataIndex: 'SalesStartDate', + key: 'SalesStartDate', + width: 130, + render: (date) => (date ? ExtractDateFormate(date) : ''), }, { - title: 'Tip Date', - dataIndex: 'TipsAmount', - key: 'TipsAmount', - width: 100, - render: (item) => {item}, + title: 'Sales End Date', + dataIndex: 'SalesEndDate', + key: 'SalesEndDate', + width: 130, + render: (date) => (date ? ExtractDateFormate(date) : ''), + }, + { + title: 'Total Sales Amount', + dataIndex: 'TotalSalesAmount', + key: 'TotalSalesAmount', + width: 150, + align: 'right', + render: (item) => {item ?? 0}, + }, + { + title: 'Incentive Amount', + dataIndex: 'IncentiveAmount', + key: 'IncentiveAmount', + width: 130, + align: 'right', + render: (item) => {item ?? 0}, + }, + { + title: 'Status', + dataIndex: 'SettledStatus', + key: 'SettledStatus', + width: 100, + align: 'center', + render: (item) => ( + + {item === 'Y' ? 'Settled' : 'Pending'} + + ), }, - - // Add more columns as needed based on your TipsDetails structure ]; const handleEyeClick = (record) => { - // Assuming TipsDetails is an array inside WaiterDetails[0] setModalData(record); setModalOpen(true); }; @@ -111,13 +132,12 @@ const EmployeeSettlement = () => { {index + 1} ), }, - { title: 'Employee', dataIndex: 'EmployeeName', key: 'EmployeeName', render: (item, record) => ( - {item ? item : record?.MobileNo} + {item ? item : record?.MobileNo} ), }, { @@ -127,7 +147,7 @@ const EmployeeSettlement = () => { key: 'TotalSalesAmount', render: (_, record) => { const statusMap = { toBe: 'N', already: 'Y' }; - const value = statusMap[form.getFieldValue('status')]; + const value = statusMap[statusValue]; const group = record?.StatusGroups?.find( (e) => e?.SettledStatus === value ); @@ -135,73 +155,116 @@ const EmployeeSettlement = () => { }, }, { - title: 'IncentiveAmount', + title: 'Incentive Amount', align: 'right', dataIndex: 'IncentiveAmount', key: 'IncentiveAmount', render: (_, record) => { const statusMap = { toBe: 'N', already: 'Y' }; - const value = statusMap[form.getFieldValue('status')]; + const value = statusMap[statusValue]; const group = record?.StatusGroups?.find( (e) => e?.SettledStatus === value ); return {group?.IncentiveAmount ?? 0}; }, }, - ...(Paymentstatus !== 'already' + { + title: 'Details', + dataIndex: 'TipsDetails', + key: 'TipsDetails', + width: 80, + align: 'center', + render: (_, record) => { + const statusMap = { toBe: 'N', already: 'Y' }; + const value = statusMap[statusValue]; + const group = record?.StatusGroups?.find( + (e) => e?.SettledStatus === value + ); + return ( + handleEyeClick(group?.items ?? [])} + > + + + + + ); + }, + }, + ...(statusValue !== 'already' ? [ - { - title: 'Settle', - key: 'settle', - width: 80, - align: 'center', - render: (_, record) => { - const waiterId = record?.EmployeeId; - const isDisabled = record?.IncentiveAmount === 12; + { + title: 'Settle', + key: 'settle', + width: 80, + align: 'center', + render: (_, record) => { + const waiterId = record?.EmployeeId; + const statusMap = { toBe: 'N', already: 'Y' }; + const value = statusMap[statusValue]; + const group = record?.StatusGroups?.find( + (g) => g?.SettledStatus === value + ); + const isDisabled = !group || group?.IncentiveAmount === 0; - return ( - { - if (e.target.checked) { - setCheckedRowKeys((prev) => - prev.includes(waiterId) ? prev : [...prev, waiterId] - ); - setCheckedRows((prev) => - prev.find((row) => row?.EmployeeId === waiterId) - ? prev - : [...prev, record] - ); - } else { - setCheckedRowKeys((prev) => - prev.filter((key) => key !== waiterId) - ); - setCheckedRows((prev) => - prev.filter((row) => row?.EmployeeId !== waiterId) - ); - } - }} - /> - ); - }, + return ( + { + if (e.target.checked) { + setCheckedRowKeys((prev) => + prev.includes(waiterId) ? prev : [...prev, waiterId] + ); + setCheckedRows((prev) => + prev.find((row) => row?.EmployeeId === waiterId) + ? prev + : [...prev, record] + ); + } else { + setCheckedRowKeys((prev) => + prev.filter((key) => key !== waiterId) + ); + setCheckedRows((prev) => + prev.filter((row) => row?.EmployeeId !== waiterId) + ); + } + }} + /> + ); }, - ] + }, + ] : [{}]), ]; // Handle select all checkboxes const handleSelectAll = (e) => { if (e.target.checked) { - const allWaiterIds = groupByEmployeeAndStatus(TableData) + const allEmployees = groupByEmployeeAndStatus(TableData) .map((emp) => ({ ...emp, StatusGroups: emp.StatusGroups.filter((g) => g.SettledStatus === 'N'), })) - .filter((emp) => emp.StatusGroups.length > 0) - ?.map((row) => row?.EmployeeId); - setCheckedRowKeys(allWaiterIds); - setCheckedRows(TableData.slice()); + .filter((emp) => emp.StatusGroups.length > 0); + + const allIds = allEmployees.map((row) => row?.EmployeeId); + setCheckedRowKeys(allIds); + setCheckedRows(allEmployees); } else { setCheckedRowKeys([]); setCheckedRows([]); @@ -209,7 +272,6 @@ const EmployeeSettlement = () => { }; useEffect(() => { - // Set today's date for fromDate and toDate in the form const today = dayjs(); form.setFieldsValue({ fromDate: today, @@ -230,8 +292,8 @@ const EmployeeSettlement = () => { if (response?.data?.statusCode === 1) { setTableData(response?.data?.data?.EmployeeDetails); } - // handle response as needed }; + const fetchData = async () => { let data = { activeStatus: 'A', @@ -250,6 +312,9 @@ const EmployeeSettlement = () => { setSelectedRowKeys([]); setFilteredData(TableData); setTableData([]); + setCheckedRows([]); + setCheckedRowKeys([]); + setStatusValue('toBe'); }; const onFinish = async (values) => { @@ -266,21 +331,21 @@ const EmployeeSettlement = () => { let response; Employee !== 'all' ? (response = await dispatch( - getEmployeeSettlementListindIvidually(data) - ).unwrap()) + getEmployeeSettlementListindIvidually(data) + ).unwrap()) : (response = await dispatch(getEmployeeSettlementList(data)).unwrap()); + if (response?.data?.statusCode === 1) { setTableData(response?.data?.data?.EmployeeDetails); const StatusValue = form.getFieldValue('status') === 'toBe' ? 'N' : 'Y'; - const employees = response?.data?.data?.EmployeeDetails ?? []; - const data = employees.some((e) => + const hasData = employees.some((e) => e?.IncentiveDetails?.some( (a) => a?.SettledStatus === StatusValue && a?.IncentiveAmount > 0 ) ); - if (data) { + if (hasData) { setMessageType('success'); setMessageData(response?.data?.response); } @@ -294,7 +359,7 @@ const EmployeeSettlement = () => { const handleCheckedSubmit = async () => { const today = dayjs(); const statusMap = { toBe: 'N', already: 'Y' }; - const value = statusMap[form.getFieldValue('status')]; // "N" or "Y" + const value = statusMap[statusValue]; const postData = { CompId, @@ -305,7 +370,6 @@ const EmployeeSettlement = () => { const group = item?.StatusGroups?.find( (g) => g?.SettledStatus === value ); - return { SettlementAmount: group?.IncentiveAmount ?? 0, EmployeeId: item?.EmployeeId, @@ -315,27 +379,23 @@ const EmployeeSettlement = () => { }), }; - console.log(postData); - let response = await dispatch(postEmployeeSettle(postData))?.unwrap(); if (response?.data?.statusCode === 1) { setMessageType('success'); setMessageData(response?.data?.response); handleReset(); - setCheckedRows([]); } else { setMessageType('error'); setMessageData(response?.data?.response); handleReset(); } }; + function formatToYYYYMMDD(dateString) { const date = new Date(dateString); - const year = date.getFullYear(); - const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-based + const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); - return `${year}/${month}/${day}`; } @@ -344,24 +404,11 @@ const EmployeeSettlement = () => { setMessageType(null); }, []); - // const getFilteredTableData = useCallback(() => { - // const statusMap = { toBe: "N", already: "Y" }; - // const value = statusMap[form.getFieldValue('status')]; - - // return value - // ? TableData.flatMap(item => - // item?.IncentiveDetails?.filter(detail => detail?.SettledStatus === value) || [] - // ) - // : TableData.flatMap(item => item?.IncentiveDetails || []); - // }, [form, TableData]); + // ✅ FIXED: No longer skips records with IncentiveAmount === 0 function groupByEmployeeAndStatus(tableData) { return tableData .map((emp) => { const grouped = emp.IncentiveDetails.reduce((acc, curr) => { - if ((curr.IncentiveAmount || 0) === 0) { - return acc; // skip this detail entirely - } - const status = curr.SettledStatus; if (!acc[status]) { acc[status] = { @@ -380,20 +427,33 @@ const EmployeeSettlement = () => { return { EmployeeId: emp?.EmployeeId, EmployeeName: emp.EmployeeName, + MobileNo: emp.MobileNo, StatusGroups: Object.values(grouped), }; }) - .filter((emp) => emp.StatusGroups.length > 0); // remove employees with no valid items + .filter((emp) => emp.StatusGroups.length > 0); } - let dataaaa = groupByEmployeeAndStatus(TableData); - console.log(dataaaa, 'dataaaa'); + const getTableDataSource = () => { + const grouped = groupByEmployeeAndStatus(TableData); + const statusFilter = statusValue === 'toBe' ? 'N' : 'Y'; + return grouped + ?.map((emp) => ({ + ...emp, + StatusGroups: emp.StatusGroups.filter( + (g) => g.SettledStatus === statusFilter + ), + })) + ?.filter((emp) => emp.StatusGroups.length > 0); + }; + useEffect(() => { setCheckedRowKeys([]); setCheckedRows([]); - }, [form.getFieldValue('status'), TableData]); + }, [statusValue, TableData]); - const handleStatusChange = () => { + const handleStatusChange = (e) => { + setStatusValue(e.target.value); setCheckedRowKeys([]); setCheckedRows([]); setFilteredData([]); @@ -408,9 +468,6 @@ const EmployeeSettlement = () => { overflow: 'scroll', }} > -
- -
{ Employee: 'all', status: 'toBe', }} + style={{ + padding: '10px', + border: '1px solid #d7d7d7', + borderRadius: '10px', + }} > - +
{ ))} @@ -452,35 +510,6 @@ const EmployeeSettlement = () => { - {/* - - current && current > dayjs().endOf('day')} - /> - - - - - current && current > dayjs().endOf('day')} - /> - - */} - { - {/* Data Table */} - {Paymentstatus !== 'already' && ( + {/* Select All checkbox */} + {statusValue !== 'already' && (
0 && - checkedRowKeys?.length < TableData?.length + checkedRowKeys?.length < getTableDataSource()?.length } checked={ - TableData?.length > 0 && - checkedRowKeys?.length === TableData?.length + getTableDataSource()?.length > 0 && + checkedRowKeys?.length === getTableDataSource()?.length } onChange={handleSelectAll} > @@ -530,28 +559,13 @@ const EmployeeSettlement = () => {
)} + + {/* Data Table */}
Sales Rate {safeRound(salesRate)}
Discount Amount{RevenueData?.[0]?.OverallDisc}
Total Tax{RevenueData?.[0]?.TaxAmt}
@@ -1093,11 +789,6 @@ const RevenueItemWiseReport = () => { ) )} - {/*
- {apiCall && chart ? null : ( -

Net Amount: {!apiCall ? TotalAmount : (!chart ? TotalAmount2 : "")}

- )} -
*/} From f99e938cbc9bf3fee5f8273acb6d8ae8050369d7 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:24:31 +0530 Subject: [PATCH 02/13] Added Settlement path --- src/Pages/AppPage/AppPage.jsx | 80 ++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/src/Pages/AppPage/AppPage.jsx b/src/Pages/AppPage/AppPage.jsx index 80dd710..9ad182a 100644 --- a/src/Pages/AppPage/AppPage.jsx +++ b/src/Pages/AppPage/AppPage.jsx @@ -864,10 +864,11 @@ const AppPage = () => { 'Payment Updates', `${subDirectory}setting/payment-received-retail` ), - getsubItem('Settlement', `${subDirectory}setting/Settlement`, null, [ - getsubItem('Tips', `${subDirectory}report/tipamountsettlementlist`), - getsubItem('Incentive', `${subDirectory}report/EmployeeSettlement`), - ]), + // getsubItem('Settlement', `${subDirectory}setting/Settlement`, null, [ + // getsubItem('Tips', `${subDirectory}report/tipamountsettlementlist`), + // getsubItem('Incentive', `${subDirectory}report/EmployeeSettlement`), + // ]), + getsubItem('Settlement', `${subDirectory}report/Settlement`), !iswarehouse && getsubItem('Others', `${subDirectory}cancelReschedule`, null, [ @@ -1112,10 +1113,11 @@ const AppPage = () => { ]; const Settlement = [ !sportsAppPreference && - getsubItem('Settlement', `${subDirectory}setting/Settlement`, null, [ - getsubItem('Tips', `${subDirectory}report/tipamountsettlementlist`), - getsubItem('Incentive', `${subDirectory}report/EmployeeSettlement`), - ]), + // getsubItem('Settlement', `${subDirectory}setting/Settlement`, null, [ + // getsubItem('Tips', `${subDirectory}report/tipamountsettlementlist`), + // getsubItem('Incentive', `${subDirectory}report/EmployeeSettlement`), + // ]), + getsubItem('Settlement', `${subDirectory}report/Settlement`), ]; const Others = [ !iswarehouse && @@ -1817,21 +1819,22 @@ const AppPage = () => { `${subDirectory}setting/payment-received-retail` ), - getsubItem( - 'Settlement', - `${subDirectory}setting/Settlement`, - null, - [ - getsubItem( - 'Tips', - `${subDirectory}report/tipamountsettlementlist` - ), - getsubItem( - 'Incentive', - `${subDirectory}report/EmployeeSettlement` - ), - ] - ), + // getsubItem( + // 'Settlement', + // `${subDirectory}setting/Settlement`, + // null, + // [ + // getsubItem( + // 'Tips', + // `${subDirectory}report/tipamountsettlementlist` + // ), + // getsubItem( + // 'Incentive', + // `${subDirectory}report/EmployeeSettlement` + // ), + // ] + // ), + getsubItem('Settlement', `${subDirectory}report/Settlement`), !iswarehouse && getsubItem('Others', `${subDirectory}cancelReschedule`, null, [ getsubItem( @@ -2401,21 +2404,22 @@ const AppPage = () => { ), !sportsAppPreference && - getsubItem( - 'Settlement', - `${subDirectory}setting/Settlement`, - null, - [ - getsubItem( - 'Tips', - `${subDirectory}report/tipamountsettlementlist` - ), - getsubItem( - 'Incentive', - `${subDirectory}report/EmployeeSettlement` - ), - ] - ), + // getsubItem( + // 'Settlement', + // `${subDirectory}setting/Settlement`, + // null, + // [ + // getsubItem( + // 'Tips', + // `${subDirectory}report/tipamountsettlementlist` + // ), + // getsubItem( + // 'Incentive', + // `${subDirectory}report/EmployeeSettlement` + // ), + // ] + // ), + getsubItem('Settlement', `${subDirectory}report/Settlement`), !iswarehouse && getsubItem('Others', `${subDirectory}cancelReschedule`, null, [ getsubItem( From 8af8641649fd6358d7716e38d125403e7136dd0d Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:25:35 +0530 Subject: [PATCH 03/13] Added Settlement Component --- src/routesConfig.jsx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/routesConfig.jsx b/src/routesConfig.jsx index e20568d..718e320 100644 --- a/src/routesConfig.jsx +++ b/src/routesConfig.jsx @@ -552,6 +552,9 @@ const TipAmountSettlementList = lazy( const EmployeeSettlement = lazy( () => import('./Pages/Reports/EmployeeSettlement/EmployeeSettlement.jsx') ); +const Settlement = lazy( + () => import ('./Pages/Reports/TipAmountSettlement/Settlement.jsx') +); const PublicQrCode = lazy(() => import('./Pages/Reports/PublicQrCode.jsx')); const TableMapping = lazy( @@ -684,7 +687,7 @@ const initSession = () => { sessionStorage.setItem( 'auth', - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODA3MjMyOTE1MyIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzczNDI3NTExLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.Elg8MMqbF4nMYwcWgzrxVaLfYhxdx3drixoV83RbuAM' + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODA3MjMyOTE1MyIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzc0Mzc5NTY2LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.uTdcz-FHE4GTux7FTtT2pQt9gEe-17_mIrwJWbHdHE8' ); }; @@ -865,16 +868,22 @@ export const routesConfig = [ component: MenuQRCode, empAccess: 'MenuQRCode', }, + // { + // path: 'tipamountsettlementlist', + // component: TipAmountSettlementList, + // empAccess: 'Tips', + // }, + // { + // path: 'EmployeeSettlement', + // component: EmployeeSettlement, + // empAccess: 'Incentive', + // }, { - path: 'tipamountsettlementlist', - component: TipAmountSettlementList, - empAccess: 'Tips', - }, - { - path: 'EmployeeSettlement', - component: EmployeeSettlement, - empAccess: 'Incentive', + path: 'Settlement', + component: Settlement, + empAccess: 'Settlement', }, + { path: 'datewisereport', component: DateWiseReport, From 3f5ee41b2b55f78f7e1454f5623be2f2fcedbc96 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:26:03 +0530 Subject: [PATCH 04/13] Added Settlement component --- .../TipAmountSettlement/Settlement.jsx | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/Pages/Reports/TipAmountSettlement/Settlement.jsx diff --git a/src/Pages/Reports/TipAmountSettlement/Settlement.jsx b/src/Pages/Reports/TipAmountSettlement/Settlement.jsx new file mode 100644 index 0000000..b9ed493 --- /dev/null +++ b/src/Pages/Reports/TipAmountSettlement/Settlement.jsx @@ -0,0 +1,61 @@ +import { useState } from "react"; +import { Messages } from "../../../Components/Notifications/Messages"; +import TipAmountSettlementList from "./TipAmountSettlementList"; +import EmployeeSettlement from "../EmployeeSettlement/EmployeeSettlement"; +import "./Settlement.scss"; + +const Settlement = () => { + const [selectedComponent, setSelectedComponent] = useState("tips"); + + const messageType = ""; + const messageData = []; + const onComplete = () => {}; + + return ( +
+
+ + + {/* ✅ Tabs */} +
+
+ +
setSelectedComponent("tips")} + > + Tip Settlement +
+ +
setSelectedComponent("insentive")} + > + Incentive Settlement +
+ +
+
+ + {/* ✅ Content */} +
+ {selectedComponent === "tips" ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +export default Settlement; \ No newline at end of file From 2c32980e7d79df3981dcccc49d10f23dfbd67c4d Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:27:51 +0530 Subject: [PATCH 05/13] Added Style for Settlememnt --- .../TipAmountSettlement/Settlement.scss | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/Pages/Reports/TipAmountSettlement/Settlement.scss diff --git a/src/Pages/Reports/TipAmountSettlement/Settlement.scss b/src/Pages/Reports/TipAmountSettlement/Settlement.scss new file mode 100644 index 0000000..4c45c67 --- /dev/null +++ b/src/Pages/Reports/TipAmountSettlement/Settlement.scss @@ -0,0 +1,35 @@ +/* Container for tabs */ +.settlementTabs { + display: inline-flex; + gap: 16px; + font-family: "Poppins"; + margin-bottom: 12px; + border-bottom: 1px solid #d1d5db; + +} + +/* Default tab style */ +.tabItem { + font-size: 22px; + font-weight: 600; + cursor: pointer; + color: #6b7280; + display: flex; + align-items: center; + gap: 6px; + position: relative; + border: none; + background: transparent; + font-family: "Gilroy"; + transition: color 0.2s ease; +} + +.tabItem.active { + color: #0f172a; + border-bottom: 2px solid #1296db !important; +} + +.tabContent { + margin-top: 20px; +} + \ No newline at end of file From cdd9329f241a1ce7d2dee5b63f8caa09d0ac47bc Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:31:29 +0530 Subject: [PATCH 06/13] Comment Header title --- .../TipAmountSettlement/TipAmountSettlementList.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Pages/Reports/TipAmountSettlement/TipAmountSettlementList.jsx b/src/Pages/Reports/TipAmountSettlement/TipAmountSettlementList.jsx index 813f415..936455e 100644 --- a/src/Pages/Reports/TipAmountSettlement/TipAmountSettlementList.jsx +++ b/src/Pages/Reports/TipAmountSettlement/TipAmountSettlementList.jsx @@ -444,9 +444,9 @@ const TipAmountSettlementList = () => {
-
- -
+ {/*
+ +
*/} {
({ - ...emp, - StatusGroups: emp.StatusGroups.filter( - (g) => g.SettledStatus === 'N' - ), - })) - .filter((emp) => emp.StatusGroups.length > 0) - : groupByEmployeeAndStatus(TableData) - .map((emp) => ({ - ...emp, - StatusGroups: emp.StatusGroups.filter( - (g) => g.SettledStatus === 'Y' - ), - })) - .filter((emp) => emp.StatusGroups.length > 0) - } + dataSource={getTableDataSource()} + rowKey={(record) => record?.EmployeeId} loading={loading} scroll={{ x: 'max-content' }} size="middle" @@ -559,20 +573,12 @@ const EmployeeSettlement = () => { /> - {/* Button to submit checked rows */} - + {/* Pay Button */}
- {/* {checkedRowKeys.length !== 0 && ( - - )} */}
+ {/* Detail Modal */} setModalOpen(false)} footer={null} - title="Tip Details" - width={600} + title="Incentive Details" + width={700} >
{ ); }; -export default EmployeeSettlement; +export default EmployeeSettlement; \ No newline at end of file From fdea6537071ac08f28cd28c5440618e89ae7cde2 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:32:31 +0530 Subject: [PATCH 08/13] Date Formate change --- .../Components/OtherConponents/Reprint/BSReprint.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx b/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx index 344c815..1b8e2b8 100644 --- a/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx +++ b/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx @@ -95,6 +95,7 @@ import { Radio } from 'antd'; import ReprintPDFDataShare from './ReprintPDFDataShare.jsx'; import { ImShare } from 'react-icons/im'; import EmailModel from '../../UtillComponents/EmailModel.jsx'; +import dayjs from "dayjs"; const RetailApiurl = import.meta.env.ENV_API_URL; @@ -1439,6 +1440,9 @@ function BSReprint({ setOpenModel = () => { } }) { const typeChange = (e) => { setType(e.target.value); }; + const disabledDate = (current) => { + return current && current > dayjs().endOf("day"); + }; return ( <> @@ -1492,8 +1496,9 @@ function BSReprint({ setOpenModel = () => { } }) {
From 9378cb69168e15d2316199b4053142a83cc28550 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:33:37 +0530 Subject: [PATCH 09/13] Added Refund Amt --- src/Pages/BookingScreen/Template/SalesCountComponent.jsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Pages/BookingScreen/Template/SalesCountComponent.jsx b/src/Pages/BookingScreen/Template/SalesCountComponent.jsx index 94dd5c9..48984a6 100644 --- a/src/Pages/BookingScreen/Template/SalesCountComponent.jsx +++ b/src/Pages/BookingScreen/Template/SalesCountComponent.jsx @@ -65,7 +65,8 @@ const SalesCountComponent = React.memo( // Destructure to simplify access to required values console.log( BookingNavbar, - 'BookingNavbarBookingNavbar' + 'BookingNavbarBookingNavbar', + GlobalsalesDetailData ); const { @@ -81,6 +82,7 @@ const SalesCountComponent = React.memo( SelfTakeAwayAmount, SelfDineInAmount, PreOrderAmount, + RefundAmt } = GlobalsalesDetailData.length > 0 ? GlobalsalesDetailData[0] : {}; const dispatch = useDispatch(); @@ -91,7 +93,7 @@ const SalesCountComponent = React.memo( const templateData = useSelector(getTemplateData); const preferencedata = useSelector(PreferenceData); - console.log(preferencedata, 'preferencedatasalescount'); + console.log(dailySalesData, 'preferencedatasalescount'); const bookingTypePreference = appPreferences?.find( (preference) => preference?.PreferredCatName === 'Booking Type' )?.PreferenceCatDetails; @@ -686,6 +688,7 @@ const SalesCountComponent = React.memo( isNetAmtModalOpen={isNetAmtModalOpen} setIsNetAmtModalOpen={setIsNetAmtModalOpen} orderDetails={orderDetails} + RefundAmt={RefundAmt} /> {TableData?.length > 0 && AutoReceiveStock && ( From 25f9a5c7df69968ba9b1ce7fe22369ffde309558 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:33:55 +0530 Subject: [PATCH 10/13] Added Refund Amt --- .../SalesDetailsNetAmountModal.jsx | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/Pages/BookingScreen/Components/UtillComponents/SalesDetailsNetAmountModal.jsx b/src/Pages/BookingScreen/Components/UtillComponents/SalesDetailsNetAmountModal.jsx index 5f98235..44b02da 100644 --- a/src/Pages/BookingScreen/Components/UtillComponents/SalesDetailsNetAmountModal.jsx +++ b/src/Pages/BookingScreen/Components/UtillComponents/SalesDetailsNetAmountModal.jsx @@ -187,7 +187,8 @@ const SalesDetailsModal = ({ isModalOpen = false, const SalesNetAmountModal = ({ isNetAmtModalOpen = false, setIsNetAmtModalOpen = () => { }, - orderDetails = [] + orderDetails = [], + RefundAmt }) => { return ( Business UPI +
); From 3fa82504a35b6a71a8a4fbe899d6df8878fa881f Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:34:56 +0530 Subject: [PATCH 11/13] Certificate Document Image issue Fixing --- src/Pages/EmpMaster/EmpMasterForm.jsx | 33 +++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/Pages/EmpMaster/EmpMasterForm.jsx b/src/Pages/EmpMaster/EmpMasterForm.jsx index 7005c09..05ffc5a 100644 --- a/src/Pages/EmpMaster/EmpMasterForm.jsx +++ b/src/Pages/EmpMaster/EmpMasterForm.jsx @@ -55,7 +55,7 @@ const EmployeeForm = ({ formType }) => { const [brId, setBrId] = useState(getSession('BranchId')); const [AppId, setAppId] = useState(getSession('AppId')); const [AdminUserId, setAdminUserId] = useState(getSession('UserId')); - const [ImageUrl, setImageUrl] = useState(null); + const [ProfileImageUrl, setProfileImageUrl] = useState(null); const [EmpTypeDropDownData, setEmpTypeDropDownData] = useState([]); const [seletedEmpTypeDrop, setseletedEmpTypeDrop] = useState(null); const [EmpDesgDropDownData, setEmpDesgDropDownData] = useState([]); @@ -132,8 +132,8 @@ const EmployeeForm = ({ formType }) => { postData['EmpDOJ'] = moment(SelectedDate).format('YYYY-MM-DD'); postData['BranchId'] = brId; postData['MobileAppAccess'] = SelectedMobApp ? SelectedMobApp : 'N'; - postData['EmpPhotoLink'] = ImageUrl - ? ImageUrl + postData['EmpPhotoLink'] = ProfileImageUrl + ? ProfileImageUrl : 'https://api.pozo.app/pozo-common-image-api/upload?fileId=655c9e25fe20def9916edf1f.png'; // postData["Description"]=form?.getFieldValue("coachQualifications"), // postData["Certification"]=form?.getFieldValue("coachQualifications"), @@ -143,8 +143,8 @@ const EmployeeForm = ({ formType }) => { // "Experience": form?.getFieldValue("coachExperience"), postData['ImageDetails'] = (imageUrls || []) - .filter((item) => item && (item.image || item.name)) - .map((item, index) => ({ + ?.filter((item) => item && (item.image || item.name)) + ?.map((item, index) => ({ ImageUrl: item.image || '', ImageType: item.name || '', // ImageType: "Coach", @@ -202,9 +202,17 @@ const EmployeeForm = ({ formType }) => { setseletedEmpDeptDrop(editstate?.EmpDept); setseletedShiftDrop(editstate?.EmpShiftId); setSelectedDate(editstate?.EmpDOJ); - setImageUrl(editstate?.EmpPhotoLink); + setProfileImageUrl(editstate?.EmpPhotoLink); setSelectedLatitude(editstate?.Latitude); setSelectedLongitude(editstate?.Longitude); + if (editstate?.ImageDetails?.length > 0) { + setImageUrls( + editstate.ImageDetails.map((img) => ({ + image: img.ImageUrl || '', + name: img.ImageType || '', + })) + ); + } formRef.current?.setFieldsValue({ EmpDOJ: moment(editstate?.EmpDOJ), }); @@ -245,8 +253,6 @@ const EmployeeForm = ({ formType }) => { }; return copy; }); - - setImageUrl(url); }; const updateImageName = (name, index = 0) => { @@ -672,7 +678,7 @@ const EmployeeForm = ({ formType }) => { // seletedEmpTypeDrop const updateImageUrl = (url) => { - setImageUrl(url); + setProfileImageUrl(url); }; const selectValue = async (e) => { @@ -1242,7 +1248,7 @@ const EmployeeForm = ({ formType }) => { formType === 'edit' ? editstate?.EmpPhotoLink : formRef.current?.getFieldsValue() - ?.UserImage || ImageUrl; + ?.UserImage || ProfileImageUrl; // Always return a string return typeof link === 'string' ? link : ''; })()} @@ -1624,11 +1630,10 @@ const EmployeeForm = ({ formType }) => { } /> -
- {Array.from({ - length: Math.max(1, imageUrls.length), - }).map((_, idx) => ( + {Array?.from({ + length: Math.max(1, (imageUrls ?? []).length), + })?.map((_, idx) => (
Date: Wed, 25 Mar 2026 09:37:48 +0530 Subject: [PATCH 12/13] Added UOM Nmae --- src/Pages/Automated Reorder/AutomatedReorder.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Pages/Automated Reorder/AutomatedReorder.jsx b/src/Pages/Automated Reorder/AutomatedReorder.jsx index fe59735..ceaebed 100644 --- a/src/Pages/Automated Reorder/AutomatedReorder.jsx +++ b/src/Pages/Automated Reorder/AutomatedReorder.jsx @@ -396,11 +396,12 @@ const AutomatedReorder = ({ formType = 'add' }) => { message: 'Please select a product', }, ]} - > + > + Product} options={products?.map((item) => ({ - label: item?.ProdName, + label: `${item?.ProdName} (${item?.UOMName})`, value: item?.ProdId, variantDtls: item?.ProdVariantPriceDetails, CheapestStatus: item?.CheapestStatus, From c82fb49174ab2c04700153dab88dab8dd92b1883 Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 25 Mar 2026 09:38:12 +0530 Subject: [PATCH 13/13] Added UOM Nmae --- src/Pages/Automated Reorder/AutomatedReorderList.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Pages/Automated Reorder/AutomatedReorderList.jsx b/src/Pages/Automated Reorder/AutomatedReorderList.jsx index d574ead..91d43bc 100644 --- a/src/Pages/Automated Reorder/AutomatedReorderList.jsx +++ b/src/Pages/Automated Reorder/AutomatedReorderList.jsx @@ -79,6 +79,9 @@ const AutomatedReorderList = () => { title: 'Product Name', dataIndex: 'ProdName', key: 'ProdName', + render: (_, record) => ( + `${record.ProdName} (${record.UOMName})` + ) }, { title: 'Supplier',
+ Refund Amt + {item.BusinessUpiAmount} + + {RefundAmt} + - {total} + {total-RefundAmt}