diff --git a/src/components/dashboard/roadMissions/control/RowActions/FinishMission/FinishMissionContent.jsx b/src/components/dashboard/roadMissions/control/RowActions/FinishMission/FinishMissionContent.jsx
index 243d6ab..aa79412 100644
--- a/src/components/dashboard/roadMissions/control/RowActions/FinishMission/FinishMissionContent.jsx
+++ b/src/components/dashboard/roadMissions/control/RowActions/FinishMission/FinishMissionContent.jsx
@@ -1,14 +1,43 @@
+import MuiDatePicker from "@/core/components/MuiDatePicker";
+import MuiTimePicker from "@/core/components/MuiTimePicker";
import { FINISH_MISSION } from "@/core/utils/routes";
import useRequest from "@/lib/hooks/useRequest";
+import { yupResolver } from "@hookform/resolvers/yup";
import { Button, DialogActions, DialogContent, Stack, Typography } from "@mui/material";
+import { format } from "date-fns-jalali";
import { useState } from "react";
+import { Controller, useForm } from "react-hook-form";
+import { mixed, object, string } from "yup";
const FinishMissionContent = ({ rowId, mutate, setOpenFinishMissionDialog }) => {
const [submitting, setSubmitting] = useState(false);
const requestServer = useRequest({ notificationSuccess: true });
- const handleClick = () => {
- setSubmitting(true);
+
+ const validationSchema = object().shape({
+ start_date: mixed().required("تاریخ خروج خودرو را مشخص کنید."),
+ start_time: mixed().required("ساعت خروج خودرو را مشخص کنید."),
+ });
+
+ const {
+ control,
+ handleSubmit,
+ formState: { isSubmitting },
+ } = useForm({
+ defaultValues: {
+ start_date: null,
+ start_time: null,
+ },
+ resolver: yupResolver(validationSchema),
+ mode: "all",
+ });
+
+ const onSubmit = (values) => {
+ const formattedDate = values.start_date;
+ const formattedTime = format(values.start_time, "HH:mm");
requestServer(`${FINISH_MISSION}/${rowId}`, "post", {
+ data: {
+ time: `${formattedDate} ${formattedTime}`,
+ },
hasSidebarUpdate: true,
})
.then(() => {
@@ -20,18 +49,55 @@ const FinishMissionContent = ({ rowId, mutate, setOpenFinishMissionDialog }) =>
setSubmitting(false);
});
};
+
return (
<>
آیا از ورود خودرو و پایان ماموریت اطمینان دارید؟
+
+ (
+ field.onChange(value || null)}
+ helperText={error ? error.message : null}
+ />
+ )}
+ />
+
+
+ (
+ field.onChange(value || null)}
+ helperText={error ? error.message : null}
+ />
+ )}
+ />
+
-
diff --git a/src/components/dashboard/roadMissions/control/RowActions/StartMission/StartMissionContent.jsx b/src/components/dashboard/roadMissions/control/RowActions/StartMission/StartMissionContent.jsx
index c935d94..e0c5ab5 100644
--- a/src/components/dashboard/roadMissions/control/RowActions/StartMission/StartMissionContent.jsx
+++ b/src/components/dashboard/roadMissions/control/RowActions/StartMission/StartMissionContent.jsx
@@ -1,17 +1,23 @@
import LtrTextField from "@/core/components/LtrTextField";
+import MuiDatePicker from "@/core/components/MuiDatePicker";
+import MuiTimePicker from "@/core/components/MuiTimePicker";
import { START_MISSION } from "@/core/utils/routes";
import useRequest from "@/lib/hooks/useRequest";
import { yupResolver } from "@hookform/resolvers/yup";
import { Button, DialogActions, DialogContent, Stack, Typography } from "@mui/material";
+import { format } from "date-fns-jalali";
import { Controller, useForm } from "react-hook-form";
-import { object, string } from "yup";
+import { mixed, object, string } from "yup";
const StartMissionContent = ({ rowId, mutate, setOpenStartMissionDialog }) => {
const requestServer = useRequest({ notificationSuccess: true });
+ const now = new Date();
const validationSchema = object().shape({
code: string().length(6, "کد خروج باید 6 رقم باشد").required("لطفاً کد خروج را وارد کنید."),
km: string().required("لطفاً کیلومتر را وارد کنید."),
+ start_date: mixed().required("تاریخ خروج خودرو را مشخص کنید."),
+ start_time: mixed().required("ساعت خروج خودرو را مشخص کنید."),
});
const {
@@ -22,16 +28,23 @@ const StartMissionContent = ({ rowId, mutate, setOpenStartMissionDialog }) => {
defaultValues: {
code: "",
km: "",
+ start_date: null,
+ start_time: null,
},
resolver: yupResolver(validationSchema),
mode: "all",
});
const onSubmit = (values) => {
+ const formattedDate = values.start_date;
+ const formattedTime = format(values.start_time, "HH:mm");
+ console.log(formattedDate, formattedTime);
+
requestServer(`${START_MISSION}/${rowId}`, "post", {
data: {
code: values.code,
km: values.km,
+ time: `${formattedDate} ${formattedTime}`,
},
hasSidebarUpdate: true,
})
@@ -93,6 +106,43 @@ const StartMissionContent = ({ rowId, mutate, setOpenStartMissionDialog }) => {
)}
/>
+
+ (
+ field.onChange(value || null)}
+ helperText={error ? error.message : null}
+ />
+ )}
+ />
+
+
+ (
+ field.onChange(value || null)}
+ helperText={error ? error.message : null}
+ />
+ )}
+ />
+