Compare commits

...

3 Commits

Author SHA1 Message Date
joao_pedro
22fd2bf847 bug no fetchErros encontrado e resolvido 2025-10-30 10:01:13 -03:00
joao_pedro
a3bd204b88 bug da tabela de paciente encontrado e resolvido 2025-10-30 10:01:13 -03:00
joao_pedro
8b0fd68d6a Bug nos cards de agendamento encontrado e resolvido 2025-10-30 10:01:13 -03:00
9 changed files with 43 additions and 41 deletions

View File

@ -77,7 +77,7 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
<p>Paciente: {nameArrayPaciente && nameArrayPaciente.length > 0 ? nameArrayPaciente[0] : ''} {nameArrayPaciente && nameArrayPaciente.length > 1 ? ` ${nameArrayPaciente[1]}` : ''}- {} <p>Paciente: {nameArrayPaciente && nameArrayPaciente.length > 0 ? nameArrayPaciente[0] : ''} {nameArrayPaciente && nameArrayPaciente.length > 1 ? ` ${nameArrayPaciente[1]}` : ''}- {}
{DadosConsulta.chief_complaint && `Reclamação: ${DadosConsulta.chief_complaint}`}
</p> </p>
</section> </section>
@ -94,15 +94,12 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
<i className="bi bi-pencil me-1"></i> <i className="bi bi-pencil me-1"></i>
</button> </button>
{DadosConsulta.status === "cancelled" ? {DadosConsulta.status === "cancelled" ?
<button <button
className="btn btn-sm btn-confirm-style" className="btn btn-sm btn-confirm-style"
onClick={() => { onClick={() => {
console.log(DadosConsulta.id) console.log(DadosConsulta.id)
setShowConfirmModal(true) setShowConfirmModal(true)
setSelectedId(DadosConsulta.id); setSelectedId(DadosConsulta.id);
}} }}
> >
<i class="bi bi-check-lg"></i> <i class="bi bi-check-lg"></i>

View File

@ -6,7 +6,7 @@ import "./style/styleTabelas/tabelames.css";
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { useMemo } from 'react'; import { useMemo } from 'react';
const TabelaAgendamentoMes = ({ ListarDiasdoMes, agendamentos, setShowDeleteModal, setSelectedId ,setDictInfo, setShowConfirmModal }) => { const TabelaAgendamentoMes = ({ ListarDiasdoMes, agendamentos, setShowDeleteModal, setSelectedId ,setDictInfo, setShowConfirmModal, coresConsultas ,setListaConsultaID, listaConsultasID }) => {
const dataHoje = dayjs(); const dataHoje = dayjs();
const AnoAtual = dataHoje.year(); const AnoAtual = dataHoje.year();
@ -56,19 +56,19 @@ const TabelaAgendamentoMes = ({ ListarDiasdoMes, agendamentos, setShowDeleteModa
} }
switch (diaSemana) { switch (diaSemana) {
case 'Monday': case 'segunda-feira':
semanas[semanaKey].segunda.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].segunda.push(...agendamentos[DiaComAtendimento])
break break
case 'Tuesday': case 'terça-feira':
semanas[semanaKey].terça.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].terça.push(...agendamentos[DiaComAtendimento])
break break
case 'Wednesday': case 'quarta-feira':
semanas[semanaKey].quarta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].quarta.push(...agendamentos[DiaComAtendimento])
break break
case 'Thursday': case 'quinta-feira':
semanas[semanaKey].quinta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].quinta.push(...agendamentos[DiaComAtendimento])
break break
case 'Friday': case 'sexta-feira':
semanas[semanaKey].sexta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].sexta.push(...agendamentos[DiaComAtendimento])
break break
default: default:
@ -202,9 +202,9 @@ const TabelaAgendamentoMes = ({ ListarDiasdoMes, agendamentos, setShowDeleteModa
{ {
semana && typeof semana === "object" && Object.keys(semana).map((dia) => ( semana && typeof semana === "object" && Object.keys(semana).map((dia) => (
<td key={dia} > <td key={dia} >
<CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[0]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> <CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[0]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
<CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[1]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> <CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[1]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
<CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[2]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} /> <CardConsulta TabelaAgendamento={'mes'} DadosConsulta={((semana[dia]|| [])[2]) || {status:'vazio'}} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
{semana[dia].length > 3 ? ( {semana[dia].length > 3 ? (
<div> <div>
<p>{` +${semana[dia].length - 2}`}</p> <p>{` +${semana[dia].length - 2}`}</p>

View File

@ -6,18 +6,20 @@ import { useEffect, useState, useMemo } from 'react';
import weekOfYear from 'dayjs/plugin/weekOfYear' import weekOfYear from 'dayjs/plugin/weekOfYear'
dayjs.extend(weekOfYear) dayjs.extend(weekOfYear)
const TabelaAgendamentoSemana = ({ agendamentos, ListarDiasdoMes, setShowDeleteModal ,setSelectedId ,setDictInfo, setShowConfirmModal}) => { const TabelaAgendamentoSemana = ({ agendamentos, ListarDiasdoMes, setShowDeleteModal ,setSelectedId ,setDictInfo, setShowConfirmModal, coresConsultas ,setListaConsultaID, listaConsultasID}) => {
// Armazena o objeto COMPLETO das semanas organizadas // Armazena o objeto COMPLETO das semanas organizadas
const [semanasOrganizadas, setSemanasOrganizadas] = useState({}); const [semanasOrganizadas, setSemanasOrganizadas] = useState({});
// Controla qual semana está sendo exibida (o índice da chave no objeto) // Controla qual semana está sendo exibida (o índice da chave no objeto)
const [Indice, setIndice] = useState(0); const [Indice, setIndice] = useState(0);
console.log(agendamentos, "agendamentos diarios")
const dataHoje = dayjs(); const dataHoje = dayjs();
const AnoAtual = dataHoje.year(); const AnoAtual = dataHoje.year();
const mes = dataHoje.month() + 1; const mes = dataHoje.month() + 1;
let DiasdoMes = ListarDiasdoMes(AnoAtual, mes)
// Array de chaves (ex: ['semana40', 'semana41', ...]) // Array de chaves (ex: ['semana40', 'semana41', ...])
const chavesDasSemanas = Object.keys(semanasOrganizadas); const chavesDasSemanas = Object.keys(semanasOrganizadas);
@ -46,28 +48,32 @@ const TabelaAgendamentoSemana = ({ agendamentos, ListarDiasdoMes, setShowDeleteM
segunda: [], terça: [], quarta: [], quinta: [], sexta: [] segunda: [], terça: [], quarta: [], quinta: [], sexta: []
} }
} }
console.log(diaSemana)
switch (diaSemana) { switch (diaSemana) {
case 'Monday':
case 'segunda-feira':
console.log("segunda")
semanas[semanaKey].segunda.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].segunda.push(...agendamentos[DiaComAtendimento])
break break
case 'Tuesday': case 'terça-feira':
semanas[semanaKey].terça.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].terça.push(...agendamentos[DiaComAtendimento])
break break
case 'Wednesday': case 'quarta-feira':
semanas[semanaKey].quarta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].quarta.push(...agendamentos[DiaComAtendimento])
break break
case 'Thursday': case 'quinta-feira':
semanas[semanaKey].quinta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].quinta.push(...agendamentos[DiaComAtendimento])
break break
case 'Friday': case 'sexta-feira':
semanas[semanaKey].sexta.push(...agendamentos[DiaComAtendimento]) semanas[semanaKey].sexta.push(...agendamentos[DiaComAtendimento])
break break
default: default:
break break
} }
} }
console.log(semanas) console.log(semanas, "agendamentos semanais")
return semanas return semanas
}, [agendamentos, AnoAtual]) }, [agendamentos, AnoAtual])
@ -178,31 +184,31 @@ const TabelaAgendamentoSemana = ({ agendamentos, ListarDiasdoMes, setShowDeleteM
{/* Mapeamento de COLUNAS (dias) */} {/* Mapeamento de COLUNAS (dias) */}
<td> <td>
{semanaParaRenderizar?.segunda[indiceLinha] {semanaParaRenderizar?.segunda[indiceLinha]
? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar?.segunda[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> ? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar?.segunda[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
: null : null
} }
</td> </td>
<td> <td>
{semanaParaRenderizar.terça[indiceLinha] {semanaParaRenderizar.terça[indiceLinha]
? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.terça[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> ? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.terça[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
: null : null
} }
</td> </td>
<td> <td>
{semanaParaRenderizar.quarta[indiceLinha] {semanaParaRenderizar.quarta[indiceLinha]
? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.quarta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> ? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.quarta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
: null : null
} }
</td> </td>
<td> <td>
{semanaParaRenderizar.quinta[indiceLinha] {semanaParaRenderizar.quinta[indiceLinha]
? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.quinta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal}/> ? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.quinta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>
: null : null
} }
</td> </td>
<td> <td>
{semanaParaRenderizar.sexta[indiceLinha] {semanaParaRenderizar.sexta[indiceLinha]
? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.sexta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} /> ? <CardConsulta TabelaAgendamento={'semana'} DadosConsulta={semanaParaRenderizar.sexta[indiceLinha]} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID} />
: null : null
} }
</td> </td>

View File

@ -65,10 +65,6 @@
} }
.container-cardconsulta{
width: 40rem;
}
.card-verde{ .card-verde{
background-color: #b7ffbd; background-color: #b7ffbd;
border: #91d392; border: #91d392;

View File

@ -114,7 +114,3 @@ html[data-bs-theme="dark"] .tabelasemanal .cardconsulta {
} }
.tabelasemanal td{
width: 50rem;
}

View File

@ -6,7 +6,7 @@ function manager (setShowModal, RefreshingToken, setErrorInfo,errorData) {
if(errorData.httpStatus === 401){ if(errorData.httpStatus === 401){
RefreshingToken() RefreshingToken()
}else{ }else{
// setErrorInfo(errorData) setErrorInfo(errorData)
setShowModal("modal"); setShowModal("modal");
} }
} }

View File

@ -16,7 +16,10 @@ if( ErrorData.httpStatus === 401){
console.log('uaua') console.log('uaua')
}else if(ErrorData.httpStatus === 404){ }else if(ErrorData.httpStatus === 404){
setModalMensagem("Erro interno do sistema") setModalMensagem("Erro interno do sistema")
}else{setModalMensagem(ErrorData.mensagem)} }else if(ErrorData.httpStatus === undefined){
setModalMensagem("Erro operacional no sistema")
}
else{setModalMensagem(ErrorData.mensagem)}
}, [ErrorData]) }, [ErrorData])

