- {data?.documents?.length > 0 ? (
- data?.documents?.map((doc) => {
+ {data?.attachments?.length > 0 ? (
+ data?.attachments?.map((doc) => {
const isImage = doc?.contentType?.includes("image");
return (
diff --git a/src/components/common/TimeLine.jsx b/src/components/common/TimeLine.jsx
index 43d32873..96ea6628 100644
--- a/src/components/common/TimeLine.jsx
+++ b/src/components/common/TimeLine.jsx
@@ -54,7 +54,7 @@ const Timeline = ({ items = [], transparent = true }) => {
{item.users.map((user, i) => (
- -
+
-
{user.avatar ? (
{
height="32"
/>
) : (
-
@@ -75,7 +75,7 @@ const Timeline = ({ items = [], transparent = true }) => {
{item.users?.length === 1 && (
-
{`${item.users[0].firstName} ${item.users[0].lastName}`}
+
{`${item.users[0].firstName} ${item.users[0].lastName}`}
{item.users[0].role}
)}
diff --git a/src/hooks/useExpense.js b/src/hooks/useExpense.js
index af8fb1b0..43866090 100644
--- a/src/hooks/useExpense.js
+++ b/src/hooks/useExpense.js
@@ -5,6 +5,19 @@ import { queryClient } from "../layouts/AuthLayout";
import { useSelector } from "react-redux";
import moment from "moment";
+
+
+export const usePayee =()=>{
+ return useQuery({
+ queryKey:["payee"],
+ queryFn:async()=>{
+ const resp = await ExpenseRepository.GetPayee();
+ return resp.data;
+ }
+ })
+}
+
+
// -------------------Query------------------------------------------------------
const cleanFilter = (filter) => {
diff --git a/src/pages/PaymentRequest/PaymentRequestPage.jsx b/src/pages/PaymentRequest/PaymentRequestPage.jsx
index be53bd31..7bcf78f9 100644
--- a/src/pages/PaymentRequest/PaymentRequestPage.jsx
+++ b/src/pages/PaymentRequest/PaymentRequestPage.jsx
@@ -8,6 +8,7 @@ import PaymentRequestList from "../../components/PaymentRequest/PaymentRequestLi
import PaymentRequestFilterPanel from "../../components/PaymentRequest/PaymentRequestFilterPanel";
import { defaultPaymentRequestFilter,SearchPaymentRequestSchema } from "../../components/PaymentRequest/PaymentRequestSchema";
import ViewPaymentRequest from "../../components/PaymentRequest/ViewPaymentRequest";
+import PreviewDocument from "../../components/Expenses/PreviewDocument";
export const PaymentRequestContext = createContext();
export const usePaymentRequestContext = () => {
@@ -25,12 +26,16 @@ const PaymentRequestPage = () => {
const [ViewRequest,setVieRequest] = useState({view:false,requestId:null})
const { setOffcanvasContent, setShowTrigger } = useFab();
const [filters, setFilters] = useState(defaultPaymentRequestFilter);
-
+ const [ViewDocument, setDocumentView] = useState({
+ IsOpen: false,
+ Image: null,
+ });
const [search, setSearch] = useState("");
const contextValue = {
setManageRequest,
- setVieRequest
+ setVieRequest,
+ setDocumentView
};
useEffect(() => {
@@ -120,13 +125,24 @@ const PaymentRequestPage = () => {
{ViewRequest.view && (
setVieRequest({ requestId: null, view: false })}
>
)}
+
+ {ViewDocument.IsOpen && (
+ setDocumentView({ IsOpen: false, Image: null })}
+ >
+
+
+ )}
diff --git a/src/repositories/ExpsenseRepository.jsx b/src/repositories/ExpsenseRepository.jsx
index a57c89e6..f8920e4d 100644
--- a/src/repositories/ExpsenseRepository.jsx
+++ b/src/repositories/ExpsenseRepository.jsx
@@ -1,37 +1,50 @@
import { api } from "../utils/axiosClient";
-
const ExpenseRepository = {
+ GetPayee: () => api.get("/api/Expense/payment-request/payee"),
//#region Expense
GetExpenseList: (pageSize, pageNumber, filter, searchString) => {
const payloadJsonString = JSON.stringify(filter);
- return api.get(`/api/expense/list?pageSize=${pageSize}&pageNumber=${pageNumber}&filter=${payloadJsonString}&searchString=${searchString}`);
+ return api.get(
+ `/api/expense/list?pageSize=${pageSize}&pageNumber=${pageNumber}&filter=${payloadJsonString}&searchString=${searchString}`
+ );
},
GetExpenseDetails: (id) => api.get(`/api/Expense/details/${id}`),
CreateExpense: (data) => api.post("/api/Expense/create", data),
UpdateExpense: (id, data) => api.put(`/api/Expense/edit/${id}`, data),
DeleteExpense: (id) => api.delete(`/api/Expense/delete/${id}`),
- ActionOnExpense: (data) => api.post('/api/expense/action', data),
- GetExpenseFilter: () => api.get('/api/Expense/filter'),
+ ActionOnExpense: (data) => api.post("/api/expense/action", data),
+ GetExpenseFilter: () => api.get("/api/Expense/filter"),
//#endregion
//#region Payment Request
- GetPaymentRequestList: (pageSize, pageNumber, filter, isActive, searchString) => {
+ GetPaymentRequestList: (
+ pageSize,
+ pageNumber,
+ filter,
+ isActive,
+ searchString
+ ) => {
const payloadJsonString = JSON.stringify(filter);
- return api.get(`/api/Expense/get/payment-requests/list?isActive=${isActive}&pageSize=${pageSize}&pageNumber=${pageNumber}&filter=${payloadJsonString}&searchString=${searchString}`);
+ return api.get(
+ `/api/Expense/get/payment-requests/list?isActive=${isActive}&pageSize=${pageSize}&pageNumber=${pageNumber}&filter=${payloadJsonString}&searchString=${searchString}`
+ );
},
- CreatePaymentRequest: (data) => api.post("/api/expense/payment-request/create", data),
- UpdatePaymentRequest: (id, data) => api.put(`/api/Expense/payment-request/edit/${id}`, data),
- GetPaymentRequest: (id) => api.get(`/api/Expense/get/payment-request/details/${id}`),
- GetPaymentRequestFilter: () => api.get('/api/Expense/payment-request/filter'),
- ActionOnPaymentRequest: (data) => api.post('/api/Expense/payment-request/action', data),
+ CreatePaymentRequest: (data) =>
+ api.post("/api/expense/payment-request/create", data),
+ UpdatePaymentRequest: (id, data) =>
+ api.put(`/api/Expense/payment-request/edit/${id}`, data),
+ GetPaymentRequest: (id) =>
+ api.get(`/api/Expense/get/payment-request/details/${id}`),
+ GetPaymentRequestFilter: () => api.get("/api/Expense/payment-request/filter"),
+ ActionOnPaymentRequest: (data) =>
+ api.post("/api/Expense/payment-request/action", data),
//#endregion
-
//#region Advance Payment
- GetTranctionList: () => api.get(`/get/transactions/${employeeId}`)
+ GetTranctionList: () => api.get(`/get/transactions/${employeeId}`),
//#endregion
-}
+};
export default ExpenseRepository;