diff --git a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetDateTime/MissionDates/index.jsx b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetDateTime/MissionDates/index.jsx index 02813c2..6cbcf33 100644 --- a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetDateTime/MissionDates/index.jsx +++ b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetDateTime/MissionDates/index.jsx @@ -6,107 +6,107 @@ import { Controller, useWatch } from "react-hook-form"; const MissionDates = ({ control }) => { const type = useWatch({ control, name: "type" }); + const start_date = useWatch({ control, name: "start_date" }); const end_date = useWatch({ control, name: "end_date" }); + const start_time = useWatch({ control, name: "start_time" }); const end_time = useWatch({ control, name: "end_time" }); - const startDateTime = makeDateTime(start_date, start_time); - const endDateTime = makeDateTime(end_date, end_time); const now = new Date(); + const startDateTime = start_date && start_time ? makeDateTime(start_date, start_time) : null; + + const endDateTime = end_date && end_time ? makeDateTime(end_date, end_time) : null; + + const isSameDay = + start_date && end_date && new Date(start_date).toDateString() === new Date(end_date).toDateString(); + + const isToday = start_date && new Date(start_date).toDateString() === now.toDateString(); + return ( type && ( <> { - return ( - field.onChange(value || [])} - helperText={error ? error.message : null} - /> - ); - }} + name="start_date" + render={({ field, fieldState: { error } }) => ( + field.onChange(value || null)} + helperText={error?.message} + /> + )} /> + {type == 1 && ( { - return ( - field.onChange(value || null)} - helperText={error ? error.message : null} - /> - ); - }} + name="start_time" + render={({ field, fieldState: { error } }) => ( + field.onChange(value || null)} + helperText={error?.message} + /> + )} /> )} + { - return ( - field.onChange(value || [])} - helperText={error ? error.message : null} - /> - ); - }} + name="end_date" + render={({ field, fieldState: { error } }) => ( + field.onChange(value || null)} + helperText={error?.message} + /> + )} /> + {type == 1 && ( { - return ( - field.onChange(value || null)} - helperText={error ? error.message : null} - /> - ); - }} + name="end_time" + render={({ field, fieldState: { error } }) => ( + field.onChange(value || null)} + helperText={error?.message} + /> + )} /> )} @@ -114,4 +114,5 @@ const MissionDates = ({ control }) => { ) ); }; + export default MissionDates; diff --git a/src/components/dashboard/roadMissions/reports/diverReports/DriverReportsList.jsx b/src/components/dashboard/roadMissions/reports/diverReports/DriverReportsList.jsx index a279dc4..bca2edf 100644 --- a/src/components/dashboard/roadMissions/reports/diverReports/DriverReportsList.jsx +++ b/src/components/dashboard/roadMissions/reports/diverReports/DriverReportsList.jsx @@ -50,7 +50,8 @@ const DriverReportsList = ({ data, specialFilter }) => { }, ]; }, []); - + const cleanedData = specialFilter.filter((item) => !(item.id === "province_id" && item.value === "-1")); + const RowActionsWithRowData = (props) => ; return ( { enablePagination={false} specialFilter={specialFilter} enableRowActions - RowActions={RowActions} + RowActions={RowActionsWithRowData} /> ); diff --git a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/Form/DriverDetailsDialog/DriverList/index.jsx b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/Form/DriverDetailsDialog/DriverList/index.jsx index 2d13661..8237b24 100644 --- a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/Form/DriverDetailsDialog/DriverList/index.jsx +++ b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/Form/DriverDetailsDialog/DriverList/index.jsx @@ -3,7 +3,7 @@ import { GET_DRIVER_DETAILS } from "@/core/utils/routes"; import { Box } from "@mui/material"; import { useMemo } from "react"; -const DriverList = ({ row }) => { +const DriverList = ({ row, specialFilter }) => { const columns = useMemo( () => [ { @@ -93,6 +93,7 @@ const DriverList = ({ row }) => { { +const DriverDetailsTable = ({ row, setOpenDriverDetails, specialFilter }) => { return ( <> - + diff --git a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/index.jsx b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/index.jsx index 9e32458..bcec116 100644 --- a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/index.jsx +++ b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/DriverDetails/index.jsx @@ -3,7 +3,7 @@ import { Dialog, DialogTitle, IconButton, Tooltip } from "@mui/material"; import { useState } from "react"; import DriverDetailsTable from "./Form"; -const DriverDetails = ({ row }) => { +const DriverDetails = ({ row, specialFilter }) => { const [openDriverDetails, setOpenDriverDetails] = useState(false); return ( @@ -35,7 +35,11 @@ const DriverDetails = ({ row }) => { ریز گزارشات راننده {openDriverDetails && ( - + )} diff --git a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/index.jsx b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/index.jsx index f37d403..e7aba26 100644 --- a/src/components/dashboard/roadMissions/reports/diverReports/RowActions/index.jsx +++ b/src/components/dashboard/roadMissions/reports/diverReports/RowActions/index.jsx @@ -1,6 +1,6 @@ import DriverDetails from "./DriverDetails"; -const RowActions = ({ row }) => { - return ; +const RowActions = ({ row, specialFilter }) => { + return ; }; export default RowActions; diff --git a/src/components/dashboard/roadMissions/reports/diverReports/index.jsx b/src/components/dashboard/roadMissions/reports/diverReports/index.jsx index 967a8a6..1c14e4a 100644 --- a/src/components/dashboard/roadMissions/reports/diverReports/index.jsx +++ b/src/components/dashboard/roadMissions/reports/diverReports/index.jsx @@ -27,8 +27,8 @@ const DriverReportsPage = () => { }; const defaultFilter = [ { value: `${defaultValues.province_id}`, datatype: "numeric", id: "province_id", fn: "equals" }, - { value: `${defaultValues.from_date}`, datatype: "date", id: "from_date", fn: "between" }, - { value: `${defaultValues.date_to}`, datatype: "date", id: "date_to", fn: "between" }, + { value: `${defaultValues.from_date} 00:00:00`, datatype: "date", id: "start_time", fn: "greaterThan" }, + { value: `${defaultValues.date_to} 23:59:59`, datatype: "date", id: "finish_time", fn: "lessThan" }, ]; const [specialFilter, setSpecialFilter] = useState(defaultFilter); @@ -38,8 +38,8 @@ const DriverReportsPage = () => { params.set("date_to", `${data.date_to} 23:59:59`); setSpecialFilter([ { value: `${data.province_id}`, datatype: "numeric", id: "province_id", fn: "equals" }, - { value: `${data.from_date}`, datatype: "date", id: "from_date", fn: "between" }, - { value: `${data.date_to}`, datatype: "date", id: "date_to", fn: "between" }, + { value: `${data.from_date} 00:00:00`, datatype: "date", id: "start_time", fn: "greaterThan" }, + { value: `${data.date_to} 23:59:59`, datatype: "date", id: "finish_time", fn: "lessThan" }, ]); if (data.province_id === "-1") { try { diff --git a/src/components/dashboard/roadMissions/reports/machinesReports/MachinesReportsList.jsx b/src/components/dashboard/roadMissions/reports/machinesReports/MachinesReportsList.jsx index 363c85f..ca50d9c 100644 --- a/src/components/dashboard/roadMissions/reports/machinesReports/MachinesReportsList.jsx +++ b/src/components/dashboard/roadMissions/reports/machinesReports/MachinesReportsList.jsx @@ -60,7 +60,8 @@ const MachinesReportsList = ({ data, specialFilter }) => { }, ]; }, []); - + const cleanedData = specialFilter.filter((item) => !(item.id === "province_id" && item.value === "-1")); + const RowActionsWithRowData = (props) => ; return ( { enablePagination={false} specialFilter={specialFilter} enableRowActions - RowActions={RowActions} + RowActions={RowActionsWithRowData} /> ); diff --git a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/Form/MachineMissionsDetailsDialog/MachineMissionsList/index.jsx b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/Form/MachineMissionsDetailsDialog/MachineMissionsList/index.jsx index 36d781a..d026fba 100644 --- a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/Form/MachineMissionsDetailsDialog/MachineMissionsList/index.jsx +++ b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/Form/MachineMissionsDetailsDialog/MachineMissionsList/index.jsx @@ -3,7 +3,7 @@ import { GET_MACHINE_MISSIONS_DETAILS } from "@/core/utils/routes"; import { Box } from "@mui/material"; import { useMemo } from "react"; -const MachineMissionsList = ({ row }) => { +const MachineMissionsList = ({ row, specialFilter }) => { const columns = useMemo( () => [ { @@ -91,6 +91,7 @@ const MachineMissionsList = ({ row }) => { <> { +const MachineMissionsDetailsTable = ({ row, setOpenMachineMissionsDetails, specialFilter }) => { return ( <> - + diff --git a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/index.jsx b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/index.jsx index f3ef62e..0ec167e 100644 --- a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/index.jsx +++ b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/MissionDitails/index.jsx @@ -3,7 +3,7 @@ import { Dialog, DialogTitle, IconButton, Tooltip } from "@mui/material"; import { useState } from "react"; import MachineMissionsDetailsTable from "./Form"; -const MissionDetails = ({ row }) => { +const MissionDetails = ({ row, specialFilter }) => { const [openMachineMissionsDetails, setOpenMachineMissionsDetails] = useState(false); return ( @@ -36,6 +36,7 @@ const MissionDetails = ({ row }) => { ریز گزارشات خودرو {openMachineMissionsDetails && ( diff --git a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/index.jsx b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/index.jsx index 5cb6a4d..95b11aa 100644 --- a/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/index.jsx +++ b/src/components/dashboard/roadMissions/reports/machinesReports/RowActions/index.jsx @@ -1,6 +1,6 @@ import MissionDetails from "./MissionDitails"; -const RowActions = ({ row }) => { - return ; +const RowActions = ({ row, specialFilter }) => { + return ; }; export default RowActions; diff --git a/src/components/dashboard/roadMissions/reports/machinesReports/index.jsx b/src/components/dashboard/roadMissions/reports/machinesReports/index.jsx index 655944d..af47ba9 100644 --- a/src/components/dashboard/roadMissions/reports/machinesReports/index.jsx +++ b/src/components/dashboard/roadMissions/reports/machinesReports/index.jsx @@ -27,8 +27,8 @@ const MachinesReportsPage = () => { }; const defaultFilter = [ { value: `${defaultValues.province_id}`, datatype: "numeric", id: "province_id", fn: "equals" }, - { value: `${defaultValues.from_date}`, datatype: "date", id: "from_date", fn: "between" }, - { value: `${defaultValues.date_to}`, datatype: "date", id: "date_to", fn: "between" }, + { value: `${defaultValues.from_date} 00:00:00`, datatype: "date", id: "start_time", fn: "greaterThan" }, + { value: `${defaultValues.date_to} 23:59:59`, datatype: "date", id: "finish_time", fn: "lessThan" }, ]; const [specialFilter, setSpecialFilter] = useState(defaultFilter); @@ -38,8 +38,8 @@ const MachinesReportsPage = () => { params.set("date_to", `${data.date_to} 23:59:59`); setSpecialFilter([ { value: `${data.province_id}`, datatype: "numeric", id: "province_id", fn: "equals" }, - { value: `${data.from_date}`, datatype: "date", id: "from_date", fn: "between" }, - { value: `${data.date_to}`, datatype: "date", id: "date_to", fn: "between" }, + { value: `${data.from_date} 00:00:00`, datatype: "date", id: "start_time", fn: "greaterThan" }, + { value: `${data.date_to} 23:59:59`, datatype: "date", id: "finish_time", fn: "lessThan" }, ]); if (data.province_id === "-1") { try {