View File

@ -21,6 +21,8 @@ import { Search } from 'lucide-react';
const Agendamento = ({setDictInfo}) => { const Agendamento = ({setDictInfo}) => {
const navigate = useNavigate(); const navigate = useNavigate();
@ -435,8 +437,8 @@ const handleSearchMedicos = (term) => {
{/* Componentes de Tabela - Adicionado props de delete da main */} {/* Componentes de Tabela - Adicionado props de delete da main */}
{tabela === "diario" && <TabelaAgendamentoDia handleClickAgendamento={handleClickAgendamento} agendamentos={DictAgendamentosOrganizados} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID} />} {tabela === "diario" && <TabelaAgendamentoDia handleClickAgendamento={handleClickAgendamento} agendamentos={DictAgendamentosOrganizados} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID} />}
{tabela === 'semanal' && <TabelaAgendamentoSemana agendamentos={DictAgendamentosOrganizados} ListarDiasdoMes={ListarDiasdoMes} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} corModal={corModal}/>} {tabela === 'semanal' && <TabelaAgendamentoSemana agendamentos={DictAgendamentosOrganizados} ListarDiasdoMes={ListarDiasdoMes} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>}
{tabela === 'mensal' && <TabelaAgendamentoMes ListarDiasdoMes={ListarDiasdoMes} aplicarCores={true} agendamentos={DictAgendamentosOrganizados} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} corModal={corModal}/>} {tabela === 'mensal' && <TabelaAgendamentoMes ListarDiasdoMes={ListarDiasdoMes} aplicarCores={true} agendamentos={DictAgendamentosOrganizados} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} selectedID={selectedID} setDictInfo={setDictInfo} setShowConfirmModal={setShowConfirmModal} coresConsultas={coresConsultas} setListaConsultaID={setListaConsultaID} listaConsultasID={listaConsultasID}/>}
</div> </div>
</div> </div>
) )

