Skip to content

Commit

Permalink
Merge pull request #1742 from prefeiturasp/release/8.2.0
Browse files Browse the repository at this point in the history
Release/8.2.0
  • Loading branch information
alcfernandes authored Jun 5, 2023
2 parents 802448b + 3c68334 commit 9231a9e
Show file tree
Hide file tree
Showing 67 changed files with 1,954 additions and 695 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# just to create `build` directory
FROM node:11.15-alpine as builder
FROM node:12.22-alpine as builder
WORKDIR /app

COPY . ./
Expand Down
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.1.1",
"version": "8.2.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.27",
Expand Down
2 changes: 1 addition & 1 deletion src/assets/css/variaveis.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ $mainColor: #00585E;
$whiteColor: #ffffff;
$hoverBackgroundColor: #2B7D83;
$verdeClaro: #29d612;

$corCinza: #9B9C9C;
// Fontes

@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,700");
Expand Down
5 changes: 5 additions & 0 deletions src/assets/img/bar-chart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/assets/img/icone-nao-demonstrado.svg

This file was deleted.

25 changes: 23 additions & 2 deletions src/componentes/Globais/CardsDevolucoesParaAcertoDaDre/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@ import Loading from "../../../utils/Loading";
import { mantemEstadoAnaliseDre as meapcservice } from "../../../services/mantemEstadoAnaliseDre.service";
import { visoesService } from "../../../services/visoes.service";

