From 63b02db9b364099966836eb30ec04b97c8dcb62f Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Sun, 13 Apr 2025 17:27:51 +0530 Subject: [PATCH] added FromData to endDate filter in Task list --- src/hooks/useTasks.js | 16 ++++++++++------ src/pages/Activities/DailyTask.jsx | 16 ++++++++++++---- src/repositories/TaskRepository.jsx | 22 +++++++++++++++++----- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/src/hooks/useTasks.js b/src/hooks/useTasks.js index 53d4e635..3c698952 100644 --- a/src/hooks/useTasks.js +++ b/src/hooks/useTasks.js @@ -1,8 +1,9 @@ import { useEffect, useState } from "react"; import { TasksRepository } from "../repositories/TaskRepository"; import { cacheData, getCachedData } from "../slices/apiDataManager"; +// import {formatDate} from "../utils/dateUtils"; -export const useTaskList = (projectId, fromDate, ToDate) => { +export const useTaskList = (projectId, dateFrom, toDate) => { const [TaskList, setTaskList] = useState([]); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -14,8 +15,8 @@ export const useTaskList = (projectId, fromDate, ToDate) => { setLoading(true); const resp = await TasksRepository.getTaskList( projectId, - fromDate, - ToDate + dateFrom, + toDate ); setTaskList(resp.data); cacheData("taskList", { projectId: projectId, data: resp.data }); @@ -30,11 +31,14 @@ export const useTaskList = (projectId, fromDate, ToDate) => { } }; console.log(TaskList) - useEffect(() => { - if (projectId) { + useEffect( () => + { + console.log( projectId , " ", dateFrom, "" , toDate) + if (projectId && dateFrom && toDate) { fetchList(); } - }, [projectId, fromDate, ToDate]); + + }, [projectId, dateFrom, toDate]); return { TaskList, loading, error, refetch:fetchList}; }; diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index 39ceb473..654c3519 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -1,3 +1,4 @@ +import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import Breadcrumb from "../../components/common/Breadcrumb"; import { dailyTask } from "../../data/masters"; @@ -5,12 +6,13 @@ import { useTaskList } from "../../hooks/useTasks"; import { useProjects } from "../../hooks/useProjects"; import { setProjectId } from "../../slices/localVariablesSlice"; import { useProfile } from "../../hooks/useProfile"; -import React, { useEffect, useState } from "react"; import { formatDate } from "../../utils/dateUtils"; import GlobalModel from "../../components/common/GlobalModel"; import AssignRoleModel from "../../components/Project/AssignRole"; import { ReportTask } from "../../components/Activities/ReportTask"; import ReportTaskComments from "../../components/Activities/ReportTaskComments"; +import DateRangePicker from "../../components/common/DateRangePicker"; +import DatePicker from "../../components/common/DatePicker"; const DailyTask = () => { const { profile: LoggedUser } = useProfile(); @@ -23,12 +25,13 @@ const DailyTask = () => { (store) => store.localVariables.projectId ); const dispatch = useDispatch(selectedProject); + const [dateRange, setDateRange] = useState({ startDate: "", endDate: "" }); const { TaskList, loading: task_loading, error: task_error, refetch, - } = useTaskList(selectedProject); + } = useTaskList(selectedProject, dateRange.startDate, dateRange.endDate); const [TaskLists, setTaskLists] = useState([]); useEffect(() => { @@ -50,6 +53,8 @@ const DailyTask = () => { selectTask(task); openModal(); }; + console.log(dateRange) + return ( <>
{ ]} >
-
+
-
+
+
+ +
diff --git a/src/repositories/TaskRepository.jsx b/src/repositories/TaskRepository.jsx index 9450337c..5e0b5658 100644 --- a/src/repositories/TaskRepository.jsx +++ b/src/repositories/TaskRepository.jsx @@ -1,7 +1,19 @@ -import {api} from "../utils/axiosClient"; +import { api } from "../utils/axiosClient"; export const TasksRepository = { - getTaskList: ( id, fromdate = null, todate = null ) => api.get( `api/task/list?projectId=${ id }` ), - reportTsak: ( data ) => api.post( 'api/task/report', data ), - taskComments:(data)=>api.post("api/task/comment",data) -} \ No newline at end of file + getTaskList: (id, fromdate = null, todate = null) => { + let url = `api/task/list?projectId=${id}`; + + if (fromdate) { + url += `&dateFrom=${fromdate}`; + } + + if (todate) { + url += `&dateTo=${todate}`; + } + + return api.get(url); + }, + reportTsak: (data) => api.post("api/task/report", data), + taskComments: (data) => api.post("api/task/comment", data), +};