filtro de médico resolvido e mostrar os dias ao lado da data na tabela diaria

This commit is contained in:
joao_pedro 2025-10-28 08:18:20 -03:00
parent 8a3d6e0305
commit 15062ca32e
2 changed files with 40 additions and 3 deletions

View File

@ -19,6 +19,28 @@ const TabelaAgendamentoDia = ({ handleClickAgendamento, agendamentos, setShowDel
setDia(ListaDiasComAgendamentos[indiceAcesso]) setDia(ListaDiasComAgendamentos[indiceAcesso])
}, [indiceAcesso]) }, [indiceAcesso])
const formatarDataComDia = (dataISO) => {
if (!dataISO) return '';
const data = new Date(dataISO); // converte para objeto Date
// nomes dos dias da semana
const dias = [
'Segunda-feira',
'Terça-feira',
'Quarta-feira',
'Quinta-feira',
'Sexta-feira',
'Sábado'
];
const diaSemana = dias[data.getDay()]; // 0 = Domingo, 1 = Segunda, etc.
const dia = dataISO.split('-')[2];
const mes = dataISO.split('-')[1];
const ano = dataISO.split('-')[0];
return `${diaSemana}, ${dia}/${mes}/${ano}`;
};
return ( return (
<div> <div>
@ -27,7 +49,7 @@ const TabelaAgendamentoDia = ({ handleClickAgendamento, agendamentos, setShowDel
<button onClick={() => {if(indiceAcesso === 0)return; else(setIndiceAcesso(indiceAcesso - 1))}}> <i className="bi bi-chevron-compact-left"></i></button> <button onClick={() => {if(indiceAcesso === 0)return; else(setIndiceAcesso(indiceAcesso - 1))}}> <i className="bi bi-chevron-compact-left"></i></button>
<p>{Dia ? `${Dia?.split('-')[2]}/${Dia?.split('-')[1]}/${Dia?.split('-')[0]}`: ''}</p> <p>{Dia ? formatarDataComDia(Dia) : ''}</p>
<button onClick={() => {if(ListaDiasComAgendamentos.length - 1 === indiceAcesso)return; else(setIndiceAcesso(indiceAcesso + 1))}}> <i className="bi bi-chevron-compact-right"></i></button> <button onClick={() => {if(ListaDiasComAgendamentos.length - 1 === indiceAcesso)return; else(setIndiceAcesso(indiceAcesso + 1))}}> <i className="bi bi-chevron-compact-right"></i></button>
</div> </div>

View File

@ -45,6 +45,9 @@ const Agendamento = ({setDictInfo}) => {
const [MedicoFiltrado, setMedicoFiltrado] = useState({id:"vazio"}) const [MedicoFiltrado, setMedicoFiltrado] = useState({id:"vazio"})
const [cacheFiladeEspera, setcacheFiladeEspera] = useState([])
const [cacheAgendamentos, setCacheAgendamentos] = useState([])
let authHeader = getAuthorizationHeader() let authHeader = getAuthorizationHeader()
@ -234,12 +237,14 @@ const deleteConsulta = (selectedPatientId) => {
console.log("Lista completa de Agendamentos do Médico:", agendamentosDoMedico); console.log("Lista completa de Agendamentos do Médico:", agendamentosDoMedico);
//FiltrarAgendamentos(agendamentosDoMedico) //FiltrarAgendamentos(agendamentosDoMedico)
setListaTodosAgendamentos(agendamentosDoMedico)
} }
}, [FiltredTodosMedicos, MedicoFiltrado]); }, [FiltredTodosMedicos, MedicoFiltrado]);
const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => { const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => {
setCacheAgendamentos(DictAgendamentosOrganizados);
const todasAsListasDeAgendamentos = Object.values(dictAgendamentos); const todasAsListasDeAgendamentos = Object.values(dictAgendamentos);
const todosOsAgendamentos = todasAsListasDeAgendamentos.flat(); const todosOsAgendamentos = todasAsListasDeAgendamentos.flat();
@ -253,8 +258,16 @@ const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => {
const handleSearchMedicos = (term) => { const handleSearchMedicos = (term) => {
setSearchTermDoctor(term); setSearchTermDoctor(term);
if (term.trim() === '') { if (term.trim() === '') {
setFiltredTodosMedicos([]); if(MedicoFiltrado.id !== "vazio"){
console.log("Medico escolhido, mas vai ser apagado")
console.log(cacheAgendamentos, "cache ")
setAgendamentosOrganizados(cacheAgendamentos)
}
setFiltredTodosMedicos([]);
setMedicoFiltrado({id:"vazio"}) setMedicoFiltrado({id:"vazio"})
//2 FiltrarAgendamentos() //2 FiltrarAgendamentos()
return; return;
} }
@ -323,6 +336,7 @@ const handleSearchMedicos = (term) => {
setSearchTermDoctor(medico.nomeMedico); setSearchTermDoctor(medico.nomeMedico);
setFiltredTodosMedicos([]); setFiltredTodosMedicos([]);
setMedicoFiltrado(medico) setMedicoFiltrado(medico)
}} }}
> >
<p>{medico.nomeMedico} </p> <p>{medico.nomeMedico} </p>
@ -353,6 +367,7 @@ const handleSearchMedicos = (term) => {
}} }}
> >
Fila de espera Fila de espera
</button> </button>
</div> </div>