Browse Source

refactor: separa o dashboard em componentes

master
Henrique-Sousa 2 weeks ago
parent
commit
148bdadb91
5 changed files with 199 additions and 125 deletions
  1. +53
    -0
      ui/src/components/ListaMedicos.jsx
  2. +29
    -0
      ui/src/components/ListaMedicosModal.jsx
  3. +73
    -0
      ui/src/components/ListaPacientes.jsx
  4. +29
    -0
      ui/src/components/ListaPacientesModal.jsx
  5. +15
    -125
      ui/src/containers/DashboardContainer/index.jsx

+ 53
- 0
ui/src/components/ListaMedicos.jsx View File

@ -0,0 +1,53 @@
import { useState, useEffect } from "react";
import { Table } from 'antd';
import _service from '@netuno/service-client';
const medicosColumns = [
{
title: 'UID',
dataIndex: 'uid',
key: 'uid',
},
{
title: 'Nome',
dataIndex: 'nome',
key: 'nome',
},
{
title: 'CRM',
dataIndex: 'crm',
key: 'crm',
}
]
function ListaMedicos() {
const [medicos, setMedicos] = useState([]);
useEffect(() => {
carregarMedicos();
}, []);
const carregarMedicos = () => {
setMedicos([]);
_service({
url: "/services/medicos",
success: (response) => {
setMedicos(response.json);
},
fail: (e) => {
console.error("Serviço de medicos falhou.", e);
message.error("Serviço de medicos falhou.", e);
}
});
};
return (
<>
<Table dataSource={medicos} columns={medicosColumns} />
</>
);
}
export default ListaMedicos;

+ 29
- 0
ui/src/components/ListaMedicosModal.jsx View File

@ -0,0 +1,29 @@
import { Modal } from 'antd';
import ListaMedicos from "./ListaMedicos.jsx"
function ListaMedicosModal({isMedicosModalOpen, setIsMedicosModalOpen}) {
const handleMedicosOk = () => {
setIsMedicosModalOpen(false);
};
const handleMedicosCancel = () => {
setIsMedicosModalOpen(false);
};
return (
<>
<Modal
title="Médicos"
closable={{ 'aria-label': 'Custom Close Button' }}
open={isMedicosModalOpen}
onOk={handleMedicosOk}
onCancel={handleMedicosCancel}
width={1000}
>
<ListaMedicos />
</Modal>
</>
);
}
export default ListaMedicosModal;

+ 73
- 0
ui/src/components/ListaPacientes.jsx View File

@ -0,0 +1,73 @@
import { useState, useEffect } from "react";
import { Table } from 'antd';
import _service from '@netuno/service-client';
const pacientesColumns = [
{
title: 'UID',
dataIndex: 'uid',
key: 'uid',
},
{
title: 'Nome',
dataIndex: 'nome',
key: 'nome',
},
{
title: 'CPF',
dataIndex: 'cpf',
key: 'cpf',
},
{
title: 'RG',
dataIndex: 'rg',
key: 'rg',
},
{
title: 'Data de Nascimento',
dataIndex: 'data de nascimento',
key: 'data de nascimento',
},
{
title: 'Endereço',
dataIndex: 'endereço',
key: 'endereço',
},
{
title: 'Telefone',
dataIndex: 'telefone',
key: 'telefone',
}
];
function ListaPacientes() {
const [pacientes, setPacientes] = useState([]);
useEffect(() => {
carregarPacientes();
}, []);
const carregarPacientes = () => {
setPacientes([]);
_service({
url: "/services/pacientes",
success: (response) => {
setPacientes(response.json);
},
fail: (e) => {
console.error("Serviço de pacientes falhou.", e);
message.error("Serviço de pacientes falhou.", e);
}
});
};
return (
<>
<Table dataSource={pacientes} columns={pacientesColumns} />
</>
);
}
export default ListaPacientes;

+ 29
- 0
ui/src/components/ListaPacientesModal.jsx View File

@ -0,0 +1,29 @@
import { Modal } from 'antd';
import ListaPacientes from "./ListaPacientes.jsx"
function ListaPacientesModal({isPacientesModalOpen, setIsPacientesModalOpen}) {
const handlePacientesOk = () => {
setIsPacientesModalOpen(false);
};
const handlePacientesCancel = () => {
setIsPacientesModalOpen(false);
};
return (
<>
<Modal
title="Pacientes"
closable={{ 'aria-label': 'Custom Close Button' }}
open={isPacientesModalOpen}
onOk={handlePacientesOk}
onCancel={handlePacientesCancel}
width={1000}
>
<ListaPacientes />
</Modal>
</>
);
}
export default ListaPacientesModal;

+ 15
- 125
ui/src/containers/DashboardContainer/index.jsx View File

