diff --git a/src/Pages/IO_Management/CreateIO/IOCashDetails/Approved.jsx b/src/Pages/IO_Management/CreateIO/IOCashDetails/Approved.jsx
index b0f2014..34f727a 100644
--- a/src/Pages/IO_Management/CreateIO/IOCashDetails/Approved.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOCashDetails/Approved.jsx
@@ -112,7 +112,10 @@ const Approved = () => {
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
Comments: (
@@ -224,9 +227,13 @@ const Approved = () => {
overflowWrap="normal"
>
- $
-
- {IODetails?.ioCash}
+ $
+
+ {/* {IODetails?.ioCash} */}
+ {parseFloat(IODetails?.ioCash || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
{
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
Comments: (
@@ -289,7 +292,13 @@ const Pending = () => {
wordBreak="normal"
overflowWrap="normal"
>
- {"48,000.00"}
+
+ $
+
+ {parseFloat(IODetails?.ioCash || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
|
{
isLoading={isLoading}
viewActionId={actionId}
setViewActionId={setActionId}
- total={}
+ // total={}
setMouseEnteredId={setMouseEnteredId}
setMouseEntered={setMouseEntered}
/>
diff --git a/src/Pages/IO_Management/CreateIO/IOCashDetails/Rejected.jsx b/src/Pages/IO_Management/CreateIO/IOCashDetails/Rejected.jsx
index 7f18cc6..243e624 100644
--- a/src/Pages/IO_Management/CreateIO/IOCashDetails/Rejected.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOCashDetails/Rejected.jsx
@@ -117,9 +117,12 @@ import AddCaseDetails from "./AddCaseDetails";
fontWeight={"500"}
>
- $
-
- {item?.transactionAmount}
+ $
+
+ {parseFloat(IODetails?.ioCash || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Comments": (
@@ -328,7 +331,7 @@ import AddCaseDetails from "./AddCaseDetails";
isLoading={isLoading}
viewActionId={actionId}
setViewActionId={setActionId}
- total={}
+ // total={}
setMouseEnteredId={setMouseEnteredId}
setMouseEntered={setMouseEntered}
/>
diff --git a/src/Pages/IO_Management/CreateIO/IONAVDetails/Approved.jsx b/src/Pages/IO_Management/CreateIO/IONAVDetails/Approved.jsx
index 354da90..f6ed889 100644
--- a/src/Pages/IO_Management/CreateIO/IONAVDetails/Approved.jsx
+++ b/src/Pages/IO_Management/CreateIO/IONAVDetails/Approved.jsx
@@ -1,136 +1,128 @@
import {
- Avatar,
- Badge,
- Box,
- Button,
- HStack,
- Input,
- Table,
- Tag,
- Tbody,
- Text,
- Th,
- Tooltip,
- Tr,
- useDisclosure,
- useToast,
- } from "@chakra-ui/react";
- import React, { useContext, useEffect, useRef, useState } from "react";
- import { AddIcon, DeleteIcon, EditIcon, ViewIcon } from "@chakra-ui/icons";
- import { LuFileSpreadsheet } from "react-icons/lu";
- import { OPACITY_ON_LOAD } from "../../../../Layout/animations";
- import NormalTable from "../../../../Components/DataTable/NormalTable";
- import GlobalStateContext from "../../../../Contexts/GlobalStateContext";
- import CustomAlertDialog from "../../../../Components/CustomAlertDialog";
- import * as XLSX from "xlsx";
- import ToastBox from "../../../../Components/ToastBox";
- import AddCashDetails from "../AddCashDetails";
- import { debounce } from "../../../Admin/Contact";
+ Avatar,
+ Badge,
+ Box,
+ Button,
+ HStack,
+ Input,
+ Table,
+ Tag,
+ Tbody,
+ Text,
+ Th,
+ Tooltip,
+ Tr,
+ useDisclosure,
+ useToast,
+} from "@chakra-ui/react";
+import React, { useContext, useEffect, useRef, useState } from "react";
+import { AddIcon, DeleteIcon, EditIcon, ViewIcon } from "@chakra-ui/icons";
+import { LuFileSpreadsheet } from "react-icons/lu";
+import { OPACITY_ON_LOAD } from "../../../../Layout/animations";
+import NormalTable from "../../../../Components/DataTable/NormalTable";
+import GlobalStateContext from "../../../../Contexts/GlobalStateContext";
+import CustomAlertDialog from "../../../../Components/CustomAlertDialog";
+import * as XLSX from "xlsx";
+import ToastBox from "../../../../Components/ToastBox";
+import AddCashDetails from "../AddCashDetails";
+import { debounce } from "../../../Admin/Contact";
import { useParams } from "react-router-dom";
import { useUpdateIOCaseMutation } from "../../../../Services/io.service";
import AddApproved from "./AddNavDetails";
import AddNavDetails from "./AddNavDetails";
-
- const formatDate = (date) => new Date(date).toLocaleDateString();
-
- const Approved = () => {
- const params = useParams()
- const toast = useToast();
- const id = params?.id
- const firstField = useRef();
- const { isOpen, onOpen, onClose } = useDisclosure();
- const { IODetails, iONAVDetail, setIONAVDetail } =
- useContext(GlobalStateContext);
- const [searchTerm, setSearchTerm] = useState("");
- const [isLoading, setIsLoading] = useState(true);
- const [deleteAlert, setDeleteAlert] = useState(false);
- const [actionId, setActionId] = useState(false);
- const [mouseEntered, setMouseEntered] = useState(false);
- const [mouseEnteredId, setMouseEnteredId] = useState("");
- const [updateIOCase] = useUpdateIOCaseMutation()
-
- useEffect(() => {
- // Simulate loading
- const timer = setTimeout(() => {
- setIsLoading(false);
- }, 1500);
-
- // Cleanup the timer on component unmount
- return () => clearTimeout(timer);
- }, []);
-
- const formatDate = (date) => {
- return new Date(date).toLocaleDateString("en-GB", {
- day: "2-digit",
- month: "2-digit",
- year: "numeric",
- });
- };
-
-
- // Table filter
- const filteredData = IODetails?.ioNAVStatusHistory?.Approved?.filter((item) => {
+
+const formatDate = (date) => new Date(date).toLocaleDateString();
+
+const Approved = () => {
+ const params = useParams();
+ const toast = useToast();
+ const id = params?.id;
+ const firstField = useRef();
+ const { isOpen, onOpen, onClose } = useDisclosure();
+ const { IODetails, iONAVDetail, setIONAVDetail } =
+ useContext(GlobalStateContext);
+ const [searchTerm, setSearchTerm] = useState("");
+ const [isLoading, setIsLoading] = useState(true);
+ const [deleteAlert, setDeleteAlert] = useState(false);
+ const [actionId, setActionId] = useState(false);
+ const [mouseEntered, setMouseEntered] = useState(false);
+ const [mouseEnteredId, setMouseEnteredId] = useState("");
+ const [updateIOCase] = useUpdateIOCaseMutation();
+
+ useEffect(() => {
+ // Simulate loading
+ const timer = setTimeout(() => {
+ setIsLoading(false);
+ }, 1500);
+
+ // Cleanup the timer on component unmount
+ return () => clearTimeout(timer);
+ }, []);
+
+ const formatDate = (date) => {
+ return new Date(date).toLocaleDateString("en-GB", {
+ day: "2-digit",
+ month: "2-digit",
+ year: "numeric",
+ });
+ };
+
+ // Table filter
+ const filteredData = IODetails?.ioNAVStatusHistory?.Approved?.filter(
+ (item) => {
// Filter by name (case insensitive)
const name = item.transactionAmount;
const searchLower = searchTerm?.toLowerCase();
const nameMatches = name?.toLowerCase().includes(searchLower);
return nameMatches;
- });
-
- const tableHeadRow = [
- "Sr No.",
- "Valuation date",
- "NAV",
- "Last Nav Update",
- "Investment Closed",
- "Comments",
- "Updated By",
- ];
-
- const extractedArray = filteredData?.map((item, index) => ({
- id: item?.id,
- "Sr No.": (
-
- {index + 1}.
-
- ),
- "Valuation date": (
-
- {formatDate(item?.transactionDate)}
-
- ),
- "NAV": (
-
-
- $
-
- {item?.transactionAmount}
-
- ),
- "Last Nav Update": (
-
- {item.previousNAVvalue && `${item.previousNAVvalue}`}
-
- ),
- "Investment Closed": (
+ }
+ );
+
+ const tableHeadRow = [
+ "Sr No.",
+ "Valuation date",
+ "NAV",
+ "Last Nav Update",
+ "Investment Closed",
+ "Comments",
+ "Updated By",
+ ];
+
+ const extractedArray = filteredData?.map((item, index) => ({
+ id: item?.id,
+ "Sr No.": (
+
+ {index + 1}.
+
+ ),
+ "Valuation date": (
+
+ {formatDate(item?.transactionDate)}
+
+ ),
+ NAV: (
+
+
+ $
+
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
+
+ ),
+ "Last Nav Update": (
+
+ {item.previousNAVvalue && `${item.previousNAVvalue}`}
+
+ ),
+ "Investment Closed": (
),
- "Comments": (
-
- {item?.comments ? item?.comments : "---" }
-
- ),
- "Updated By": (
-
+ {item?.comments ? item?.comments : "---"}
+
+ ),
+ "Updated By": (
+
-
+
- {item?.creator?.firstName}
-
- ),
- }));
+ {item?.creator?.firstName}
+
+ ),
+ }));
-
- const handleAdd = async () =>{
- try {
- const res = await updateIOCase(id)
- if (res?.data) {
- toast({
- render: () => (
-
- ),
- });
- setIsLoading(false);
- onOpen()
-
- } else if (res?.error) {
- toast({
- render: () => (
-
- ),
- });
- setIsLoading(false);
- }
- } catch (error) {
-
- }
- }
-
- const handleDelete = () => {
- const updatedSponsors = sponser.filter(
- (sponsor) => sponsor.id !== actionId
- );
-
- setTimeout(() => {
- setCaseDetails(updatedSponsors);
- setDeleteAlert(false);
+ const handleAdd = async () => {
+ try {
+ const res = await updateIOCase(id);
+ if (res?.data) {
+ toast({
+ render: () => (
+
+ ),
+ });
setIsLoading(false);
- }, 100);
- setIsLoading(true);
- };
+ onOpen();
+ } else if (res?.error) {
+ toast({
+ render: () => (
+
+ ),
+ });
+ setIsLoading(false);
+ }
+ } catch (error) {}
+ };
- const exportToExcelNew = (data, fileName) => {
- const worksheet = XLSX.utils.json_to_sheet(data);
- const workbook = XLSX.utils.book_new();
- XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
-
- // Export file
- XLSX.writeFile(workbook, `${fileName}.xlsx`);
- };
+ const handleDelete = () => {
+ const updatedSponsors = sponser.filter(
+ (sponsor) => sponsor.id !== actionId
+ );
- const ioNavExport = IODetails?.ioNAVStatusHistory?.Approved?.map((item, index) => ({
- "ID": item?.id, // Keep as integer if it's already a number
+ setTimeout(() => {
+ setCaseDetails(updatedSponsors);
+ setDeleteAlert(false);
+ setIsLoading(false);
+ }, 100);
+ setIsLoading(true);
+ };
+
+ const exportToExcelNew = (data, fileName) => {
+ const worksheet = XLSX.utils.json_to_sheet(data);
+ const workbook = XLSX.utils.book_new();
+ XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
+
+ // Export file
+ XLSX.writeFile(workbook, `${fileName}.xlsx`);
+ };
+
+ const ioNavExport = IODetails?.ioNAVStatusHistory?.Approved?.map(
+ (item, index) => ({
+ ID: item?.id, // Keep as integer if it's already a number
"Valuation date": formatDate(item?.transactionDate), // Assuming this is a date, no conversion needed
- "NAV": parseFloat(item?.transactionAmount) || 0, // Convert to float
+ NAV: parseFloat(item?.transactionAmount) || 0, // Convert to float
"Last Nav Update": parseFloat(item?.previousNAVvalue) || 0, // Convert to float
"Investment Closed": parseFloat(item?.initialNAVvalue) || 0, // Convert to float
- "Comments": item?.comments, // Keep as string
+ Comments: item?.comments, // Keep as string
// "Transaction Type": item?.transactionType,
"Updated By": item?.creator?.firstName, // Keep as string
// "Update On": formatDate(item?.updatedAt) // Assuming this is a date, no conversion needed
- }));
-
- return (
-
-
-
+
+
-
- ) : null}
+ {IODetails?.isInvestedAmount
+ ? localStorage?.getItem("role") === "Maker" && (
+ }
+ colorScheme="forestGreen"
+ size={"sm"}
+ rounded={"sm"}
+ fontSize={"xs"}
+ >
+ Add
+
+ )
+ : null}
-
-
-
-
-
- setDeleteAlert(false)}
- isOpen={deleteAlert}
- message={"Are you sure you want to delete sponers?"}
- alertHandler={handleDelete}
- isLoading={isLoading}
- />
+
+
+
+
+
+ setDeleteAlert(false)}
+ isOpen={deleteAlert}
+ message={"Are you sure you want to delete sponers?"}
+ alertHandler={handleDelete}
+ isLoading={isLoading}
+ />
-
- );
- };
-
- export default Approved;
-
\ No newline at end of file
+
+ );
+};
+
+export default Approved;
diff --git a/src/Pages/IO_Management/CreateIO/IONAVDetails/Pending.jsx b/src/Pages/IO_Management/CreateIO/IONAVDetails/Pending.jsx
index 39a0218..d68239e 100644
--- a/src/Pages/IO_Management/CreateIO/IONAVDetails/Pending.jsx
+++ b/src/Pages/IO_Management/CreateIO/IONAVDetails/Pending.jsx
@@ -110,7 +110,10 @@ const Pending = () => {
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Last Nav Update": (
diff --git a/src/Pages/IO_Management/CreateIO/IONAVDetails/Rejected.jsx b/src/Pages/IO_Management/CreateIO/IONAVDetails/Rejected.jsx
index 8b69230..3f0aa17 100644
--- a/src/Pages/IO_Management/CreateIO/IONAVDetails/Rejected.jsx
+++ b/src/Pages/IO_Management/CreateIO/IONAVDetails/Rejected.jsx
@@ -114,7 +114,10 @@ import AddNavDetails from "./AddNavDetails";
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Last Nav Update": (
diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/Approved.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/Approved.jsx
index 86b65d6..b027b7d 100644
--- a/src/Pages/IO_Management/CreateIO/IOTransaction/Approved.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOTransaction/Approved.jsx
@@ -71,6 +71,7 @@ import {
const tableHeadRow = [
"Sr No.",
+ "Transaction Date",
"Transaction Name",
"Amount",
"Created By",
@@ -90,6 +91,15 @@ import {
{index + 1}.
),
+ "Transaction Date": (
+
+ {formatDate(item?.transactionDate)}
+
+ ),
"Transaction Name": (
$
- {item?.transactionAmount}
+ {/* {item?.transactionAmount} */}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Created By": (
@@ -118,7 +132,7 @@ import {
color={"gray.800"}
fontWeight={"500"}
>
- {item?.createdBy}
+ {item?.creator?.firstName}
),
"Created On": (
diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/Pending.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/Pending.jsx
index cd9a771..18138fc 100644
--- a/src/Pages/IO_Management/CreateIO/IOTransaction/Pending.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOTransaction/Pending.jsx
@@ -108,6 +108,7 @@ const Pending = () => {
const tableHeadRow = [
"Sr No.",
+ "Transaction Date",
"Transaction Name",
"Amount",
"Created By",
@@ -125,6 +126,15 @@ const Pending = () => {
{index + 1}.
),
+ "Transaction Date": (
+
+ {formatDate(item?.transactionDate)}
+
+ ),
"Transaction Name": (
{item?.transactionType}
@@ -135,12 +145,15 @@ const Pending = () => {
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Created By": (
- {item?.createdBy}
+ {item?.creator?.firstName}
),
"Created On": (
diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/Rejected.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/Rejected.jsx
index ef5420d..388ce77 100644
--- a/src/Pages/IO_Management/CreateIO/IOTransaction/Rejected.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOTransaction/Rejected.jsx
@@ -108,7 +108,10 @@ import {
$
- {item?.transactionAmount}
+ {parseFloat(item?.transactionAmount || 0).toLocaleString(undefined, {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}
),
"Created By": (
@@ -118,7 +121,7 @@ import {
color={"gray.800"}
fontWeight={"500"}
>
- {item?.createdBy}
+ {item?.creator?.firstName}
),
"Created On": (
diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewAmountInvested.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewAmountInvested.jsx
index 3983f72..9d43fd8 100644
--- a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewAmountInvested.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewAmountInvested.jsx
@@ -230,7 +230,7 @@ const ViewAmountInvested = ({ isOpen, onClose, id: investorId }) => {
/>
-
+ {localStorage?.getItem("role") !== "Maker" &&
{
Reject
-
+ }
diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewCancel.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewCancel.jsx
index 5dc7406..c5a2864 100644
--- a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewCancel.jsx
+++ b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewCancel.jsx
@@ -309,8 +309,8 @@ import RequestRejectModal from "./RequestRejectModal";
data={extractedArray}
/>
-
-
+ {localStorage?.getItem("role") !== "Maker" &&
+
Reject
-
-
+
+ }
{
resolver: yupResolver(investorExit),
});
- // useEffect(() => {
- // console.log("hiit useEffectc");
- // handleCalculate(id, {
- // amount: IODetails?.ioMVNAV,
- // });
- // reset({
- // amount: IODetails?.ioMVNAV,
- // });
- // }, [IODetails, id]);
+ useEffect(() => {
+ console.log("hiit useEffectc");
+ handleCalculate(id, {
+ amount: IODetails?.ioMVNAV,
+ });
+ reset({
+ amount: IODetails?.ioMVNAV,
+ });
+ }, [IODetails, id]);
const handleCalculate = async (id, data) => {
try {
@@ -212,7 +212,8 @@ const ViewDistributionInvestor = ({ isOpen, onClose,id:exitId }) => {
data={extractedArray}
/>
-
+ {/* ...(localStorage?.getItem("role") !== "Maker" ? ["Status"] : []), */}
+ {localStorage?.getItem("role") !== "Maker" &&
{
Reject
-
+ }
{/* ) } */}
-
-
+ {localStorage?.getItem("role") !== "Maker" &&
+
Reject
-
-
+
+ }
{
alignItems={"start"}
height={"95px"}
>
-
+ }
{/* Modals */}
|