handle change data and update data in dashboard page for all tabs

This commit is contained in:
Ehsan
2025-06-11 16:52:01 +03:30
parent 72ed07071c
commit bf64271d14
26 changed files with 235 additions and 118 deletions
@@ -1,6 +1,7 @@
import { useState } from "react";
import HeadTab from "../content/HeadTab";
import profileData from "@/data/profile_other.json";
import { request } from "@/services/response";
import { setNewData } from "./function";
// Tabs
import Medications from "./medications";
@@ -10,8 +11,6 @@ import Allergies from "./allergies";
import Surgeries from "./surgeries";
import FamilyHistory from "./familyHistory";
import Relatives from "./relatives";
import { request } from "@/services/response";
import { changeData } from "./function";
function DetailUser({
user,
@@ -20,50 +19,28 @@ function DetailUser({
isTurnsDetails,
setIsTurnsDetails,
}) {
const [tab, setTab] = useState(0);
const {
name,
description,
birthday,
insurance_id,
basic_insurance,
blood_type,
education,
fathers_name,
gender,
home_phone,
job,
marital_status,
national_code,
national_code_approved,
supplementary_insurance,
work_phone,
address,
other,
} = dataUser;
const [data, setData] = useState({
name: name,
description: description,
birthday: birthday,
insurance_id: insurance_id,
basic_insurance: basic_insurance,
blood_type: blood_type,
education: education,
fathers_name: fathers_name,
gender: gender,
home_phone: home_phone,
job: job,
marital_status: marital_status,
national_code: national_code,
national_code_approved: national_code_approved,
supplementary_insurance: supplementary_insurance,
work_phone: work_phone,
address: address,
other: other,
});
console.log(data);
console.log(dataUser);
console.log(userInfo);
const [tab, setTab] = useState(5);
const initialData = {
name: dataUser?.name,
description: dataUser?.description,
birthday: dataUser?.birthday,
basic_insurance: [dataUser?.basic_insurance?.id],
blood_type: dataUser?.blood_type,
education: dataUser?.education,
fathers_name: dataUser?.fathers_name,
gender: dataUser?.gender,
home_phone: dataUser?.home_phone,
job: dataUser?.job,
marital_status: dataUser?.marital_status,
supplementary_insurance: dataUser?.supplementary_insurance,
work_phone: dataUser?.work_phone,
address: dataUser?.address,
other: dataUser?.other,
national_code: dataUser?.national_code,
};
const [data, setData] = useState(initialData);
const [loading, setLoading] = useState(false);
const listTab = [
"اطلاعات عمومی",
@@ -77,11 +54,18 @@ function DetailUser({
const handleChange = (_, newValue) => setTab(newValue);
const updateData = () => {
setLoading(true);
request
.patchUserProfile(data, data.uuid)
.then((res) => {})
.catch((err) => {});
.patchUserProfile(data, dataUser.uuid)
.then((res) => {
setLoading(false);
})
.catch((err) => {
setLoading(false);
});
};
const changeData = (action, name, id, payload) =>
setNewData(action, name, id, payload, data, setData);
const components = [
<Information
@@ -93,12 +77,42 @@ function DetailUser({
isTurnsDetails={isTurnsDetails}
setIsTurnsDetails={setIsTurnsDetails}
/>,
<Disease data={data} setData={setData} updateData={updateData} />,
<Allergies data={data} changeData={changeData} />,
<Medications data={data} changeData={changeData} />,
<Surgeries data={data} changeData={changeData} />,
<FamilyHistory data={data} changeData={changeData} />,
<Relatives data={data} changeData={changeData} />,
<Disease
data={data}
setData={setData}
loading={loading}
updateData={updateData}
/>,
<Allergies
data={data}
loading={loading}
changeData={changeData}
updateData={updateData}
/>,
<Medications
data={data}
loading={loading}
changeData={changeData}
updateData={updateData}
/>,
<Surgeries
data={data}
loading={loading}
changeData={changeData}
updateData={updateData}
/>,
<FamilyHistory
data={data}
loading={loading}
changeData={changeData}
updateData={updateData}
/>,
<Relatives
data={data}
loading={loading}
changeData={changeData}
updateData={updateData}
/>,
];
return (