From ceddbcb936f36e34ae7029d4d3059540cc6c8f8f Mon Sep 17 00:00:00 2001 From: AmirHossein Mahmoodi Date: Sun, 18 May 2025 10:33:07 +0330 Subject: [PATCH] formatting --- .../Form/StepOne/CreateFormContent.jsx | 2 +- .../operator/Form/StepOne/GetSubItemInfo.jsx | 21 ++--- .../Form/StepThree/StepThreeContent.jsx | 92 +++++++++---------- src/core/components/HourSelect.jsx | 26 ++++++ src/core/utils/pageMenu.js | 46 ++++++---- 5 files changed, 109 insertions(+), 78 deletions(-) create mode 100644 src/core/components/HourSelect.jsx diff --git a/src/components/dashboard/roadSafety/operator/Form/StepOne/CreateFormContent.jsx b/src/components/dashboard/roadSafety/operator/Form/StepOne/CreateFormContent.jsx index bcc6012..69fb689 100644 --- a/src/components/dashboard/roadSafety/operator/Form/StepOne/CreateFormContent.jsx +++ b/src/components/dashboard/roadSafety/operator/Form/StepOne/CreateFormContent.jsx @@ -83,7 +83,7 @@ const CreateFormContent = ({ setOpen, mutate }) => { const startPoint = `${data.start_point.lat},${data.start_point.lng}`; const formData = new FormData(); formData.append("activity_date", data.activity_date); - formData.append("activity_time", format(new Date(data.activity_time), "HH:mm")); + formData.append("activity_time", `${data.activity_time.toString().padStart(2, "0")}:00`); formData.append("info_id", data.info_id); formData.append("axis_type_id", data.axis_type_id); formData.append("recognize_picture", data.recognize_picture); diff --git a/src/components/dashboard/roadSafety/operator/Form/StepOne/GetSubItemInfo.jsx b/src/components/dashboard/roadSafety/operator/Form/StepOne/GetSubItemInfo.jsx index a6e3f5e..a54b027 100644 --- a/src/components/dashboard/roadSafety/operator/Form/StepOne/GetSubItemInfo.jsx +++ b/src/components/dashboard/roadSafety/operator/Form/StepOne/GetSubItemInfo.jsx @@ -1,11 +1,11 @@ -import { Box, Chip, Divider, Grid, Stack, Typography } from "@mui/material"; -import InsertDriveFileIcon from "@mui/icons-material/InsertDriveFile"; -import ImageUpload from "./ImageUpload"; -import { Controller, useWatch } from "react-hook-form"; +import HourSelect from "@/core/components/HourSelect"; import MapInfoOneMarker from "@/core/components/MapInfoOneMarker"; import MuiDatePicker from "@/core/components/MuiDatePicker"; -import MuiTimePicker from "@/core/components/MuiTimePicker"; import SelectBox from "@/core/components/SelectBox"; +import InsertDriveFileIcon from "@mui/icons-material/InsertDriveFile"; +import { Box, Chip, Divider, Grid, Stack, Typography } from "@mui/material"; +import { Controller, useWatch } from "react-hook-form"; +import ImageUpload from "./ImageUpload"; const GetSubItemInfo = ({ itemsList, control, setValue, errors }) => { const StartPoint = useWatch({ control, name: "start_point" }); @@ -84,14 +84,11 @@ const GetSubItemInfo = ({ itemsList, control, setValue, errors }) => { control={control} render={({ field, fieldState: { error } }) => { return ( - field.onChange(value || null)} - helperText={error ? error.message : null} + label="ساعت فعالیت" + error={error} + onChange={field.onChange} /> ); }} diff --git a/src/components/dashboard/roadSafety/operator/Form/StepThree/StepThreeContent.jsx b/src/components/dashboard/roadSafety/operator/Form/StepThree/StepThreeContent.jsx index 0e9770c..278d8ca 100644 --- a/src/components/dashboard/roadSafety/operator/Form/StepThree/StepThreeContent.jsx +++ b/src/components/dashboard/roadSafety/operator/Form/StepThree/StepThreeContent.jsx @@ -1,14 +1,13 @@ -import { Button, DialogActions, DialogContent, Stack } from "@mui/material"; -import { Controller, useForm } from "react-hook-form"; -import { yupResolver } from "@hookform/resolvers/yup"; +import HourSelect from "@/core/components/HourSelect"; +import MuiDatePicker from "@/core/components/MuiDatePicker"; import StyledForm from "@/core/components/StyledForm"; +import { THIRD_STEP_STORE } from "@/core/utils/routes"; +import useRequest from "@/lib/hooks/useRequest"; +import { yupResolver } from "@hookform/resolvers/yup"; +import { Button, DialogActions, DialogContent, Grid, Stack } from "@mui/material"; +import { Controller, useForm } from "react-hook-form"; import { mixed, object, string } from "yup"; import ImageUpload from "./ImageUpload"; -import useRequest from "@/lib/hooks/useRequest"; -import { THIRD_STEP_STORE } from "@/core/utils/routes"; -import MuiDatePicker from "@/core/components/MuiDatePicker"; -import MuiTimePicker from "@/core/components/MuiTimePicker"; -import { format } from "date-fns"; const StepThreeContent = ({ setOpen, mutate, rowId }) => { const requestServer = useRequest({ notificationSuccess: true }); @@ -33,7 +32,7 @@ const StepThreeContent = ({ setOpen, mutate, rowId }) => { }); const onSubmit = async (data) => { const formData = new FormData(); - formData.append("action_date", `${data.action_date} ${format(new Date(data.action_time), "HH:mm")}`); + formData.append("action_date", `${data.action_date} ${data.action_time.toString().padStart(2, "0")}:00`); formData.append("action_picture", data.action_picture); await requestServer(`${THIRD_STEP_STORE}/${rowId}`, "post", { data: formData, @@ -48,43 +47,44 @@ const StepThreeContent = ({ setOpen, mutate, rowId }) => { return ( - - - { - return ( - field.onChange(value || [])} - helperText={error ? error.message : null} - /> - ); - }} - name={"action_date"} - /> - { - return ( - field.onChange(value || null)} - helperText={error ? error.message : null} - /> - ); - }} - name={"action_time"} - /> - + + + + { + return ( + field.onChange(value || [])} + helperText={error ? error.message : null} + /> + ); + }} + name={"action_date"} + /> + + + { + return ( + + ); + }} + name={"action_time"} + /> + + { + return ( + + {label} + + {error?.message} + + ); +}; +export default HourSelect; diff --git a/src/core/utils/pageMenu.js b/src/core/utils/pageMenu.js index 0b4f4f4..c314961 100644 --- a/src/core/utils/pageMenu.js +++ b/src/core/utils/pageMenu.js @@ -16,6 +16,7 @@ import MapIcon from "@mui/icons-material/Map"; import SpeedIcon from "@mui/icons-material/Speed"; import EngineeringIcon from "@mui/icons-material/Engineering"; import ReportIcon from "@mui/icons-material/Report"; +import AssessmentIcon from "@mui/icons-material/Assessment"; import AssignmentLateIcon from "@mui/icons-material/AssignmentLate"; import LockPersonIcon from "@mui/icons-material/LockPerson"; import LineAxisIcon from "@mui/icons-material/LineAxis"; @@ -291,6 +292,26 @@ export const pageMenu = [ { key: "safetyAndPrivacy.step_two", color: "error" }, ], Subitems: [ + { + id: "safetyAndPrivacyManagmentSupervisor", + label: "ارزیابی", + type: "menu", + icon: , + hasSubitems: true, + badges: [{ key: "safetyAndPrivacy.supervise_cnt" }], + Subitems: [ + { + id: "safetyAndPrivacyManagmentSupervisorCartable", + label: "کارتابل", + type: "page", + route: "/dashboard/road-safety/supervisor", + permissions: [ + "show-safety-and-privacy-operator-cartable", + "show-safety-and-privacy-operator-cartable-province", + ], + }, + ], + }, { id: "safetyAndPrivacyManagmentOparation", label: "عملیات", @@ -302,23 +323,12 @@ export const pageMenu = [ { key: "safetyAndPrivacy.step_two", color: "error" }, ], Subitems: [ - { - id: "safetyAndPrivacyManagmentOparationCreate", - label: "ثبت فعالیت", - type: "page", - route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/operator/first_step", - permissions: ["add-safety-and-privacy"], - }, { id: "safetyAndPrivacyManagmentOparationCartable", label: "کارتابل", type: "page", - route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/operator/cartable", - permissions: [ - "show-safety-and-privacy-operator-cartable", - "show-safety-and-privacy-operator-cartable-province", - "show-safety-and-privacy-operator-cartable-edarate-shahri", - ], + route: "/dashboard/road-safety/operator", + permissions: ["show-safety-and-privacy-operator-cartable-edarate-shahri"], }, ], }, @@ -326,26 +336,24 @@ export const pageMenu = [ id: "safetyAndPrivacyManagmentMap", label: "پراکندگی بر روی نقشه", type: "page", - route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=safety_and_privacy", + route: "/dashboard/road-safety/reports/map", icon: , permissions: [ "show-safety-and-privacy-operator-cartable", "show-safety-and-privacy-operator-cartable-province", "show-safety-and-privacy-operator-cartable-edarate-shahri", - "add-safety-and-privacy", ], }, { id: "safetyAndPrivacyManagmentReport", label: "گزارش ها", type: "page", - route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/report", - icon: , + route: "/dashboard/road-safety/reports", + icon: , permissions: [ "show-safety-and-privacy-operator-cartable", "show-safety-and-privacy-operator-cartable-province", "show-safety-and-privacy-operator-cartable-edarate-shahri", - "add-safety-and-privacy", ], }, ], @@ -541,4 +549,4 @@ export const pageMenu = [ }, ], }, -]; \ No newline at end of file +];