handle change data step office information
This commit is contained in:
@@ -25,6 +25,8 @@ function AddDoctorPage() {
|
|||||||
phone: { value: 1741025645, isEdit: false },
|
phone: { value: 1741025645, isEdit: false },
|
||||||
office_number1: { value: "", isEdit: false },
|
office_number1: { value: "", isEdit: false },
|
||||||
office_number2: { value: "", isEdit: false },
|
office_number2: { value: "", isEdit: false },
|
||||||
|
state: { value: "", isEdit: false },
|
||||||
|
city: { value: "", isEdit: false },
|
||||||
},
|
},
|
||||||
work_day: [
|
work_day: [
|
||||||
{ name: "شنبه", morning_time: ["", ""], evening_time: ["", ""] },
|
{ name: "شنبه", morning_time: ["", ""], evening_time: ["", ""] },
|
||||||
@@ -43,12 +45,15 @@ function AddDoctorPage() {
|
|||||||
setData={setData}
|
setData={setData}
|
||||||
setValue={setValue}
|
setValue={setValue}
|
||||||
/>,
|
/>,
|
||||||
<OfficeInformation data={data} setData={setData} setValue={setValue} />,
|
<OfficeInformation
|
||||||
|
parent="office"
|
||||||
|
data={data}
|
||||||
|
setData={setData}
|
||||||
|
setValue={setValue}
|
||||||
|
/>,
|
||||||
<WorkingDays data={data} setData={setData} setValue={setValue} />,
|
<WorkingDays data={data} setData={setData} setValue={setValue} />,
|
||||||
];
|
];
|
||||||
|
|
||||||
console.log(data);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="opacity-page">
|
<div className="opacity-page">
|
||||||
<p className="text-[#525252] dark:text-[#D7D8ED] text-[20px] font-bold hidden md:flex">
|
<p className="text-[#525252] dark:text-[#D7D8ED] text-[20px] font-bold hidden md:flex">
|
||||||
|
|||||||
@@ -1,41 +1,32 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useState } from "react";
|
|
||||||
|
|
||||||
import { city, state } from "./listSelector";
|
import { city, state } from "./listSelector";
|
||||||
import EditField from "@/app/component/EditField";
|
import EditField from "@/app/component/EditField";
|
||||||
import ContentText from "@/app/component/ContentText";
|
import ContentText from "@/app/component/ContentText";
|
||||||
import AddLocationP from "@/components/icons/AddLocationP";
|
import AddLocationP from "@/components/icons/AddLocationP";
|
||||||
import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
|
import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
|
||||||
|
|
||||||
function Form() {
|
function Form({ parent, data, setData }) {
|
||||||
const [data, setData] = useState({
|
const changeData = (value, type, name) => {
|
||||||
address: { value: "", isEdit: false },
|
setData((prev) => {
|
||||||
phone: { value: 1741025645, isEdit: false },
|
return {
|
||||||
office_number1: { value: "", isEdit: false },
|
...prev,
|
||||||
office_number2: { value: "", isEdit: false },
|
[parent]: {
|
||||||
});
|
...prev[parent],
|
||||||
const [selected, setSelected] = useState({
|
[name]: {
|
||||||
state: "",
|
...prev[parent][name],
|
||||||
city: "",
|
[type]: value,
|
||||||
});
|
},
|
||||||
const updateSelect = (event, name) =>
|
},
|
||||||
setSelected({ ...selected, [name]: event });
|
};
|
||||||
|
|
||||||
const changeData = (value, type, name) =>
|
|
||||||
setData({
|
|
||||||
...data,
|
|
||||||
[name]: {
|
|
||||||
...data[name],
|
|
||||||
[type]: value,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mt-[24px] grid grid-cols-1 md:grid-cols-2 gap-x-[48px] gap-y-[24px]">
|
<div className="mt-[24px] grid grid-cols-1 md:grid-cols-2 gap-x-[48px] gap-y-[24px]">
|
||||||
<ContentText text="استان">
|
<ContentText text="استان">
|
||||||
<AutoCompleteSelect
|
<AutoCompleteSelect
|
||||||
updateData={updateSelect}
|
updateData={changeData}
|
||||||
label="انتخاب کنید..."
|
label="انتخاب کنید..."
|
||||||
name="state"
|
name="state"
|
||||||
list={state}
|
list={state}
|
||||||
@@ -43,7 +34,7 @@ function Form() {
|
|||||||
</ContentText>
|
</ContentText>
|
||||||
<ContentText text="شهر">
|
<ContentText text="شهر">
|
||||||
<AutoCompleteSelect
|
<AutoCompleteSelect
|
||||||
updateData={updateSelect}
|
updateData={changeData}
|
||||||
label="انتخاب کنید..."
|
label="انتخاب کنید..."
|
||||||
name="city"
|
name="city"
|
||||||
list={city}
|
list={city}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import ArrowLeftPA from "@/components/icons/ArrowLeftPA";
|
|||||||
import { Button } from "@mui/material";
|
import { Button } from "@mui/material";
|
||||||
import Form from "./Form";
|
import Form from "./Form";
|
||||||
|
|
||||||
function OfficeInformation({ setValue }) {
|
function OfficeInformation({ setValue, parent, data, setData }) {
|
||||||
return (
|
return (
|
||||||
<div className="opacity-page pb-[24px]">
|
<div className="opacity-page pb-[24px]">
|
||||||
<Form />
|
<Form parent={parent} setData={setData} data={data.office} />
|
||||||
<div className="mt-[40px] w-full flex justify-end">
|
<div className="mt-[40px] w-full flex justify-end">
|
||||||
<Button
|
<Button
|
||||||
className="!bg-[#5559CE] !w-full md:!w-fit !shadow-none !rounded-[4px] !gap-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium"
|
className="!bg-[#5559CE] !w-full md:!w-fit !shadow-none !rounded-[4px] !gap-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium"
|
||||||
|
|||||||
Reference in New Issue
Block a user