Bug concertado nos agendamentos dos perfis

This commit is contained in:
joao_pedro 2025-11-04 11:53:45 -03:00
parent 7557aa28ea
commit cbfca9d6b4
10 changed files with 36 additions and 36 deletions

View File

@ -5,7 +5,7 @@ import API_KEY from '../components/utils/apiKeys'
import { useAuth } from '../components/utils/AuthProvider'
import { UserInfos } from '../components/utils/Functions-Endpoints/General'
const DoctorAgendamentoEditPage = ({DictInfo}) => {
const DoctorAgendamentoEditPage = ({DictInfo, setDictInfo}) => {
const {getAuthorizationHeader} = useAuth();
@ -17,14 +17,15 @@ const DoctorAgendamentoEditPage = ({DictInfo}) => {
useEffect(() => {
//console.log(DictInfo.scheduled_at.split("T")[0])
setDictInfo({...DictInfo, dataAtendimento:DictInfo?.scheduled_at?.split("T")[0]})
const fetchUserInfo = async () => {
const InfosUser = await UserInfos(authHeader)
console.log("Informações", InfosUser)
setIdUsuario(InfosUser.id)
}
setConsultaToPUT(DictInfo)
fetchUserInfo()
@ -70,7 +71,7 @@ const DoctorAgendamentoEditPage = ({DictInfo}) => {
redirect: 'follow'
};
fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${consultaToPut.id}`, requestOptions)
fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${DictInfo.id}`, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
@ -81,7 +82,7 @@ const DoctorAgendamentoEditPage = ({DictInfo}) => {
return (
<div>
<FormNovaConsulta agendamento={consultaToPut} setAgendamento={setConsultaToPUT} onSave={handleSave}/>
<FormNovaConsulta agendamento={DictInfo} setAgendamento={setDictInfo} onSave={handleSave}/>
</div>
)
}

View File

@ -441,6 +441,8 @@ const confirmConsulta = (selectedPatientId) => {
type="button"
className="btn btn-danger"
onClick={() => {
deleteConsulta(selectedID)
setShowDeleteModal(false)
let lista_cores = coresConsultas

View File

@ -14,7 +14,6 @@ const CardConsultaPaciente = ({consulta, setConsulta, setSelectedId, setShowDel
const ids = useMemo(() => {
return {
doctor_id: consulta?.doctor_id,
@ -45,9 +44,6 @@ const CardConsultaPaciente = ({consulta, setConsulta, setSelectedId, setShowDel
}, [ids, authHeader]);
console.log(consulta, "dento do card")
let horario = consulta.scheduled_at.split("T")[1]
let Data = consulta.scheduled_at.split("T")[0]

View File

@ -30,14 +30,16 @@ const ConsultaCadastroManager = () => {
}, [])
const handleSave = (Dict) => {
let DataAtual = dayjs()
var myHeaders = new Headers();
myHeaders.append("apikey", API_KEY);
myHeaders.append("Authorization", authHeader);
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"patient_id": Dict.patient_id,
"patient_id": "6e7f8829-0574-42df-9290-8dbb70f75ada",
"doctor_id": Dict.doctor_id,
"scheduled_at": `${Dict.dataAtendimento}T${Dict.horarioInicio}:00.000Z`,
"duration_minutes": 30,

View File

@ -169,7 +169,7 @@ const formatarHora = (datetimeString) => {
const handleSubmit = (e) => {
e.preventDefault();
alert("Agendamento salvo!");
navigate("/paciente/agendamento")
onSave({...agendamento, horarioInicio:horarioInicio})
};

View File

@ -15,19 +15,16 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
const [decidirBotton, setDecidirBotton] = useState("")
console.log(DadosConsulta, "NOME DO PACIENTE"
)
const ids = useMemo(() => {
/* const ids = useMemo(() => {
return {
doctor_id: DadosConsulta?.doctor_id,
patient_id: DadosConsulta?.patient_id,
status: DadosConsulta?.status
};
}, [DadosConsulta]);
*/
/*
useEffect(() => {
const BuscarMedicoEPaciente = async () => {
if (!ids.doctor_id || !ids.patient_id || ids.status === 'nada') return;
@ -46,10 +43,10 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
};
BuscarMedicoEPaciente();
}, [ids, authHeader]);
}, [ids, authHeader]);*/
let nameArrayPaciente = DadosConsulta?.medico_nome?.split(' ')
let nameArrayMedico = DadosConsulta?.paciente_nome?.split(' ')
let nameArrayPaciente = DadosConsulta?.paciente_nome?.split(' ')
let nameArrayMedico = DadosConsulta?.medico_nome?.split(' ')
let indice_cor = listaConsultasID.indexOf(DadosConsulta.id)
@ -82,7 +79,7 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
onClick={() => {navigate(`edit`)
console.log(DadosConsulta)
setDictInfo({...DadosConsulta,paciente_cpf:"", paciente_nome:DadosConsulta?.paciente_nome, nome_medico:DadosConsulta?.medico_nome})
setDictInfo({...DadosConsulta,paciente_cpf:DadosConsulta?.paciente_cpf, paciente_nome:DadosConsulta?.paciente_nome, nome_medico:DadosConsulta?.nome_medico})
}}
>

View File

@ -89,7 +89,7 @@ const [isDropdownOpen, setIsDropdownOpen] = useState(false);
// Se estiver na página de edição esse useEffect pega o horario de inicio para coloca-lo no horarioInicio
useEffect(() => {
console.log("Horario", )
console.log("Horario","tessssste" )
if (agendamento?.scheduled_at) {
setHorarioInicio(formatarHora(agendamento.scheduled_at));
}
@ -303,7 +303,7 @@ const handleSubmit = (e) => {
<select
id="inicio"
name="inicio"
required
value={horarioInicio}
onChange={(e) => setHorarioInicio(e.target.value)}
>

View File

@ -51,12 +51,8 @@ const Agendamento = ({setDictInfo}) => {
const [cacheAgendamentos, setCacheAgendamentos] = useState([])
const [showConfirmModal, setShowConfirmModal] = useState(false)
const [motivoCancelamento, setMotivoCancelamento] = useState("")
const [corModal, setCorModal] = useState("")
const [listaConsultasID, setListaConsultaID] = useState([])
const [coresConsultas,setCoresConsultas] = useState([])
@ -76,7 +72,7 @@ console.log("recarregando")
const fetchDados = async () => {
for (const agendamento of listaTodosAgendamentos) {
if (agendamento.status === "requested") {
// Cache de médico e paciente
if (!cacheMedicos[agendamento.doctor_id]) {
cacheMedicos[agendamento.doctor_id] = await GetDoctorByID(agendamento.doctor_id, authHeader);
@ -88,6 +84,7 @@ console.log("recarregando")
const medico = cacheMedicos[agendamento.doctor_id];
const paciente = cachePacientes[agendamento.patient_id];
if (agendamento.status === "requested") {
ListaFilaDeEspera.push({
agendamento,
Infos: {
@ -96,15 +93,22 @@ console.log("recarregando")
patient_id: paciente[0]?.id,
paciente_nome: paciente[0]?.full_name,
paciente_cpf: paciente[0]?.cpf,
},
});
} else {
const DiaAgendamento = agendamento.scheduled_at.split("T")[0];
let agendamentoMelhorado = {...agendamento, medico_nome: medico[0]?.full_name,
doctor_id: medico[0]?.id,
patient_id: paciente[0]?.id,
paciente_nome: paciente[0]?.full_name,
paciente_cpf: paciente[0]?.cpf, }
if (DiaAgendamento in DictAgendamentosOrganizados) {
DictAgendamentosOrganizados[DiaAgendamento].push(agendamento);
DictAgendamentosOrganizados[DiaAgendamento].push(agendamentoMelhorado);
} else {
DictAgendamentosOrganizados[DiaAgendamento] = [agendamento];
DictAgendamentosOrganizados[DiaAgendamento] = [agendamentoMelhorado];
}
}
}

View File

@ -16,12 +16,12 @@ const AgendamentoEditPage = ({setDictInfo, DictInfo}) => {
let id = params.id
console.log(DictInfo, "DENTRO DO EDITAR")
//console.log(DictInfo, 'aqui')
useEffect(() => {
setDictInfo({...DictInfo, dataAtendimento:DictInfo.scheduled_at.split("T")[0]})
setDictInfo({...DictInfo, dataAtendimento:DictInfo.scheduled_at.split("T")[0]})
const ColherInfoUsuario =async () => {
const result = await UserInfos(authHeader)
@ -51,9 +51,7 @@ const AgendamentoEditPage = ({setDictInfo, DictInfo}) => {
"doctor_id": DictParaPatch.doctor_id,
"duration_minutes": 30,
"chief_complaint": "Dor de cabeça há 3 ",
"created_by": idUsuario,
"scheduled_at": `${DictParaPatch.dataAtendimento}T${DictParaPatch.horarioInicio}:00.000Z`,

View File

@ -30,7 +30,7 @@ function PerfilMedico() {
<Route path="/prontuario" element={<Prontuario />} />
<Route path="/relatorios" element={<DoctorRelatorioManager />} />
<Route path="/agendamento" element={<DoctorAgendamentoManager setDictInfo={setDictInfo}/>} />
<Route path="/agendamento/edit" element={<DoctorAgendamentoEditPage DictInfo={dictInfo}/>} />
<Route path="/agendamento/edit" element={<DoctorAgendamentoEditPage DictInfo={dictInfo} setDictInfo={setDictInfo}/>} />
<Route path="/chat" element={<Chat />} />
</Routes>
</div>