handle change data list working day

This commit is contained in:
Ehsan
2024-10-11 21:17:24 +03:30
parent a33195a8b4
commit 0839af4d4e
5 changed files with 28 additions and 36 deletions
+1 -8
View File
@@ -3,14 +3,7 @@ import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
import { LocalizationProvider, TimePicker } from "@mui/x-date-pickers"; import { LocalizationProvider, TimePicker } from "@mui/x-date-pickers";
import { handleTwoLength } from "@/helper"; import { handleTwoLength } from "@/helper";
function TimePickerField({ function TimePickerField({ dataChange, isVacation, disable, timeStart, data }) {
dataChange,
isVacation,
disable,
setData,
timeStart,
data,
}) {
const [value, setValue] = useState("00:00"); const [value, setValue] = useState("00:00");
return ( return (
+10 -4
View File
@@ -9,7 +9,7 @@ import GeneralInformation from "./listMenu/generalInformation";
import Step from "./Step"; import Step from "./Step";
function AddDoctorPage() { function AddDoctorPage() {
const [value, setValue] = useState(0); const [value, setValue] = useState(2);
const [data, setData] = useState({ const [data, setData] = useState({
general: { general: {
name: { value: "احسان احمدی", isEdit: false }, name: { value: "احسان احمدی", isEdit: false },
@@ -37,21 +37,27 @@ function AddDoctorPage() {
{ name: "پنج شنبه", morning_time: ["", ""], evening_time: ["", ""] }, { name: "پنج شنبه", morning_time: ["", ""], evening_time: ["", ""] },
], ],
}); });
console.log(data);
const components = [ const components = [
<GeneralInformation <GeneralInformation
parent="general"
data={data} data={data}
parent="general"
setData={setData} setData={setData}
setValue={setValue} setValue={setValue}
/>, />,
<OfficeInformation <OfficeInformation
parent="office"
data={data} data={data}
parent="office"
setData={setData}
setValue={setValue}
/>,
<WorkingDays
data={data}
parent="work_day"
setData={setData} setData={setData}
setValue={setValue} setValue={setValue}
/>, />,
<WorkingDays data={data} setData={setData} setValue={setValue} />,
]; ];
return ( return (
@@ -9,19 +9,10 @@ import {
TableHead, TableHead,
TableRow, TableRow,
} from "@mui/material"; } from "@mui/material";
import ContentModal from "./modal/ContentModal"; import ContentModal from "./modal";
import EditOrangeAD from "@/components/icons/EditOrangeAD"; import EditOrangeAD from "@/components/icons/EditOrangeAD";
function List() { function List({ parent, data, setData }) {
const [data, setData] = useState([
{ name: "شنبه", morning_time: ["", ""], evening_time: ["", ""] },
{ name: "یکشنبه", morning_time: ["", ""], evening_time: ["", ""] },
{ name: "دوشنبه", morning_time: ["", ""], evening_time: ["", ""] },
{ name: "سه شنبه", morning_time: ["", ""], evening_time: ["", ""] },
{ name: "چهار شنبه", morning_time: ["", ""], evening_time: ["", ""] },
{ name: "پنج شنبه", morning_time: ["", ""], evening_time: ["", ""] },
]);
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const handleOpen = () => setOpen(true); const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false); const handleClose = () => setOpen(false);
@@ -92,7 +83,9 @@ function List() {
}} }}
className="!gap-[6px] !min-w-[146px] !py-[4px] dark:!text-[#D7D8ED] !px-[8px] !text-[#616161] !text-[16px] !font-bold" className="!gap-[6px] !min-w-[146px] !py-[4px] dark:!text-[#D7D8ED] !px-[8px] !text-[#616161] !text-[16px] !font-bold"
> >
{`${row.morning_time[0]} - ${row.morning_time[1]}`} {row.morning_time[0] === "تعطیل"
? row.morning_time[0]
: `${row.morning_time[0]} - ${row.morning_time[1]}`}
<EditOrangeAD /> <EditOrangeAD />
</Button> </Button>
) : ( ) : (
@@ -120,7 +113,9 @@ function List() {
}} }}
className="!gap-[6px] !min-w-[146px] !py-[4px] dark:!text-[#D7D8ED] !px-[8px] !text-[#616161] !text-[16px] !font-bold" className="!gap-[6px] !min-w-[146px] !py-[4px] dark:!text-[#D7D8ED] !px-[8px] !text-[#616161] !text-[16px] !font-bold"
> >
{`${row.evening_time[0]} - ${row.evening_time[1]}`} {row.morning_time[0] === "تعطیل"
? row.morning_time[0]
: `${row.evening_time[0]} - ${row.evening_time[1]}`}
<EditOrangeAD /> <EditOrangeAD />
</Button> </Button>
) : ( ) : (
@@ -2,13 +2,13 @@ import { Button } from "@mui/material";
import List from "./List"; import List from "./List";
import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD"; import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD";
function WorkingDays() { function WorkingDays({ setValue, parent, data, setData }) {
return ( return (
<div className="opacity-page pb-[24px]"> <div className="opacity-page pb-[24px]">
<p className="text-[#525252] dark:text-[#D7D8ED] text-[14px] md:text-[16px] text-center md:text-start font-bold"> <p className="text-[#525252] dark:text-[#D7D8ED] text-[14px] md:text-[16px] text-center md:text-start font-bold">
لیست روزهای کاری لیست روزهای کاری
</p> </p>
<List /> <List parent={parent} setData={setData} data={data.work_day} />
<Button <Button
className="!gap-[4px] !w-full md:!w-fit !mr-auto !text-nowrap !flex !flex-nowrap !py-[8px] className="!gap-[4px] !w-full md:!w-fit !mr-auto !text-nowrap !flex !flex-nowrap !py-[8px]
!bg-[#5559CE] !rounded-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium !bg-[#5559CE] !rounded-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium
@@ -3,21 +3,19 @@ import { styleDefault } from "@/mui";
import { Box, Button, Modal } from "@mui/material"; import { Box, Button, Modal } from "@mui/material";
import Radios from "./Radios"; import Radios from "./Radios";
import Form from "./Form"; import Form from "./Form";
import { useState } from "react"; import { useEffect, useState } from "react";
function ContentModal({ function ContentModal({ open, data, setData, dataChange, handleClose }) {
open,
data,
setOpen,
setData,
dataChange,
handleClose,
}) {
const [value, setValue] = useState(0); const [value, setValue] = useState(0);
const [isVacation, setIsVacation] = useState(false); const [isVacation, setIsVacation] = useState(false);
const handleChange = (event) => { const handleChange = (event) => {
const valueRadio = +event.target.value; const valueRadio = +event.target.value;
const newData = data;
const { idx, is_morgen } = dataChange;
newData[idx][is_morgen ? "morning_time" : "evening_time"][0] = "تعطیل";
setIsVacation(valueRadio); setIsVacation(valueRadio);
setValue(valueRadio); setValue(valueRadio);
}; };