Skip to content

Commit

Permalink
Merge pull request #1699 from prefeiturasp/release/8.1.0
Browse files Browse the repository at this point in the history
Release/8.1.0
  • Loading branch information
ollyvergithub authored May 22, 2023
2 parents 097543c + 98b8c03 commit 3b27ab2
Show file tree
Hide file tree
Showing 35 changed files with 1,189 additions and 698 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ Esse é o repositório de código da aplicação web Sig-Escola, um sistema inte

Você pode encontrar mais informações sobre o projeto e instruções detalhadas sobre como colaborar com a documentação
na própria
[documentação do SigEscola](https://sigescoladocs.readthedocs.io/pt/latest/).

[documentação do SigEscola](https://sig-escola.sme.prefeitura.sp.gov.br/docs/).

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ptrf",
"version": "8.0.2",
"version": "8.1.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.27",
Expand Down
31 changes: 28 additions & 3 deletions src/componentes/Globais/EscolheUnidade/ListaDeUnidades.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ import React from "react";
import {Column} from "primereact/column";
import {DataTable} from "primereact/datatable";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faKey} from "@fortawesome/free-solid-svg-icons";
import {faKey, faInfoCircle} from "@fortawesome/free-solid-svg-icons";
import useTagInformacaoAssociacaoEncerradaTemplate from "../../../hooks/Globais/TagsInformacoesAssociacoes/useTagInformacaoAssociacaoEncerradaTemplate";

export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnidade, textoAcaoEscolher}) => {
export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnidade, textoAcaoEscolher, setShowModalLegendaInformacao}) => {
const tagInformacaoAssociacaoEncerrada = useTagInformacaoAssociacaoEncerradaTemplate()

const unidadeEscolarTemplate = (rowData) => {
return (
Expand Down Expand Up @@ -48,6 +50,21 @@ export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnida
};

return (
<>
<div className="d-flex justify-content-end">
<button
onClick={()=> setShowModalLegendaInformacao(true)}
className="btn btn-link link-green"
style={{padding: '0px', textDecoration: 'none'}}
>
<FontAwesomeIcon
style={{fontSize: '18px', marginRight: "4px", paddingTop: "2px"}}
icon={faInfoCircle}
/>
<span>Legenda informação</span>
</button>
</div>

<DataTable
value={listaUnidades}
className="mt-3"
Expand All @@ -64,9 +81,16 @@ export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnida
/>
<Column
field="nome_com_tipo"
header="Unidade escolar"
header="Unidade educacional"
body={unidadeEscolarTemplate}
/>
<Column
field="informacao"
header="Informações"
className="align-middle text-center"
body={tagInformacaoAssociacaoEncerrada}
style={{width: '15%'}}
/>
<Column
field="uuid"
header="Ação"
Expand All @@ -75,5 +99,6 @@ export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnida
style={{width: '20%'}}
/>
</DataTable>
</>
);
};
13 changes: 13 additions & 0 deletions src/componentes/Globais/EscolheUnidade/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import Loading from "../../../utils/Loading";
import {FiltroDeUnidades} from "./FiltroDeUnidades";
import Img404 from "../../../assets/img/img-404.svg";
import {MsgImgCentralizada} from "../Mensagens/MsgImgCentralizada";
import { ModalLegendaInformacaoAssociacao } from "../LegendaInformaçãoAssociacao/ModalLegendaInformacaoAssociacao";

export const EscolheUnidade = (props) =>{

Expand All @@ -22,6 +23,7 @@ export const EscolheUnidade = (props) =>{
const [listaUnidades, setListaUnidades] = useState([]);
const [stateFiltros, setStateFiltros] = useState(initialStateFiltros);
const [mensagemListaVazia, setMensagemListaVazia] = useState(mensagemListaVaziaSemFiltroAplicado)
const [showModalLegendaInformacao, setShowModalLegendaInformacao] = useState(false)

useEffect(()=>{
carregaListaUnidades();
Expand Down Expand Up @@ -82,6 +84,7 @@ export const EscolheUnidade = (props) =>{
rowsPerPage={10}
acaoAoEscolherUnidade={escolherUnidade}
textoAcaoEscolher={"Viabilizar acesso"}
setShowModalLegendaInformacao={setShowModalLegendaInformacao}
/>
}

Expand All @@ -92,6 +95,16 @@ export const EscolheUnidade = (props) =>{
/>
}

<section>
<ModalLegendaInformacaoAssociacao
show={showModalLegendaInformacao}
primeiroBotaoOnclick={() => setShowModalLegendaInformacao(false)}
titulo="Legenda Informação"
primeiroBotaoTexto="Fechar"
primeiroBotaoCss="outline-success"
/>
</section>

</div>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import React, {Fragment} from "react";
import {Button, Modal} from "react-bootstrap";

export const ModalLegendaInformacaoAssociacao = (propriedades) => {

const opcoes = [
{
id: 1,
class: "fundo-cor-cinza-neutral-03 texto-cor-branco",
texto: "Associação encerrada",
descricao: "Indica que a associação foi encerrada."
}
]

return (
<Fragment>
<Modal centered size="lg"
show={
propriedades.show
}
onHide={
propriedades.onHide
}>
<Modal.Header>
<Modal.Title style={
{fontWeight: 'bold'}
}>
{
propriedades.titulo
}</Modal.Title>
</Modal.Header>
<Modal.Body> {
opcoes.map((tag) => {
return (
<div className="row ml-2 pb-4" key={tag.id}>
<div className="col-3">
<span className={`tag-informacoes-associacao-encerrada ${tag.class}`}>
{tag.texto}
</span>
</div>

<div className="col">
<p>{tag.descricao}</p>
</div>
</div>
)
})
} </Modal.Body>
<Modal.Footer>
<Button variant={
propriedades.primeiroBotaoCss ? propriedades.primeiroBotaoCss : "info"
}
onClick={
propriedades.primeiroBotaoOnclick
}>
{
propriedades.primeiroBotaoTexto
} </Button>
</Modal.Footer>
</Modal>
</Fragment>
)

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.tag-informacoes-associacao-encerrada {
display: flex;
flex: 1;
justify-content: center;
padding-left: 2px;
padding-right: 2px;
border-radius: 5px;
align-items: center;
}

.fundo-cor-cinza-neutral-03 {
background-color: #9B9C9C;
}

.texto-cor-branco {
color: #fff;
}
28 changes: 25 additions & 3 deletions src/componentes/dres/Associacoes/FiltrosAssociacoes.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import React from "react";
import { Select } from 'antd';

export const FiltrosAssociacoes = ({tabelaAssociacoes, stateFiltros, handleChangeFiltrosAssociacao, handleSubmitFiltrosAssociacao, limpaFiltros, handleOnChangeMultipleSelectStatus}) =>{

const { Option } = Select;

export const FiltrosAssociacoes = ({tabelaAssociacoes, stateFiltros, handleChangeFiltrosAssociacao, handleSubmitFiltrosAssociacao, limpaFiltros}) =>{
return(
<>
<form onSubmit={handleSubmitFiltrosAssociacao}>
<div className="row">
<div className="col-12 col-md-6">
<div className="col-4 col-md-4">
<label htmlFor="unidade_escolar_ou_associacao">Filtrar por Unidade Escolar ou Associação</label>
<input
value={stateFiltros.unidade_escolar_ou_associacao}
Expand All @@ -16,7 +20,7 @@ export const FiltrosAssociacoes = ({tabelaAssociacoes, stateFiltros, handleChang
placeholder="Escreva o termo que deseja filtrar"
/>
</div>
<div className="col-12 col-md-6">
<div className="col-4 col-md-4">
<div className="row">
<div className="col-md-12">
<label htmlFor="tipo_de_unidade">Filtrar por tipo de unidade</label>
Expand All @@ -36,6 +40,24 @@ export const FiltrosAssociacoes = ({tabelaAssociacoes, stateFiltros, handleChang
</div>

</div>
<div className="col-4 col-md-4">
<label htmlFor="filtro_status">Filtrar por informações</label>
<Select
mode="multiple"
allowClear
style={{ width: '100%' }}
placeholder="Selecione as informações"
name="filtro_status"
id="filtro_status"
value={stateFiltros.filtro_status}
onChange={handleOnChangeMultipleSelectStatus}
className='multiselect-lista-valores-reprogramados'
>
{tabelaAssociacoes.filtro_informacoes && tabelaAssociacoes.filtro_informacoes.length > 0 && tabelaAssociacoes.filtro_informacoes.map(item => (
<Option key={item.id} value={item.id}>{item.nome}</Option>
))}
</Select>
</div>
</div>
<div className="d-flex justify-content-end pb-3 mt-3">
<button onClick={()=>limpaFiltros()} type="button" className="btn btn btn-outline-success mt-2 mr-2">Cancelar</button>
Expand Down
72 changes: 50 additions & 22 deletions src/componentes/dres/Associacoes/TabelaAssociacoes.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,57 @@
import React from "react";
import {Column} from "primereact/column";
import {DataTable} from "primereact/datatable";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faInfoCircle} from "@fortawesome/free-solid-svg-icons";
import useTagInformacaoAssociacaoEncerradaTemplate from "../../../hooks/Globais/TagsInformacoesAssociacoes/useTagInformacaoAssociacaoEncerradaTemplate";

export const TabelaAssociacoes = ({associacoes, rowsPerPage, unidadeEscolarTemplate, acoesTemplate, setShowModalLegendaInformacao}) =>{
const tagInformacaoAssociacaoEncerrada = useTagInformacaoAssociacaoEncerradaTemplate()

export const TabelaAssociacoes = ({associacoes, rowsPerPage, unidadeEscolarTemplate, acoesTemplate}) =>{
return(
<DataTable
value={associacoes}
className="mt-3 container-tabela-associacoes"
paginator={associacoes.length > rowsPerPage}
rows={rowsPerPage}
paginatorTemplate="PrevPageLink PageLinks NextPageLink"
autoLayout={true}
selectionMode="single"
>
<Column field="unidade.codigo_eol" header="Código Eol" />
<Column
field="unidade.nome_com_tipo"
header="Unidade escolar"
body={unidadeEscolarTemplate}
/>
<Column
field="uuid"
header="Ações"
body={acoesTemplate}
/>
</DataTable>
<>
<div className="d-flex justify-content-end">
<button
onClick={()=> setShowModalLegendaInformacao(true)}
className="btn btn-link link-green"
style={{padding: '0px', textDecoration: 'none'}}
>
<FontAwesomeIcon
style={{fontSize: '18px', marginRight: "4px", paddingTop: "2px"}}
icon={faInfoCircle}
/>
<span>Legenda informação</span>
</button>
</div>

<DataTable
value={associacoes}
className="mt-3 container-tabela-associacoes"
paginator={associacoes.length > rowsPerPage}
rows={rowsPerPage}
paginatorTemplate="PrevPageLink PageLinks NextPageLink"
autoLayout={true}
selectionMode="single"
>
<Column field="unidade.codigo_eol" header="Código Eol" />
<Column
field="unidade.nome_com_tipo"
header="Unidade educacional"
body={unidadeEscolarTemplate}
/>
<Column
field="informacao"
header="Informações"
style={{width: '15%'}}
className="align-middle text-center"
body={tagInformacaoAssociacaoEncerrada}
/>
<Column
field="uuid"
header="Ações"
body={acoesTemplate}
/>
</DataTable>
</>
);
};
Loading

0 comments on commit 3b27ab2

Please sign in to comment.