diff --git a/src/components/AgendarConsulta/FormNovaConsulta.jsx b/src/components/AgendarConsulta/FormNovaConsulta.jsx index 39575c2..2a00702 100644 --- a/src/components/AgendarConsulta/FormNovaConsulta.jsx +++ b/src/components/AgendarConsulta/FormNovaConsulta.jsx @@ -1,11 +1,12 @@ import InputMask from "react-input-mask"; import "./style/formagendamentos.css"; import { useState, useEffect, useCallback } from "react"; -import { GetPatientByCPF } from "../utils/Functions-Endpoints/Patient"; +import { GetPatientByCPF, GetAllPatients } from "../utils/Functions-Endpoints/Patient"; import { GetAllDoctors } from "../utils/Functions-Endpoints/Doctor"; import { useAuth } from "../utils/AuthProvider"; import API_KEY from "../utils/apiKeys"; + const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => { const { getAuthorizationHeader } = useAuth(); @@ -19,6 +20,10 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => const [horarioTermino, setHorarioTermino] = useState(''); const [horariosDisponiveis, sethorariosDisponiveis] = useState([]); + const [todosPacientes, setTodosPacientes] = useState([]) + const [pacientesFiltrados, setPacientesFiltrados] = useState([]) + const [isDropdownPacienteOpen, setIsDropdownPacienteOpen] = useState(false) + const [status, setStatus] = useState("confirmed") let authHeader = getAuthorizationHeader() @@ -70,6 +75,13 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => setTodosProfissionais(Medicos); }, [authHeader]); + const ChamarPacientes = useCallback (async () => { + const Pacientes = await GetAllPatients(authHeader); + setTodosPacientes(Pacientes) + console.log("pacientes") + console.log(Pacientes) + }, [authHeader]) + useEffect(() => { console.log("Horario","tessssste" ) @@ -82,6 +94,11 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => ChamarMedicos(); }, [ChamarMedicos]); + useEffect(() => { + + ChamarPacientes() + }, [ChamarPacientes]) + useEffect(() => { if (!agendamento.dataAtendimento || !agendamento.doctor_id) return; @@ -126,6 +143,25 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => setIsDropdownOpen(filtered.length > 0); }; + const handleSearchPaciente = (e) => { + const term = e.target.value; + handleChange(e); + + if (term.trim() === '') { + setPacientesFiltrados([]); + setIsDropdownPacienteOpen(false); + return; + } + + const filtered = todosPacientes.filter(p => + p.full_name.toLowerCase().includes(term.toLowerCase()) + ); + console.log(filtered.length > 0, "filtrados") + + setPacientesFiltrados(filtered); + setIsDropdownPacienteOpen(filtered.length > 0); + } + const handleSelectProfissional = (profissional) => { setAgendamento(prev => ({ ...prev, @@ -136,6 +172,18 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) => setIsDropdownOpen(false); }; + const handleSelectPaciente = (paciente) => { + setAgendamento(prev => ({ + ...prev, + patient_id:paciente.id, + paciente_nome: paciente.full_name, + paciente_cpf: paciente.cpf + })) + setProfissionaisFiltrados([]) + setIsDropdownPacienteOpen(false) + + } + const formatarHora = (datetimeString) => { return datetimeString?.substring(11, 16) || ''; }; @@ -211,17 +259,7 @@ const FormNovaConsulta = ({ onCancel, onSave, setAgendamento, agendamento }) =>
{sessoes}
- - -