View File

@ -28,7 +28,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
const [showModalError, setShowModalError] = useState(""); const [showModalError, setShowModalError] = useState("");
const [ ErrorInfo, setErrorInfo] = useState({}) const [ErrorInfo, setErrorInfo] = useState({})
const GetAnexos = async (id) => { const GetAnexos = async (id) => {
var myHeaders = new Headers(); var myHeaders = new Headers();
@ -119,7 +119,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
redirect: 'follow' redirect: 'follow'
}; };
fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patient", requestOptions) fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients", requestOptions)
.then(response => { .then(response => {
// 1. VERIFICAÇÃO DO STATUS HTTP (Se não for 2xx) // 1. VERIFICAÇÃO DO STATUS HTTP (Se não for 2xx)
@ -138,6 +138,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
console.error("ERRO DETALHADO:", errorObject); console.error("ERRO DETALHADO:", errorObject);
throw errorObject; throw errorObject;
}); });
} }
// 3. Se a resposta for OK (2xx), processamos o JSON normalmente // 3. Se a resposta for OK (2xx), processamos o JSON normalmente
@ -151,6 +152,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
setShowModalError(false); setShowModalError(false);
}) })
.catch(error => { .catch(error => {
console.error(error, "deu erro")
manager(setShowModalError, RefreshingToken, setErrorInfo, error) manager(setShowModalError, RefreshingToken, setErrorInfo, error)
}); });