change default value and handle updateData

This commit is contained in:
Ehsan
2024-10-20 23:58:17 +03:30
parent 773b64ca25
commit 24fbae8797
6 changed files with 21 additions and 12 deletions
+1
View File
@@ -15,6 +15,7 @@ function EditField({
type, type,
props, props,
}) { }) {
console.log(data);
return ( return (
<div className="relative w-full"> <div className="relative w-full">
<TextField <TextField
+6 -7
View File
@@ -35,7 +35,7 @@ function AddDoctorPage() {
work_day: [ work_day: [
{ {
name: "شنبه", name: "شنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -43,7 +43,7 @@ function AddDoctorPage() {
}, },
{ {
name: "یکشنبه", name: "یکشنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -51,7 +51,7 @@ function AddDoctorPage() {
}, },
{ {
name: "دوشنبه", name: "دوشنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -59,7 +59,7 @@ function AddDoctorPage() {
}, },
{ {
name: "سه شنبه", name: "سه شنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -67,7 +67,7 @@ function AddDoctorPage() {
}, },
{ {
name: "چهار شنبه", name: "چهار شنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -75,7 +75,7 @@ function AddDoctorPage() {
}, },
{ {
name: "پنج شنبه", name: "پنج شنبه",
number_turns: 1, number_turns: { value: 1, isEdit: true },
turn_time: "", turn_time: "",
workplace: "", workplace: "",
morning_time: ["", ""], morning_time: ["", ""],
@@ -85,7 +85,6 @@ function AddDoctorPage() {
}); });
console.log(data); console.log(data);
const components = [ const components = [
<GeneralInformation <GeneralInformation
data={data} data={data}
@@ -57,7 +57,7 @@ function List({ parent, data, setData, setIsDisable }) {
</TableRow> </TableRow>
</TableHead> </TableHead>
<TableBody> <TableBody>
{data.map((row, idx) => ( {data[parent].map((row, idx) => (
<TableRow <TableRow
key={row.name} key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }} sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
@@ -12,9 +12,9 @@ function WorkingDays({ parent, data, setData }) {
لیست روزهای کاری لیست روزهای کاری
</p> </p>
<List <List
data={data}
parent={parent} parent={parent}
setData={setData} setData={setData}
data={data.work_day}
setIsDisable={setIsDisable} setIsDisable={setIsDisable}
/> />
<Button <Button
@@ -4,6 +4,7 @@ import TimePickerField from "@/app/component/TimePickerField";
import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect"; import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect";
import { turnTime, workplace } from "./listSelector"; import { turnTime, workplace } from "./listSelector";
import EditField from "@/app/component/EditField"; import EditField from "@/app/component/EditField";
import { useState } from "react";
function Form({ function Form({
handleClose, handleClose,
@@ -14,6 +15,7 @@ function Form({
data, data,
value, value,
}) { }) {
const [update, setUpdate] = useState(false);
const updateData = (value, type, name) => const updateData = (value, type, name) =>
setData((prev) => { setData((prev) => {
const newData = prev; const newData = prev;
@@ -21,6 +23,13 @@ function Form({
return newData; return newData;
}); });
const updateNum = (value, type, name) => {
const prevData = data;
data[parent][dataChange.idx][name].value = +value;
setUpdate(!update);
setData(prevData);
};
return ( return (
<div className="flex flex-col gap-[32px] md:gap-[36px] lg:gap-[40px] min-w-fit md:min-w-[420px]"> <div className="flex flex-col gap-[32px] md:gap-[36px] lg:gap-[40px] min-w-fit md:min-w-[420px]">
<div className="flex relative flex-col gap-[16px]"> <div className="flex relative flex-col gap-[16px]">
@@ -28,8 +37,8 @@ function Form({
<EditField <EditField
isTransparent={true} isTransparent={true}
iconGray={true} iconGray={true}
changeData={updateData} changeData={updateNum}
data={data?.number_turns} data={data[parent][dataChange.idx].number_turns}
noDisable={true} noDisable={true}
type="number" type="number"
placeholder="انتخاب کنید..." placeholder="انتخاب کنید..."
@@ -21,7 +21,7 @@ function ContentModal({
const handleChange = (event) => { const handleChange = (event) => {
const valueRadio = +event.target.value; const valueRadio = +event.target.value;
const newData = data; const newData = data[parent];
const { idx, is_morgen } = dataChange; const { idx, is_morgen } = dataChange;
newData[idx][is_morgen ? "morning_time" : "evening_time"][0] = "تعطیل"; newData[idx][is_morgen ? "morning_time" : "evening_time"][0] = "تعطیل";