From 6d2a80d65db4317bee5bd804ad760af490ab7abd Mon Sep 17 00:00:00 2001 From: Ehsan Date: Fri, 11 Oct 2024 20:23:14 +0330 Subject: [PATCH] handle chagne data in step general information --- app/component/element/AutoCompleteSelect.js | 2 +- components/panel/addDoctor/index.js | 14 ++- .../listMenu/generalInformation/form/index.js | 32 +++--- .../listMenu/generalInformation/index.js | 9 +- .../addDoctor/listMenu/specialDays/Form.js | 105 ------------------ .../addDoctor/listMenu/specialDays/List.js | 91 --------------- .../addDoctor/listMenu/specialDays/index.js | 23 ---- .../listMenu/specialDays/listSelector.js | 22 ---- .../panel/addDoctor/listMenu/turns/Form.js | 37 ------ .../panel/addDoctor/listMenu/turns/index.js | 21 ---- .../addDoctor/listMenu/turns/listSelector.js | 13 --- .../listMenu/workingDays/modal/Form.js | 2 - 12 files changed, 34 insertions(+), 337 deletions(-) delete mode 100644 components/panel/addDoctor/listMenu/specialDays/Form.js delete mode 100644 components/panel/addDoctor/listMenu/specialDays/List.js delete mode 100644 components/panel/addDoctor/listMenu/specialDays/index.js delete mode 100644 components/panel/addDoctor/listMenu/specialDays/listSelector.js delete mode 100644 components/panel/addDoctor/listMenu/turns/Form.js delete mode 100644 components/panel/addDoctor/listMenu/turns/index.js delete mode 100644 components/panel/addDoctor/listMenu/turns/listSelector.js diff --git a/app/component/element/AutoCompleteSelect.js b/app/component/element/AutoCompleteSelect.js index d5bcd86..10af6d2 100644 --- a/app/component/element/AutoCompleteSelect.js +++ b/app/component/element/AutoCompleteSelect.js @@ -8,7 +8,7 @@ function AutoCompleteSelect({ list, isError, updateData, name, label }) { disablePortal options={list} className="!w-full !rounded-lg" - onChange={(event) => updateData && updateData(event, name)} + onChange={(event) => updateData && updateData(event.target.value, "value", name)} sx={{ ...styleTextSelectRight, // Hide Icon Number diff --git a/components/panel/addDoctor/index.js b/components/panel/addDoctor/index.js index 58fa43c..829c4fd 100644 --- a/components/panel/addDoctor/index.js +++ b/components/panel/addDoctor/index.js @@ -18,6 +18,7 @@ function AddDoctorPage() { description: { value: "", isEdit: false }, skills: { value: "", isEdit: false }, time_work: { value: "", isEdit: false }, + degree: { value: "", isEdit: false }, }, office: { address: { value: "", isEdit: false }, @@ -36,11 +37,18 @@ function AddDoctorPage() { }); const components = [ - , - , - , + , + , + , ]; + console.log(data); + return (

diff --git a/components/panel/addDoctor/listMenu/generalInformation/form/index.js b/components/panel/addDoctor/listMenu/generalInformation/form/index.js index 441e36d..52f8cef 100644 --- a/components/panel/addDoctor/listMenu/generalInformation/form/index.js +++ b/components/panel/addDoctor/listMenu/generalInformation/form/index.js @@ -8,29 +8,27 @@ import { Button } from "@mui/material"; import ArrowLeftPA from "@/components/icons/ArrowLeftPA"; import FieldDate from "./FieldDate"; -function Form({ setValue }) { - const [data, setData] = useState({ - name: { value: "احسان احمدی", isEdit: false }, - medical_system_number: { value: 1741025645, isEdit: false }, - expertise: { value: "دندان پزشکی", isEdit: false }, - description: { value: "", isEdit: false }, - skills: { value: "", isEdit: false }, - time_work: { value: "", isEdit: false }, - }); +function Form({ setValue, parent, data, setData }) { const [selected, setSelected] = useState({ degree: "", }); const updateSelect = (event, name) => setSelected({ ...selected, [name]: event.target.innerText }); - const changeData = (value, type, name) => - setData({ - ...data, - [name]: { - ...data[name], - [type]: value, - }, + const changeData = (value, type, name) => { + setData((prev) => { + return { + ...prev, + [parent]: { + ...prev[parent], + [name]: { + ...prev[parent][name], + [type]: value, + }, + }, + }; }); + }; return (

@@ -64,7 +62,7 @@ function Form({ setValue }) { -
+
); } diff --git a/components/panel/addDoctor/listMenu/specialDays/Form.js b/components/panel/addDoctor/listMenu/specialDays/Form.js deleted file mode 100644 index 3062533..0000000 --- a/components/panel/addDoctor/listMenu/specialDays/Form.js +++ /dev/null @@ -1,105 +0,0 @@ -import { useState } from "react"; - -import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect"; -import ContentText from "@/app/component/ContentText"; -import { dayOfWeek, timeEachTurn, turnsPerDay } from "./listSelector"; -import { Button } from "@mui/material"; -import PlusBlueP from "@/components/icons/PlusBlueP"; -import ClockP from "@/components/icons/ClockP"; -import TimePickerInput from "@/app/component/TimePickerInput"; - -function Form() { - const [data, setData] = useState({ - start_time: "00:00", - end_time: "00:00", - }); - const [selected, setSelected] = useState({ - numberOfTurns: "", - timeOfEachTurn: "", - }); - - const updateSelect = (event, name) => - setSelected({ ...selected, [name]: event.target.innerText }); - - const changeData = (value, name) => - setData({ - ...data, - [name]: value, - }); - - const handleDisableHours = (e, n) => { - if (data.start_time === "00:00" && n === "end_time") return true; - if (data.start_time !== "00:00" && n === "end_time") { - const hourSelected = data.start_time - ? +data.start_time.split(":")[0] - : false; - - const hours = e.$H; - return hourSelected + 1 > hours; - } - }; - - return ( -
-
- - - - - - -
-
-
-
- - - - - } - name="start_time" - data={data} - /> - - - } - name="end_time" - data={data} - /> - - -
-
- ); -} - -export default Form; diff --git a/components/panel/addDoctor/listMenu/specialDays/List.js b/components/panel/addDoctor/listMenu/specialDays/List.js deleted file mode 100644 index a3b9ae6..0000000 --- a/components/panel/addDoctor/listMenu/specialDays/List.js +++ /dev/null @@ -1,91 +0,0 @@ -import { useState } from "react"; -import { - Table, - TableBody, - TableCell, - TableContainer, - TableHead, - TableRow, -} from "@mui/material"; - -function List() { - const [data, setData] = useState([ - { name: "شنبه", morning_time: "9 - 12", evening_time: "16 - 21" }, - { name: "یکشنبه", morning_time: "9 - 12", evening_time: "16 - 21" }, - { name: "دوشنبه", morning_time: "9 - 12", evening_time: "16 - 21" }, - ]); - - const [open, setOpen] = useState(false); - - return ( -
-

- لیست روزهای خاص -

- - - - - - روز های هفته - - - تایم صبح - - - تایم عصر - - - - - {data.map((row) => ( - - - {row.name} - - - {row.morning_time} - - - {row.evening_time} - - - ))} - -
-
-
- ); -} - -export default List; diff --git a/components/panel/addDoctor/listMenu/specialDays/index.js b/components/panel/addDoctor/listMenu/specialDays/index.js deleted file mode 100644 index 8b5d20e..0000000 --- a/components/panel/addDoctor/listMenu/specialDays/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { Button } from "@mui/material"; -import Form from "./Form"; -import List from "./List"; -import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD"; - -function SpecialDays() { - return ( -
- - - -
- ); -} - -export default SpecialDays; diff --git a/components/panel/addDoctor/listMenu/specialDays/listSelector.js b/components/panel/addDoctor/listMenu/specialDays/listSelector.js deleted file mode 100644 index 6b7a9de..0000000 --- a/components/panel/addDoctor/listMenu/specialDays/listSelector.js +++ /dev/null @@ -1,22 +0,0 @@ -export const turnsPerDay = [ - { label: "1", id: 10 }, - { label: "2", id: 20 }, - { label: "3", id: 30 }, - { label: "4", id: 40 }, -]; - -export const timeEachTurn = [ - { label: "10", id: 10 }, - { label: "20", id: 20 }, - { label: "30", id: 30 }, - { label: "40", id: 40 }, -]; - -export const dayOfWeek = [ - { label: "شنبه", id: 10 }, - { label: "یکشنبه", id: 20 }, - { label: "دوشنبه", id: 30 }, - { label: "سه شنبه", id: 40 }, - { label: "چهار شنبه", id: 40 }, - { label: "پنج شنبه", id: 40 }, -]; diff --git a/components/panel/addDoctor/listMenu/turns/Form.js b/components/panel/addDoctor/listMenu/turns/Form.js deleted file mode 100644 index 6a35877..0000000 --- a/components/panel/addDoctor/listMenu/turns/Form.js +++ /dev/null @@ -1,37 +0,0 @@ -import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect"; -import ContentText from "@/app/component/ContentText"; -import { numberOfTurns, timeOfEachTurn } from "./listSelector"; -import { useState } from "react"; - -function Form() { - const [selected, setSelected] = useState({ - numberOfTurns: "", - timeOfEachTurn: "", - }); - - const updateSelect = (event, name) => - setSelected({ ...selected, [name]: event.target.innerText }); - - return ( -
- - - - - - -
- ); -} - -export default Form; diff --git a/components/panel/addDoctor/listMenu/turns/index.js b/components/panel/addDoctor/listMenu/turns/index.js deleted file mode 100644 index b577378..0000000 --- a/components/panel/addDoctor/listMenu/turns/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import { Button } from "@mui/material"; -import Form from "./Form"; -import ArrowLeftWhiteD from "@/components/icons/ArrowLeftWhiteD"; - -function Turns() { - return ( -
- - -
- ); -} - -export default Turns; diff --git a/components/panel/addDoctor/listMenu/turns/listSelector.js b/components/panel/addDoctor/listMenu/turns/listSelector.js deleted file mode 100644 index 0caa575..0000000 --- a/components/panel/addDoctor/listMenu/turns/listSelector.js +++ /dev/null @@ -1,13 +0,0 @@ -export const numberOfTurns = [ - { label: "نوبت 1", id: 10 }, - { label: "نوبت 2", id: 20 }, - { label: "نوبت 3", id: 30 }, - { label: "نوبت 4", id: 40 }, -]; - -export const timeOfEachTurn = [ - { label: "دقیقه 1", id: 10 }, - { label: "دقیقه 2", id: 20 }, - { label: "دقیقه 3", id: 30 }, - { label: "دقیقه 4", id: 40 }, -]; diff --git a/components/panel/addDoctor/listMenu/workingDays/modal/Form.js b/components/panel/addDoctor/listMenu/workingDays/modal/Form.js index f372ce0..aa0ceab 100644 --- a/components/panel/addDoctor/listMenu/workingDays/modal/Form.js +++ b/components/panel/addDoctor/listMenu/workingDays/modal/Form.js @@ -3,8 +3,6 @@ import ContentText from "@/app/component/ContentText"; import TimePickerField from "@/app/component/TimePickerField"; function Form({ handleClose, isVacation, setData, dataChange, data, value }) { - // console.log(isVacation); - return (