const CardsDevolucoesParaAcertoDaDre = ({prestacao_conta_uuid, analiseAtualUuid=false, setAnaliseAtualUuid, setPermitirTriggerOnclick=null}) =>{
const CardsDevolucoesParaAcertoDaDre = ({
prestacao_conta_uuid,
analiseAtualUuid=false,
setAnaliseAtualUuid,
setPermitirTriggerOnclick=null,
devolucao_atual=null,
setDevolucaoAtualSelecionada=null
}) => {
const [analisesDePcDevolvidas, setAnalisesDePcDevolvidas] = useState([])
const [uuidAnalisePcDevolvida, setUuidAnalisePcDevolvida] = useState({})
const [objetoConteudoCard, setObjetoConteudoCard] = useState({})
Expand Down Expand Up @@ -59,33 +66,47 @@ const CardsDevolucoesParaAcertoDaDre = ({prestacao_conta_uuid, analiseAtualUuid=
setAnaliseAtualUuid(analiseAtualUuid)
setUuidAnalisePcDevolvida(analiseAtualUuid)
montaObjetoConteudoCard(analiseAtualUuid)
verificaSeDevolucaoAtualSelecionada(analiseAtualUuid)
}else {
if (analisesDePcDevolvidas && analisesDePcDevolvidas.length > 0){
if(dados_analise_dre_usuario_logado && dados_analise_dre_usuario_logado.analise_pc_uuid){
setAnaliseAtualUuid(dados_analise_dre_usuario_logado.analise_pc_uuid)
setUuidAnalisePcDevolvida(dados_analise_dre_usuario_logado.analise_pc_uuid)
montaObjetoConteudoCard(dados_analise_dre_usuario_logado.analise_pc_uuid)
verificaSeDevolucaoAtualSelecionada(dados_analise_dre_usuario_logado.analise_pc_uuid)
}
else{
setAnaliseAtualUuid(analisesDePcDevolvidas[0].uuid)
setUuidAnalisePcDevolvida(analisesDePcDevolvidas[0].uuid)
montaObjetoConteudoCard(analisesDePcDevolvidas[0].uuid)
salvaObjetoAnaliseDrePorUsuarioLocalStorage(analisesDePcDevolvidas[0].uuid)
verificaSeDevolucaoAtualSelecionada(analisesDePcDevolvidas[0].uuid)
}
}
}
}, [analisesDePcDevolvidas, setAnaliseAtualUuid, analiseAtualUuid, montaObjetoConteudoCard, dados_analise_dre_usuario_logado])


useEffect(()=>{
setPrimeiraAnalisePcDevolvida()
}, [setPrimeiraAnalisePcDevolvida])

const verificaSeDevolucaoAtualSelecionada = useCallback((uuid)=>{
if(setDevolucaoAtualSelecionada && devolucao_atual){
let analise = analisesDePcDevolvidas.find((elem => elem.uuid === uuid))
if(devolucao_atual.uuid === (analise && analise.devolucao_prestacao_conta.uuid)){
setDevolucaoAtualSelecionada(true);
} else {
setDevolucaoAtualSelecionada(false);
}
}
}, [analisesDePcDevolvidas, devolucao_atual]);

const handleChangeSelectAnalisesDePcDevolvidas = useCallback((value, e)=>{
// Necessário para controlar quando o ref_click_historico.current.click() é disparado
if (setPermitirTriggerOnclick){
setPermitirTriggerOnclick(false)
}

setUuidAnalisePcDevolvida(value)
setAnaliseAtualUuid(value)
let data_objeto = JSON.parse(e.target.options[e.target.selectedIndex].getAttribute('data-objeto'));
Expand Down
18 changes: 9 additions & 9 deletions src/componentes/Globais/CentralDeDownloads/TabelaDownloads.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ import moment from "moment";
export const TabelaDownloads = ({listaArquivos, downloadArquivo, excluirArquivo, marcarDesmarcarLido}) => {

const opcoesStatus = (status) => {
if(status == "ERRO"){
if(status === "ERRO"){
return "Erro"
}
else if(status == "EM_PROCESSAMENTO"){
else if(status === "EM_PROCESSAMENTO"){
return "Em processamento"
}
else if(status == "CONCLUIDO"){
else if(status === "CONCLUIDO"){
return "Concluído"
}
}

const vistoTemplate = (rowData) => {
return (
<div className="align-middle text-center">
{rowData.status == 'EM_PROCESSAMENTO' ? (
{rowData.status === 'EM_PROCESSAMENTO' ? (

<span style={{fontSize: "16pt"}}>-</span>

Expand All @@ -47,12 +47,12 @@ export const TabelaDownloads = ({listaArquivos, downloadArquivo, excluirArquivo,
const acoesTemplate = (rowData) => {
return (
<div className="align-middle text-center">
{rowData.status == 'EM_PROCESSAMENTO' ? (
{rowData.status === 'EM_PROCESSAMENTO' ? (
<span style={{fontSize: "16pt"}}>-</span>
):
<>

{rowData.status != 'ERRO' ? (
{rowData.status !== 'ERRO' ? (
<button className="btn btn-link" onClick={(e)=> {downloadArquivo(rowData.identificador, rowData.uuid)}}>
<FontAwesomeIcon
style={{marginRight: "0", color: '#00585E'}}
Expand Down Expand Up @@ -80,7 +80,7 @@ export const TabelaDownloads = ({listaArquivos, downloadArquivo, excluirArquivo,
const ultimaAtualizacaoTemplate = (rowData) => {
return (
<div className="align-middle text-center">
{rowData.status == 'EM_PROCESSAMENTO' ? (
{rowData.status === 'EM_PROCESSAMENTO' ? (
<span style={{fontSize: "16pt"}}>-</span>
):

Expand All @@ -97,7 +97,7 @@ export const TabelaDownloads = ({listaArquivos, downloadArquivo, excluirArquivo,
return (
<div className="align-middle text-center">

{rowData.status == 'ERRO' ? (
{rowData.status === 'ERRO' ? (

<div data-tip={rowData.msg_erro} data-html={true}>
<span>
Expand Down Expand Up @@ -131,7 +131,7 @@ export const TabelaDownloads = ({listaArquivos, downloadArquivo, excluirArquivo,
return (
<div className="row mt-4">
<div className="col-12">
<p className="quantidade-arquivos">Exibindo <strong>{listaArquivos.length}</strong> cargas de arquivos</p>
<p className="quantidade-arquivos">Exibindo <strong>{listaArquivos.length}</strong> arquivos</p>
</div>
<div className="col-12">
<div className="datatable-responsive-demo">
Expand Down
5 changes: 2 additions & 3 deletions src/componentes/Globais/EscolheUnidade/ListaDeUnidades.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import {Column} from "primereact/column";
import {DataTable} from "primereact/datatable";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faKey, faInfoCircle} from "@fortawesome/free-solid-svg-icons";
import useTagInformacaoAssociacaoEncerradaTemplate from "../../../hooks/Globais/TagsInformacoesAssociacoes/useTagInformacaoAssociacaoEncerradaTemplate";
import { TagInformacao } from "../TagInformacao";

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

const unidadeEscolarTemplate = (rowData) => {
return (
Expand Down Expand Up @@ -88,7 +87,7 @@ export const ListaDeUnidades = ({listaUnidades, rowsPerPage, acaoAoEscolherUnida
field="informacao"
header="Informações"
className="align-middle text-center"
body={tagInformacaoAssociacaoEncerrada}
body={(rowData) => <TagInformacao data={rowData} />}
style={{width: '15%'}}
/>
<Column
Expand Down
5 changes: 3 additions & 2 deletions src/componentes/Globais/EscolheUnidade/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +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";
import { ModalLegendaInformacao } from "../../Globais/ModalLegendaInformacao/ModalLegendaInformacao";

export const EscolheUnidade = (props) =>{

Expand Down Expand Up @@ -96,12 +96,13 @@ export const EscolheUnidade = (props) =>{
}

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

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
import React, {Fragment, useEffect, useState} from "react";
import { getTagInformacao } from "../../../services/escolas/Despesas.service";
import { getTagInformacaoAssociacao } from "../../../services/escolas/Associacao.service"
import {Button, Modal} from "react-bootstrap";
import Loading from "../../../utils/Loading";
import { TagInformacao } from "../TagInformacao"

export const ModalLegendaInformacao = (propriedades) => {
const [listaTagInformacao, setListaTagInformacao] = useState([])
const [loading, setLoading] = useState(true)

useEffect(() => {
let isMounted = true;

const handleTagInformacao = async () => {
setLoading(true);

try {
let tagsInformacao = [];

if (propriedades.entidadeDasTags === "associacao") {
tagsInformacao = await getTagInformacaoAssociacao();
} else {
tagsInformacao = await getTagInformacao();
}

if (isMounted) {
setListaTagInformacao(tagsInformacao);
}
} catch (e) {
console.error('Erro ao carregar tag informação', e);
}

if (isMounted) {
setLoading(false);
}
};

handleTagInformacao();

return () => {
isMounted = false;
};
}, [propriedades.entidadeDasTags]);

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> {
loading ? (
<Loading corGrafico="black" corFonte="dark" marginTop="0" marginBottom="0"/>
) : listaTagInformacao?.length > 0 ? listaTagInformacao.map((tag, index) => {
tag.texto = tag.nome
return <React.Fragment key={index}>{<TagInformacao data={tag} localDaTag="modal-legenda-informacao"/>}</React.Fragment>
}) : <span>Nenhuma informação encontrada</span>
} </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,56 @@
import React, {Fragment} from "react";
import {Button, Modal} from "react-bootstrap";
import { TagInformacao } from "../../Globais/TagInformacao";

export const ModalLegendaInformacaoAssociacao = (propriedades) => {

const opcoes = [
{
id: 7,
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, index) => {
tag.index = index;
return (
<TagInformacao data={tag} localDaTag="modal-legenda-informacao"/>
)
})
} </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;
}
14 changes: 14 additions & 0 deletions src/componentes/Globais/Tag/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import React from "react";
import './tag.scss';

export const Tag = ({
label = '',
color = 'default'
}) =>{

return(
<div className={`custom-tag custom-tag-${color}`}>
<span>{label}</span>
</div>
)
};
Loading

0 comments on commit 9231a9e

Please sign in to comment.