133 lines
3.2 KiB
JavaScript
133 lines
3.2 KiB
JavaScript
import { useState } from "react";
|
|
import HeadTab from "../content/HeadTab";
|
|
import { request } from "@/services/response";
|
|
import { setNewData } from "./function";
|
|
|
|
// Tabs
|
|
import Medications from "./medications";
|
|
import Information from "./information";
|
|
import Disease from "./disease";
|
|
import Allergies from "./allergies";
|
|
import Surgeries from "./surgeries";
|
|
import FamilyHistory from "./familyHistory";
|
|
import Relatives from "./relatives";
|
|
|
|
function DetailUser({
|
|
user,
|
|
dataUser,
|
|
userInfo,
|
|
isTurnsDetails,
|
|
setIsTurnsDetails,
|
|
}) {
|
|
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 = [
|
|
"اطلاعات عمومی",
|
|
"بیماریها",
|
|
"آلرژیها",
|
|
"داروهای مصرفی",
|
|
"جراحیها",
|
|
"سابقه خانوادگی بیماری",
|
|
"بستگان",
|
|
];
|
|
|
|
const handleChange = (_, newValue) => setTab(newValue);
|
|
const updateData = () => {
|
|
setLoading(true);
|
|
request
|
|
.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
|
|
user={user}
|
|
data={data}
|
|
setData={setData}
|
|
userInfo={userInfo}
|
|
dataUser={dataUser}
|
|
isTurnsDetails={isTurnsDetails}
|
|
setIsTurnsDetails={setIsTurnsDetails}
|
|
/>,
|
|
<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 (
|
|
<HeadTab
|
|
tab={tab}
|
|
user={user}
|
|
listTab={listTab}
|
|
components={components}
|
|
handleChange={handleChange}
|
|
isTurnsDetails={isTurnsDetails}
|
|
setIsTurnsDetails={setIsTurnsDetails}
|
|
inactives={dataUser ? [] : [1, 2, 3, 4, 5, 6]}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default DetailUser;
|