forked from RiseUP/riseup-squad23
O medico pode alterar as consultas
This commit is contained in:
parent
0b7e863461
commit
c502b73a95
89
src/PagesMedico/DoctorAgendamentoEditPage.jsx
Normal file
89
src/PagesMedico/DoctorAgendamentoEditPage.jsx
Normal file
@ -0,0 +1,89 @@
|
||||
import React, { useState, useEffect } from 'react'
|
||||
|
||||
import FormNovaConsulta from '../components/AgendarConsulta/FormNovaConsulta'
|
||||
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 {getAuthorizationHeader} = useAuth();
|
||||
|
||||
const [consultaToPut, setConsultaToPUT] = useState({})
|
||||
const [idUsuario, setIdUsuario] = useState("")
|
||||
|
||||
|
||||
const authHeader = getAuthorizationHeader()
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const fetchUserInfo = async () => {
|
||||
const InfosUser = await UserInfos(authHeader)
|
||||
console.log("Informações", InfosUser)
|
||||
setIdUsuario(InfosUser.id)
|
||||
}
|
||||
|
||||
setConsultaToPUT(DictInfo)
|
||||
|
||||
fetchUserInfo()
|
||||
|
||||
|
||||
|
||||
}, [])
|
||||
|
||||
const handleSave = (DictParaPatch) => {
|
||||
var myHeaders = new Headers();
|
||||
myHeaders.append("Content-Type", "application/json");
|
||||
myHeaders.append('apikey', API_KEY)
|
||||
myHeaders.append("authorization", authHeader)
|
||||
|
||||
console.log(DictParaPatch)
|
||||
|
||||
var raw = JSON.stringify({"patient_id": DictParaPatch.patient_id,
|
||||
"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`,
|
||||
|
||||
"appointment_type": DictParaPatch.tipo_consulta,
|
||||
|
||||
"patient_notes": "Prefiro horário pela manhã",
|
||||
"insurance_provider": DictParaPatch.convenio,
|
||||
"status": DictParaPatch.status,
|
||||
"created_by": idUsuario
|
||||
|
||||
|
||||
});
|
||||
|
||||
// console.log(DictParaPatch)
|
||||
//console.log(id)
|
||||
|
||||
var requestOptions = {
|
||||
method: 'PATCH',
|
||||
headers: myHeaders,
|
||||
body: raw,
|
||||
redirect: 'follow'
|
||||
};
|
||||
|
||||
fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${consultaToPut.id}`, requestOptions)
|
||||
.then(response => response.text())
|
||||
.then(result => console.log(result))
|
||||
.catch(error => console.log('error', error));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<FormNovaConsulta agendamento={consultaToPut} setAgendamento={setConsultaToPUT} onSave={handleSave}/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default DoctorAgendamentoEditPage
|
||||
@ -13,7 +13,7 @@ import { useAuth } from '../components/utils/AuthProvider.js';
|
||||
// ✨ NOVO: Caminho de importação corrigido com base na sua estrutura de pastas
|
||||
import AgendamentosMes from '../components/AgendarConsulta/DadosConsultasMock.js';
|
||||
|
||||
|
||||
import { UserInfos } from '../components/utils/Functions-Endpoints/General.js';
|
||||
import dayjs from 'dayjs';
|
||||
import "../pages/style/Agendamento.css";
|
||||
import '../pages/style/FilaEspera.css';
|
||||
@ -35,11 +35,6 @@ const Agendamento = ({setDictInfo}) => {
|
||||
const [DictAgendamentosOrganizados, setAgendamentosOrganizados ] = useState({})
|
||||
|
||||
const [showDeleteModal, setShowDeleteModal] = useState(false)
|
||||
const [AgendamentoFiltrado, setAgendamentoFiltrado] = useState()
|
||||
|
||||
const [ListaDeMedicos, setListaDeMedicos] = useState([])
|
||||
const [FiltredTodosMedicos, setFiltredTodosMedicos] = useState([])
|
||||
const [searchTermDoctor, setSearchTermDoctor] = useState('');
|
||||
|
||||
const [coresConsultas, setCoresConsultas] = useState([])
|
||||
|
||||
@ -47,6 +42,8 @@ const Agendamento = ({setDictInfo}) => {
|
||||
|
||||
const [motivoCancelamento, setMotivoCancelamento] = useState("")
|
||||
|
||||
const [user, setUser] = useState({})
|
||||
|
||||
|
||||
let authHeader = getAuthorizationHeader()
|
||||
|
||||
@ -125,8 +122,23 @@ const Agendamento = ({setDictInfo}) => {
|
||||
setfilaEsperaData(ListaFilaDeEspera);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
console.log(user, "usuario")
|
||||
|
||||
}, [user])
|
||||
|
||||
// Requisição inicial para mostrar os agendamentos do banco de dados
|
||||
useEffect(() => {
|
||||
|
||||
async function fetchDadosUser (){
|
||||
let dado = await UserInfos(authHeader)
|
||||
setUser(dado)
|
||||
}
|
||||
|
||||
fetchDadosUser()
|
||||
|
||||
|
||||
var myHeaders = new Headers();
|
||||
myHeaders.append("Authorization", authHeader);
|
||||
myHeaders.append("apikey", API_KEY)
|
||||
@ -285,7 +297,7 @@ const deleteConsulta = (selectedPatientId) => {
|
||||
</section>
|
||||
</div>
|
||||
) : (
|
||||
<AgendamentoCadastroManager setPageConsulta={setPageConsulta} />
|
||||
<AgendamentoCadastroManager setPageConsulta={setPageConsulta} Dict={{nome_medico:user?.profile?.full_name}}/>
|
||||
)}
|
||||
|
||||
{showDeleteModal && (
|
||||
|
||||
@ -7,7 +7,6 @@ import "./style/card-consulta.css"
|
||||
const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, setDictInfo, setSelectedId, setShowConfirmModal, corModal, selectedID, coresConsultas, setListaConsultaID, listaConsultasID} ) => {
|
||||
const navigate = useNavigate();
|
||||
|
||||
console.log(DadosConsulta)
|
||||
|
||||
const {getAuthorizationHeader} = useAuth()
|
||||
const authHeader = getAuthorizationHeader()
|
||||
@ -16,7 +15,9 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
|
||||
|
||||
const [decidirBotton, setDecidirBotton] = useState("")
|
||||
|
||||
console.log(DadosConsulta, "NOME DO PACIENTE"
|
||||
|
||||
)
|
||||
|
||||
const ids = useMemo(() => {
|
||||
return {
|
||||
@ -47,18 +48,10 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
|
||||
BuscarMedicoEPaciente();
|
||||
}, [ids, authHeader]);
|
||||
|
||||
let nameArrayPaciente = DadosConsulta.medico_nome?.split(' ')
|
||||
|
||||
let nameArrayMedico = DadosConsulta?.paciente_nome.split(' ')
|
||||
|
||||
|
||||
let nameArrayPaciente = DadosConsulta?.medico_nome?.split(' ')
|
||||
let nameArrayMedico = DadosConsulta?.paciente_nome?.split(' ')
|
||||
let indice_cor = listaConsultasID.indexOf(DadosConsulta.id)
|
||||
|
||||
// console.log(coresConsultas)
|
||||
//console.log(indice_cor,"indice no cores")
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div className={`container-cardconsulta container-cardconsulta-${TabelaAgendamento} ` }>
|
||||
@ -86,8 +79,8 @@ const CardConsulta = ( {DadosConsulta, TabelaAgendamento, setShowDeleteModal, se
|
||||
<div className='actions-container'>
|
||||
<button className="btn btn-sm btn-edit-custom"
|
||||
|
||||
onClick={() => {navigate(`2/edit`)
|
||||
setDictInfo({...DadosConsulta,paciente_cpf:Paciente.cpf, paciente_nome:Paciente.full_name, nome_medico:Medico.full_name})
|
||||
onClick={() => {navigate(`edit`)
|
||||
setDictInfo({...DadosConsulta,paciente_cpf:"", paciente_nome:DadosConsulta?.paciente_nome, nome_medico:DadosConsulta?.medico_nome})
|
||||
}}
|
||||
|
||||
>
|
||||
|
||||
@ -12,6 +12,9 @@ const TabelaAgendamentoMes = ({ ListarDiasdoMes, agendamentos, setShowDeleteModa
|
||||
const AnoAtual = dataHoje.year();
|
||||
const mes = dataHoje.month() + 1;
|
||||
|
||||
|
||||
console.log(agendamentos)
|
||||
|
||||
let ListaDiasDatas = ListarDiasdoMes(AnoAtual, mes);
|
||||
const [AgendamentosSemanaisOrganizados, setAgendamentosSemanaisOrganizados] = useState({})
|
||||
const [indice, setIndice] = useState("10")
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
{
|
||||
"name": "Seus Agendamentos",
|
||||
"icon": "calendar",
|
||||
"url": "/medico/agendamentoMedico"
|
||||
"url": "/medico/agendamento"
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
@ -18,7 +18,8 @@ const AgendamentoCadastroManager = ({setPageConsulta, Dict}) => {
|
||||
|
||||
if(!Dict){setAgendamento({})}
|
||||
else{
|
||||
setAgendamento(...Dict)
|
||||
console.log(Dict)
|
||||
setAgendamento(Dict)
|
||||
}
|
||||
|
||||
const ColherInfoUsuario =async () => {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Routes, Route } from "react-router-dom";
|
||||
import Sidebar from "../../components/Sidebar";
|
||||
|
||||
import { useState } from "react";
|
||||
import DoctorRelatorioManager from "../../PagesMedico/DoctorRelatorioManager";
|
||||
import Prontuario from "../../PagesMedico/prontuario";
|
||||
import Relatorio from "../../PagesMedico/relatorio";
|
||||
@ -11,7 +11,13 @@ import FormNovoRelatorio from "../../PagesMedico/FormNovoRelatorio";
|
||||
import EditPageRelatorio from "../../PagesMedico/EditPageRelatorio";
|
||||
// ...existing code...
|
||||
|
||||
import DoctorAgendamentoEditPage from "../../PagesMedico/DoctorAgendamentoEditPage";
|
||||
|
||||
function PerfilMedico() {
|
||||
|
||||
const [dictInfo, setDictInfo] = useState({})
|
||||
|
||||
|
||||
return (
|
||||
|
||||
<div id="app" className="active">
|
||||
@ -23,7 +29,8 @@ function PerfilMedico() {
|
||||
<Route path="/relatorios/:id/edit" element={<EditPageRelatorio />} />
|
||||
<Route path="/prontuario" element={<Prontuario />} />
|
||||
<Route path="/relatorios" element={<DoctorRelatorioManager />} />
|
||||
<Route path="/agendamentoMedico" element={<DoctorAgendamentoManager />} />
|
||||
<Route path="/agendamento" element={<DoctorAgendamentoManager setDictInfo={setDictInfo}/>} />
|
||||
<Route path="/agendamento/edit" element={<DoctorAgendamentoEditPage DictInfo={dictInfo}/>} />
|
||||
<Route path="/chat" element={<Chat />} />
|
||||
</Routes>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user