@ -1,66 +1,13 @@
import React, { useState, useEffect } from "react";
import { useState, useEffect } from "react";
import { Table, Modal, Button, Form, Input } from 'antd';
import { Modal, Button, Form, Input } from 'antd';
import _service from '@netuno/service-client'; import _service from '@netuno/service-client';
import "./index.less";
const medicosColumns = [
{
title: 'UID',
dataIndex: 'uid',
key: 'uid',
},
{
title: 'Nome',
dataIndex: 'nome',
key: 'nome',
},
{
title: 'CRM',
dataIndex: 'crm',
key: 'crm',
}
]
import ListaMedicosModal from "../../components/ListaMedicosModal.jsx";
import ListaPacientesModal from "../../components/ListaPacientesModal.jsx";
const pacientesColumns = [
{
title: 'UID',
dataIndex: 'uid',
key: 'uid',
},
{
title: 'Nome',
dataIndex: 'nome',
key: 'nome',
},
{
title: 'CPF',
dataIndex: 'cpf',
key: 'cpf',
},
{
title: 'RG',
dataIndex: 'rg',
key: 'rg',
},
{
title: 'Data de Nascimento',
dataIndex: 'data de nascimento',
key: 'data de nascimento',
},
{
title: 'Endereço',
dataIndex: 'endereço',
key: 'endereço',
},
{
title: 'Telefone',
dataIndex: 'telefone',
key: 'telefone',
}
];
import "./index.less";
const onFinish = values => { const onFinish = values => {
console.log('Success:', values); console.log('Success:', values);
@ -84,8 +31,6 @@ const onFinishFailed = errorInfo => {
}; };
function DashboardContainer() { function DashboardContainer() {
const [pacientes, setPacientes] = useState([]);
const [medicos, setMedicos] = useState([]);
const [isPacientesModalOpen, setIsPacientesModalOpen] = useState(false); const [isPacientesModalOpen, setIsPacientesModalOpen] = useState(false);
const [isMedicosModalOpen, setIsMedicosModalOpen] = useState(false); const [isMedicosModalOpen, setIsMedicosModalOpen] = useState(false);
const [isCadastrarMedicosModalOpen, setIsCadastrarMedicosModalOpen] = useState(false); const [isCadastrarMedicosModalOpen, setIsCadastrarMedicosModalOpen] = useState(false);
@ -93,22 +38,10 @@ function DashboardContainer() {
const showPacientesModal = () => { const showPacientesModal = () => {
setIsPacientesModalOpen(true); setIsPacientesModalOpen(true);
}; };
const handlePacientesOk = () => {
setIsPacientesModalOpen(false);
};
const handlePacientesCancel = () => {
setIsPacientesModalOpen(false);
};
const showMedicosModal = () => { const showMedicosModal = () => {
setIsMedicosModalOpen(true); setIsMedicosModalOpen(true);
}; };
const handleMedicosOk = () => {
setIsMedicosModalOpen(false);
};
const handleMedicosCancel = () => {
setIsMedicosModalOpen(false);
};
const showCadastrarMedicosModal = () => { const showCadastrarMedicosModal = () => {
setIsCadastrarMedicosModalOpen(true); setIsCadastrarMedicosModalOpen(true);
@ -120,39 +53,6 @@ function DashboardContainer() {
setIsCadastrarMedicosModalOpen(false); setIsCadastrarMedicosModalOpen(false);
}; };
useEffect(() => {
carregarPacientes();
carregarMedicos();
}, []);
const carregarPacientes = () => {
setPacientes([]);
_service({
url: "/services/pacientes",
success: (response) => {
setPacientes(response.json);
},
fail: (e) => {
console.error("Serviço de pacientes falhou.", e);
message.error("Serviço de pacientes falhou.", e);
}
});
};
const carregarMedicos = () => {
setMedicos([]);
_service({
url: "/services/medicos",
success: (response) => {
setMedicos(response.json);
},
fail: (e) => {
console.error("Serviço de medicos falhou.", e);
message.error("Serviço de medicos falhou.", e);
}
});
};
return ( return (
<> <>
<Button type="primary" onClick={showPacientesModal}> <Button type="primary" onClick={showPacientesModal}>
@ -164,26 +64,16 @@ function DashboardContainer() {
<Button type="primary" onClick={showCadastrarMedicosModal}> <Button type="primary" onClick={showCadastrarMedicosModal}>
Cadastrar médicos Cadastrar médicos
</Button> </Button>
<Modal
title="Pacientes"
closable={{ 'aria-label': 'Custom Close Button' }}
open={isPacientesModalOpen}
onOk={handlePacientesOk}
onCancel={handlePacientesCancel}
width={1000}
>
<Table dataSource={pacientes} columns={pacientesColumns} />
</Modal>
<Modal
title="Médicos"
closable={{ 'aria-label': 'Custom Close Button' }}
open={isMedicosModalOpen}
onOk={handleMedicosOk}
onCancel={handleMedicosCancel}
width={1000}
>
<Table dataSource={medicos} columns={medicosColumns} />
</Modal>
<ListaPacientesModal
isPacientesModalOpen={isPacientesModalOpen}
setIsPacientesModalOpen={setIsPacientesModalOpen}
/>
<ListaMedicosModal
isMedicosModalOpen={isMedicosModalOpen}
setIsMedicosModalOpen={setIsMedicosModalOpen}
/>
<Modal <Modal
title="Cadastrar novo médico" title="Cadastrar novo médico"
closable={{ 'aria-label': 'Custom Close Button' }} closable={{ 'aria-label': 'Custom Close Button' }}


Loading…
Cancel
Save