From 0a60dd717c87d41a134fb5adc0a3386d501f8b5e Mon Sep 17 00:00:00 2001 From: jp-lima Date: Wed, 10 Sep 2025 15:07:50 -0300 Subject: [PATCH] Tabela semana e mes --- .../AgendarConsulta/CardConsulta.jsx | 29 +++++++ .../AgendarConsulta/DadosConsultasMock.js | 64 +++++++++++--- .../AgendarConsulta/TabelaAgendamentoDia.jsx | 15 ++-- .../AgendarConsulta/TabelaAgendamentoMes.jsx | 86 ++++++++++++++++--- .../TabelaAgendamentoSemana.jsx | 17 +++- src/pages/Agendamento.jsx | 15 ++-- 6 files changed, 182 insertions(+), 44 deletions(-) diff --git a/src/components/AgendarConsulta/CardConsulta.jsx b/src/components/AgendarConsulta/CardConsulta.jsx index e69de29b..90ff1aeb 100644 --- a/src/components/AgendarConsulta/CardConsulta.jsx +++ b/src/components/AgendarConsulta/CardConsulta.jsx @@ -0,0 +1,29 @@ +import React from 'react' + +const CardConsulta = ( {DadosConsulta} ) => { + return ( +
+ + + {DadosConsulta.status !== 'vazio'? +
+
+

8:20|GEAP| {DadosConsulta.medico}

+
+ +
+

{DadosConsulta.paciente} - {DadosConsulta.motivo} - 23 anos

+
+
+ : +
+
+ + } + + +
+ ) +} + +export default CardConsulta \ No newline at end of file diff --git a/src/components/AgendarConsulta/DadosConsultasMock.js b/src/components/AgendarConsulta/DadosConsultasMock.js index 2e2fb932..6a5183d8 100644 --- a/src/components/AgendarConsulta/DadosConsultasMock.js +++ b/src/components/AgendarConsulta/DadosConsultasMock.js @@ -1,6 +1,6 @@ let AgendamentosMes = {semana1:{ segunda:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, - { horario: '07:10', satus:'vazio' }, + { horario: '07:10', status:'vazio' }, { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, { horario: '07:40', status:'vazio' }, @@ -21,14 +21,7 @@ let AgendamentosMes = {semana1:{ { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }], - quarta:{}, - - quinta:{}, - - sexta:{} - - -}, semana2:{ segunda:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, + quarta:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, { horario: '07:10', satus:'vazio' }, { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, @@ -39,22 +32,65 @@ let AgendamentosMes = {semana1:{ { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }], + quinta:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, + { horario: '07:10', satus:'vazio' }, + { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, + { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, + { horario: '07:40', status:'vazio' }, + { horario: '07:50', medico: 'Rogerio Cena', paciente: 'Felipe Duarte', status: 'remarcado', motivo:'Consulta de Rotina' }, + { horario: '08:00', medico: 'Rogerio Cena', paciente: 'Carolina Alves', status: 'marcado', motivo:'2 Exames' }, + { horario: '08:10', medico: 'Rogerio Cena', paciente: 'Ricardo Gomes', status: 'em andamento', motivo:'retorno' }, + { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, + { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }], + + sexta:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, + { horario: '07:10', satus:'vazio' }, + { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, + { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, + { horario: '07:40', status:'vazio' }, + { horario: '07:50', medico: 'Rogerio Cena', paciente: 'Felipe Duarte', status: 'remarcado', motivo:'Consulta de Rotina' }, + { horario: '08:00', medico: 'Rogerio Cena', paciente: 'Carolina Alves', status: 'marcado', motivo:'2 Exames' }, + { horario: '08:10', medico: 'Rogerio Cena', paciente: 'Ricardo Gomes', status: 'em andamento', motivo:'retorno' }, + { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, + { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }] + + +}, semana2:{segunda:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, + { horario: '07:10', satus:'vazio' }, + { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, + { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, + { horario: '07:40', status:'vazio' }, + { horario: '07:50', medico: 'Rogerio Cena', paciente: 'Felipe Duarte', status: 'remarcado', motivo:'Consulta de Rotina' }, + { horario: '08:00', medico: 'Rogerio Cena', paciente: 'Carolina Alves', status: 'marcado', motivo:'2 Exames' }, + { horario: '08:10', medico: 'Rogerio Cena', paciente: 'Ricardo Gomes', status: 'em andamento', motivo:'retorno' }, + { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, + { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }, + { horario: '07:10', status:'vazio' }, + { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, + { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, + { horario: '07:40', status:'vazio' }, + { horario: '07:50', medico: 'Rogerio Cena', paciente: 'Felipe Duarte', status: 'remarcado', motivo:'Consulta de Rotina' }, + { horario: '08:00', medico: 'Rogerio Cena', paciente: 'Carolina Alves', status: 'marcado', motivo:'2 Exames' }, + { horario: '08:10', medico: 'Rogerio Cena', paciente: 'Ricardo Gomes', status: 'em andamento', motivo:'retorno' }, + { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, + { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }], + terca:[ { horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }, - { horario: '07:10', satus:'vazio' }, + { horario: '07:10', motivo:'vazio' }, { horario: '07:20', medico: 'Rogerio Cena', paciente: 'Ana Paula', status: 'cancelado', motivo:'Consulta de Rotina' }, { horario: '07:30', medico: 'Rogerio Cena', paciente: 'Bruno Lima', status: 'atendido', motivo:'Consulta de Rotina' }, - { horario: '07:40', status:'vazio' }, + { horario: '07:40', motivo:'vazio' }, { horario: '07:50', medico: 'Rogerio Cena', paciente: 'Felipe Duarte', status: 'remarcado', motivo:'Consulta de Rotina' }, { horario: '08:00', medico: 'Rogerio Cena', paciente: 'Carolina Alves', status: 'marcado', motivo:'2 Exames' }, { horario: '08:10', medico: 'Rogerio Cena', paciente: 'Ricardo Gomes', status: 'em andamento', motivo:'retorno' }, { horario: '08:20', medico: 'Rogerio Cena', paciente: 'Tatiane Ramos', status: 'marcado', motivo: '' }, { horario: '08:30', medico: 'Rogerio Cena', paciente: 'Daniel Oliveira', status: 'atendido', motivo: '' }], - quarta:{}, + quarta:[{ horario: '07:10', motivo:'vazio' }], - quinta:{}, + quinta:[{ horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }], - sexta:{}} + sexta:[{ horario: '07:00', medico: 'Rogerio Cena', paciente: 'Caio Miguel', status: 'marcado', motivo:'Consulta de Rotina' }]} diff --git a/src/components/AgendarConsulta/TabelaAgendamentoDia.jsx b/src/components/AgendarConsulta/TabelaAgendamentoDia.jsx index 5916a4db..50fba4a9 100644 --- a/src/components/AgendarConsulta/TabelaAgendamentoDia.jsx +++ b/src/components/AgendarConsulta/TabelaAgendamentoDia.jsx @@ -1,8 +1,14 @@ import React from 'react' +import CardConsulta from './CardConsulta' +import AgendamentosMes from './DadosConsultasMock' -const TabelaAgendamentoDia = ({agendamentos, handleClickAgendamento}) => { +const TabelaAgendamentoDia = ({handleClickAgendamento}) => { + let agendamentosDessaSemana = AgendamentosMes.semana1 + let agendamentos = agendamentosDessaSemana.segunda + + console.log(agendamentos) return (
@@ -22,12 +28,7 @@ const TabelaAgendamentoDia = ({agendamentos, handleClickAgendamento}) => {
handleClickAgendamento(agendamento)} > -

{agendamento.medico}

-

{agendamento.paciente}

-

{agendamento.status}

-

www

- - +
diff --git a/src/components/AgendarConsulta/TabelaAgendamentoMes.jsx b/src/components/AgendarConsulta/TabelaAgendamentoMes.jsx index dc6d1d67..404b6977 100644 --- a/src/components/AgendarConsulta/TabelaAgendamentoMes.jsx +++ b/src/components/AgendarConsulta/TabelaAgendamentoMes.jsx @@ -1,12 +1,11 @@ import React from 'react' import AgendamentosMes from './DadosConsultasMock' import dayjs from "dayjs" - +import CardConsulta from './CardConsulta' const TabelaAgendamentoMes = ({ListarDiasdoMes}) => { const agendamentosMes = [0,1,2,3,4,5] - @@ -15,9 +14,8 @@ const TabelaAgendamentoMes = ({ListarDiasdoMes}) => { const mes = dataHoje.month() + 1 - let ListaDiasDatas = ListarDiasdoMes(AnoAtual, mes) + let ListaDiasDatas = ListarDiasdoMes(AnoAtual, mes) - console.log(ListaDiasDatas) let segundas = ListaDiasDatas[0]; let tercas = ListaDiasDatas[1]; @@ -36,14 +34,80 @@ const TabelaAgendamentoMes = ({ListarDiasdoMes}) => { Sex - {agendamentosMes.map((semana, index) => ( + {Object.entries(AgendamentosMes).map(([semanas, dias], index) => ( - - {segundas[semana]} - {tercas[semana]} - {quartas[semana]} - {quintas[semana]} - {sextas[semana]} + + +
+ {segundas[index]} + +
+ {dias.segunda.map((consulta) => ( + + ) )} + +
+ +
+ + + + +
+ {tercas[index]} + +
+ {dias.terca.map((consulta) => ( + + ) )} + +
+ +
+ + + + +
+ {quartas[index]} + +
+ {dias.quarta.map((consulta) => ( + + ) )} + +
+ +
+ + + +
+ {quintas[index]} + +
+ {dias.quinta.map((consulta) => ( + + ) )} + +
+ +
+ + + +
+ {sextas[index]} + +
+ {dias.sexta.map((consulta) => ( + + ) )} + +
+ +
+ ))} diff --git a/src/components/AgendarConsulta/TabelaAgendamentoSemana.jsx b/src/components/AgendarConsulta/TabelaAgendamentoSemana.jsx index 78c13fe8..d0e8c0cf 100644 --- a/src/components/AgendarConsulta/TabelaAgendamentoSemana.jsx +++ b/src/components/AgendarConsulta/TabelaAgendamentoSemana.jsx @@ -1,24 +1,27 @@ import React from 'react' import Agendamento from '../../pages/Agendamento' import AgendamentosMes from './DadosConsultasMock' +import CardConsulta from './CardConsulta' const TabelaAgendamentoSemana = () => { let AgendamentosDesseMes = AgendamentosMes let AgendamentoSemana = AgendamentosDesseMes.semana1 + let AgendamentosdeSegunda = AgendamentoSemana.segunda let AgendamentosdeTerca = AgendamentoSemana.terca let AgendamentosdeQuarta = AgendamentoSemana.quarta let AgendamentosdeQuinta = AgendamentoSemana.quinta let AgendamentosdeSexta = AgendamentoSemana.sexta - + return (
+ @@ -26,14 +29,20 @@ const TabelaAgendamentoSemana = () => { - {AgendamentosdeSegunda.map((horario, index) => ( + + {AgendamentosdeSegunda.map((consulta, index) => ( - - + + + + + + ))} +
Segunda Terça QuartaSexta
{horario}{index}{consulta.horario}
diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 8f56817a..dfde03cd 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -18,11 +18,10 @@ const Agendamento = ( {setCurrentPage }) => { const DiasnoMes= base.daysInMonth() for(let d = 1; d <= DiasnoMes; d++){ - console.log(d) + const data = dayjs(`${ano}--${mes}--${d}`) const dia = data.format('dddd') - console.log(dia) switch(dia){ case'Monday': @@ -51,21 +50,21 @@ const Agendamento = ( {setCurrentPage }) => { } const [tabela, setTabela] = useState('diario') - const [PageNovaConsulta, setPageConsulta] = useState(true) + const [PageNovaConsulta, setPageConsulta] = useState(false) const handleClickAgendamento = (agendamento) => { - if(agendamento.status !== 'vazio'){alert('tem')} + if(agendamento.motivo !== 'vazio'){alert('tem')} else{ - setPageConsulta(false) + setPageConsulta(true) } } const handleClickCancel = () => { - setPageConsulta(true) + setPageConsulta(false) } let agendamentos = [ @@ -88,7 +87,7 @@ const Agendamento = ( {setCurrentPage }) => {

Agendar nova consulta

- {PageNovaConsulta? ( + {!PageNovaConsulta? (
@@ -130,7 +129,7 @@ const Agendamento = ( {setCurrentPage }) => { {tabela === "diario" && ( )}