bug:linkagem para ver detalhes e editar a lista de médicos

This commit is contained in:
joao_pedro 2025-12-05 11:25:40 -03:00
parent be160327fb
commit 91a4193512
5 changed files with 17 additions and 40 deletions

View File

@ -780,4 +780,4 @@ const handleAvailabilityUpdate = useCallback((newAvailability) => {
);
}
export default DoctorForm;
export default DoctorForm;

View File

@ -23,6 +23,7 @@ const Voltar = () => {
navigate(`/${prefixo}/medicos`);
}
console.log(DictInfo)
return (
<>
<div className="card p-3 shadow-sm">
@ -142,4 +143,4 @@ const Voltar = () => {
);
};
export default DoctorDetails;
export default DoctorDetails;

View File

@ -24,13 +24,13 @@ const weekdayStrToNum = Object.fromEntries(
Object.entries(weekdayNumToStr).map(([num, str]) => [str, Number(num)])
);
const EditDoctorPage = () => {
const EditDoctorPage = ({DictInfo}) => {
const { id } = useParams();
const navigate = useNavigate();
const location = useLocation();
const { getAuthorizationHeader } = useAuth();
const [doctor, setDoctor] = useState(null);
const [doctor, setDoctor] = useState({});
const [availability, setAvailability] = useState([]);
const [isLoading, setIsLoading] = useState(true);
const [isSaving, setIsSaving] = useState(false);
@ -194,6 +194,9 @@ const EditDoctorPage = () => {
}, [availability, effectiveId]);
useEffect(() => {
console.log("teste")
setDoctor({...DictInfo})
const fetchDoctorData = async () => {
if (!effectiveId || effectiveId === "edit") {
alert("ID do médico não encontrado");
@ -216,7 +219,7 @@ const EditDoctorPage = () => {
throw new Error("Médico não encontrado");
}
setDoctor(doctorData[0]);
// setDoctor(doctorData[0]);
const availabilityResponse = await fetch(
`${ENDPOINT_AVAILABILITY}?doctor_id=eq.${effectiveId}&order=weekday.asc,start_time.asc`,
@ -281,38 +284,11 @@ const EditDoctorPage = () => {
navigate("/secretaria/medicos");
};
if (isLoading) {
return (
<div className="container mt-4">
<div className="d-flex justify-content-center">
<div className="spinner-border" role="status">
<span className="visually-hidden">Carregando...</span>
</div>
</div>
<p className="text-center mt-2">
Carregando dados do médico ID: {effectiveId || "..."}
</p>
</div>
);
}
if (!doctor) {
if (!isLoading) {
return (
<div className="container mt-4">
<div className="alert alert-danger">
Médico não encontrado
</div>
</div>
);
}
return null;
}
const formData = {
...doctor,
availability: (doctor && doctor.availability) ? doctor.availability : availabilityFormatted,
};
console.log(doctor, "Informações do médico")
return (
<div className="container mt-4">
@ -320,7 +296,7 @@ const EditDoctorPage = () => {
<div className="col-12">
<h1>Editar Médico</h1>
<DoctorForm
formData={formData}
formData={doctor}
setFormData={setDoctor}
onSave={handleSave}
onCancel={handleCancel}
@ -333,4 +309,4 @@ const EditDoctorPage = () => {
);
};
export default EditDoctorPage;
export default EditDoctorPage;

View File

@ -438,13 +438,13 @@ function TableDoctor({setDictInfo}) {
<td>{medico.email || 'Não informado'}</td>
<td>
<div className="d-flex gap-2">
<Link to={`details/${medico.id}`}>
<Link to={`details`}>
<button className="btn btn-sm btn-view" onClick={() => setDictInfo({...medico})}>
<i className="bi bi-eye me-1"></i> Ver Detalhes
</button>
</Link>
<Link to={`edit/${medico.id}`}>
<Link to={`edit`}>
<button className="btn btn-sm btn-edit" onClick={() => setDictInfo({...medico})}>
<i className="bi bi-pencil me-1"></i> Editar
</button>
@ -591,4 +591,4 @@ function TableDoctor({setDictInfo}) {
);
}
export default TableDoctor;
export default TableDoctor;

View File

@ -41,8 +41,8 @@ function PerfilSecretaria({ onLogout }) {
<Route path="medicos" element={<DoctorTable setDictInfo={setDictInfo} />} />
<Route path="pacientes/details" element={<Details DictInfo={DictInfo}/>} />
<Route path="pacientes/edit" element={<EditPage DictInfo={DictInfo}/>} />
<Route path="medicos/details/:id" element={<DoctorDetails doctor={DictInfo} />} />
<Route path="medicos/edit/:id" element={<DoctorEditPage DictInfo={DictInfo} />} />
<Route path="medicos/details" element={<DoctorDetails DictInfo={DictInfo} />} />
<Route path="medicos/edit" element={<DoctorEditPage DictInfo={DictInfo} />} />
<Route path="agendamento" element={<Agendamento setDictInfo={setDictInfo}/>} />
<Route path="agendamento/edit" element={<AgendamentoEditPage setDictInfo={setDictInfo} DictInfo={DictInfo}/>} />
<Route path="laudo" element={<LaudoManager />} />