-
-
{`${masterType, " ", modalType}`}
+
+
+
{`${(masterType, " ", modalType)}`}
+
+ {modalComponents[modalType] || null}
- { modalComponents[modalType] || null}
-
);
};
diff --git a/src/components/master/paymentAdjustmentHead/ManagePaymentHead.jsx b/src/components/master/paymentAdjustmentHead/ManagePaymentHead.jsx
new file mode 100644
index 00000000..1afba4ab
--- /dev/null
+++ b/src/components/master/paymentAdjustmentHead/ManagePaymentHead.jsx
@@ -0,0 +1,107 @@
+import React, { useEffect } from "react";
+import { z } from "zod";
+import { useForm } from "react-hook-form";
+import { zodResolver } from "@hookform/resolvers/zod";
+import Label from "../../common/Label";
+import { useCreatePaymentAjustmentHead, useUpdatePaymentAjustmentHead } from "../../../hooks/masterHook/useMaster";
+
+export const simpleFormSchema = z.object({
+ name: z.string().min(1, "Name is required"),
+ description: z.string().min(1, "Description is required"),
+});
+
+const ManagePaymentHead = ({ data, onClose }) => {
+ const {
+ register,
+ handleSubmit,
+ reset,
+ formState: { errors },
+ } = useForm({
+ resolver: zodResolver(simpleFormSchema),
+ defaultValues: {
+ name: "",
+ description: "",
+ },
+ });
+
+ const {mutate:CreateAjustmentHead,isPending} = useCreatePaymentAjustmentHead(()=>{
+ handleClose?.()
+ });
+ const {mutate:UpdateAjustmentHead,isPending:isUpdating} = useUpdatePaymentAjustmentHead(()=>{
+ handleClose?.()
+ })
+ const onSubmit = (formData) => {
+ if(data){
+ let id = data?.id;
+ const payload = {
+ ...formData,
+ id:id,
+ }
+ UpdateAjustmentHead({id:id,payload:payload})
+ }else{
+ let payload={
+ ...formData
+ }
+ CreateAjustmentHead(payload)
+ }
+ };
+
+ useEffect(() => {
+ if (data) {
+ reset({
+ name: data.name,
+ description: data.description,
+ });
+ }
+ }, [data]);
+ const handleClose = () => {
+ reset();
+ onClose();
+ };
+ return (
+
+ );
+};
+
+export default ManagePaymentHead;
diff --git a/src/hooks/masterHook/useMaster.js b/src/hooks/masterHook/useMaster.js
index 24cc9c83..c9c9216a 100644
--- a/src/hooks/masterHook/useMaster.js
+++ b/src/hooks/masterHook/useMaster.js
@@ -10,10 +10,10 @@ import {
} from "@tanstack/react-query";
import showToast from "../../services/toastService";
-export const usePaymentType = (isActive) => {
+export const usePaymentAjustmentHead = (isActive) => {
return useQuery({
queryKey: ["paymentType",isActive],
- queryFn: async () => await MasterRespository.getPaymentType(isActive),
+ queryFn: async () => await MasterRespository.getPaymentAdjustmentHead(isActive),
});
};
@@ -303,6 +303,8 @@ const fetchMasterData = async (masterType) => {
return (await MasterRespository.getDocumentTypes()).data;
case "Document Category":
return (await MasterRespository.getDocumentCategories()).data;
+ case "Payment Adjustment Head":
+ return (await MasterRespository.getPaymentAdjustmentHead(true)).data;
case "Status":
return [
{
@@ -998,7 +1000,52 @@ export const useUpdateDocumentType = (onSuccessCallback) => {
},
});
};
-// -Delete Master --------
+// ------------------------------x-x--------x-x------------------------------------
+
+// ==============================Payment Adjustment Head =============================
+export const useCreatePaymentAjustmentHead = (onSuccessCallback) => {
+ const queryClient = useQueryClient();
+
+ return useMutation({
+ mutationFn: async (payload) => {
+ const resp = await MasterRespository.createPaymentAjustmentHead(payload);
+ return resp.data;
+ },
+ onSuccess: (data) => {
+ queryClient.invalidateQueries({
+ queryKey: ["masterData", "Payment Adjustment Head"],
+ });
+ showToast("Payment Ajustment Head successfully", "success");
+ if (onSuccessCallback) onSuccessCallback(data);
+ },
+ onError: (error) => {
+ showToast(error.message || "Something went wrong", "error");
+ },
+ });
+};
+export const useUpdatePaymentAjustmentHead = (onSuccessCallback) => {
+ const queryClient = useQueryClient();
+
+ return useMutation({
+ mutationFn: async ({ id, payload }) => {
+ const resp = await MasterRespository.updatePaymentAjustmentHead(id, payload);
+ return resp.data;
+ },
+ onSuccess: (data) => {
+ queryClient.invalidateQueries({
+ queryKey: ["masterData", "Payment Adjustment Head"],
+ });
+ showToast("Payment Ajustment Head Updated successfully", "success");
+ if (onSuccessCallback) onSuccessCallback(data);
+ },
+ onError: (error) => {
+ showToast(error.message || "Something went wrong", "error");
+ },
+ });
+};
+// ====================x=x====================x=x==================================
+
+// --------Delete Master --------
export const useDeleteMasterItem = () => {
const queryClient = useQueryClient();
diff --git a/src/hooks/useCollections.js b/src/hooks/useCollections.js
index 07da685a..c300462d 100644
--- a/src/hooks/useCollections.js
+++ b/src/hooks/useCollections.js
@@ -9,6 +9,7 @@ export const useCollections = (
toDate,
isPending,
isActive,
+ projectId,
searchString
) => {
return useQuery({
@@ -20,6 +21,7 @@ export const useCollections = (
toDate,
isPending,
isActive,
+ projectId,
searchString,
],
@@ -31,6 +33,7 @@ export const useCollections = (
toDate,
isPending,
isActive,
+ projectId,
searchString
);
return response.data;
diff --git a/src/pages/collections/CollectionPage.jsx b/src/pages/collections/CollectionPage.jsx
index 4e9eaf6a..c90c92ce 100644
--- a/src/pages/collections/CollectionPage.jsx
+++ b/src/pages/collections/CollectionPage.jsx
@@ -67,6 +67,7 @@ const CollectionPage = () => {
const handleMarkedPayment = (payload) => {
MarkedReceived(payload);
};
+ console.log(fromDate,toDate)
return (
diff --git a/src/repositories/ColllectionRepository.jsx b/src/repositories/ColllectionRepository.jsx
index 019deb54..8eb512da 100644
--- a/src/repositories/ColllectionRepository.jsx
+++ b/src/repositories/ColllectionRepository.jsx
@@ -7,12 +7,13 @@ export const CollectionRepository = {
updateCollection:(id,data)=>{
api.put(`/api/Collection/invoice/edit/${id}`,data)
},
- getCollections: (pageSize, pageNumber,fromDate,toDate, isPending,isActive, searchString) => {
+ getCollections: (pageSize, pageNumber,fromDate,toDate, isPending,isActive,projectId, searchString) => {
let url = `/api/Collection/invoice/list?pageSize=${pageSize}&pageNumber=${pageNumber}&isPending=${isPending}&isActive=${isActive}&searchString=${searchString}`;
const params = [];
if (fromDate) params.push(`fromDate=${fromDate}`);
if (toDate) params.push(`toDate=${toDate}`);
+ if(projectId) params.push(`projectId=${projectId}`)
if (params.length > 0) {
url += `&${params.join("&")}`;
diff --git a/src/repositories/MastersRepository.jsx b/src/repositories/MastersRepository.jsx
index abe1a213..d197c11c 100644
--- a/src/repositories/MastersRepository.jsx
+++ b/src/repositories/MastersRepository.jsx
@@ -58,6 +58,7 @@ export const MasterRespository = {
"Document Type": (id) => api.delete(`/api/Master/document-type/delete/${id}`),
"Document Category": (id) =>
api.delete(`/api/Master/document-category/delete/${id}`),
+ "Payment Adjustment Head":(id,isActive)=>api.delete(`/api/Master/payment-adjustment-head/delete/${id}`,(isActive=false)),
getWorkCategory: () => api.get(`/api/master/work-categories`),
createWorkCategory: (data) => api.post(`/api/master/work-category`, data),
@@ -131,6 +132,8 @@ export const MasterRespository = {
getOrganizationType: () => api.get("/api/Master/organization-type/list"),
- getPaymentType: (isActive) =>
+ getPaymentAdjustmentHead: (isActive) =>
api.get(`/api/Master/payment-adjustment-head/list?isActive=${isActive}`),
+ createPaymentAjustmentHead:(data)=>api.post(`/api/Master/payment-adjustment-head`, data),
+ updatePaymentAjustmentHead:(id,data)=>api.put(`/api/Master/payment-adjustment-head/edit/${id}`, data)
};