{"version":3,"sources":["enums/TipoTelefoneEnum.js","enums/PerfilEnum.js","enums/PermissaoContratanteEnum.js","assets/images/login/imagem-login.svg","enums/TipoBeneficiarioEnum.js","enums/TipoStatusEnum.js","assets/modelos/LAYREPAS_007_CONTRATANTE.txt","assets/modelos/PlanilhaModeloCsv.xlsx","assets/modelos/PlanilhaModeloNestlé.xlsx","assets/modelos/Transferencia/TransferenciaModeloPadrao.xlsx","assets/images/login/unimed-fesp.png","assets/modelos/orientacoes_documentos.txt","enums/ModalidadeEnum.js","assets/modelos/massaInicial/ModeloPadrãoMassaInicial.csv","assets/modelos/massaInicial/OrientaçõesPreenchimentoMassaInicial.pdf","assets/images/massa-inicial/imagem-massa-inicial.svg","assets/images/FespANS.jpg","enums/StatusListaEnum.js","enums/StatusExecucaoEnum.js","enums/MovimentacaoListaEnum.js","utils/array.js","enums/TipoListaEnum.js","enums/UploadeProgressEnum.js","enums/TipoConsultaParametrizacaoEnum.js","enums/TipoCardRoot.js","enums/StatusListaRPAEnum.js","enums/TipoDocumentoEnum.js","enums/StatusEnvioListaEnum.js","enums/TipoEventoWebhookEnum.js","enums/StatusListaAPIEnum.js","services/history.js","utils/setTabContentPorStatus.js","store/ducks/lista.js","middlewares/socketMiddleware.js","store/ducks/filhoForaDeFaixa.js","application.js","context/ModalContext.js","styles/theme.js","components/molecules/Modal/styles.js","components/molecules/Modal/index.js","components/atoms/Button/styles.js","components/atoms/Button/index.js","components/organisms/ModalSessionExpired/styles.js","store/ducks/auth.js","components/organisms/ModalSessionExpired/index.js","services/auth.js","utils/encrypt.js","services/axios.js","services/api.js","components/molecules/Toast/styles.js","components/molecules/Toast/index.js","store/sagas/filhoForaDeFaixa.js","store/ducks/alertaListaContratante.js","store/sagas/alertaListaContratante.js","store/ducks/layoutEmail.js","store/sagas/layoutEmail.js","store/ducks/webhookEventHeaderIntegration.js","store/sagas/webhookEventHeaderIntegration.js","store/ducks/webhookEventIntegration.js","store/sagas/webhookEventIntegration.js","store/ducks/webhookIntegration.js","store/sagas/webhookIntegration.js","store/ducks/usuario.js","utils/responseHandler.js","utils/validation.js","store/sagas/auth.js","store/sagas/lista.js","store/ducks/modalidade.js","store/sagas/modalidade.js","utils/treeViewBuilder.js","store/ducks/contratante.js","services/legacy.js","store/sagas/usuario.js","store/sagas/contratante.js","store/ducks/arquivoUpload.js","store/sagas/arquivoUpload.js","store/ducks/requisicao.js","store/sagas/requisicao.js","store/ducks/beneficiario.js","store/sagas/beneficiario.js","store/ducks/task.js","store/sagas/task.js","store/ducks/parametro.js","context/TriggerModalContext/index.js","store/sagas/parametro.js","store/ducks/relatorio.js","store/sagas/relatorio.js","store/ducks/documento.js","store/sagas/documento.js","store/ducks/listaInativos.js","store/sagas/listaInativos.js","store/ducks/listasRPA.js","store/ducks/termoResponsabilidade.js","store/ducks/index.js","store/index.js","store/persistReducers.js","store/sagas/index.js","utils/base64.js","hooks/useSignalR.js","hooks/useMovimentacao.js","utils/userRole.js","pages/ListasConsulta/styles.js","components/atoms/FadeIn/styles.js","components/atoms/FadeIn/index.js","components/molecules/CardFilter/styles.js","components/molecules/CardFilter/index.js","components/molecules/DatePicker/styles.js","components/molecules/DatePicker/index.js","components/molecules/LabelContainer/styles.js","components/molecules/LabelContainer/index.js","components/organisms/FilterExtends/styles.js","components/organisms/FilterExtends/index.js","utils/file.js","components/organisms/ModalFileImport/styles.js","components/organisms/ModalFileImport/index.js","components/organisms/ModalFileLoading/styles.js","components/organisms/ModalFileLoading/index.js","components/organisms/ImportarListas/index.js","assets/icons/replay.svg","assets/icons/upload.svg","assets/icons/cancel-24px.svg","assets/icons/doubleArrow.svg","routes/legacyRoutes.js","components/molecules/Card/styles.js","components/molecules/ImageCard/styles.js","components/molecules/ImageCard/index.js","components/molecules/Card/index.js","components/organisms/ModalAcaoLista/styles.js","components/organisms/ModalInclusaoUspLista/styles.js","components/organisms/ModalInclusaoUspLista/index.js","components/organisms/ModalAcaoLista/index.js","components/organisms/TabTableLista/styles.js","assets/icons/iconsLib.js","components/atoms/Icon/styles.js","components/atoms/Icon/index.js","components/molecules/WrapperFlex/styles.js","components/molecules/WrapperFlex/index.js","components/molecules/LoadingSpinning/styles.js","components/molecules/LoadingSpinning/index.js","components/organisms/TabTableLista/index.js","components/molecules/PartsModalParametrizacao/styles.js","components/molecules/PartsModalConsultaListas/ModalEnviarListaRpa.js","components/molecules/StatusList/styles.js","components/molecules/StatusList/index.js","pages/ListasConsulta/index.js","hooks/useModal.js","hooks/useQueue.js","components/atoms/Input/styles.js","components/atoms/Input/index.js","components/atoms/TextArea/styles.js","components/atoms/TextArea/index.js","components/atoms/ButtonRemove/styles.js","components/atoms/ButtonRemove/index.js","components/molecules/UploadBox/styles.js","components/molecules/UploadBox/index.js","components/organisms/CollapseListaDetalhe/styles.js","components/organisms/CollapseListaDetalhe/index.js","components/organisms/ModalSuccess/styles.js","components/organisms/ModalSuccess/index.js","pages/ListasDetalhe/styles.js","pages/ListasDetalhe/index.js","components/molecules/Tab/styles.js","context/TabContext.js","components/molecules/Tab/index.js","components/organisms/ModalError/styles.js","components/organisms/ModalError/index.js","components/organisms/ModalCancelAction/styles.js","components/organisms/ModalCancelAction/index.js","context/DropDownContext.js","utils/useOutsideClick.js","components/molecules/Dropdown/styles.js","components/molecules/Dropdown/index.js","components/organisms/DropDown/index.js","components/organisms/DropDownSearchBox/styles.js","components/organisms/DropDownSearchBox/index.js","components/molecules/CustomScrollBars/index.js","components/molecules/EmptyContent/styles.js","components/atoms/Skeleton/styles.js","components/atoms/Skeleton/index.js","components/molecules/EmptyContent/index.js","components/organisms/TableContratantes/index.js","components/organisms/TableUsariosEspelho/TableUsuarioHeader.js","components/organisms/TableUsariosEspelho/TableUsuarioEspelhoBody.js","components/organisms/TableUsariosEspelho/index.js","components/organisms/ModalConsultaContratantes/index.js","components/molecules/CardContratantes/styles.js","components/molecules/CardContratantes/index.js","components/atoms/ButtonCollapse/styles.js","components/atoms/ButtonCollapse/index.js","context/CollapseContext.js","components/atoms/Card/styles.js","components/molecules/CollapseItem/styles.js","components/molecules/CollapseItem/index.js","components/organisms/CollapseNestedList/styles.js","components/organisms/CollapseNestedList/index.js","components/organisms/ParametrizacaoContratantes/styles.js","components/organisms/ParametrizacaoContratantes/CounterContainer.js","components/organisms/ParametrizacaoContratantes/ParametrizacaoCards.js","components/organisms/ParametrizacaoContratantes/EmptyContentContainer.js","components/molecules/MessageInvalidCard/styles.js","components/molecules/MessageInvalidCard/index.js","components/molecules/PartsModalParametrizacao/ModalCopyEspelho.js","components/molecules/PartsModalParametrizacao/ModalMesclarNestle.js","components/molecules/PartsModalParametrizacao/ModalSelectedTipoPerfil.js","components/molecules/PartsModalParametrizacao/ModalRemoveAllParametrizacao.js","hooks/useParametrizazao.js","components/organisms/ParametrizacaoContratantes/index.js","components/molecules/ModalConsultaStructure/styles.js","components/organisms/ModalEventosWebhook/index.js","components/organisms/TableCadastroWebhook/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhook/index.js","components/organisms/TableCadastroWebhook/styles.js","components/organisms/TableCadastroWebhook/TableCadastroWebHookBody.js","components/organisms/ModalCadastarWebhookEvent/index.js","components/organisms/ModalWebhookEventosHeaders/index.js","components/organisms/ModalCadastarWebhookEventHeader/index.js","components/organisms/TableCadastroWebhookEventsHeader/styles.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookEventHeaderBodyRow.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookEventHeaderBody.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhookEventsHeader/index.js","components/organisms/TableCadastroWebhookEvents/TableCadastroWebHookEventBody.js","components/organisms/TableCadastroWebhookEvents/styles.js","components/organisms/TableCadastroWebhookEvents/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhookEvents/index.js","components/organisms/TabsFormConfiguracoes/CadastroWebhook.js","components/atoms/InputForm/styles.js","components/atoms/InputForm/index.js","components/atoms/InputFormLogin/styles.js","components/atoms/InputFormLogin/index.js","components/molecules/InputPassword/styles.js","assets/icons/visibility-24px.svg","assets/icons/visibility_off-24px.svg","components/molecules/InputPassword/index.js","components/organisms/SenhaBox/styles.js","components/organisms/SenhaBox/index.js","components/organisms/TabsFormConfiguracoes/DadosAcesso.js","components/organisms/TabsFormConfiguracoes/styles.js","components/organisms/TabsFormConfiguracoes/DadosGerais.js","components/organisms/TabsFormConfiguracoes/EmptyContent.js","components/organisms/TabsFormConfiguracoes/index.js","utils/patterns.js","pages/Configuracoes/styles.js","pages/Configuracoes/index.js","components/organisms/TableDocumentos/styles.js","components/organisms/TableDocumentos/EmptyContent.js","components/organisms/TableDocumentos/TableDocumentosHeader.js","components/organisms/TableDocumentos/ConteudoPorStatus.js","components/organisms/TableDocumentos/TableContent.js","components/organisms/TableDocumentos/DocumentosBeneficiarios.js","components/organisms/TableDocumentos/index.js","components/organisms/ModalDetalheDocumento/styles.js","components/atoms/Badges/styles.js","components/atoms/Badges/index.js","utils/base64Picture.js","assets/icons/reply_all-24px.svg","components/organisms/ModalDetalheDocumento/ModalFooter.js","components/organisms/ModalDetalheDocumento/index.js","components/organisms/ModalMotivoRecusa/index.js","pages/DetalheDocumentos/styles.js","pages/DetalheDocumentos/index.js","components/organisms/ImportarDocumentos/index.js","pages/DetalheDocumentosInativos/styles.js","pages/DetalheDocumentosInativos/index.js","pages/ListasMassaInicial/styles.js","components/organisms/FilterExtendsMassaInicial/styles.js","components/organisms/FilterExtendsMassaInicial/index.js","components/organisms/TabTableListasMassaInicial/styles.js","components/organisms/TabTableListasMassaInicial/index.js","pages/ListasMassaInicial/index.js","utils/prepareBase64File.js","pages/ListasRPA/styles.js","components/molecules/PartsModalListasRPA/ModalAlterarStatusRpa.js","components/molecules/PartsModalListasRPA/ModalCancelarEnvioRpa.js","components/organisms/TabTableListasRPA/styles.js","components/atoms/ButtonDropdown/styles.js","components/atoms/ButtonDropdown/index.js","components/organisms/TabTableListasRPA/index.js","components/molecules/StatusListRpa/styles.js","components/molecules/StatusListRpa/index.js","pages/ListasRPA/index.js","components/molecules/Relatorios/styles.js","components/molecules/Relatorios/EmptyRelatorios.js","components/molecules/Relatorios/TableBodyRelatorios.js","components/molecules/Relatorios/TableHeaderRelatorios.js","components/molecules/Relatorios/index.js","components/molecules/PartsModalRelatorioNestle/styles.js","components/molecules/PartsModalRelatorioNestle/ModalConfimarRelatorio.js","pages/RelatorioNestle/styles.js","pages/RelatorioNestle/index.js","pages/Unauthorized/index.js","components/organisms/TabFormUsuario/styles.js","components/organisms/TabFormUsuario/DadosAcesso.js","components/organisms/TabFormUsuario/DadosGerais.js","components/organisms/TabFormUsuario/HistoricoMovimentacoes.js","components/organisms/TabFormUsuario/index.js","components/organisms/ModalLiberarAcesso/index.js","pages/UsuarioDetalhe/styles.js","pages/UsuarioDetalhe/ModalCancelActionFooter.js","pages/UsuarioDetalhe/index.js","pages/UsuarioGestao/styles.js","components/organisms/FilterExtendsUsuarios/styles.js","components/organisms/FilterExtendsUsuarios/index.js","components/organisms/TabTableUsuarios/styles.js","components/organisms/TabTableUsuarios/index.js","assets/icons/business_center.svg","assets/icons/settings.svg","components/molecules/CardTipoPerfil/styles.js","components/molecules/CardTipoPerfil/index.js","components/organisms/ModalNovoUsuario/styles.js","components/organisms/ModalNovoUsuario/index.js","pages/UsuarioGestao/index.js","pages/UsuarioNovo/styles.js","pages/UsuarioNovo/ModalCancelActionFooter.js","pages/UsuarioNovo/Parametros.js","pages/UsuarioNovo/DadosGerais.js","pages/UsuarioNovo/AlertLiberarAcessoModal.js","pages/UsuarioNovo/DadosAcesso.js","pages/UsuarioNovo/index.js","components/organisms/FilterExtendsBeneficiarios/styles.js","components/organisms/FilterExtendsBeneficiarios/index.js","components/organisms/TabTableBeneficiarios/styles.js","components/organisms/TabTableBeneficiarios/index.js","pages/ConsultaBeneficiariosNestle/styles.js","pages/ConsultaBeneficiariosNestle/index.js","components/atoms/InfoDisplayItem/index.js","components/organisms/DadosBeneficiarios/styles.js","components/organisms/DadosBeneficiarios/index.js","pages/DetalheBeneficiariosNestle/styles.js","pages/DetalheBeneficiariosNestle/index.js","components/organisms/FormEditParametro/index.js","pages/EditParametro/styles.js","pages/EditParametro/index.js","pages/ListaInativo/styles.js","pages/ListaInativo/FormListaInativos.js","pages/ListaInativo/index.js","components/molecules/DadosLista/index.js","components/molecules/FooterListaInativosAcoes/index.js","enums/TipoPesquisaBeneficiarioEnum.js","components/organisms/FormPesquisaBeneficiario/styles.js","components/organisms/FormPesquisaBeneficiario/index.js","components/organisms/TablePesquisaBeneficiario/TableBeneficiarioBody.js","components/organisms/TablePesquisaBeneficiario/TableBeneficiarioHeader.js","components/organisms/TablePesquisaBeneficiario/index.js","components/molecules/ModalConsultaStructure/ModalFooter.js","components/molecules/ModalConsultaStructure/index.js","components/organisms/ModalPesquisaBeneficiario/index.js","components/organisms/FormSelecionaBeneficiario/TableBodyBeneficiario.js","components/organisms/FormSelecionaBeneficiario/TableHeaderBeneficiario.js","components/organisms/FormSelecionaBeneficiario/index.js","components/organisms/TableHistoricoAlteracoesLista/TableHistoricoBody.js","components/organisms/TableHistoricoAlteracoesLista/TableHistoricoHeader.js","components/organisms/TableHistoricoAlteracoesLista/index.js","pages/ListaInativoDetalhe/styles.js","pages/ListaInativoDetalhe/index.js","components/organisms/TableParametros/styles.js","components/organisms/TableParametros/index.js","pages/Parametros/styles.js","pages/Parametros/index.js","pages/ProcessamentoRelatorio/styles.js","components/organisms/TableRelatoriosBeneficiario/styles.js","components/organisms/TableRelatoriosBeneficiario/EmptyRelatorios.js","components/atoms/Chip/styles.js","components/atoms/Chip/index.js","components/organisms/TableRelatoriosBeneficiario/TableBodyRelatorios.js","components/organisms/TableRelatoriosBeneficiario/TableHeaderRelatorios.js","components/organisms/TableRelatoriosBeneficiario/index.js","components/organisms/ModalFiltrosAplicados/styles.js","components/organisms/ModalFiltrosAplicados/index.js","components/organisms/ModalRelatoriosAcoes/styles.js","components/organisms/ModalRelatoriosAcoes/index.js","pages/ProcessamentoRelatorio/index.js","components/molecules/PartsModalRelatorioBeneficiario/styles.js","components/molecules/PartsModalRelatorioBeneficiario/ModalConfimarRelatorio.js","pages/RelatorioBeneficiarios/styles.js","pages/RelatorioBeneficiarios/FormRelatorioBeneficiario.js","pages/RelatorioBeneficiarios/index.js","pages/SegundaVia/styles.js","components/molecules/StatusFilter/index.js","components/organisms/FilterExtendsSegundaVia/styles.js","components/molecules/ModalConsultaStructureSegundaVia/ModalFooter.js","components/molecules/ModalConsultaStructureSegundaVia/styles.js","components/molecules/ModalConsultaStructureSegundaVia/index.js","components/organisms/FormPesquisaBeneficiarioSegundaVia/styles.js","components/organisms/FormPesquisaBeneficiarioSegundaVia/index.js","components/organisms/TablePesquisaBeneficiarioSegundaVia/styles.js","components/organisms/ModalPesquisaBeneficiarioSegundaVia/index.js","components/organisms/TabTableListaSegundaVia/styles.js","pages/SegundaVia/index.js","pages/SolicitacaoSegundaVia/styles.js","pages/SolicitacaoSegundaVia/DetalheSolicitacao.js","components/atoms/InputUpload/style.js","components/atoms/InputUpload/index.js","components/molecules/RichTextEditor/index.js","pages/EditarLayoutEmail/styles.js","pages/EditarLayoutEmail/FormLayoutEmail.js","pages/EditarLayoutEmail/index.js","pages/ConsultarLayoutEmail/styles.js","pages/ConsultarLayoutEmail/index.js","pages/ConsultarEmail/styles.js","components/organisms/FilterExtendsEmailList/styles.js","components/organisms/FilterExtendsEmailList/index.js","components/organisms/TableAlertaListaEmail/styles.js","components/organisms/TableAlertaListaEmail/index.js","components/organisms/ModalCadastarEmailAlerta/styles.js","components/organisms/ModalCadastarEmailAlerta/index.js","pages/ConsultarEmail/index.js","pages/RelatorioFilhoForaDeFaixa/styles.js","components/organisms/TableRelatorioFilhosForaDeFaixa/EmptyRelatorios.js","components/organisms/TableRelatorioFilhosForaDeFaixa/styles.js","components/organisms/TableRelatorioFilhosForaDeFaixa/TableBodyRelatorios.js","components/organisms/TableRelatorioFilhosForaDeFaixa/TableHeaderRelatorios.js","components/organisms/TableRelatorioFilhosForaDeFaixa/index.js","pages/RelatorioFilhoForaDeFaixa/importarArquivo.js","pages/RelatorioFilhoForaDeFaixa/index.js","routes/routes.js","components/Icons/LoadingIcon/styles.js","components/Icons/LoadingIcon/index.js","routes/ProtectedRoute.js","pages/Login/styles.js","components/atoms/SectionHeader/styles.js","components/atoms/SectionHeader/index.js","components/organisms/FormLogin/styles.js","components/organisms/FormLogin/index.js","pages/Login/LoginPart.js","components/molecules/InfoBox/styles.js","components/molecules/InfoBox/index.js","components/molecules/InputForgottenPassword/styles.js","components/molecules/InputForgottenPassword/index.js","components/organisms/FormEmailSent/styles.js","components/organisms/FormEmailSent/index.js","components/organisms/FormForgottenPassword/styles.js","components/organisms/FormForgottenPassword/index.js","pages/Login/RedefinirSenha.js","pages/Login/index.js","components/organisms/FormChangePassword/styles.js","components/organisms/FormChangePassword/index.js","pages/RecuperarSenha/styles.js","pages/RecuperarSenha/index.js","pages/ErrorPage/index.js","pages/NotFound/index.js","services/massaInicial.js","services/signalR.js","components/organisms/FormMassaInicial/styles.js","components/organisms/FormMassaInicial/index.js","components/organisms/ModalTermoMassaInicial/styles.js","components/organisms/ModalTermoMassaInicial/index.js","components/molecules/LoadingFiles/styles.js","components/molecules/LoadingFiles/index.js","components/organisms/UploadMassaInicial/styles.js","components/organisms/UploadMassaInicial/TemplateDownloadText.js","components/organisms/UploadMassaInicial/RegrasImportMassaInicial.js","components/organisms/UploadMassaInicial/index.js","pages/MassaInicial/styles.js","pages/MassaInicial/index.js","pages/TermoResponsabilidade/styles.js","pages/TermoResponsabilidade/index.js","routes/index.js","styles/global.js","ErrorBoundary.js","components/organisms/FooterPage/styles.js","components/organisms/FooterPage/index.js","components/organisms/DropChangeParametrizacao/styles.js","components/organisms/DropChangeParametrizacao/index.js","components/organisms/ModalLogout/styles.js","components/organisms/ModalLogout/index.js","components/organisms/NavbarPrimary/styles.js","components/organisms/NavbarPrimary/index.js","components/organisms/NavbarSecondary/styles.js","assets/icons/beneficiarioIcon.svg","assets/icons/configuracaoIcon.svg","assets/icons/gestaoIcon.svg","assets/icons/listasIcon.svg","assets/icons/segundaViaCartaoIcon.svg","assets/icons/visaoGeralIcon.svg","components/molecules/DropdownTree/styles.js","components/molecules/DropdownTree/index.js","components/organisms/NavbarSecondary/index.js","context/TriggerModalContext/styles.js","context/TriggerModalContext/ModalTrigger.js","context/TriggerModalContext/TriggerModalContext.js","App.js","index.js","enums/TipoRelatorioFilhoForaDeFaixa.js","enums/index.js","assets/images/login/logo-unimed-fesp.svg","enums/TipoPerfilUsuarioEnum.js"],"names":["module","exports","returnName","1","2","returnNameForName","Celular","Residencial","0","returnId","Selecione","Administrador","Contratante","returnPermissaoForTipoPerfilUsuario","ContratanteConsulta","ContratanteAlteracao","returnTipoPerfilUsuarioForPermissao","Consulta","Alteração","returnNameForId","returnIdForName","DEPENDENTE","TITULAR","returnIdForNameFormatted","Dependente","Titular","returnNameFormattedForId","returnNameFormattedForName","returnNameForNameFormatted","3","4","returnNameFormatted","PendenteLiberacao","Ativo","Inativo","Bloqueado","returnNameForTab","Todas","returnTabForName","36","38","Demitidos","Aposentados","5","6","7","8","9","10","11","12","13","14","ListaCriada","UploadIniciado","UploadFinalizado","EmEsperaParaValidacao","EmProcessamento","EmProcessamento_LeituraDoArquivo","EmProcessamento_RecuperandoInformacaoProgress","EmProcessamento_ValidacaoDoArquivo","EmProcessamento_ExecucaoDoArquivo","ProcessamentoFinalizado","ListaAntiga","ErroExecucao","EmEsperaParaProcessamento","Inclusão","Exclusão","Transferência","Inativos","Inclusao","Alteracao","Exclusao","Transferencia","Lote","Nestle","getOccurrence","array","predicate","filter","length","getBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","substr","indexOf","onerror","error","getDifferenceBetween","arrayOne","keyOne","arrayTwo","keyTwo","_ref","id1","some","_ref2","id2","toBase64","item","Buffer","from","JSON","stringify","toString","toJsonFromBase64","base64","Manual","Ready","InProgress","Finished","returnPlaceHolderForName","returnNameUIForNameAPI","ContratanteRoot","GrupoRoot","returnNameAPI","Processar","ErroNaCarga","Reprocessar","ErroNaImportacao","LiberarRetorno","PreVenda","PreVendaComAlteracao","ImportacaoParcial","LiberarRetornoParcial","ErroDeLiberacao","Liberar","Importacao","ComErros","15","16","17","18","19","20","21","22","23","24","AditivoReducaoCarencias","BoletoPagamentoOperadoraAnterior","CadastroPessoaFisica","CartaProprioPunho","CartaoNacionalSaude","CarteiraConvenioOperadoraAnterior","CarteiraProfissaoVinculadaEntidadeClasse","CertidaoCasamento","CertidaoNascimento","ComprovanteEndereco","ComprovantePagamentoFiliacaoEntidadeClasse","ComprovantePagamentoOperadoraAnterior","DecisaoJudicial","DeclaracaoAdministradoraEntidadeComprovandoVinculo","DeclaracaoFaculdadeAtualizada","DeclaraçãoImpostoRenda","DeclaracaoPermanenciaOperadoraAnterior","DeclaracaoSaude","DeclaracaoUniãoEstavel","FichaFiliacaoEntidadeClasse","LaudoINSS","PropostaAdesao","RegistroGeral","RelatorioCompatibilidade","returnNamePorSigla","ARC","BPOA","CPF","RDP","CNS","CCO","CP","CC","CN","CE","CPEC","CPOA","DJ","CV","DFA","DIR","DPO","DS","DUE","FF","LI","PA","RG","RCA","CCOA","CCA","HOL","TRES","CARCON","returnNameFormattedPorSigla","DPOA","Validacao","Processamento","returnDescricao","FinalizacaoRelatorioBeneficiarios","AlteracaoListaStatusAguardandoDocumentos","AlteracaoListaStatusAguardandoDownload","AlteracaoListaStatusEmAnaliseDocumentacao","AlteracaoListaStatusEmValidacao","AlteracaoListaStatusProcessadoErro","AlteracaoListaStatusErroValidacao","AlteracaoListaStatusExcluida","AlteracaoListaStatusPendente","AlteracaoListaStatusPendenteProcessamento","AlteracaoListaStatusProcessadoSucesso","AlteracaoListaStatusProcessadaParcialmente","ErroGeracaoRelatorioBeneficiarios","returnIdForDescription","returnDescriptionPorId","Enviado","PendentedeEnvio","EmExportacao","ErrodeProcessamento","ProcessadoSucesso","Reenviado","Excluida","ErroExportacao","AguardandoDownload","PendenteProcessamento","ErroValidacao","EmValidacao","AguardandoDocumentos","ProcessadaParcialmente","Registrada","EmAnalisedeDocumentacao","ComErro","Pendente","EmEspera","Processada","history","createBrowserHistory","setTabContentPorStatus","objResponse","StatusEnum","draft","map","obj","StatusLista","status","size","total","data","pageNumber","pageSize","nextPage","previousPage","totalPages","Math","ceil","setTabContentPorStatusSingleObj","Types","DELETE_LISTA_CSV_REQUEST","GET_ARQUIVO_LOTE_ORIGINAL_REQUEST","GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS","GET_ARQUIVO_LOTE_ORIGINAL_ERROR","GET_ARQUIVO_LOTE_ORIGINAL_RENEW","POST_IMPORTAR_LOTE_CSV_REQUEST","POST_IMPORTAR_LOTE_CSV_SUCCESS","POST_VALIDAR_LOTE_CSV_REQUEST","POST_RELATORIO_RESUMIDO_NOVO_REQUEST","POST_RELATORIO_RESUMIDO_NOVO_SUCCESS","POST_RELATORIO_RESUMIDO_NOVO_ERROR","POST_RELATORIO_RESUMIDO_NOVO_RENEW","POST_RELATORIO_DETALHADO_NOVO_REQUEST","POST_RELATORIO_DETALHADO_NOVO_SUCCESS","POST_RELATORIO_DETALHADO_NOVO_ERROR","POST_RELATORIO_DETALHADO_NOVO_RENEW","POST_SEARCH_LIST_RPA_REQUEST","POST_SEARCH_LIST_RPA_RESPONSE","GET_STATUS_LIST_RPA_REQUEST","GET_STATUS_LIST_RPA_RESPONSE","POST_SEARCH_LIST_REQUEST","POST_SEARCH_LIST_RESPONSE","GET_STATUS_LIST_CONTRATANTE_REQUEST","GET_STATUS_LIST_CONTRATANTE_RESPONSE","GET_STATUS_LIST_ADMIN_REQUEST","GET_STATUS_LIST_ADMIN_RESPONSE","GET_STATUS_LIST_NESTLE_REQUEST","GET_STATUS_LIST_NESTLE_RESPONSE","POST_LISTA_INATIVAS_REQUEST","POST_LISTA_INATIVAS_RESPONSE","PUT_LISTA_INATIVAS_REQUEST","PUT_LISTA_INATIVAS_RESPONSE","GET_LISTA_INATIVAS_REQUEST","GET_LISTA_INATIVAS_RESPONSE","GET_LISTA_BENEFICIARIOS_RENEW","GET_LISTA_BENEFICIARIOS_REQUEST","GET_LISTA_BENEFICIARIOS_RESPONSE","GET_GRUPO_FAMILIAR_REQUEST","GET_GRUPO_FAMILIAR_RESPONSE","POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST","POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS","POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR","CHECK_BENEFICIARIO_INATIVOS","SET_BENEFICIARIOS_SUCCESS","SET_LISTA_FAMILIAR_REQUEST","POST_LISTA_FAMILIAR_REQUEST","POST_LISTA_FAMILIAR_RESPONSE","GET_RELATORIO_RPA_REQUEST","GET_RELATORIO_RPA_SUCCESS","GET_RELATORIO_RPA_ERROR","GET_RELATORIO_RPA_RENEW","GET_LISTAS_REQUEST","GET_LISTAS_SUCCESS","GET_LISTAS_ERROR","GET_LISTAS_POR_STATUS_REQUEST","GET_LISTAS_POR_STATUS_SUCCESS","GET_LISTAS_POR_STATUS_ERROR","GET_LISTAS_RPA_REQUEST","GET_LISTAS_RPA_SUCCESS","GET_LISTAS_RPA_ERROR","GET_LISTA_DETALHE_REQUEST","GET_LISTA_DETALHE_SUCCESS","GET_LISTA_DETALHE_ERROR","GET_LISTA_MASSA_INICIAL_REQUEST","GET_LISTA_MASSA_INICIAL_ERROR","GET_LISTA_MASSA_INICIAL_SUCCESS","GET_ARQUIVO_MASSA_INICIAL_REQUEST","GET_ARQUIVO_MASSA_INICIAL_ERROR","GET_ARQUIVO_MASSA_INICIAL_SUCCESS","GET_ARQUIVO_MASSA_INICIAL_RENEW","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS","POST_ARQUIVO_MASSA_INICIAL_REQUEST","POST_ARQUIVO_MASSA_INICIAL_SUCCESS","POST_ARQUIVO_MASSA_INICIAL_ERROR","POST_ARQUIVO_MASSA_INICIAL_RENEW","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW","GET_LISTAS_RPA_POR_STATUS_REQUEST","GET_LISTAS_RPA_POR_STATUS_SUCCESS","GET_LISTAS_RPA_POR_STATUS_ERROR","POST_ARQUIVO_IMPORTACAO_REQUEST","POST_ARQUIVO_IMPORTACAO_SUCCESS","POST_ARQUIVO_IMPORTACAO_ERROR","IMPORTAR_LOTE_REQUEST","IMPORTAR_LOTE_RENEW","IMPORTAR_LOTE_UPDATE","IMPORTAR_LOTE_UPDATE_PROGRESS","IMPORTAR_LOTE_UPDATE_STATUS","IMPORTAR_LOTE_UPDATE_FILES","IMPORTAR_LOTE_SUCCESS","IMPORTAR_LOTE_LOG_ERROR","IMPORTAR_LOTE_LOG_ERROR_RENEW","IMPORTAR_LOTE_ERROR","IMPORTAR_LOTE_NESTLE_REQUEST","PUT_LISTAS_REQUEST","PUT_LISTAS_RENEW","PUT_LISTAS_SUCCESS","PUT_LISTAS_ERROR","PATCH_LISTA_STATUS_REQUEST","PATCH_LISTA_STATUS_RENEW","PACTH_LISTA_STATUS_SUCCESS","PATCH_LISTA_STATUS_ERROR","PATCH_LISTA_ENVIO_RPA_REQUEST","PATCH_LISTA_ENVIO_RPA_SUCCESS","PATCH_LISTA_ENVIO_RPA_ERROR","PATCH_LISTA_ENVIO_RPA_RENEW","PATCH_STATUS_RPA_REQUEST","PATCH_STATUS_RPA_SUCCESS","PATCH_STATUS_RPA_ERROR","PATCH_STATUS_RPA_RENEW","DELETE_LISTA_REQUEST","DELETE_LISTA_SUCCESS","DELETE_LISTA_RENEW","DELETE_LISTA_ERROR","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW","INITIAL_STATE","loading","uploadLoading","getRelatorioLista","success","response","unsuccessResponse","isError","getArquivoOriginalLote","listas","totalCount","listasRpa","beneficiario","statusLists","availables","actives","postSalvarBeneficiarioInativos","postPesquisaBeneficiario","grupoFamiliar","loadFamiliar","details","create","putListas","patchListaStatus","postArquivoImportacao","postImportarLoteCsv","postImportarLote","tipoMovimentacao","files","isPartialSuccess","logError","getListas","deleteLista","patchListaEnvioRPA","getListasRPA","patchStatusRPA","postListaTransferencia","getRelatorioRPA","getListaDetalhe","patchValidacaoListaTransferencia","getListaMassaInicial","getArquivoMassaInicial","MassaInicial","post","idLista","patch","Creators","deleteListaCsv","params","type","payload","getDownloadArquivoLoteOriginal","getDownloadArquivoLoteOriginalSuccess","getDownloadArquivoLoteOriginalError","getDownloadArquivoLoteOriginalRenew","postRelatorioResumidoNovoRequest","tipoRelatorio","postRelatorioResumidoNovoSuccess","postRelatorioResumidoNovoError","postRelatorioResumidoNovoRenew","postRelatorioDetalhadoNovoRequest","postRelatorioDetalhadoNovoSuccess","postRelatorioDetalhadoNovoError","postRelatorioDetalhadoNovoRenew","postSearchListRpaRequest","postSearchListRpaResponse","postSearchListRequest","postSearchListResponse","getStatusListRpaRequest","getStatusListRpaResponse","getStatusListContratanteRequest","idContrantante","mostrarListaFake","getStatusListContratanteResponse","getStatusListAdminRequest","getStatusListAdminResponse","getStatusListNestleRequest","getStatusListNestleResponse","getListasRequest","TipoStatus","getListasSuccess","getListasError","postListaInativasRequest","contratante","postListaInativasSuccess","putListaInativasRequest","putListaInativasSuccess","getListaInativasRequest","getListaGrupoFamiliarRequest","id","getListaGrupoFamiliarSuccess","getListaInativasSuccess","getListaBeneficiarioRequest","getListaBeneficiarioRenew","postSalvarBeneficiarioInativosRequest","setFamiliar","param","postFamiliarRequest","beneficiarios","postFamiliarResponse","arguments","undefined","postSalvarBeneficiarioInativosSuccess","postSalvarBeneficiarioInativosError","getListaBeneficiarioSuccess","getListasPorStatusRequest","cpf","getListasPorStatusSuccess","getListasPorStatusError","postArquivoImportacaoRequest","novoArquivoRequest","postArquivoImportacaoSuccess","postArquivoImportacaoError","importarLoteRequest","importarLoteCsvRequest","importarLoteCsvSuccess","isSuccess","validarLoteCsvRequest","importarLoteSuccess","importarLoteLogError","filename","importarLoteLogErrorRenew","importarLoteRenew","importarLoteUpdate","importarLoteUpdateProgress","progress","importarLoteUpdateStatus","idFile","uploaded","importarLoteUpdateFiles","importarLoteError","putListasRequest","putListasRenew","putListasSuccess","newListas","putListasError","patchListaStatusRequest","patchListaStatusRenew","patchListaStatusSuccess","patchListaStatusError","deleteListaRequest","deleteListaSuccess","deleteListaRenew","deleteListaError","patchListaEnvioRPARequest","isActive","patchListaEnvioRPASuccess","patchListaEnvioRPAError","patchListaEnvioRPARenew","getListasRPARequest","getListasRPASuccess","getListasRPAError","getListasRPAPorStatusRequest","getListasRPAPorStatusSuccess","getListasRPAPorStatusError","patchStatusRPARequest","tipoStatus","patchStatusRPASuccess","patchStatusRPAError","patchStatusRPARenew","getRelatorioRPARequest","getRelatorioRPASuccess","getRelatorioRPAError","getRelatorioRPARenew","getListaDetalheRequest","getListaDetalheSuccess","getListaDetalheError","getListasMassaInicialRequest","getListasMassaInicialError","getListasMassaInicialSuccess","getArquivoMassaInicialRequest","idArquivo","nomeArquivoDownload","getArquivoMassaInicialError","getArquivoMassaInicialSuccess","getArquivoMassaInicialRenew","postArquivoMassaInicialRequest","body","postArquivoMassaInicialRenew","postArquivoMassaInicialSuccess","postArquivoMassaInicialError","getTermoResponsabilidadeMassaInicialRequest","getTermoResponsabilidadeMassaInicialError","getTermoResponsabilidadeMassaInicialSuccess","patchValidacaoListaTrasnferenciaRequest","patchValidacaoListaTrasnferenciaSuccess","patchValidacaoListaTrasnferenciaError","patchValidacaoListaTrasnferenciaRenew","patchAceiteCompartilhamentoMassaInicialRequest","patchAceiteCompartilhamentoMassaInicialError","patchAceiteCompartilhamentoMassaInicialSuccess","patchAceiteCompartilhamentoMassaInicialRenew","postArquivoImportacaoNestleRequest","checkBenefiarioInativos","idBeneficiario","socketMiddleware","storeAPI","next","async","action","ListaTypes","connection","on","resp","progressValue","dispatch","ListaActions","importarRelatorio","competencias","downloadRelatorio","deleteRelatorio","getDownloadRelatorioRequest","idCompetencia","codigoContratante","getDownloadRelatorioSuccess","postImportarRelatorioSuccess","getCompetenciasSuccess","idRelatorio","deleteRelatorioSuccess","REACT_APP_IDENTIFIER_CONTRATANTE","process","ModalContext","createContext","movcad","movPrimary","movRed90","movRed80","movRed70","movRed60","movSecondary","movGrey90","movGrey80","movGrey70","movGrey60","movYellowDefault","movYellow90","movYellow80","movYellow70","movYellow60","movBlack","movBlack90","movBlack80","movBlack70","movBlack60","movBlue","movBlue30","greenDefault","greenPressed","greenLight","orangeDefault","purpleDefault","pinkDefault","redLight","primaryHover","contrastColor","whiteDefault","yellowTheme","yellowPressed","bgHighlight","bgGrayFooter","bgGrayDisabled","blueDefault","bluePressed","grayDefault","grayLigth","textGray","textGrayDisabled","textSidebarDisabled","textSupp","bgGray","bgWhite","bgCream","bgInput","redPressed","lightblueDefault","borderGray","borderGrayLight","borderGrayLighter","borderGrayCollapse","statusYellow","transparent","shadowDefault","shadowHover","titleGray","inputBackgroundGray","dropdownBorderGray","dropdownBackgroundGray","dropdownBackgroundWhite","dropdownColorGray","white","redDefault","red","red100","red200","red300","red400","red500","red600","red700","red800","red900","red1000","greenHover","greenLink","greenDisabledLoading","greenDisabled","green1","green100","green200","green221","green250","green300","green400","green500","grey","grey100","grey200","grey210","grey300","grey400","grey410","grey500","grey600","movGrey","grey1","grey2","greyBorder","greyText","greyRadio","greyBack","greyDisable","colorGray","lightGrey","blue","blue100","blue200","blue300","blue400","blue500","blueA300","yellow","yellow100","yellow200","yellow300","yellow400","yellow500","yellowDefault","yellowInfo","orange200","orangeA400","toastSuccess","toastWarning","toastError","toastInfo","buttonConfirm","buttonConfirmHover","buttonCancel","buttonCancelHover","buttonInfo","buttonInfoHover","pink","lightPink","fontExtrabold","fontBold","fontSemibold","fontRegular","fontLight","theme","styled","div","_templateObject","_taggedTemplateLiteral","position","css","_templateObject2","left","_templateObject3","_ref3","top","_templateObject4","_ref4","maxHeight","_templateObject5","_ref5","maxWidth","_templateObject6","_ref6","height","_templateObject7","_ref7","width","_templateObject8","_templateObject9","ModalHeaderContainer","_templateObject10","_ref8","background","_templateObject11","_ref9","justifyContent","_templateObject12","_ref10","padding","_templateObject13","ModalContentWrapperContainer","_templateObject14","_ref11","_templateObject15","_ref12","paddingTop","_templateObject16","_ref13","display","_templateObject17","_ref14","_templateObject18","ModalContentContainer","_templateObject19","_ref15","isModalWithWarning","_templateObject20","_templateObject21","_ref16","overflow","_templateObject22","_templateObject23","_ref17","_templateObject24","_templateObject25","_ref18","_templateObject26","_templateObject27","_ref19","_templateObject28","_templateObject29","ModalFooterContainer","_templateObject30","_ref20","_templateObject31","_ref21","_templateObject32","_ref22","_templateObject33","_ref23","marginBottom","_templateObject34","_ref24","paddingBottom","_templateObject35","ModalHeader","children","disabled","onClick","useContext","React","createElement","MdClose","_","e","ModalContentWrapper","ModalContent","ref","ModalFooter","alignItems","Container","button","border","concat","font","color","borderRadius","opacity","marginLeft","marginRight","Button","text","props","Object","assign","ContentText","TextSucesso","Text","loggedIn","usuario","accessToken","accessTokenExpiration","refreshToken","refreshTokenExpiration","userType","token","getChangeToken","postLogin","postRecaptchaVerify","getRecuperarSenha","postRecuperarSenha","auth","signInSuccess","signOut","signOutLegadoRequest","invalidToken","queryParams","usuarioParams","postLoginSuccess","changePassword","postLoginError","postRecaptchaVerifySuccess","postRecuperarSenhaSuccess","getRecuperarSenhaSuccess","handleSignOut","Fragment","tipo","alignCenter","justifyCenter","ModalSessionExpired","isOpen","useDispatch","Modal","footer","AuthActions","FaClock","USER_KEY","key","name","port","ports","REACT_APP_SECRET","getLocalObj","sessionStorage","getItem","decryptObject","encryptedString","encryptionKey","decryptedString","CryptoJS","AES","decrypt","enc","Utf8","parse","getUserData","getTokenAccessToken","access_token","getTokenExpirationDate","expiration","isAccessTokenValid","isBefore","Date","parseISO","getRefreshToken","refresh_token","movcadUpt","setItem","persistData","encryptData","encryptObject","object","objectString","encrypt","excludeData","removeItem","setAuthorization","config","headers","Authorization","TokenExpirationTimer","timeLeft","setTimeLeft","useState","showModal","setShowModal","useEffect","interval","setInterval","duration","intervalToDuration","start","end","hours","minutes","seconds","formattedTimeLeft","clearInterval","logOut","setData","newConfig","url","snakeCaseKeys","paramsSerializer","p","qs","skipNulls","arrayFormat","setAxiosRequestConfig","errorHandler","redirect","push","setAxiosResponseConfig","camelcaseKeys","deep","REACT_APP_BASEURL","REACT_APP_MOVCAD_LEGACY","legado","axios","baseURL","AlertaListaContratanteAPI","Accept","pjson","version","FilhoForaDeFaixaAPI","LayoutEmailAPI","OAuth","OAuthNewToken","listasAPI","requisitionAPI","WebhookIntegrationAPI","WebhookEventIntegrationAPI","WebhookEventHeaderIntegrationAPI","TaskAPi","ArquivoUploadAPI","listasMassaInicialAPI","contratantesAPI","UsuariosAPI","BeneficiariosAPI","ParametroAPI","RelatoriosAPI","CheckListDocumentosAPI","ListaInativosAPI","interceptors","request","use","ToastContainer","attrs","autoClose","WarningToastContainer","RiErrorWarningLine","ErrorToastContainer","GiCancel","SuccessToastContainer","BiCheckCircle","InfoContainer","WarningToast","ErrorToast","SuccessToast","Toast","postImportarRelatorio","call","put","FilhoForaDeFaixaActions","_error$response","_error$response$data","mensagem_error","toast","getCompetencias","get","getRelatorioFilhoForaDeFaixa","deleteRelatorioCompetencia","delete","createActions","postListagemPaginadaRequest","postListagemPaginadaResponse","deletePorIdsRequest","deletePorIdsResponse","postSalvarRequest","postSalvarResponse","INICIAL_STATE","listaEmails","deleteEmails","salvarEmail","createReducer","POST_LISTAGEM_PAGINADA_REQUEST","state","POST_LISTAGEM_PAGINADA_RESPONSE","DELETE_POR_IDS_REQUEST","DELETE_POR_IDS_RESPONSE","POST_SALVAR_REQUEST","POST_SALVAR_RESPONSE","postObterListagemPaginada","AlertaListaContratantesActions","message","deleteExcluirPorIds","_error$response2","postSalvarEmail","_error$response3","_error$response3$data","errors","forEach","element","getLayoutEmailListRequest","getLayoutEmailListResponse","getLayoutEmailPorIDRequest","getLayoutEmailPorIDResponse","postLayoutEmailRequest","postLayoutEmailResponse","getLayoutEmailList","getLayoutEmail","postLayoutEmail","GET_LAYOUT_EMAIL_LIST_REQUEST","GET_LAYOUT_EMAIL_LIST_RESPONSE","GET_LAYOUT_EMAIL_POR_ID_REQUEST","GET_LAYOUT_EMAIL_POR_ID_RESPONSE","POST_LAYOUT_EMAIL_REQUEST","POST_LAYOUT_EMAIL_RESPONSE","Error","LayoutEmailActions","getLayoutEmailPorId","postWebhookEventHeader","getWebhookEventHeaderList","putWebhookEventHeader","deleteWebhookEventHeader","postWebhookEventHeaderResponse","webhookEventId","getWebhookEventHeadersListResponse","putWebhookEventHeaderResponse","idWebhookEventHeader","deleteWebhookEventHeaderResponse","getWebhookEventHeadersList","WebhookEventHeaderIntegration","postWebhookEvent","getWebhookEventList","putWebhookEventIntegration","deleteWebhookEventIntegration","postWebhookEventIntegrationResponse","webhookId","getWebhookEventsListResponse","putWebhookEventIntegrationResponse","idWebhook","deleteWebhookEventIntegrationResponse","WebhookEventIntegration","deleteWebhookEvent","idWebhookEvent","putWebhookEvent","error_message","postWebhook","getWebhookConfiguration","putWebhookIntegration","getWebhookListEvents","postWebhookIntegrationRequest","getWebhookConfigurationRequest","getWebhookConfigurationResponse","getWebhookListEventsRequest","getWebhookListEventsResponse","getWebhookEventsList","WebhookIntegration","deleteWebhook","putWebhook","responseUsuarioEspelho","usuarioEspelho","patchBloquearDesbloquearUsuario","isPatchLiberarAcessoSuccess","isPatchInativarAtivarSuccess","isPatchRegistrarContato","isPatchSenha","unsucessResponse","newUsuario","patchStatusUsuario","patchLiberarAcesso","getConsultaUsuarios","getUsuarioById","getContatoById","getDadosAcessoById","getHistoricoMovimentacoes","getGrupoContratantes","getContratantes","patchDadosGerais","patchRegistrarContato","patchDadosAcesso","patchSenha","postParametrizacaoContratante","getParametrizacaoUsuario","getContratantesUsuario","getParametrizacaoCards","postParametrizacaoUsuario","uniqueId","getParametrizacaoNode","putParametrizacaoUsuario","postAtualizarSessaoLegado","getParametrizacaoCardsCompleto","patchParametrizacaoInativar","saveParametrizacaoCards","isSaveAll","getAndBuildParametrizacaoCards","getRelatorioUsuariosDownload","patchBloquearDesbloquearUsuarioRequest","idUsuario","bloqueio","patchBloquearDesbloquearUsuarioSuccess","getDownloadRelatorioUsuariosSuccess","getConsultaUsuariosRequest","getConsultaUsuariosSuccess","getConsultaUsuariosPorStatusSuccess","usuarios","patchLiberarAcessoRenew","patchLiberarAcessoSuccess","getUsuarioByIdSuccess","usuarioById","getUsuarioByIdError","patchStatusRequest","patchStatusRenew","patchStatusSuccess","criarUsuarioSuccess","criarUsuarioError","criarUsuarioRenew","patchRegistrarContatoRequest","contatos","patchRegistrarContatoSuccess","getContatoByIdSuccess","contatoById","getContatoByIdError","patchSenhaRequest","senha","novaSenha","confirmacaoSenha","patchSenhaRenew","patchSenhaSuccess","getDadosAcessoByIdSuccess","getDadosAcessoByIdError","patchDadosGeraisRequest","patchDadosGeraisRenew","patchDadosGeraisSuccess","patchDadosGeraisError","patchDadosAcessoRenew","patchDadosAcessoSuccess","patchDadosAcessoError","getHistoricoMovimentacoesRequest","getHistoricoMovimentacoesSuccess","historicoMovimentacao","getHistoricoMovimentacoesError","postParametrizacaoContratanteSuccess","postParametrizacaoContratanteError","getParametrizacaoUsuarioSuccess","getParametrizacaoUsuarioError","getContratantesUsuarioSuccess","getContratantesUsuarioError","getParametrizacaoCardsRequest","cards","getParametrizacaoCardsSuccess","getParametrizacaoCardsError","postParametrizacaoUsuarioSuccess","hasValidationErros","postParametrizacaoUsuarioError","putParametrizacaoUsuarioSuccess","putParametrizacaoUsuarioError","getParametrizacaoNodeSuccess","getParametrizacaoNodeError","parametrizacaoNodeRenew","postAtualizarSessaoLegadoSuccess","postAtualizarSessaoLegadoError","getParametrizacaoCardsCompletoRequest","idCard","idParametrizacao","patchParametrizacaoInativarRequest","patchParametrizacaoInativarSuccess","saveParametrizacaoCardsRequest","postCards","putCards","saveParametrizacaoCardsSuccess","hasValidationErrors","getAndBuildParametrizacaoCardsSuccess","getAndBuildParametrizacaoCardsError","patchAtualizarTipoPerfilRequest","newRoles","postClonarUsuarioEspelhoRequest","idUsuarioEspelho","usuarioEspelhoRenew","responseHandler","objRequest","objReference","methodName","statusResponse","o","index","reference","errorOn","responseHandlerGet","statusCode","validationPattern","regexValidate","charValidate","camelValidate","numberValidate","symbolValidate","changePasswordValidate","isEmail","email","match","isEmailValidateBackend","isNumber","number","isValidMesmoTelefone","telefone","isValidTelefone","isLengthTelefone","substring","isSequenciaIgualTelefone","isValidMesmoCelular","celular","isValidCelular","isLengthCelular","isSequenciaIgualCelular","isPartialEmail","includes","isChangePassword","password","signIn","tokenData","jwtDecode","idUsuarioLogado","id_usuario_logado","login","unique_name","nome","given_name","role","NomeContratante","nomeEmpresa","GrupoContratante","UsuarioActions","refreshInvalidToken","select","requestBody","UserId","Validate","GrantType","RefreshToken","UserType","TipoPerfilUsuarioEnum","returnNameForRefresh","retry","trim","window","location","reload","queryUsuarioParams","bt_alteracao_senha","addQueryPrefix","signOutLegado","console","log","nomeLista","all","lista","getDownloadArquivoOriginalLote","postRelatorioResumidoNovo","postRelatorioDetalhadoNovo","postSearchListRpa","idsListas","listasSinalizadas","ids_lista","listaSinalizada","find","getStatusListRpa","description","count","reduce","accumulator","currentValue","postSearchList","getStatusListContratante","parseInt","getStatusListNestle","getStatusListAdmin","values","queryString","StatusListaAPIEnum","idStatus","findKey","dataLista","postListaInativas","solicitante","getListaInativas","putListaInativas","modalidade","descricao","getListaBeneficiario","postFamiliar","getListaGrupoFamiliar","getListaPorStatus","dataUsuarios","arquivo","nomeArquivo","idHub","Messages","validarLoteCsv","isLoteSuccess","newFiles","fileToBase64","fileListaRequest","nome_arquivo","codigo_contratante","TipoMovimentacao","newFile","err","log_errors","status_progress","erros_base64","every","importarLoteCsv","id_usuario_solicitante","criar_lista","setTimeout","go","importarLote","newLista","cdContratante","tipoLista","TipoLista","nmLista","connectionId","idStatusLista","dcDescricao","listasComIdLista","ativo","idStatusRpa","StatusListaRPAEnum","statusEnvioRpa","getListaPorStatusRPA","getTermoResponsabilidadeMassaInicial","postArquivoMassaInicial","isValid","validationResult","errorMessage","a","patchAceiteCompartilhamento","postArquivoImportacaoNestle","arquivoNestle","getModalidadesSuccess","consultaModalidades","getInativos","inativos","modalidades","dataModalidades","ModalidadeActions","BASE_PATH","checkAllNested","options","check","subOptions","sub","countAllNested","s","isHeader","countAllParents","path","pathToAtual","value","option","checkAllParents","pathName","handleContagem","card","tipoParametrizacao","TipoCardRoot","handleContagemContratante","handleContagemComplemento","_card$options$","contagem","contratantes","termos","_a$subOptions$","_sub$subOptions$","_sub","_card$options$2","_sub$subOptions$2","unCheckIfAllUnchecked","slice","setPath","nivel","Section","contratantePath","modalidadePath","termoPath","Header","Content","TipoConsultaParametrizacaoEnum","emptyCard","previousPath","currentPath","nextPath","removeCheck","nodeLoading","cardLoading","hasSubOptions","setNivelHeader","selectedCard","checkAll","setNivelContent","objNivel","nomeContratante","numeroInscricao","inativado","novo","nextRequest","codigoModalidade","codigoTermo","isLast","getParametrizacaoRoot","_selectedCard$options","_selectedCard$complem","_selectedCard$complem2","_selectedCard$complem3","contratanteCheckAll","contratanteNodeArray","_a$subOptions$2","modalidadeCheckAll","modalidadeNodeArray","_sub$subOptions$3","termoCheckAll","termoNodeArray","termoNode","modalidadeNode","parametrizacaoRoot","codigoGrupo","complemento","nomeGrupo","codigoComplemento","contratanteNode","setComplemento","_selectedCard$options2","_selectedCard$contrat","_selectedCard$contrat2","_selectedCard$contrat3","_sub$subOptions$4","setContratante","setParametrizacaoNivel","parametrizacaoNivel","parametrizacao","_parametrizacao$compl","_parametrizacao$compl2","_parametrizacao$compl3","_parametrizacao$compl4","_parametrizacao$contr","_parametrizacao$contr2","_parametrizacao$contr3","_parametrizacao$contr4","cardHeader","contagemId","setCard","isEditar","listaContratantes","setTree","checkados","newSubOptions","c","treeBuilder","contratanteNodes","contratanteIndex","modalidadeNodes","modalidadeIndex","termoNodes","termoIndex","termoCount","termoHeader","modalidadeCount","modalidadeHeader","contratanteCount","treeBuilderComplemento","_object$contratanteNo","_object$contratanteNo2","treeBuilderContratante","setCardContagem","getGrupoComplementos","getContratanteModalidades","getModalidadeTermos","getGrupoContagem","getContratanteContagem","getGrupoComplementosSuccess","grupoComplementos","getGrupoComplementosError","getContratanteSuccess","getContratanteError","getGrupoContratantesSuccess","grupoContratantes","getGrupoContratantesError","getContratanteModalidadesSuccess","contratanteModalidades","getContratanteModalidadesError","getModalidadeTermosSuccess","modalidadeTermos","getModalidadeTermosError","getGrupoContagemSuccess","getGrupoContagemError","getContratanteContagemSuccess","getContratanteContagemError","cardIds","rowsChecked","parametrizacaoSetPath","parametrizacaoSetSelectedOption","parametrizacaoRootRenew","parametrizacaoSetLoading","parametrizacaoSetLoadingCards","parametrizacaoSetCardCompleto","newCards","isParametrizacaoEspelho","contagemCards","getParametrizacaoGrupoComplementoCompletoSuccess","getParametrizacaoGrupoComplementoCompletoError","getParametrizacaoContratanteCompletoSuccess","getParametrizacaoContratanteCompletoError","legacyURL","getAuth","getDownloadRelatorioUsuarios","TipoStatusEnum","objResp","getConsultaUsuarioPorStatus","paramsPayload","newParams","patchStatus","tipoStatusUsuario","criarUsuario","matricula","tipoPerfilUsuario","_data$cards","contato","numero","ddd","newPassword","_error$response$data$","tipoPerfil","rest","oldIdParametrizacao","newIdParametrizacao","isInvalid","newResponse","r","_a$data$validationRes","responseErrors","_a$data$validationRes2","ContratanteActions","parametrizacaoCards","grupoComplementoCard","contratanteCard","node","nodes","userData","requestObject","headersRequest","_a$data$validationRes3","_a$data$validationRes4","treeContent","patchParametrizacaoAdmInativar","refreshPage","putCardsIds","postCardsIds","cardsResponse","Card","Tree","g","cardCompleto","getUsuarioEspelho","patchAtualizarTipoPerfil","tiposPerfil","postClonarUsuarioEspelho","_a$data$validationRes5","_card$complemento","_card$complemento2","_card$contratante","getParametrizacaoGrupoComplementoCompleto","qp","treeObject","totalizadorParametrizacao","totalContratantes","totalModalidades","totalTermos","getParametrizacaoContratanteCompleto","getListaArquivos","dados","getArquivo","taskId","getAtualizacaoDeRelatorioSuccess","getListaArquivosRequest","paginaInicial","quantidadeMaximaPorPagina","getListaArquivosSuccess","arquivoId","getArquivoSuccess","getAtualizacaoDeRelatorio","ArquivoUploadActions","getPermissaoSegundaVia","postRelatorioSegundaVia","getBeneficiarios","deleteSegundaVia","postSegundaViaCartao","getSegundaViaCartao","getAnexoSegundaVia","putSegundaViaCartao","postProcessarSegundaVia","getPermissaoSegundaViaRequest","getPermissaoSegundaViaSuccess","getPermissaoSegundaViaError","postSolicitarRelatorioSegundaViaRequest","postSolicitarRelatorioSegundaViaSuccess","postSolicitarRelatorioSegundaViaError","postSolicitarSegundaViaRequest","postSolicitarSegundaViaSuccess","postSolicitarSegundaViaError","postBeneficiarioSegundaViaRequest","postBeneficiarioegundaViaSuccess","postBeneficiarioSegundaViaError","deleteSegundaViaRequest","deleteSegundaViaSuccess","deleteSegundaViaError","deleteSegundaViaAnexoRequest","deleteSegundaViaAnexoSuccess","deleteSegundaViaAnexoError","getSegundaViaAnexoRequest","getSegundaViaAnexoSuccess","getSegundaViaAnexoError","putSegundaViaUpdateRequest","putSegundaViaUpdateSuccess","putSegundaViaUpdateError","postSegundaViaProcessarRequest","postSegundaViaProcessarSuccess","postSegundaViaProcessarError","postSegundaViaBuscarPorIdRequest","postSegundaViaBuscarPorIdSuccess","postSegundaViaBuscarPorIdError","postSegundaViaCartaoRequest","postSegundaViaCartaoSuccess","postSegundaViaCartaoError","RequisicaoActions","postSolicitarRelatorioSegundaVia","Detalhado","Resumido","postSolicitarSegundaVia","getBeneficiariosSegundaVia","postBeneficiarioegundaViaError","requisitionId","userId","getSegundaViaAnexo","deleteSegundaViaAnexo","putSegundaVia","postSegundaViaBuscarPorId","postSegundaViaProcessar","getDocumentosStatus","getBeneficiariesNestle","getDocumentoDetalhe","patchDocumentoConferencia","postDataBeneficiariesNestleSuccess","getDocumentosStatusSuccess","getDocumentoDetalheRequest","getDocumentoDetalheSuccess","getDocumentoDetalheRenew","patchDocumentoConferenciaSuccess","patchDocumentoConferenciaRenew","postDataBeneficiriesNestle","BeneficiarioActions","putReprocessarTask","getUltimoErroTask","putReprocessarTaskResponse","getUltimoErroTaskResponse","TasksActions","getParametrosRequest","getError","patchParametroRequest","renew","GET_ERROR","GET_PARAMETROS_REQUEST","PATCH_PARAMETRO_REQUEST","SUCCESS","RENEW","callTriggerModal","callback","Footer","provider","document","querySelector","event","CustomEvent","bubbles","detail","dispatchEvent","modal","warning","ParametroActions","patchParametrosRequest","postRelatorioBeneficiarioRequest","postRelatorioBeneficiarioResponse","postRelatorioNestleRequest","postRelatorioNestleResponse","getUltimoRelatorioNestleRequest","getUltimoRelatorioNestleResponse","downloadRelatorioNestleRequest","getUltimoRelatorioNestle","POST_RELATORIO_BENEFICIARIO_REQUEST","POST_RELATORIO_BENEFICIARIO_RESPONSE","POST_RELATORIO_NESTLE_REQUEST","POST_RELATORIO_NESTLE_RESPONSE","GET_ULTIMO_RELATORIO_NESTLE_REQUEST","GET_ULTIMO_RELATORIO_NESTLE_RESPONSE","DOWNLOAD_RELATORIO_NESTLE_REQUEST","postRelatorioBeneficiario","RelatorioActions","postRelatorioNestle","sendEmail","_error$response2$data","_error$response2$data2","_error$response3$data2","_error$response4","_error$response4$data","_error$response4$data2","postDocumentosImportacaoRenew","postDocumentosImportacaoRequest","postDocumentosImportacaoResponse","postDocumentosImportacaoUpdateFile","getDocumentosBeneficiarioRequest","getDocumentosBeneficiarioResponse","getDocumentoPreviewRequest","getDocumentoPreviewResponse","postAtualizarDocumentoConferenciaRequest","postAtualizarDocumentoConferenciaResponse","postFinalizarConferenciaDocumentosRequest","postFinalizarConferenciaDocumentosResponse","documentosImportacao","documentoPreview","documentoConferencia","documentosBeneficiarios","header","finalizarConferenciaDocumentos","POST_DOCUMENTOS_IMPORTACAO_RENEW","POST_DOCUMENTOS_IMPORTACAO_REQUEST","POST_DOCUMENTOS_IMPORTACAO_RESPONSE","POST_DOCUMENTOS_IMPORTACAO_UPDATE_FILE","GET_DOCUMENTOS_BENEFICIARIO_REQUEST","GET_DOCUMENTOS_BENEFICIARIO_RESPONSE","GET_DOCUMENTO_PREVIEW_REQUEST","GET_DOCUMENTO_PREVIEW_RESPONSE","POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST","POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_RESPONSE","POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST","POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_RESPONSE","postDocumentosImportacao","isImportSuccess","fileFormat","DocumentoActions","getDocumentosBeneficiario","getDocumentoPreview","idDocumento","postAtualizarDocumentoConferencia","callbackSuccess","postFinalizarConferenciaDocumentos","putListaInativosAtualizarStatusRequest","putListaInativosAtualizarStatusResponse","putListaInativosAtualizarStatus","PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST","PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_RESPONSE","listaInativosActions","addParamsTermo","responsavel","ADD_PARAMS_TERMO","combineReducers","produce","_draft$response","listaGrupoFamiliar","grau","isChecked","fileAtual","_file$idLista","_file$idFile","hasError","fileName","GET_TERMO_RESPONSABILIDADEVO_MASSA_INICIAL_ERROR","arquivoTermo","extensaoArquivo","idListaMassaInicial","_action$payload$grupo","cardAtual","newTree","set","_action$payload$contr","selectedOptions","fullTree","_r$Card","_r$Card2","listasRPA","termoResponsabilidade","parametro","relatorio","documento","listaInativos","requisicao","arquivoUpload","existingIndex","findIndex","task","webhookIntegration","webhookEventIntegration","webhookEventHeaderIntegration","layoutEmail","alertaListaContratante","filhoForaDeFaixa","middlewares","sagaMiddleware","createSagaMiddleware","sagaMonitor","store","createStore","reducers","persistReducer","storage","whitelist","compose","applyMiddleware","persistor","persistStore","run","takeLatest","FilhoForaDeFaixaTypes","AlertaListaContratantesTypes","LayoutEmailTypes","WebhookEventsHeaderTypes","WebhookEventsTypes","WebhookTypes","AuthTypes","ModalidadeTypes","UsuarioTypes","takeEvery","ContratanteTypes","RequisicaoTypes","ArquivoUpload","TasksTypes","BeneficiarioTypes","ParametroTypes","RelatorioTypes","DocumentoTypes","ListaInativosTypes","downloadFile","extension","temp","base64File","types","JPG","JPEG","PDF","PNG","TIFF","CSV","TXT","XLSX","replaceAll","toUpperCase","prepareBase64File","download","href","appendChild","click","removeChild","REACT_APP_SIGNALR","REACT_APP_BASEURL_LOCAL","useSignalR","setConnection","hubName","socketConnection","signalR","configureLogging","Debug","withUrl","build","keepAliveIntervalInMilliseconds","serverTimeoutInMilliseconds","then","catch","stop","useMovimentacao","useSelector","BuildConnection","OpenConnection","CloseConnection","setValidacao","acao","MovimentacaoListaEnum","maxSizeFiles","maxQuantityFiles","validExtension","setParams","useCallback","handleFiles","conn","setDispatch","getErrors","validation","fileErrors","hasMaxQuantity","hasMaxSize","hasValidExtension","sendToValidacao","statusLista","statusExecucao","StatusExecucaoEnum","sendToCsv","user","sendToProcessamento","sendValidacaoTransferencia","setContentText","setModeloPadrao","modeloImportarLote","modeloImportarLoteCsv","modeloImportarLoteNestle","modeloImportarLoteTransferencia","setErrors","setAfterLoading","handleDeleteFiles","Array","isArray","setDescricao","newDescricao","setTipoEnvio","tipos","StatusEnvioListaEnum","isContratante","isAdmin","Adm","isContratanteNestle","ContratanteNestle","contratanteNestle","hasOwnProperty","test","isOldAdmin","nameid","isLegacyUser","fadeIn","keyframes","FadeIn","minHeight","CardFilterContentContainer","CardFilterHeaderContainer","CardFilterFooterContainer","paddingLeft","CardFilter","CardFilterContent","CardFilterHeader","CardFilterFooter","DatePicker","minDate","onChange","required","datepickerRef","useRef","fieldName","registerField","defaultValue","useField","current","CalendarDate","className","minDetail","clearIcon","calendarIcon","AiOutlineCalendar","dayPlaceholder","monthPlaceholder","yearPlaceholder","maxDate","showLeadingZeros","locale","label","margin","marginTop","lighten","ErrorMessage","span","LabelContainer","displayText","handleClick","lineHeight","stopPropagation","ComboDatePicker","FilterExtends","isGetModalidadesSuccess","handleGetModalidadesByContratante","setSearchBoxValue","cleanFilterParams","showwFilterNomeArquivo","optionsTipo","onClickOption","handleSelectedTipo","optionsMovimentacao","handleSelectedMovimentacao","optionsVencidas","handleSelectedListasVencidas","optionsRN412","handleSelectedRN412","registerNomeBeneficiarioCartao","registerContratante","registerArquivo","registerTipos","registerMovimentacao","registerModalidades","registerTermos","registerVencidas","registerRN412","selectedMovimentacao","setSelectedMovimentacao","selectedTipo","setSelectedTipo","selectedModalidade","setSelectedModalidade","selectedTermo","setSelectedTermo","inputContratante","setInputContratante","inputNomeBeneficiarioCartao","setInputNomeBeneficiarioCartao","inputNomeArquivoMovimentacao","setInputNomeArquivoMovimentacao","selectedListasVencidas","setSelectedListasVencidas","selectedRN412","setSelectedRN412","disableImportarCriacao","setDisableImportarCriacao","disableImportarAtualizacao","setDisableImportarAtualizacao","dates","setDates","dataCriacaoDe","dataCriacaoAte","dataAtualizacaoDe","dataAtualizacaoAte","texto","shapeModalidades","modalidadesParam","modalidadesInativos","termo","WrapperFlex","flexWrap","justifyStart","TextField","labelText","typeTextField","target","handleInputNomeBeneficiarioCartao","placeholder","register","Dropdown","CanAccess","checkRole","userRole","handleInputContratanteChange","onBlur","ComboModalidadeTermo","setModalidade","setTermo","handleInputNomeArquivoMovimentacao","paddingRight","shapeFile","readableSize","preview","URL","createObjectURL","uuidv4","customValidations","filesInput","invalidCallback","filteredFiles","split","pop","toLowerCase","TemplateDownloadText","modeloPadrao","contentModeloPadrao","ModalFileImport","contentText","setListaFiles","importFiles","applyValidation","justifyContentFooter","ImportBox","templateDownloadText","ContentFile","MyContentFile","onClickCancel","FileUpload","fileSize","uploadProgress","finishedLoadingFiles","gap","ModalFileLoading","ImportarListas","_g","_g2","_setValidacao","_setValidacao2","_setValidacao3","acaoAtual","openFileImport","openFileLoading","onClickFileImport","onClickFileLoading","handleCancel","setAfterLoadingCallback","_extends","bind","i","source","prototype","apply","this","SvgReplay","svgRef","title","enableBackground","viewBox","fill","d","ForwardRef","forwardRef","SvgUpload","_path","_path2","SvgCancel24Px","SvgDoubleArrow","legacyRoutes","Home","ConsultaLista","Segundavia","ConsultaBeneficiarios","CadastrarLista","CadastrarListaTitularUSP","CadastrarListaDependenteUSP","ConfiguracaoLogin","ConsultarUsuarios","CadastrarUsuarios","ConsultarFeriados","CadastrarFeriados","MotivosCancelamento","ConsultarExcecoes","ConsultarEmail","ConsultarLayoutEmail","ImageWrapper","ContentTextWrapper","translucent","ImageCard","imageUrl","Image","src","imgPlaceholder","alt","ContainerInativos","ModalInclusaoUspLista","style","textDecoration","Upload","ModalAcaoLista","isInclusaoUspOpen","setIsInclusaoUspOpen","toggleModalInclusaoUspLista","_lista$response","Replay","Cancel","DoubleArrow","FiAlertTriangle","rotate","ContainerEmptyContent","HoverActions","AiOutlineUnlock","stroke","pencil","briefcase","deleteOutline","cancelOutline","svg","cursor","Icon","icon","xmlns","xmlnsXlink","iconPath","data-testid","animation","input","flex","column","wrap","overflowHidden","marginSides","paddingSides","justifySpaceBetween","justifyEnd","justifySpaceAround","justifySpaceEvenly","alignStart","alignEnd","fullWidth","halfWidth","percentage","_templateObject36","desktopOnly","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","rotate360","LoadingSpinner","AiOutlineLoading3Quarters","TableListaHeader","tabName","handleCheckAll","isCheckedAllPages","TableRow","TableHeader","widthAuto","Checkbox","checked","minWidth","TableLista","pageData","setPaginationParams","paginationParams","handlePageChangeKeyDown","handleConfirmAction","handleAcaoListas","listasSize","handleChangePage","reportsItems","setReportItems","handleCheckBoxAllPagesReport","handleDropdownItemClick","downloadFileOriginLot","setCheckAll","listaRowsChecked","setListaRowsChecked","handleUncheckAll","startIndex","endIndex","currentPageItems","filteredItems","selectedItem","isAllPageItemsChecked","optionsButtonRPA","SetAllLista","totalSize","Alerts","Table","head","handleCheckAllChange","min","TableContent","fontHeader","MdFileDownload","Pagination","callbackChangePage","hoverAction","setHoverAction","redirectToDetalheLista","listaArg","dcTipoAcao","replace","movimentacoes","dcMovimentacoes","join","listaIsFake","endsWith","onMouseEnter","onMouseLeave","TableCell","isCheckeed","handleItemCheck","activeAction","nmContratante","dtInclusao","format","timeZone","dtEnvio","dtVencimento","TableListaActions","listaStatus","listaStatusRPA","btEnvioRpa","tipoAcao","dcStatusRpa","possuiSinalizacao","Tooltip","MdInfo","EmptyContent","fullHeight","cheked","MdAdb","ImPencil","ActionPorStatus","IconPorStatus","PendentedeProcessamento","handleToolTipTextPorStatus","data-tip","TabTableLista","handleAcaoListaById","setIsCheckedAllPages","newPaginationParams","LoadingSpinning","paramsPag","handleRender","qtdListas","hasFake","SINGULAR","closeModal","onClickOk","ButtonContainer","StatusList","IsAdm","page_number","page_size","is_nestle_query","movement_list_filter","is_admin","list_name","beneficiary_name_or_number_card","type_list","type_action","contractor_code","modality_code","term_code","expired","r_n412","file_name_movement","start_created_date","end_created_date","start_update_date","end_update_date","show_fake_list","handleActiveSearches","active","todosActive","availableTodos","idActives","restTodos","newActiveSearches","handleClickAvailable","available","nonZeroItems","zeroItems","handleAvailableSearches","bold","Badge","cursorPointer","showBtnRemove","handleClickActive","ModalCancelActionFooter","isLoading","ConsultaListas","getListasRedux","openFilterExtends","setOpenFilterExtends","inputValue","setInputValue","cancelFilterExtendsOpen","setCancelFilterExtendsOpen","openImportarLote","setOpenImportarLote","setOpenFileLoading","isAcaoOpen","setIsAcaoOpen","setAcaoAtual","oldFilterExtendsParams","nomeBeneficiario","cartaoBeneficiario","idTipoMovimentacao","vencida","rn412","nomeArquivoMovimentacao","nomeGrupoContratante","filterExtendsParams","paginationTabParams","optionsButtonDropdown","getAcaoLista","oldFilterParams","setOldFilterParams","filterParams","setFilterParams","listaAction","setListaAction","relatoriosLoading","setRelatoriosLoading","resumido","detalhado","reportExtendsParams","is_administrator","is_detailed","list_ids","paginationRequest","openModalSuccess","setOpenModalSuccess","openModalCancelAction","setOpenModalCancelAction","textHeader","searchBoxActive","setSearchBoxActive","reportParams","setReportParams","handleFilterExtends","handleInputChange","handleInputKeyDown","keyCode","totalStatus","newFilterParams","listasPermitidas","actionLista","setListaActionToDispatch","l","Cancelar","handleModalSuccess","toggleModalAcaoLista","toogleModalFileLoading","toogleModalImportar","handleModalCancelAction","acoes","fileContents","fileDownload","fileDownloadName","contentType","encodeURIComponent","batch","Title","fontSize","percentageWidth","MdFileUpload","AiOutlinePlus","Breadcrumbs","crumbs","onNavigate","row","SearchBox","isPressed","onKeyDown","IconFilter","MdFilterList","IconSearch","MdSearch","Form","onSubmit","boolPorTexto","Sim","Não","contractorOrAdm","nomeBeneficiarioCartao","TipoListaEnum","movimentacao","handleData","FilterExtendsLista","preventDefault","ModalEnviarListaRpa","setAcaoLista","handleChangeTab","nameTab","nameTabCapitalize","charAt","oldParams","newLoading","LogsFileErrorStorage","logs","center","useModal","initialState","modalParams","setModal","toogleModal","newModalParams","useQueue","queueLength","queue","setQueue","hasFinish","setHasFinish","reset","q","trigger","newQueue","inputColorGray","textAlign","percentageMobile","Input","handleChange","letterSpacing","TextArea","multiline","ButtonRemove","BsTrash","HiddenInput","IconContainer","UploadBox","setFiles","uploadError","setUploadError","fileInputRef","fileArray","onDragOver","onDragEnter","onDragLeave","onDrop","dataTransfer","multiple","UploadFileLoading","BsCheckCircle","CollapseListaDetalhe","uploadSuccess","onClickHandleCancelList","Collapse","CollapseHeader","CollapseContent","flexStart","ContentWarning","ModalSuccess","alert","FaRegCheckCircle","DetalheListas","isPostArquivoImportacaoSuccess","addSuccess","removeSuccess","finishSuccess","setFinishSuccess","updateSuccess","resetSuccess","initialData","setInitialData","isOnlySave","setIsOnlySave","handleInitialData","initialDataObj","renewActions","IoMdCheckboxOutline","FaThumbsUp","themes","defaultActive","ActionWrapper","ContentWrapper","ContentContainer","ActionContext","TabButton","TabActionWrapper","nameButton","child","isValidElement","cloneElement","setActive","handleActiveEvent","TabContentWrapper","contentFor","setDisplay","TabContainer","setName","parentElement","Provider","defaultProps","Message","ModalError","VscError","ModalCancelAction","DropDownContext","useOutsideClick","contains","addEventListener","removeEventListener","ul","invisibleScroll","SelectOption","li","DropdownHeader","cancelActive","whiteBackground","disable","whiteSpace","OptionContainer","_ref25","_ref26","_ref27","_ref28","_ref29","DropDownWrapper","_ref30","_ref31","_ref32","_ref33","_templateObject42","_ref34","_templateObject43","_ref35","backgroundColor","_templateObject44","_ref36","_templateObject45","_ref37","_templateObject46","_ref38","_templateObject47","_ref39","_templateObject49","_templateObject48","Option","data-text","DropDownListContainer","DropDownHeader","inputRef","MdKeyboardArrowDown","DropDownContainer","setIsOpen","DropDown","headerText","overrideClick","getAttribute","dataset","SearchIconContainer","InputSearch","DropDownSearch","DropDownSearchBox","dropdownName","inputName","inputWidth","trackStyle","transition","right","bottom","zIndex","CustomScrollBars","thumbStyle","overflowX","overflowY","Scrollbars","getRef","onUpdate","scrollTop","scrollHeight","clientHeight","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","renderView","EmptyContentText","EmptyRow","marginUpDown","Skeleton","TableComplementoHeader","isCheckedAllComplemento","setIsCheckedAllComplemento","TableComplemento","_grupoComplementosPar","grupoComplementosParams","sizeData","setRowsChecked","isEmpty","TableContentComplemento","colSpan","setIsChecked","complementoState","setComplementoState","handleCheckedComplemento","newComplemento","newComplementoRowChecked","newDraft","u","complementoRowChecked","oldArray","isClickable","TableContratanteHeader","isCheckedAllContratante","setIsCheckedAllContratante","TableContratante","_contratanteParams$","contratanteParams","TableContentContratante","contratanteState","setContratanteState","handleCheckedContratante","newContratante","newContratanteRowChecked","contratanteRowChecked","TableContratantes","_contratanteParams$re","initialParams","TableUsuarioHeader","TableBody","selectedUser","handleCheckUser","TableUsariosEspelho","foot","TableUsuarioEspelhoBody","handleAdicionarModal","ModalConsultaContratantes","handleSearchTable","setTipoBusca","paramsPgs","ScrollBar","colorScroll","IconWrapper","HeaderIconsContainer","CardContratantesContentContainer","CardContratantesHeaderContainer","CardContratantes","contratanteHeader","cardType","onClickEditar","onClickSalvar","onClickExcluir","usuarioDadosGerais","FiCheck","Size","menu","isCollapsed","ButtonCollapse","From","To","BsDashSquare","BsPlusSquare","CollapseContext","CardContentWrapperContainer","CardFooterContainer","ContainerCollapse","CollapseHeaderContainer","CollapseContentContainer","CollapseItem","open","setOpen","handleCollapse","CollapseHeaderItem","handlePath","isDisabled","CollapseContentItem","isFirst","CheckboxWrapper","OptionsList","handleHeaderRequest","idUser","setTipoNodeRequest","Modalidade","Termo","CheckboxContainer","selected","handleCheckboxClicked","data-for","CollapseNestedList","optionId","ModalidadesSelecionadasContainer","AlertList","ButtonLink","CounterContainer","keys","ParametrizacaoCards","handleOnClickEditar","handleOnClickSalvar","handleToogleCard","EmptyContentContainer","MessageInvalidCard","inValidCards","getName","novasParametrizacoes","Set","parametrizacoesVinculadas","vinculo","qtdInvalidCards","nameParametrizacao","nomeVinculo","userName","BodyMesclarNestle","BodySelectedTipoPerfil","handleSelectedTipoPerfil","BodyRemoveAllParametrizacao","useParametrizacao","paginationModalParams","setSelectedUsuarioEspelho","tableFilterparams","setTableFilterParams","buscaParametrizacao","parametrizacaoFilterParams","setParametrizacaoFilterParams","selectedTipoPerfil","setSelectedTipoPerfil","hasGrupoNestle","useMemo","setParamsBusca","tipoBusca","newPageParams","has_parametrizacao","getValidsCard","POSSUI_PARAMETRIZACAO","complemento2","parametrizado","invalid","POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE","POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE","ModalMesclarNestle","getAndBuildParametrizacaoCardsUsuarioEspelho","cloneUsuarioEspelho","handleAddUsuarioEspelho","ModalCopyEspelho","handleClickSimModal","dispatchPatchPerfil","newPerfils","showModalSelectedTipoPerfil","callbackDispathSaveParametrizacao","ModalSelectedTipoPerfil","returnPostAndPutCards","parametrizacaoRootCard","idUsuarioInclusao","handleRemoveAllCards","ModalRemoveAllParametrizacao","handleRemoveCard","ULTIMO_CARD","IS_ADM","hasAlteracao","ESTA_NA_ABA_USUARIO_ESPELHO","contratanteRoot","grupoRoot","paramsDispatch","salvarParametrizacao","newUser","oldUser","handleOnClickSalvarCard","postCard","putCard","parametrizacaoRootProp","ParametrizacaoContratantes","dropDownWidth","roleUsuario","blockUseEffect","setBlockUseEffect","setIsSuccess","setIsError","isWarning","setIsWarning","handleToogleModal","cardItem","setTipoContagemRequest","tipoNode","toLocaleUpperCase","subtitle","grupoContagem","contratanteContagem","cardParametrizado","newCard","BsPlus","selCard","_selCard$options$","_selCard$options$$sub","_selCard$options$2","_selCard$options$2$su","handleFilterParametrizacaoRoot","isOnClick","autoHide","autoHideTimeout","autoHideDuration","autoHeight","autoHeightMin","autoHeightMax","thumbMinSize","universal","handleModalError","ModalBodyContainer","ModalEventosWebhook","onCloseModal","titleModal","HeaderModal","BodyModal","TableHistoricoHeader","TableCadastroWebhook","TableCadastroWebHookHeader","ButtonActions","TableCadastroWebHookBody","deletarWebhook","toggleWebhook","openModalEventos","contractorCode","createdAt","createdUser","updatedAt","updatedBy","updatedUser","onChecked","entity_id","MdListAlt","MdDelete","cadastrarEvento","editarEvento","ModalCadastarWebhookEvent","setIsEditarModal","eventsCode","selectEventCode","setSelectEventCode","setUrl","optionsEventCode","eventCode","limparInputs","TipoEventoWebhookEnum","WebhookEventIntegrationActions","entityId","ModalWebhookEventosHeaders","cadastrarHeader","editarHeader","ModalCadastarWebhookEventHeader","inputNome","setInputNome","inputValor","setInputValor","validarCamposHeaders","valor","nomeValido","valorValido","WebhookEventHeaderIntegrationActions","CustomTableHeader","TableCadastroWebHookEventHeaderBodyRow","setOpenModalCadastrarHeader","setOpenModalDeletarHeader","mostrarValor","setMostarValor","IoMdEyeOff","MdRemoveRedEye","MdEdit","eventId","TableCadastroWebHookEventHeaderBody","TableCadastroWebhookEventsHeader","isEditarModal","openModalCadastrarEvento","setOpenModalCadastrarEvento","openModalDeletarEvento","setOpenModalDeletarEvento","openModalCadastrarHeader","deletarWebhookEventHeader","webhookEventHeaderId","TableCadastroWebHookEventBody","openModalHeaders","events","TableCadastroWebhookEvents","openModalEventoHeader","setOpenModalEventoHeader","WebhookIntegrationActions","deletarWebhookEvent","CadastroWebhook","openModalDeletarConfiguracao","setOpenModalDeletarConfiguracao","setOpenModalEventos","Boolean","InputForm","handleInputOnBlur","isTyping","errorUsuario","IconValidation","showIconError","InputFormLogin","showOnBlur","errorSenha","IconEye","isLogin","SvgVisibility24Px","SvgVisibilityOff24Px","InputPassword","labelName","eyeWidth","setValues","showPassword","handleClickShowPassword","Eye","EyeOff","ChangePasswordContainer","SenhaBox","errorNovaSenha","errorConfirmacaoSenha","setNewPassword","handleInput","handleChangePassword","DadosAcesso","dadosAcessoParams","setDadosAcessoParams","usuarioDadosAcesso","handleAcaoUsuarioById","newDadosAcessoParams","Hr","hr","IoIosCheckmarkCircleOutline","DadosGerais","_usuarioDadosGerais$r","setUsuarioParams","contatoParams","setContatoParams","disableNameInput","registerPerfil","useParametrizazao","newEditarUsuarioParams","roles","TelefoneBox","callbackChangeContatos","TabsFormConfiguracoes","handleActiveTab","handleRenderTable","senhaPattern","Configuracoes","formRef","passwordSchema","Yup","shape","matches","notOneOf","oneOf","editarUsuarioParam","permissao","PermissaoContratanteEnum","editarContatosParams","TipoTelefoneEnum","editarDadosAcessoParams","passwordParams","setPasswordParams","originalContatoParams","setOriginalContatoParams","isButtonDisabled","setIsButtonDisabled","openModalAcaoUsuario","setOpenModalAcaoUsuario","acaoUsuario","modalError","setModalError","activeTab","setActiveTab","setDisableNameInput","IsStateChangeFromOriginal","prevState","newState","isEqual","IsSubmitDadosGerais","isValidContato","IsSubmitDadosAcesso","tipoContato","nrDdd","nrNumero","setButtonDisabledForTab","tabActive","dadosGerais","dadosAcesso","parametros","dadosGeraisSubmit","formUsuarioParams","_data$contato","perfil","formContatoParams","preparaDadosGerais","bindPermissaoToPerfil","OLD_USER_MESSAGE","renewSessionParams","grantType","validate","abortEarly","errorMessages","inner","dadosAcessoSubmit","actionUsuario","setUsuarioActionToDispatch","tab","ImFloppyDisk","TableContentWrapper","IconWarning","MdError","IconAccepted","MdCheckCircle","IconError","MdCancel","IconOptional","MdHelp","IconNotSend","MdNotInterested","WrapperContentTable","TableDocumentosHeader","noWordBreak","doc","minContent","tipoDocumento","ReactTooltip","delayHide","effect","textColor","place","ConteudoPorStatus","statusDocumento","handleModalDetalheDocumento","ContentStatus","Aceito","Recusado","NaoEnviado","EnvioOpcional","Aprovado","Reprovado","idMovimentacao","actualDocument","documentos","DocumentosBeneficiarios","filteredBeneficiarios","hasPagination","TableDocumentos","FileWrapper","FileHeader","FileContent","FileContentWrapper","BadgesContainer","Badges","remove","AiOutlineClose","SvgReplyAll24Px","onAceitar","onRecusar","onCancelar","reenviarDocumento","esconderBtnReenviar","ReplyAll","IoIosCheckmarkCircle","ModalDetalheDocumento","_documentoPreview$res","_documentoPreview$res2","_documentoPreview$res3","_documentoPreview$res4","_documentoPreview$res5","_documentoPreview$res6","_documentoPreview$res7","_documentoPreview$res8","_documentoPreview$res15","_documentoPreview$res16","_documentoPreview$res17","_extension$split$","TipoDocumentoEnum","grauParentesco","mensagemConferencia","arquivoConferencia","_documentoPreview$res9","_documentoPreview$res10","_documentoPreview$res11","documentoExtensao","arquivoConferenciaNome","CustomScrollbars","_documentoPreview$res12","_documentoPreview$res13","_documentoPreview$res14","FilePreview","isDisabledBtnEnviar","handleRecusarArquivo","ModalMotivoRecusa","onClickEnviar","hasObrigatoriedadeFile","motivoRecusaParams","motivoRecusa","setMotivoRecusa","_files$","_files$2","statusConferencia","extensaoArquivoConferencia","newMotivoRecusaParams","InputFile","placeHolder","hasNoContent","handlerInputError","removeFile","DetalheDocumentos","_getDocumentosStatus$","_getDocumentosStatus$2","_getDocumentosStatus$3","_getDocumentosStatus$4","_getDocumentosStatus$5","_getDocumentosStatus$6","_getDocumentosStatus$7","_getDocumentosStatus$8","_getDocumentosStatus$9","_getDocumentosStatus$10","_getDocumentosStatus$11","filterPageParams","openModalDetalheDocumento","setOpenModalDetalheDocumento","paramsRequest","openModalMotivoRecusa","setOpenModalMotivoRecusa","handleOpenModalDetalheDocumento","filterBeneficiarios","MdArrowBack","hideButtonFilter","idListaAtual","_openModalDetalheDocu","_openModalDetalheDocu2","getDocumentos","ImportarDocumentos","orientacoesDocumentos","DetalheDocumentosInativos","_documentosBeneficiar","_documentosBeneficiar2","_documentosBeneficiar3","_documentosBeneficiar4","_documentosBeneficiar5","_documentosBeneficiar6","_documentosBeneficiar7","isOpenModalImportDocs","setIsOpenModalImportDocs","isOpenModalPreviewDoc","setIsOpenModalPreviewDoc","isOpenModalMotivoRecusa","setIsOpenModalMotivoRecusa","tipoDocumentoSelected","setTipoDocumentoSelected","statusDocumentoSelected","setStatusDocumentoSelected","idDocumentoSelected","setIdDocumentoSelected","handleAceitarRecusarDoc","handleAceiteRecusaAdm","aceito","_idLista","_id","_idMovimentacao","onCloseModalPreviewDoc","oldValue","onCancelarImport","AGUARDANDO_DOCUMENTOS","ERRO_DE_PROCESSAMENTO","FilterExtendsMassaInicial","handleLimparFiltros","filters","setFilters","registerCnpj","registerResponsavel","registerEmail","oldFilters","cnpj","masked","nomeResponsavel","dataRegistroDe","dataRegistroAte","DownloadMassaInicial","ContainerTabContent","listNameHeaders","handleDownloadFile","handleDropdownItem","dataInclusao","nmEmpresa","part1","part2","part3","part4","part5","formatarCNPJ","FaFileDownload","TabTableListasMassaInicial","handleGetListaMassaInicial","tabs","Tab","TabContent","contentForTab","pagination","modelFilters","ListasMassaInicial","filtersParams","setFiltersParams","handleSubmit","toJSON","downloadMassaInicial","downloadTermoResponsabilidade","startsWith","filtersOld","onClickOKDownload","PrimaryButton","fontFamily","SecondaryButton","ButtonDropdown","disableHover","primaryIcon","secondaryIcon","dropdownOptions","list","setList","listaRowChecked","newListaRowChecked","handleCheckedLista","InputDropdown","handleClickOption","indexOption","MdExpandMore","TabTableListasRPA","StatusListRpa","ListasRPA","ListasRPARedux","relatorioRPAParams","setRelatorioRPAParams","queryParamsDefault","tipoStatusActive","setTipoStatusActive","setQueryParams","string","hasChar","handleRelatorioParams","ModalCancelarEnvioRpa","ModalAlterarStatusRpa","pagParams","EmptyRelatorios","handleNovoRelatorio","TableBodyRelatorios","relatorios","_relatorio$status","EM_ANDAMENTO","urlDownload","dataProcessamento","RiDownloadLine","TableHeaderRelatorios","Relatorios","propJustify","BodyConfimarRelatorio","RelatorioNestle","relatorioAPI","downloadRelatorioNestle","setAttribute","finalizado","reportRequest","ModalConfimarRelatorio","FiPlus","NotFoundPage","httpCode","hideButtonReaload","UnlockIConContainer","ReSendContainer","SpanTextoAlert","AlertUnlock","SubText","Display","DisplayButton","MdErrorOutline","hideIcon","geenDefault","optionsPerfil","handleSelectedPerfil","optionsPermissao","handleSelectedPermissao","registerPermissao","returnTipoPerfilAcessoForTipoPerfil","TableHeaderComponent","HistoricoMovimentacoes","usuarioHistoricoMovimentacao","historico","idUsuarioHistorico","dcAcao","emailResponsavel","dtInclusaoHistorico","TabFormUsuario","naoLiberarAcesso","liberarAcesso","ModalLiberarAcesso","UsuarioDetalhe","openModalLiberarAcesso","setOpenModalLiberarAcesso","setLiberarAcesso","_contatoParams$contat","handleModalUsuarioAcao","isDisabledButtonInActiveTab","handleAlterarProprioEmail","newCancelAction","handlePatchDadosAcesso","formDadosAcessoParams","handleCancelar","animate","FilterExtendsUsuarios","selectedPerfil","setSelectedPerfil","clearField","setClearField","dataLiberacaoDe","dataLiberacaoAte","dataInativacaoDe","dataInativacaoAte","dataBloqueioDe","dataBloqueioAte","disableImportarLiberacao","setDisableImportarLiberacao","disableImportarInativacao","setDisableImportarInativacao","CancelIConContainer","FcCancel","ContentAction","handleAcaoUsuarios","usuariosSize","userRowsChecked","setUserRowsChecked","SetAllUsuario","setUsuario","userRowChecked","newUserRowChecked","handleCheckedUsuario","dtCriacao","dtLiberacao","dtInativacao","dtBloqueio","TableUsuarioActions","handleUsuario","IdUsuario","isHover","usuarioStatus","margin-right","MdLockOpen","_IconPorStatus$tabNam","handleButtonPorStatus","HiLockClosed","HiLockOpen","ImUnlocked","TabTableUsuarios","paramsPg","SvgBusinessCenter","SvgSettings","CardTipoPerfil","ModalNovoUsuario","paginaNovoUsarioAdministrador","perfilNovoUsuario","PerfilEnum","paginaNovoUsarioContratante","GearIcon","CaseIcon","UsuarioGestao","desabilitarBotaoDownloadRelatorio","todosStatusVazios","setTabActive","usuarioAction","setUsuarioAction","openModalNovoUsuario","setModalNovoUsuario","openModalError","openModalDownloadRelatorio","setOpenModalDownloadRelatorio","handleModalNovoUsuario","getUsuariosGestao","messagesPerAction","VscFile","fileExtension","HeaderWrapper","BodyWrapper","UsuarioWrapper","borderBottom","ContatoWrapper","FooterWrapper","SaveButtonsWrapper","IconSalvar","Parametros","handleCancelarCadastro","handlePreviousTab","handleAvancarTab","handleSelected","registerNome","registerMatricula","registerPerfilUsuario","tipoPermissaoUsuario","AlertLiberarAcessoModal","handleLiberarAcesso","handleModalLiberarAcesso","handleNaoLiberarAcesso","isButtonSaveDisabled","handleModalLiberarAcessoNewUser","UsuarioNovo","selectedPermissao","setSelectedPermissao","selectedTipoInfo","setSelectedTipoInfo","mask","secondSelectedTipoInfo","setSecondSelectedTipoInfo","camposPreenchidos","setCamposPreenchidos","setIsButtonSaveDisabled","addNewUser","setAddNewUser","setOpenModalError","dadosGeraisCompleted","setDadosGeraisCompleted","parametrizacaoCompleted","setParametrizacaoCompleted","dadosAcessoCompleted","setDadosAcessoCompleted","handleChangeTipo","newSelectedTipo","requiredFields","requiredFieldsSave","isRequiredFieldsSet","oldState","CrumbsOptions","StepperOptions","completed","Stepper","steps","step","handleChangeNome","newCamposPreenchidos","nomeValue","FilterExtendsBeneficiarios","cleanErrors","selectedFilter","setSelectedFilter","selectedOption","setSelectedOption","typeBeneficiary","setTypeBeneficiary","inputModality","setModality","beneficiaryName","setBeneficiaryName","term","setTerm","setCpf","codeCard","setCodeCard","beneficiaryBirthday","setBeneficiaryBirthday","registerModality","registerTypeForm","registerBeneficiaryName","registerTerm","registerTypeBeneficiary","registerCPF","registerCodeCard","optionsFilters","handleOptions","optionsTypeBeneficiary","handleTypeBeneficiario","handleBeneficiaryName","limparFiltros","handleBeneficiaryBirthday","handleModality","modality","handleTerm","handleCodeCard","handleCpf","formatDate","date","code_card","contractorName","degreeOfKinship","codeTotvs","beneficiaryExcludeDate","MdOutlineManageSearch","TabTableBeneficiarios","ConsultaBeneficiariosNestle","paginationDefaultParams","query_type","page","count_per_page","beneficiary_wallet_number","beneficiary_name","beneficiary_birthday","beneficiary_document_number","only_dependents","formErrors","setFormErrors","TYPE_FORMS","validationSchema","typeForm","max","Number","BeneficiaryActions","InfoDisplayItem","content","CardPersonalInformation","InfoBeneficiary","otherDataSerialized","dependentsSerialized","hasDependents","dependents","beneficiary","nmSocial","nmMae","nmPai","M","F","dsSexo","dsEstCivil","dtAdmissao","dtInclusaoPlano","enCep","dsEndereco","enBairro","enUf","nmCidade","nrTelefone1","nrTelefone2","nmEmail","dtInclusaoRepasse","cdFuncionario","cdCpf","nrCartaoSus","nrNascidoVivo","nrIdentidade","ufEmissorIdent","dsOrgaoEmissorIdent","cdUnidadeAtendimento","nmUnidadeAtendimento","dsPadraoCobertura","dtFalecimento","cdMotivoCancel","dsMotivoCancel","cDsEspecifico1","cDsEspecifico2","cDsEspecifico3","cDsEspecifico4","dtExclusaoPlano","dependent","cdCarteiraUsuario","nmUsuario","tpUsuarioDesc","DadoBeneficiarios","DetalheBeneficiariosNestle","codigoCartao","FormEditParametro","onBlurValidateInputs","statusParametrizacao","setStatusParemetrizacao","valueParametrizacao","setValueParametrizacao","descricaoParametrizacao","setDescricaoParametrizacao","optionsAtividade","onBlurValidation","registerFieldValueParametrizacao","errorValueParametrizacao","registerFieldStatusParametrizacao","registerFieldDescricaoParametrizacao","errorDescricaoParametrizacao","nomeParametrizacao","EditParametros","useLocation","schema","validateData","bodyRequest","validationErrors","FormListaInativos","registerDescricao","optionsTipoModalidade","ListaInativo","useParams","nrCodigoModalidade","DadosLista","extraHuge","ModalidadeEnum","FooterListaInativosAcoes","excluir","salvar","enviarDocumentos","erroProcessamento","processadaSucesso","conferirDocumentos","enviarProcessamento","enviarRevisaoDocumentos","disabledButtons","isRender","MdSend","BiListCheck","MdDone","returnFormatName","ContratanteModalidadeTermo","ContratanteCodigoUnimedCartao","ContratanteNomeTipoBeneficiario","ContratanteNomeDataNascimento","returnPropName","returnPropId","InlineContainer","ContButton","LabelDate","FormPesquisaBeneficiario","formParams","setFormParams","handlePesquisar","desabilitarBtnPesquisar","resetarPagination","optionsTipoConsulta","tipoConsulta","TipoPesquisaEnum","handleChangeInput","handleChangeKeyValue","padding-left","nomeBeneficiarioI","dataNascimento","codDaUnimed","cartao","nomeBenefTpBeneficiario","GoSearch","TableBeneficiarioBody","selectedBeneficiario","handleCheckBeneficiario","codigo","modalidadeTitular","codigoUnimed","padStart","carteira","nascimento","TableBeneficiarioHeader","TabelaPesquisaBeneficiario","isDisabledBtnAdicionar","ModalConsultaStructure","ModalPesquisaBeneficiario","paginationInitialParams","formInitialParams","titular","setSelectedBeneficiario","handleAdicionarBeneficiario","filtro","TableBodyBeneficiario","readOnly","loadingSalvarBeneficiario","checkBeneficiario","listaGrupoFamiliarPag","splice","TipoBeneficiarioEnum","modalidadeEntrada","TableHeaderBeneficiario","FormSelecionaBeneficiario","historicoAlteracoes","historicoAlteracoesPag","alteracao","statusDescricao","dtAlteracao","TableHistoricoAlteracoesLista","TableHistoricoBody","ListaDetalheInativo","listaHistoricoInativos","successSalvarBeneficiario","successAtualizarStatusLista","LISTA_SEM_DOCUMENTOS","documentosEnviados","hasDocumentos","LISTA_COM_DOCUMENTOS","DOCUMENTOS_OBRIGATORIOS_ENVIADOS","LISTA_TEM_GRUPO_FAMILIAR","DOCUMENTOS_VALIDADOS","documentosValidados","EM_ANALISE_DOCUMENTACAO","PENDENTE_DE_PROCESSAMENTO","PENDENTE_DE_ENVIO","PROCESSADA_COM_SUCESSO","EXCLUIDA","isModalBeneficiariosOpen","setIsModalBeneficiariosOpen","setDisabledButtons","toggleModalConsultaBeneficiarios","handleSalvarBeneficiarios","handleAlterarStatusLista","ListaInativosActions","handleEnviarRevisaoDocumentos","botoes","HiOutlineDocumentText","align-items","justify","TableParametrosHeader","TableContentRow","TableParametros","Chip","openModalInformacoes","reprocessarTask","obterErrosDeTask","chipColors","reprocessarRelatorio","podeReprocessar","descricaoStatus","criadoEm","finalizadoEm","MdOutlineFilterAlt","AiOutlineReload","MdOutlineErrorOutline","TableRelatoriosBeneficiario","ModalFiltrosAplicados","modalData","filtros","filtrosAplicado","filtroFormatado","TipoConsultaBeneficiario","CodigoContratanteLogada","grupoContratante","FiltroContratante","layout","LeiauteVersao1","extensão","ExportarXlsx","dataPeríodoDeReferênciaDe","DataReferenciaInicial","dataPeríodoDeReferênciaAte","DataReferenciaFinal","exclusãoProgramada","BeneficiarioComDataExclusaoProgramada","entries","chave","valorParaRenderizar","toLocaleDateString","str","words","word","formatCamelCase","mostrarFiltrosIguaisAosParametros","ModalRelatoriosAcoes","idTask","tipoModal","downloadArquivo","mensagem","ConteudoErrors","ConteudoDownload","_getUltimoErroTask$da","erroDeNegocio","erro","ProcessamentoRelatorio","parametrosInicialDeRelatorios","modalInformacoes","setModalInformacoes","parametrosRelatorios","setRelatoriosParams","parametrosDePaginacao","setParametroDePaginacao","tipoError","conexao","novosParametrosDePaginacao","FormContainer","FormRelatorioBeneficiario","clearParams","optionsTipoLayout","optionsTipoExtensao","extensao","handleSelectedTipoConsulta","tipoInativos","Radio","colorChecked","consultaPorGrupoContratante","nomeComplemento","grupoContrantante","exclusaoProgramada","dataPeriodoDeReferenciaAte","dataPeriodoDeReferenciaDe","dataPeriodoDefeRerenciaDe","RelatorioBeneficiarios","contranteParametrizada","dataAtual","dataTresMesesAntes","subMonths","exportar_xlsx","leiaute_versao1","email_usuario_logado","nome_usuario_logado","codigo_contratante_logada","filtro_contratante","tipo_consulta_beneficiario","data_referencia_inicial","data_referencia_final","beneficiario_com_data_exclusao_programada","messageError","StatusFilter","ModalConsultaStructureSegundaVia","FormPesquisaBeneficiarioSegundaVia","ModalPesquisaBeneficiarioSegundaVia","SegundaVia","DetalheSolicitacao","UploadIcon","FaUpload","FileInfo","InputUpload","maxSizeInBytes","allowedFormats","onFileUpload","selectedFile","setSelectedFile","setErrorMessage","readAndUploadFile","base64Data","uploadDate","toLocaleString","htmlFor","accept","RichTextEditor","textValue","setEmailLayout","limit","setText","ReactQuill","modules","toolbar","indent","formats","Label","FormLayoutEmail","setErros","assunto","EditarLayoutEmail","idLayout","emailLayoutContent","setEmailLayoutContent","emailAssunto","emailAtivo","descricaoTipoRegraAlerta","goToLayoutPage","tipoRegraAlerta","emailConteudo","validarCampos","regraAlertaMensagem","goToEditLayout","FilterExtendsEmailList","_salvarEmail$data2","openModalCreateEmail","consultaInicial","registerCodigoContratante","inputCodigoContratante","setInputCodigoContratante","inputEmail","setInputEmail","isValidEmail","setIsValidEmail","_salvarEmail$data","handleInputEmail","TableAlertaListaEmail","_data$itens","_data$itens2","alterarPagina","editarEmail","totalRegistros","checkboxes","setCheckboxes","todosCheckboxes","setTodosCheckboxes","abrirModalExclusao","setAbrirModalExclusao","tipoDelete","setTipoDelete","todosIds","itens","idAlertaListaContratante","abrirModal","contemTodosIds","handleTodosCheckboxes","updatedCheckboxes","removedIdCheckboxes","handleCheckbox","descricaoPerfil","dataCriacao","MdOutlineDeleteForever","apagarEmail","AlertaListaContratanteActions","cadastrarEmail","ModalCadastarEmailAlerta","selectedStatus","setSelectedStatus","id_alerta_lista_contratante","cd_contratante","ds_email","id_perfil_usuario","bt_ativo","hasErrors","validateRequest","alertaListaContratanteActions","handleSelectedStatus","parametrosIniciaisPaginacao","filtrosConsultaIniciais","tamanhoPagina","idPerfilUsuario","filtrosConsulta","setFiltrosConsulta","parametrosRequisicao","perfiLUser","editarRelatório","USUARIO_ADMIN","_deleteRelatorio$resp","sucesso","competencia","dataEnvio","usuarioAlteracao","MdEditDocument","MdFolderDelete","apagarRelatorio","TableRelatorioFilhosForaDeFaixa","DADOS","ImportarArquivo","competenciaAtual","selectedCompetencia","setSelectedCompetencia","TipoRelatorioFilhoForaDeFaixa","EditarRelatorioFilhoForaDeFaixa","CadastrarRelatorioFilhoForaDeFaixa","shapeCompetencias","getFullYear","getMonth","ano","mes","String","maxHeightContainerDrop","RelatorioFilhosForaDeFaixa","COMPETENCIAS","setCompetenciaAtual","setParametrosDePaginacao","openImportarArquivo","setOpenImportarArquivo","_getContratantesUsuar","handleImportarArquivoAcao","mapearTabela","hasNomeComplemento","_importarRelatorio$re","routes","component","Unauthorized","ListasConsulta","isPrivate","ListasDetalhe","EditParametro","ListaInativoDetalhe","small","LoadingIcon","ProtectedRoute","Component","authenticated","Route","render","Redirect","to","pathname","AutenticacaoStructure","ImageStructure","ImagemLogin","EsqueciMinhaSenhaContainer","LoginLink","Link","DificuldadesAcessoContainer","h1","SectionHeader","sectionName","subtextSectionName","FormLogin","loginParams","setLoginParams","registerUsuario","registerSenha","setShowOnBlur","newLoginParams","setFieldError","showIconSuccess","REACT_APP_EMAIL_DIFICULDADES_ACESSO","LoginPart","search","loginData","URLSearchParams","mailTo","formLoginParams","InfoBox","AiOutlineCloseCircle","labelMarginBottom","FormEmailSent","emailSentMessage","FormForgottenPassword","isEmailSent","setIsEmailValid","isTokenError","queryEmail","RedefinirSenha","setIsEmailSent","isEmailValid","Login","useRouteMatch","UnimedLogo","Switch","exact","errorSenhaAntiga","errorConfirmarSenha","showOnBlurAntigaSenha","showOnBlurNovaSenha","showOnBlurConfirmarSenha","FormChangePassword","changePasswordParams","setChangePasswordParams","isForgottenPassword","setShowOnBlurAntigaSenha","setShowOnBlurNovaSenha","setShowOnBlurConfirmarSenha","newChangePasswordParams","erroSenhaAntiga","antigaSenha","getFieldValue","confirmarSenha","HeaderContainer","RecuperarSenha","_params$get","queryToken","setQueryToken","setNovaSenha","ErrorPage","queryUrlRedirect","onReaload","IconNext","FiArrowRight","FormMassaInicial","dadosEmpresa","setDadosEmpresa","clearInputs","handleAvancar","registerEmpresa","registerCNPJ","errorEmail","errorCNPJ","errorResponsavel","errorEmpresa","canSubmit","empresa","validateInput","numeros","repeat","isRepeatMesmoNumero","cnpjSemCaracteres","tamanho","digitos","soma","pos","resultado","isValidDigitosVerificadoresCNPJ","cnpjNumber","formatCNPJ","single","CheckboxWithText","strong","FiAlertCircle","aceitos","handleValidadMassaInicial","ModalSucessoPatch","voltarParaMassaInicial","ModalTermoMassaInicial","setAceitos","IconAlert","IconsSuccess","FiCheckCircle","maxLengthFileName","LoagingFiles","canImport","handleProgress","IconPrev","FiArrowLeft","IconLike","AiOutlineLike","ContainerFooter","modeloPadraoMassaInicial","orientaçõesPreenchimentoMassaInicial","RegrasImportMassaInicial","UploadMassaInicial","handleVoltar","handleValidar","handleErros","ContainerImage","ContainerFormMassaInicial","ImageBackground","ImagemMassaInicial","HeaderTitulo","ContainerProgressBar","TextoPasso","FormWeb","inicalValuesForm","passos","fileMassaInicial","setFileMassaInicial","signalRConnection","setSignalRConnection","termosAceitos","setTermosAceitos","setProgress","termoOpen","setTermoOpen","passo","setPasso","readAsText","Base64","encode","formatBody","RegExp","exec","SignalRUploadProgress","ProgressBar","aceiteCompartilhamento","aceiteTermo","Copy","ButtonImprimir","ImageANS","img","TermoResponsabilidade","hoje","NavbarPrimary","nomeSistema","urlHome","print","FiPrinter","FespANS","Routes","NotFound","GlobalStyle","createGlobalStyle","NODE_ENV","ErrorBoundary","constructor","super","componentDidCatch","info","setState","componentStack","FooterPage","SelectContratanteContainer","DropChangeParametrizacao","HAS_NESTLE","IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA","getOptionsDrop","selectedParametrizacao","optionDrop","_contratantes$","targetParametrizacao","IoIosArrowDown","ModalLogout","FaDoorOpen","NavbarItemsContainer","NavbarItemContainer","_getContratantesUsuar2","selectedContratante","handleLogOut","NavbarContainer","_tempContratante","tempContratante","MdInput","NavLink","activeClassName","NavbarLegacyLink","DropdownContainer","isBeneficiary","isAdministration","isRelatorioNestle","isReportDropdown","showDropdown","showDropdownAdministration","showDropdownBeneficiary","DropdownItens","NavbarItemDropdownContainer","_defs","SvgBeneficiarioIcon","transform","SvgConfiguracaoIcon","_rect","SvgGestaoIcon","points","SvgListasIcon","SvgSegundaViaCartaoIcon","SvgVisaoGeralIcon","DropdownWrapper","Menu","MenuItem","SubMenu","SubMenuItem","StyledNavLink","StyledAnchor","MenuItemAnchor","MenuItemLink","DropdownTree","menuItems","submenuIndex","setSubmenuIndex","submenuTop","setSubmenuTop","dropdownRef","submenuRefs","handleClickOutside","closeSubMenu","handleSubMenuMouseLeave","toggleDropdown","menuItem","subMenuItems","toggleSubMenu","menuItemTop","offsetTop","setSubMenuPosition","handleSubMenuMouseEnter","subMenuItem","subIndex","NavbarSecondary","refDropdown","refDropdownBeneficiary","refDropdownRelatorioNestle","setShowDropdown","setShowDropdownBeneficiary","showDropdownRelatorioNestle","setShowDropdownRelatorioNestle","NavbarSecondaryContainer","VisaoGeralIcone","ListasIcone","SegundaViaIcone","BeneficiarioIcone","GestaoIcone","menuAdministracaoItems","ConfiguracaoIcone","isMenuAnchor","animateEnter","DefaultFooter","ModalTrigger","onClickModal","isJsxElement","TriggerModalContext","inicialState","TriggerModalContextProvider","providerRef","optionsModal","setOptionsModal","openModal","callbackEventShowModal","createEvent","initEvent","App","Application","Store","PersistGate","Router","ReactDOM","getElementById","StatusListaEnum","require","UploadeProgressEnum"],"mappings":"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","file":"static/js/main.a1e367a9.chunk.js","sourcesContent":["module.exports = {\r\n returnName: {\r\n 1: 'Celular',\r\n 2: 'Residencial',\r\n },\r\n returnNameForName: {\r\n Celular: 'Celular',\r\n Residencial: 'Residencial',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 0: 'Selecione',\r\n 1: 'Administrador',\r\n 2: 'Contratante',\r\n },\r\n returnId: {\r\n Selecione: 0,\r\n Administrador: 1,\r\n Contratante: 2,\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 0: 'Selecione',\r\n 1: 'Consulta',\r\n 2: 'Alteração',\r\n },\r\n returnPermissaoForTipoPerfilUsuario: {\r\n ContratanteConsulta: 'Consulta',\r\n ContratanteAlteracao: 'Alteração',\r\n },\r\n returnTipoPerfilUsuarioForPermissao: {\r\n Consulta: 'ContratanteConsulta',\r\n Alteração: 'ContratanteAlteracao',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/imagem-login.ebc5911e.svg\";","module.exports = {\r\n returnNameForId: {\r\n 1: 'DEPENDENTE',\r\n 2: 'TITULAR',\r\n },\r\n returnIdForName: {\r\n DEPENDENTE: 1,\r\n TITULAR: 2,\r\n },\r\n returnIdForNameFormatted: {\r\n Dependente: 1,\r\n Titular: 2,\r\n },\r\n returnNameFormattedForId: {\r\n 1: 'Dependente',\r\n 2: 'Titular',\r\n },\r\n returnNameFormattedForName: {\r\n DEPENDENTE: 'Dependente',\r\n TITULAR: 'Titular',\r\n },\r\n returnNameForNameFormatted: {\r\n Dependente: 'DEPENDENTE',\r\n Titular: 'TITULAR',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'PendenteLiberacao',\r\n 2: 'Ativo',\r\n 3: 'Inativo',\r\n 4: 'Bloqueado',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Pendente de Liberacão',\r\n 2: 'Ativo',\r\n 3: 'Inativo',\r\n 4: 'Bloqueado',\r\n },\r\n returnId: {\r\n PendenteLiberacao: 1,\r\n Ativo: 2,\r\n Inativo: 3,\r\n Bloqueado: 4,\r\n },\r\n returnNameForName: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Bloqueado: 4,\r\n },\r\n returnNameForTab: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Todas: 'Todas',\r\n Bloqueado: 'Bloqueado',\r\n },\r\n returnTabForName: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Todas: 'Todas',\r\n Bloqueado: 'Bloqueado',\r\n },\r\n returnNameFormattedForName: {\r\n PendenteLiberacao: 'Pendente de Liberacão',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Bloqueado: 'Bloqueado',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/LAYREPAS_007_CONTRATANTE.b40e0386.txt\";","module.exports = __webpack_public_path__ + \"static/media/PlanilhaModeloCsv.d870bd4e.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/PlanilhaModeloNestlé.c4dd364b.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/TransferenciaModeloPadrao.97e7eae4.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/unimed-fesp.63503fb1.png\";","module.exports = __webpack_public_path__ + \"static/media/orientacoes_documentos.fcd828a2.txt\";","module.exports = {\r\n returnNameForId: {\r\n 36: 'Demitidos',\r\n 38: 'Aposentados',\r\n },\r\n returnIdForName: {\r\n Demitidos: 36,\r\n Aposentados: 38,\r\n },\r\n returnIdForNameFormatted: {\r\n '36 - Demitidos': 36,\r\n '38 - Aposentados': 38,\r\n },\r\n returnNameFormattedForId: {\r\n 36: '36 - Demitidos',\r\n 38: '38 - Aposentados',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/ModeloPadrãoMassaInicial.04514af1.csv\";","module.exports = __webpack_public_path__ + \"static/media/OrientaçõesPreenchimentoMassaInicial.175b3acc.pdf\";","module.exports = __webpack_public_path__ + \"static/media/imagem-massa-inicial.873b19f1.svg\";","module.exports = __webpack_public_path__ + \"static/media/FespANS.3b227248.jpg\";","module.exports = {\r\n 1: 'Enviado',\r\n 2: 'Pendente',\r\n 3: 'Em_Exportacao',\r\n 4: 'ProcessadoErro',\r\n 5: 'ProcessadoSucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'ComErro' || 'ErroExportacao',\r\n 9: 'AguardandoDownload',\r\n 10: 'PendenteProcessamento',\r\n 11: 'ComErro' || 'ErroValidacao',\r\n 12: 'EmValidacao',\r\n 13: 'AguardandoDocumentos',\r\n 14: 'ProcessadaParcialmente',\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'ListaCriada',\r\n 2: 'UploadIniciado',\r\n 3: 'UploadFinalizado',\r\n 4: 'EmEsperaParaValidacao',\r\n 5: 'EmProcessamento',\r\n 6: 'EmProcessamento_LeituraDoArquivo',\r\n 7: 'EmProcessamento_RecuperandoInformacaoProgress',\r\n 8: 'EmProcessamento_ValidacaoDoArquivo',\r\n 9: 'EmProcessamento_ExecucaoDoArquivo',\r\n 10: 'ProcessamentoFinalizado',\r\n 11: 'ListaAntiga',\r\n 12: 'ErroExecucao',\r\n 13: 'EmEsperaParaProcessamento',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Lista criada',\r\n 2: 'Upload iniciado',\r\n 3: 'Upload finalizado',\r\n 4: 'Em Espera para validação',\r\n 5: 'Em validação',\r\n 6: 'Em validação: Leitura do arquivo',\r\n 7: 'Em validação: Recuperando informação progress',\r\n 8: 'Em validação: Validação do arquivo',\r\n 9: 'Em validação: Execução do arquivo',\r\n 10: 'Validação finalizada',\r\n 11: 'Lista Antiga',\r\n 12: 'Erro na validação da Lista',\r\n 13: 'Em Espera: Enviado para Processamento',\r\n },\r\n returnId: {\r\n ListaCriada: 1,\r\n UploadIniciado: 2,\r\n UploadFinalizado: 3,\r\n EmEsperaParaValidacao: 4,\r\n EmProcessamento: 5,\r\n EmProcessamento_LeituraDoArquivo: 6,\r\n EmProcessamento_RecuperandoInformacaoProgress: 7,\r\n EmProcessamento_ValidacaoDoArquivo: 8,\r\n EmProcessamento_ExecucaoDoArquivo: 9,\r\n ProcessamentoFinalizado: 10,\r\n ListaAntiga: 11,\r\n ErroExecucao: 12,\r\n EmEsperaParaProcessamento: 13,\r\n },\r\n};\r\n","module.exports = {\r\n returnNameFormatted: {\r\n 1: 'Inclusão',\r\n 2: 'Alteração',\r\n 3: 'Exclusão',\r\n 4: 'Transferência',\r\n },\r\n returnName: {\r\n 1: 'Inclusao',\r\n 2: 'Alteracao',\r\n 3: 'Exclusao',\r\n 4: 'Transferencia',\r\n 5: 'Lote',\r\n 6: 'Nestle',\r\n 7: 'Lote-csv',\r\n },\r\n returnIdForNameFormatted: {\r\n Inclusão: 1,\r\n Alteração: 2,\r\n Exclusão: 3,\r\n Transferência: 5,\r\n Inativos: 6,\r\n },\r\n returnIdForName: {\r\n Inclusao: 1,\r\n Alteracao: 2,\r\n Exclusao: 3,\r\n Transferencia: 4,\r\n Lote: 5,\r\n Nestle: 6,\r\n 'Lote-csv': 7,\r\n },\r\n};\r\n","export const allFalse = (array) => {\r\n return array.every((element) => !element);\r\n};\r\n\r\nexport const someFalse = (array) => {\r\n return array.some((element) => !element);\r\n};\r\n\r\nexport const someTrue = (array) => {\r\n return array.some((element) => element);\r\n};\r\n\r\nexport const groupBy = (array, property) =>\r\n array.reduce((acc, obj) => {\r\n const key = obj[property];\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(obj);\r\n return acc;\r\n }, {});\r\n\r\nexport const mostFrequentItem = (array) => {\r\n if (array.length === 0) return null;\r\n const modeMap = {};\r\n let maxCount = 1;\r\n let modes = [];\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const el = array[i];\r\n\r\n if (modeMap[el] == null) modeMap[el] = 1;\r\n else modeMap[el]++;\r\n\r\n if (modeMap[el] > maxCount) {\r\n modes = [el];\r\n maxCount = modeMap[el];\r\n } else if (modeMap[el] === maxCount) {\r\n modes.push(el);\r\n maxCount = modeMap[el];\r\n }\r\n }\r\n return modes;\r\n};\r\n\r\nexport const getOccurrence = (array, predicate) => {\r\n return array.filter(predicate).length;\r\n};\r\n\r\nexport const sortObjsArrayByAttribute = (array, attribute, isAsc) => {\r\n return array.slice().sort((a, b) => {\r\n const value1 =\r\n typeof a[attribute] === 'string'\r\n ? a[attribute].toLowerCase()\r\n : a[attribute];\r\n const value2 =\r\n typeof b[attribute] === 'string'\r\n ? b[attribute].toLowerCase()\r\n : b[attribute];\r\n\r\n return isAsc\r\n ? (value1 > value2) - (value1 < value2)\r\n : (value1 < value2) - (value1 > value2);\r\n });\r\n};\r\n\r\nexport const getMinAndMaxValueObjs = (array, attribute) => {\r\n let lowest = Number.POSITIVE_INFINITY;\r\n let highest = Number.NEGATIVE_INFINITY;\r\n let tmp;\r\n for (let i = array.length - 1; i >= 0; i--) {\r\n tmp = array[i];\r\n if (tmp[attribute] < lowest) lowest = tmp;\r\n if (tmp[attribute] > highest) highest = tmp;\r\n }\r\n\r\n return [lowest, highest];\r\n};\r\n\r\nexport const uniqueByMultipleKeys = (arr, keyProps) => {\r\n const kvArray = arr.map((entry) => {\r\n const key = keyProps.map((k) => entry[k]).join('|');\r\n return [key, entry];\r\n });\r\n const map = new Map(kvArray);\r\n return Array.from(map.values());\r\n};\r\n\r\nexport const checkIfArrContainsAllElements = (arr, target) =>\r\n target.every((v) => arr.includes(v));\r\n\r\nexport const FirstOrDefault = (array) => {\r\n return array ? array[0] : [];\r\n};\r\n\r\nexport const LastOrDefault = (array) => {\r\n return array ? array[array.length - 1] : [];\r\n};\r\n\r\nexport function getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () =>\r\n resolve(reader.result.substr(reader.result.indexOf(',') + 1));\r\n reader.onerror = (error) => reject(error);\r\n });\r\n}\r\n\r\nexport function getDifferenceBetween(arrayOne, keyOne, arrayTwo, keyTwo) {\r\n return arrayOne.filter(\r\n ({ [keyOne]: id1 }) => !arrayTwo.some(({ [keyTwo]: id2 }) => id2 === id1)\r\n );\r\n}\r\n\r\nexport const toBase64 = (item) => {\r\n const buff = Buffer.from(JSON.stringify(item));\r\n return buff.toString('base64');\r\n};\r\nexport const toJsonFromBase64 = (base64) => {\r\n const decode = Buffer.from(base64, 'base64');\r\n return decode.toString('ascii');\r\n};\r\n","module.exports = {\r\n returnName: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferencia: 'Transferencia',\r\n },\r\n returnNameFormatted: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferencia: 'Transferência',\r\n },\r\n returnNameForNameFormatted: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferência: 'Transferencia',\r\n },\r\n returnId: {\r\n Lote: 1,\r\n Manual: 2,\r\n Transferência: 3\r\n }\r\n};\r\n","module.exports = {\r\n Ready: 'Ready',\r\n InProgress: 'InProgress',\r\n Finished: 'Finished',\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Grupo ou Complemento',\r\n 2: 'Contratante',\r\n 3: 'Usuário Espelho',\r\n },\r\n\r\n returnNameFormatted: {\r\n 0: 'Selecione uma opção',\r\n 1: 'Grupo ou Complemento',\r\n 2: 'Contratante',\r\n },\r\n returnId: {\r\n 'Grupo ou Complemento': 1,\r\n Contratante: 2,\r\n },\r\n returnNameForName: {\r\n 'Grupo ou Complemento': 'Grupo ou Complemento',\r\n Contratante: 'Contratante',\r\n },\r\n returnIdForNameFormatted: {\r\n 'Selecione uma opção': 0,\r\n 'Grupo ou Complemento': 1,\r\n Contratante: 2,\r\n },\r\n\r\n returnPlaceHolderForName: {\r\n 'Grupo ou Complemento': 'Digite o código do grupo ou complemento',\r\n Contratante: 'Digite o código ou nome de contratante',\r\n 'Usuário Espelho': 'Digite o nome ou email do usuário espelho',\r\n },\r\n};\r\n","module.exports = {\r\n returnNameForName: {\r\n Contratante: 'ContratanteRoot',\r\n 'Grupo ou Complemento': 'GrupoRoot',\r\n },\r\n returnNameUIForNameAPI: {\r\n ContratanteRoot: 'Contratante',\r\n GrupoRoot: 'Grupo ou Complemento',\r\n },\r\n returnName: {\r\n 0: 'Contratante',\r\n 1: 'Grupo ou Complemento',\r\n },\r\n returnNameAPI: {\r\n 0: 'ContratanteRoot',\r\n 1: 'GrupoRoot',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Processar',\r\n 2: 'ComErros' || 'ErroCarga',\r\n 3: 'Reprocessar',\r\n 4: 'ComErros' || 'ErroImportacao',\r\n 5: 'Liberar' || 'LiberarRetorno',\r\n 6: 'PreVenda',\r\n 7: 'Alteracao',\r\n 8: 'PreVenda' || 'PreVendaAlteracao',\r\n 9: 'ImportacaoParcial',\r\n 10: 'Liberar' || 'LiberarRetornoParcial',\r\n 11: 'ComErros' || 'ErroLiberacao',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Processar',\r\n 2: 'Erro na carga',\r\n 3: 'Reprocessar',\r\n 4: 'Erro na importação',\r\n 5: 'Liberar retorno',\r\n 6: 'Pré-venda',\r\n 7: 'Alteração',\r\n 8: 'Pré-venda com alteração',\r\n 9: 'Importação parcial',\r\n 10: 'Liberar retorno parcial',\r\n 11: 'Erro de liberação',\r\n },\r\n returnId: {\r\n Processar: 1,\r\n ErroNaCarga: 2,\r\n Reprocessar: 3,\r\n ErroNaImportacao: 4,\r\n LiberarRetorno: 5,\r\n PreVenda: 6,\r\n Alteracao: 7,\r\n PreVendaComAlteracao: 8,\r\n ImportacaoParcial: 9,\r\n LiberarRetornoParcial: 10,\r\n ErroDeLiberacao: 11,\r\n },\r\n returnNameForName: {\r\n Processar: 'Processar',\r\n ErroNaCarga: 'ErroNaCarga',\r\n Reprocessar: 'Reprocessar',\r\n ErroNaImportacao: 'ErroNaImportacao',\r\n LiberarRetorno: 'LiberarRetorno',\r\n PreVenda: 'PreVenda',\r\n Alteracao: 'Alteracao',\r\n PreVendaComAlteracao: 'PreVendaComAlteracao',\r\n ImportacaoParcial: 'ImportacaoParcial',\r\n LiberarRetornoParcial: 'LiberarRetornoParcial',\r\n ErroDeLiberacao: 'ErroDeLiberacao',\r\n },\r\n returnNameForTab: {\r\n Todas: 0,\r\n Processar: 1,\r\n Reprocessar: 3,\r\n Liberar: [5, 10],\r\n Alteracao: 7,\r\n PreVenda: [6, 8],\r\n Importacao: 9,\r\n ComErros: [2, 4, 11],\r\n },\r\n returnTabForName: {\r\n Todas: 'Todas',\r\n Processar: 'Processar',\r\n Reprocessar: 'Reprocessar',\r\n Liberar: 'Liberar',\r\n Alteracao: 'Alteracao',\r\n PreVenda: 'PreVenda',\r\n Importacao: 'Importacao',\r\n ComErros: 'ComErros',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'AditivoReducaoCarencias',\r\n 2: 'BoletoPagamentoOperadoraAnterior',\r\n 3: 'CadastroPessoaFisica',\r\n 4: 'CartaProprioPunho',\r\n 5: 'CartaoNacionalSaude',\r\n 6: 'CarteiraConvenioOperadoraAnterior',\r\n 7: 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n 8: 'CertidaoCasamento',\r\n 9: 'CertidaoNascimento',\r\n 10: 'ComprovanteEndereco',\r\n 11: 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n 12: 'ComprovantePagamentoOperadoraAnterior',\r\n 13: 'DecisaoJudicial',\r\n 14: 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n 15: 'DeclaracaoFaculdadeAtualizada',\r\n 16: 'DeclaraçãoImpostoRenda',\r\n 17: 'DeclaracaoPermanenciaOperadoraAnterior',\r\n 18: 'DeclaracaoSaude',\r\n 19: 'DeclaracaoUniãoEstavel',\r\n 20: 'FichaFiliacaoEntidadeClasse',\r\n 21: 'LaudoINSS',\r\n 22: 'PropostaAdesao',\r\n 23: 'RegistroGeral',\r\n 24: 'RelatorioCompatibilidade',\r\n },\r\n returnNameFormatted: {\r\n 1: 'Aditivo de Redução de Carências',\r\n 2: 'Boleto de Pagamento da Operadora Anterior',\r\n 3: 'Cadastro de Pessoa Física',\r\n 4: 'Carta de próprio punho',\r\n 5: 'Cartão Nacional de Saúde',\r\n 6: 'Carteira Convênio da Operadora Anterior',\r\n 7: 'Carteira da Profissão vinculada à Entidade de Classe',\r\n 8: 'Certidão de casamento',\r\n 9: 'Certidão de nascimento',\r\n 10: 'Comprovante de Endereço',\r\n 11: 'Comprovante de Pagamento da Filiação à Entidade de Classe',\r\n 12: 'Comprovante de Pagamento Operadora Anterior',\r\n 13: 'Decisão judicial',\r\n 14: 'Declaração da Administradora/Entidade Comprovando Vinculo',\r\n 15: 'Declaração da faculdade atualizada',\r\n 16: 'Declaração de imposto de renda',\r\n 17: 'Declaração de Permanência da Operadora Anterior',\r\n 18: 'Declaração de Saúde',\r\n 19: 'Declaração de união estável',\r\n 20: 'Ficha de Filiação à Entidade de Classe',\r\n 21: 'Laudo INSS',\r\n 22: 'Proposta de Adesão',\r\n 23: 'Registro Geral',\r\n 24: 'Relatório de Compatibilidade',\r\n },\r\n returnId: {\r\n AditivoReducaoCarencias: 1,\r\n BoletoPagamentoOperadoraAnterior: 2,\r\n CadastroPessoaFisica: 3,\r\n CartaProprioPunho: 4,\r\n CartaoNacionalSaude: 5,\r\n CarteiraConvenioOperadoraAnterior: 6,\r\n CarteiraProfissaoVinculadaEntidadeClasse: 7,\r\n CertidaoCasamento: 8,\r\n CertidaoNascimento: 9,\r\n ComprovanteEndereco: 10,\r\n ComprovantePagamentoFiliacaoEntidadeClasse: 11,\r\n ComprovantePagamentoOperadoraAnterior: 12,\r\n DecisaoJudicial: 13,\r\n DeclaracaoAdministradoraEntidadeComprovandoVinculo: 14,\r\n DeclaracaoFaculdadeAtualizada: 15,\r\n DeclaraçãoImpostoRenda: 16,\r\n DeclaracaoPermanenciaOperadoraAnterior: 17,\r\n DeclaracaoSaude: 18,\r\n DeclaracaoUniãoEstavel: 19,\r\n FichaFiliacaoEntidadeClasse: 20,\r\n LaudoINSS: 21,\r\n PropostaAdesao: 22,\r\n RegistroGeral: 23,\r\n RelatorioCompatibilidade: 24,\r\n },\r\n returnNameForName: {\r\n AditivoReducaoCarencias: 'AditivoReducaoCarencias',\r\n BoletoPagamentoOperadoraAnterior: 'BoletoPagamentoOperadoraAnterior',\r\n CadastroPessoaFisica: 'CadastroPessoaFisica',\r\n CartaProprioPunho: 'CartaProprioPunho',\r\n CartaoNacionalSaude: 'CartaoNacionalSaude',\r\n CarteiraConvenioOperadoraAnterior: 'CarteiraConvenioOperadoraAnterior',\r\n CarteiraProfissaoVinculadaEntidadeClasse:\r\n 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n CertidaoCasamento: 'CertidaoCasamento',\r\n CertidaoNascimento: 'CertidaoNascimento',\r\n ComprovanteEndereco: 'ComprovanteEndereco',\r\n ComprovantePagamentoFiliacaoEntidadeClasse:\r\n 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n ComprovantePagamentoOperadoraAnterior:\r\n 'ComprovantePagamentoOperadoraAnterior',\r\n DecisaoJudicial: 'DecisaoJudicial',\r\n DeclaracaoAdministradoraEntidadeComprovandoVinculo:\r\n 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n DeclaracaoFaculdadeAtualizada: 'DeclaracaoFaculdadeAtualizada',\r\n DeclaraçãoImpostoRenda: 'DeclaraçãoImpostoRenda',\r\n DeclaracaoPermanenciaOperadoraAnterior:\r\n 'DeclaracaoPermanenciaOperadoraAnterior',\r\n DeclaracaoSaude: 'DeclaracaoSaude',\r\n DeclaracaoUniãoEstavel: 'DeclaracaoUniãoEstavel',\r\n FichaFiliacaoEntidadeClasse: 'FichaFiliacaoEntidadeClasse',\r\n LaudoINSS: 'LaudoINSS',\r\n PropostaAdesao: 'PropostaAdesao',\r\n RegistroGeral: 'RegistroGeral',\r\n RelatorioCompatibilidade: 'RelatorioCompatibilidade',\r\n },\r\n returnNamePorSigla: {\r\n ARC: 'AditivoReducaoCarencias',\r\n BPOA: 'BoletoPagamentoOperadoraAnterior',\r\n CPF: 'CadastroPessoaFisica',\r\n RDP: 'CartaProprioPunho',\r\n CNS: 'CartaoNacionalSaude',\r\n CCO: 'CarteiraConvenioOperadoraAnterior',\r\n CP: 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n CC: 'CertidaoCasamento',\r\n CN: 'CertidaoNascimento',\r\n CE: 'ComprovanteEndereco',\r\n CPEC: 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n CPOA: 'ComprovantePagamentoOperadoraAnterior',\r\n DJ: 'DecisaoJudicial',\r\n CV: 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n DFA: 'DeclaracaoFaculdadeAtualizada',\r\n DIR: 'DeclaraçãoImpostoRenda',\r\n DPO: 'DeclaracaoPermanenciaOperadoraAnterior',\r\n DS: 'DeclaracaoSaude',\r\n DUE: 'DeclaracaoUniãoEstavel',\r\n FF: 'FichaFiliacaoEntidadeClasse',\r\n LI: 'LaudoINSS',\r\n PA: 'PropostaAdesao',\r\n RG: 'RegistroGeral',\r\n RCA: 'RelatorioCompatibilidade',\r\n CCOA: 'CarteiraConvenioOperadoraAnterior',\r\n CCA: 'CONTRATO',\r\n HOL: 'holerites',\r\n TRES: 'TermoRescisao',\r\n CARCON: 'CartaConcessaoINSS',\r\n },\r\n returnNameFormattedPorSigla: {\r\n ARC: 'Aditivo de Redução de Carências',\r\n BPOA: 'Boleto de Pagamento da Operadora Anterior',\r\n CPF: 'Cadastro de Pessoa Física',\r\n RDP: 'Carta de próprio punho',\r\n CNS: 'Cartão Nacional de Saúde',\r\n CCO: 'Carteira Convênio da Operadora Anterior',\r\n CP: 'Carteira da Profissão vinculada à Entidade de Classe',\r\n CC: 'Certidão de casamento',\r\n CN: 'Certidão de nascimento',\r\n CE: 'Comprovante de Endereço',\r\n CPEC: 'Comprovante de Pagamento da Filiação à Entidade de Classe',\r\n CPOA: 'Comprovante de Pagamento Operadora Anterior',\r\n DJ: 'Decisão judicial',\r\n CV: 'Declaração da Administradora/Entidade Comprovando Vinculo',\r\n DFA: 'Declaração da faculdade atualizada',\r\n DIR: 'Declaração de imposto de renda',\r\n DPOA: 'Declaração de Permanência da Operadora Anterior',\r\n DS: 'Declaração de Saúde',\r\n DUE: 'Declaração de união estável',\r\n FF: 'Ficha de Filiação à Entidade de Classe',\r\n LI: 'Laudo INSS',\r\n PA: 'Proposta de Adesão',\r\n RG: 'Registro Geral',\r\n RCA: 'Relatório de Compatibilidade',\r\n CCOA: 'Carteira Convênio da Operadora Anterior',\r\n CCA: 'CONTRATO (carimbado e assinado)',\r\n HOL: '03 últimos holerites e/ou comprovação de contribuição',\r\n TRES: 'Termo de rescisão',\r\n CARCON: 'Carta de Concessão do INSS',\r\n },\r\n};\r\n","module.exports = {\r\n returnNameForId: {\r\n 1: 'Validacao',\r\n 2: 'Processamento',\r\n },\r\n returnIdForName: {\r\n Validacao: 1,\r\n Processamento: 2,\r\n },\r\n};\r\n","module.exports = {\r\n returnDescricao: {\r\n FinalizacaoRelatorioBeneficiarios:\r\n 'Finalização de Relatório de Beneficiários',\r\n AlteracaoListaStatusAguardandoDocumentos:\r\n 'Alteração de Status de Lista Para Aguardando Documentos',\r\n AlteracaoListaStatusAguardandoDownload:\r\n 'Alteração de Status de Lista Para Aguardando Download',\r\n AlteracaoListaStatusEmAnaliseDocumentacao:\r\n 'Alteração de Status de Lista Para Em Análise de Documentação',\r\n AlteracaoListaStatusEmValidacao:\r\n 'Alteração de Status de Lista Para Em Validação',\r\n AlteracaoListaStatusProcessadoErro:\r\n \"Alteração de Status de Lista Para 'Processado Com Erro'\",\r\n AlteracaoListaStatusErroValidacao:\r\n \"Alteração de Status de Lista Para 'Erro de Validação'\",\r\n AlteracaoListaStatusExcluida:\r\n \"Alteração de Status de Lista Para 'Excluída'\",\r\n AlteracaoListaStatusPendente:\r\n \"Alteração de Status de Lista Para 'Pendente de Envio'\",\r\n AlteracaoListaStatusPendenteProcessamento:\r\n \"Alteração de Status de Lista Para 'Pendente de Processamento'\",\r\n AlteracaoListaStatusProcessadoSucesso:\r\n \"Alteração de Status de Lista Para 'Processado Com Sucesso'\",\r\n AlteracaoListaStatusProcessadaParcialmente:\r\n \"Alteração de Status de Lista Para 'Processada Parcialmente'\",\r\n ErroGeracaoRelatorioBeneficiarios:\r\n 'Erro na geração do relatório de beneficiários',\r\n },\r\n returnIdForName: {\r\n FinalizacaoRelatorioBeneficiarios: 1,\r\n AlteracaoListaStatusAguardandoDocumentos: 2,\r\n AlteracaoListaStatusAguardandoDownload: 3,\r\n AlteracaoListaStatusEmAnaliseDocumentacao: 4,\r\n AlteracaoListaStatusEmValidacao: 5,\r\n AlteracaoListaStatusProcessadoErro: 6,\r\n AlteracaoListaStatusErroValidacao: 7,\r\n AlteracaoListaStatusExcluida: 8,\r\n AlteracaoListaStatusPendente: 9,\r\n AlteracaoListaStatusPendenteProcessamento: 10,\r\n AlteracaoListaStatusProcessadoSucesso: 11,\r\n AlteracaoListaStatusProcessadaParcialmente: 13,\r\n ErroGeracaoRelatorioBeneficiarios: 14,\r\n },\r\n returnIdForDescription: {\r\n 'Finalização de Relatório de Beneficiários': 1,\r\n 'Alteração de Status de Lista Para Aguardando Documentos': 2,\r\n 'Alteração de Status de Lista Para Aguardando Download': 3,\r\n 'Alteração de Status de Lista Para Em Análise de Documentação': 4,\r\n 'Alteração de Status de Lista Para Em Validação': 5,\r\n \"Alteração de Status de Lista Para 'Processado Com Erro'\": 6,\r\n \"Alteração de Status de Lista Para 'Erro de Validação'\": 7,\r\n \"Alteração de Status de Lista Para 'Excluída'\": 8,\r\n \"Alteração de Status de Lista Para 'Pendente de Envio'\": 9,\r\n \"Alteração de Status de Lista Para 'Pendente de Processamento'\": 10,\r\n \"Alteração de Status de Lista Para 'Processado Com Sucesso'\": 11,\r\n \"Alteração de Status de Lista Para 'Processada Parcialmente'\": 13,\r\n 'Erro na geração do relatório de beneficiários': 14,\r\n },\r\n returnDescriptionPorId: {\r\n 1: 'Finalização de Relatório de Beneficiários',\r\n 2: 'Alteração de Status de Lista Para Aguardando Documentos',\r\n 3: 'Alteração de Status de Lista Para Aguardando Download',\r\n 4: 'Alteração de Status de Lista Para Em Análise de Documentação',\r\n 5: 'Alteração de Status de Lista Para Em Validação',\r\n 6: \"Alteração de Status de Lista Para 'Processado Com Erro'\",\r\n 7: \"Alteração de Status de Lista Para 'Erro de Validação'\",\r\n 8: \"Alteração de Status de Lista Para 'Excluída'\",\r\n 9: \"Alteração de Status de Lista Para 'Pendente de Envio'\",\r\n 10: \"Alteração de Status de Lista Para 'Pendente de Processamento'\",\r\n 11: \"Alteração de Status de Lista Para 'Processado Com Sucesso'\",\r\n 13: \"Alteração de Status de Lista Para 'Processada Parcialmente'\",\r\n 14: 'Erro na geração do relatório de beneficiários',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Enviado',\r\n 2: 'Pendente',\r\n 3: 'Em_Exportacao',\r\n 4: 'ProcessadoErro',\r\n 5: 'ProcessadoSucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'ComErro' || 'ErroExportacao',\r\n 9: 'EmEspera' || 'AguardandoDownload',\r\n 10: 'Pendente' || 'PendenteProcessamento',\r\n 11: 'ComErro' || 'ErroValidacao',\r\n 12: 'EmValidacao',\r\n 13: 'EmEspera' || 'AguardandoDocumentos',\r\n 14: 'ProcessadaParcialmente',\r\n 15: 'Registrada',\r\n 16: 'EmAnalisedeDocumentacao',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Enviado',\r\n 2: 'Pendente de Envio',\r\n 3: 'Em Exportacão',\r\n 4: 'Erro de Processamento',\r\n 5: 'Processada c/ Sucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'Erro ao Exportar',\r\n 9: 'Aguardando Download',\r\n 10: 'Pendente de Processamento',\r\n 11: 'Erro de Validação',\r\n 12: 'Em Validação',\r\n 13: 'Aguardando Documentos',\r\n 14: 'Processada parcialmente',\r\n 15: 'Registrada',\r\n 16: 'Em Análise de Documentação',\r\n },\r\n returnId: {\r\n Enviado: 1,\r\n PendentedeEnvio: 2,\r\n EmExportacao: 3,\r\n ErrodeProcessamento: 4,\r\n ProcessadoSucesso: 5,\r\n Reenviado: 6,\r\n Excluida: 7,\r\n ErroExportacao: 8,\r\n AguardandoDownload: 9,\r\n PendenteProcessamento: 10,\r\n ErroValidacao: 11,\r\n EmValidacao: 12,\r\n AguardandoDocumentos: 13,\r\n ProcessadaParcialmente: 14,\r\n Registrada: 15,\r\n EmAnalisedeDocumentacao: 16,\r\n },\r\n returnNameForName: {\r\n Enviado: 'Enviado',\r\n PendentedeEnvio: 'PendentedeEnvio',\r\n EmExportacao: 'EmExportacao',\r\n ErrodeProcessamento: 'ErrodeProcessamento',\r\n ProcessadoSucesso: 'ProcessadoSucesso',\r\n Reenviado: 'Reenviado',\r\n Excluida: 'Excluida',\r\n ErroExportacao: 'ErroExportacao',\r\n AguardandoDownload: 'AguardandoDownload',\r\n PendenteProcessamento: 'PendenteProcessamento',\r\n ComErro: 'ErroValidacao',\r\n EmValidacao: 'EmValidacao',\r\n AguardandoDocumentos: 'AguardandoDocumentos',\r\n ProcessadaParcialmente: 'ProcessadaParcialmente',\r\n Registrada: 'Registrada',\r\n EmAnalisedeDocumentacao: 'Em Análise de Documentação',\r\n },\r\n returnNameForTab: {\r\n Todas: 0,\r\n // Registrada: [1, 15],\r\n // Enviado: 1,\r\n EmValidacao: 12,\r\n Pendente: [2, 10],\r\n EmEspera: [3, 9, 13],\r\n Processada: [5, 14],\r\n ComErro: [4, 8, 11],\r\n Excluida: 7,\r\n // Reenviado: 6,\r\n },\r\n returnTabForName: {\r\n Todas: 'Todas',\r\n Registrada: 'Registrada',\r\n EmValidacao: 'EmValidacao',\r\n Pendente: 'Pendente',\r\n EmEspera: 'EmEspera',\r\n // Enviado: 'Enviado',\r\n Processada: 'Processada',\r\n ComErro: 'ComErro',\r\n Excluida: 'Excluida',\r\n },\r\n};\r\n","import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;\r\n","export const setTabContentPorStatus = (objResponse, StatusEnum, draft) => {\r\n objResponse.map((obj) => {\r\n const StatusLista = StatusEnum[obj.status];\r\n\r\n if (draft[StatusLista]) {\r\n draft[StatusLista].size = obj.total;\r\n draft[StatusLista].data = obj.data;\r\n draft[StatusLista].pageNumber = obj.pageNumber;\r\n draft[StatusLista].pageSize = obj.pageSize;\r\n draft[StatusLista].nextPage = obj.nextPage;\r\n draft[StatusLista].previousPage = obj.previousPage;\r\n draft[StatusLista].totalPages = Math.ceil(obj.total / obj.pageSize);\r\n }\r\n });\r\n};\r\n\r\nexport const setTabContentPorStatusSingleObj = (\r\n objResponse,\r\n StatusEnum,\r\n draft\r\n) => {\r\n const StatusLista = StatusEnum[objResponse.status];\r\n\r\n if (draft[StatusLista]) {\r\n draft[StatusLista].size = objResponse.total;\r\n draft[StatusLista].data = objResponse.data;\r\n draft[StatusLista].pageNumber = objResponse.pageNumber;\r\n draft[StatusLista].pageSize = objResponse.pageSize;\r\n draft[StatusLista].nextPage = objResponse.nextPage;\r\n draft[StatusLista].previousPage = objResponse.previousPage;\r\n draft[StatusLista].totalPages = Math.ceil(\r\n objResponse.total / objResponse.pageSize\r\n );\r\n }\r\n};\r\n","import produce from 'immer';\r\nimport { isError } from 'lodash';\r\nimport {\r\n StatusListaAPIEnum,\r\n StatusListaRPAEnum,\r\n UploadeProgressEnum,\r\n} from '../../enums';\r\nimport history from '../../services/history';\r\nimport { getDifferenceBetween } from '../../utils/array';\r\nimport {\r\n setTabContentPorStatus,\r\n setTabContentPorStatusSingleObj,\r\n setTabContentSingleObj,\r\n} from '../../utils/setTabContentPorStatus';\r\n\r\nexport const Types = {\r\n DELETE_LISTA_CSV_REQUEST: '@lista/DELETE_LISTA_CSV_REQUEST',\r\n GET_ARQUIVO_LOTE_ORIGINAL_REQUEST: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_REQUEST',\r\n GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS',\r\n GET_ARQUIVO_LOTE_ORIGINAL_ERROR: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_ERROR',\r\n GET_ARQUIVO_LOTE_ORIGINAL_RENEW: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_RENEW',\r\n POST_IMPORTAR_LOTE_CSV_REQUEST: '@lista/POST_IMPORTAR_LOTE_CSV_REQUEST',\r\n POST_IMPORTAR_LOTE_CSV_SUCCESS: '@lista/POST_IMPORTAR_LOTE_CSV_SUCCESS',\r\n POST_VALIDAR_LOTE_CSV_REQUEST: '@lista/POST_VALIDAR_LOTE_CSV_REQUEST',\r\n POST_RELATORIO_RESUMIDO_NOVO_REQUEST:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_REQUEST',\r\n POST_RELATORIO_RESUMIDO_NOVO_SUCCESS:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_SUCCESS',\r\n POST_RELATORIO_RESUMIDO_NOVO_ERROR:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_ERROR',\r\n POST_RELATORIO_RESUMIDO_NOVO_RENEW:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_RENEW',\r\n POST_RELATORIO_DETALHADO_NOVO_REQUEST:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_REQUEST',\r\n POST_RELATORIO_DETALHADO_NOVO_SUCCESS:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_SUCCESS',\r\n POST_RELATORIO_DETALHADO_NOVO_ERROR:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_ERROR',\r\n POST_RELATORIO_DETALHADO_NOVO_RENEW:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_RENEW',\r\n POST_SEARCH_LIST_RPA_REQUEST: '@lista/POST_SEARCH_LIST_RPA_REQUEST',\r\n POST_SEARCH_LIST_RPA_RESPONSE: '@lista/POST_SEARCH_LIST_RPA_RESPONSE',\r\n GET_STATUS_LIST_RPA_REQUEST: '@lista/GET_STATUS_LIST_RPA_REQUEST',\r\n GET_STATUS_LIST_RPA_RESPONSE: '@lista/GET_STATUS_LIST_RPA_RESPONSE',\r\n POST_SEARCH_LIST_REQUEST: '@lista/POST_SEARCH_LIST_REQUEST',\r\n POST_SEARCH_LIST_RESPONSE: '@lista/POST_SEARCH_LIST_RESPONSE',\r\n GET_STATUS_LIST_CONTRATANTE_REQUEST:\r\n '@lista/GET_STATUS_LIST_CONTRATANTE_REQUEST',\r\n GET_STATUS_LIST_CONTRATANTE_RESPONSE:\r\n '@lista/GET_STATUS_LIST_CONTRATANTE_RESPONSE',\r\n GET_STATUS_LIST_ADMIN_REQUEST: '@lista/GET_STATUS_LIST_ADMIN_REQUEST',\r\n GET_STATUS_LIST_ADMIN_RESPONSE: '@lista/GET_STATUS_LIST_ADMIN_RESPONSE',\r\n GET_STATUS_LIST_NESTLE_REQUEST: '@lista/GET_STATUS_LIST_NESTLE_REQUEST',\r\n GET_STATUS_LIST_NESTLE_RESPONSE: '@lista/GET_STATUS_LIST_NESTLE_RESPONSE',\r\n POST_LISTA_INATIVAS_REQUEST: '@lista/POST_LISTA_INATIVAS_REQUEST',\r\n POST_LISTA_INATIVAS_RESPONSE: '@lista/POST_LISTA_INATIVAS_RESPONSE',\r\n PUT_LISTA_INATIVAS_REQUEST: '@lista/PUT_LISTA_INATIVAS_REQUEST',\r\n PUT_LISTA_INATIVAS_RESPONSE: '@lista/PUT_LISTA_INATIVAS_RESPONSE',\r\n GET_LISTA_INATIVAS_REQUEST: '@lista/GET_LISTA_INATIVAS_REQUEST',\r\n GET_LISTA_INATIVAS_RESPONSE: '@lista/GET_LISTA_INATIVAS_RESPONSE',\r\n GET_LISTA_BENEFICIARIOS_RENEW: '@lista/GET_LISTA_BENEFICIARIOS_RENEW',\r\n GET_LISTA_BENEFICIARIOS_REQUEST: '@lista/GET_LISTA_BENEFICIARIOS_REQUEST',\r\n GET_LISTA_BENEFICIARIOS_RESPONSE: '@lista/GET_LISTA_BENEFICIARIOS_RESPONSE',\r\n GET_GRUPO_FAMILIAR_REQUEST: '@lista/GET_GRUPO_FAMILIAR_REQUEST',\r\n GET_GRUPO_FAMILIAR_RESPONSE: '@lista/GET_GRUPO_FAMILIAR_RESPONSE',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR',\r\n CHECK_BENEFICIARIO_INATIVOS: '@lista/CHECK_BENEFICIARIO_INATIVOS',\r\n SET_BENEFICIARIOS_SUCCESS: '@lista/SET_BENEFICIARIOS_SUCCESS',\r\n SET_LISTA_FAMILIAR_REQUEST: '@lista/SET_LISTA_FAMILIAR_REQUEST',\r\n POST_LISTA_FAMILIAR_REQUEST: '@lista/POST_LISTA_FAMILIAR_REQUEST',\r\n POST_LISTA_FAMILIAR_RESPONSE: '@lista/POST_LISTA_FAMILIAR_RESPONSE',\r\n GET_RELATORIO_RPA_REQUEST: '@lista/GET_RELATORIO_RPA_REQUEST',\r\n GET_RELATORIO_RPA_SUCCESS: '@lista/GET_RELATORIO_RPA_SUCCESS',\r\n GET_RELATORIO_RPA_ERROR: '@lista/GET_RELATORIO_RPA_ERROR',\r\n GET_RELATORIO_RPA_RENEW: '@lista/GET_RELATORIO_RPA_RENEW',\r\n GET_LISTAS_REQUEST: '@lista/GET_LISTAS_REQUEST',\r\n GET_LISTAS_SUCCESS: '@lista/GET_LISTAS_SUCCESS',\r\n GET_LISTAS_ERROR: '@lista/GET_LISTAS_ERROR',\r\n GET_LISTAS_POR_STATUS_REQUEST: '@lista/GET_LISTAS_POR_STATUS_REQUEST',\r\n GET_LISTAS_POR_STATUS_SUCCESS: '@lista/GET_LISTAS_POR_STATUS_SUCCESS',\r\n GET_LISTAS_POR_STATUS_ERROR: '@lista/GET_LISTAS_POR_STATUS_ERROR',\r\n GET_LISTAS_RPA_REQUEST: '@listasRPA/GET_LISTAS_RPA_REQUEST',\r\n GET_LISTAS_RPA_SUCCESS: '@listasRPA/GET_LISTAS_RPA_SUCCESS',\r\n GET_LISTAS_RPA_ERROR: '@listasRPA/GET_LISTAS_ERROR',\r\n GET_LISTA_DETALHE_REQUEST: '@listas/GET_LISTA_DETALHE_REQUEST',\r\n GET_LISTA_DETALHE_SUCCESS: '@listas/GET_LISTA_DETALHE_SUCCESS',\r\n GET_LISTA_DETALHE_ERROR: '@listas/GET_LISTA_DETALHE_ERROR',\r\n GET_LISTA_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_REQUEST',\r\n GET_LISTA_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_ERROR',\r\n GET_LISTA_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_SUCCESS',\r\n GET_ARQUIVO_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_REQUEST',\r\n GET_ARQUIVO_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_ERROR',\r\n GET_ARQUIVO_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_SUCCESS',\r\n GET_ARQUIVO_MASSA_INICIAL_RENEW:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_RENEW',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS',\r\n POST_ARQUIVO_MASSA_INICIAL_REQUEST:\r\n '@lista/POST_ARQUIVO_MASSA_INICIAL_REQUEST',\r\n POST_ARQUIVO_MASSA_INICIAL_SUCCESS:\r\n '@lista/POST_ARQUIVO_MASSA_INICIAL_SUCCESS',\r\n POST_ARQUIVO_MASSA_INICIAL_ERROR: '@lista/POST_ARQUIVO_MASSA_INICIAL_ERROR',\r\n POST_ARQUIVO_MASSA_INICIAL_RENEW: '@lista/POST_ARQUIVO_MASSA_INICIAL_RENEW',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW',\r\n GET_LISTAS_RPA_POR_STATUS_REQUEST: '@lista/GET_LISTAS_RPA_POR_STATUS_REQUEST',\r\n GET_LISTAS_RPA_POR_STATUS_SUCCESS: '@lista/GET_LISTAS_RPA_POR_STATUS_SUCCESS',\r\n GET_LISTAS_RPA_POR_STATUS_ERROR: '@lista/GET_LISTAS_RPA_POR_STATUS_ERROR',\r\n POST_ARQUIVO_IMPORTACAO_REQUEST: '@lista/POST_ARQUIVO_IMPORTACAO_REQUEST',\r\n POST_ARQUIVO_IMPORTACAO_SUCCESS: '@lista/POST_ARQUIVO_IMPORTACAO_SUCCESS',\r\n POST_ARQUIVO_IMPORTACAO_ERROR: '@lista/POST_ARQUIVO_IMPORTACAO_ERROR',\r\n IMPORTAR_LOTE_REQUEST: '@lista/IMPORTAR_LOTE_REQUEST',\r\n IMPORTAR_LOTE_RENEW: '@lista/IMPORTAR_LOTE_RENEW',\r\n IMPORTAR_LOTE_UPDATE: '@lista/IMPORTAR_LOTE_UPDATE',\r\n IMPORTAR_LOTE_UPDATE_PROGRESS: '@lista/IMPORTAR_LOTE_UPDATE_PROGRESS',\r\n IMPORTAR_LOTE_UPDATE_STATUS: '@lista/IMPORTAR_LOTE_UPDATE_STATUS',\r\n IMPORTAR_LOTE_UPDATE_FILES: '@lista/IMPORTAR_LOTE_UPDATE_FILES',\r\n IMPORTAR_LOTE_SUCCESS: '@lista/IMPORTAR_LOTE_SUCCESS',\r\n IMPORTAR_LOTE_LOG_ERROR: '@lista/IMPORTAR_LOTE_LOG_ERROR',\r\n IMPORTAR_LOTE_LOG_ERROR_RENEW: '@lista/IMPORTAR_LOTE_LOG_ERROR_RENEW',\r\n IMPORTAR_LOTE_ERROR: '@lista/IMPORTAR_LOTE_ERROR',\r\n IMPORTAR_LOTE_NESTLE_REQUEST: '@lista/IMPORTAR_LOTE_NESTLE_REQUEST',\r\n PUT_LISTAS_REQUEST: '@lista/PUT_LISTAS_REQUEST',\r\n PUT_LISTAS_RENEW: '@lista/PUT_LISTAS_RENEW',\r\n PUT_LISTAS_SUCCESS: '@lista/PUT_LISTAS_SUCCESS',\r\n PUT_LISTAS_ERROR: '@lista/PUT_LISTAS_ERROR',\r\n PATCH_LISTA_STATUS_REQUEST: '@lista/PATCH_LISTA_STATUS_REQUEST',\r\n PATCH_LISTA_STATUS_RENEW: '@lista/PATCH_LISTA_STATUS_RENEW',\r\n PACTH_LISTA_STATUS_SUCCESS: '@lista/PACTH_LISTA_STATUS_SUCCESS',\r\n PATCH_LISTA_STATUS_ERROR: '@lista/PATCH_LISTA_STATUS_ERROR',\r\n PATCH_LISTA_ENVIO_RPA_REQUEST: '@lista/PATCH_LISTA_ENVIO_RPA_REQUEST',\r\n PATCH_LISTA_ENVIO_RPA_SUCCESS: '@lista/PATCH_LISTA_ENVIO_RPA_SUCCESS',\r\n PATCH_LISTA_ENVIO_RPA_ERROR: '@lista/PATCH_LISTA_ENVIO_RPA_ERROR',\r\n PATCH_LISTA_ENVIO_RPA_RENEW: '@lista/PATCH_LISTA_ENVIO_RPA_RENEW',\r\n PATCH_STATUS_RPA_REQUEST: '@listasRPA/PATCH_STATUS_RPA_REQUEST',\r\n PATCH_STATUS_RPA_SUCCESS: '@listasRPA/PATCH_STATUS_RPA_SUCCESS',\r\n PATCH_STATUS_RPA_ERROR: '@listasRPA/PATCH_STATUS_RPA_ERROR',\r\n PATCH_STATUS_RPA_RENEW: '@listasRPA/PATCH_STATUS_RPA_RENEW',\r\n DELETE_LISTA_REQUEST: '@lista/DELETE_LISTA_REQUEST',\r\n DELETE_LISTA_SUCCESS: '@lista/DELETE_LISTA_SUCCESS',\r\n DELETE_LISTA_RENEW: '@lista/DELETE_LISTA_RENEW',\r\n DELETE_LISTA_ERROR: '@lista/DELETE_LISTA_ERROR',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n uploadLoading: false,\r\n getRelatorioLista: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getArquivoOriginalLote: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n listas: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n totalCount: 0,\r\n totalPages: 0,\r\n pageNumber: 0,\r\n pageSize: 0,\r\n data: [],\r\n },\r\n },\r\n listasRpa: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n totalCount: 0,\r\n totalPages: 0,\r\n pageNumber: 0,\r\n pageSize: 0,\r\n data: [],\r\n },\r\n },\r\n error: null,\r\n response: [],\r\n beneficiario: [],\r\n statusLists: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n availables: [],\r\n actives: [],\r\n },\r\n },\r\n postSalvarBeneficiarioInativos: {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n error: null,\r\n },\r\n postPesquisaBeneficiario: {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n },\r\n grupoFamiliar: [],\r\n loadFamiliar: false,\r\n success: false,\r\n isError: false,\r\n details: false,\r\n create: false,\r\n putListas: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n patchListaStatus: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n postArquivoImportacao: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n unsuccessResponse: '',\r\n // success: false,\r\n postImportarLoteCsv: {\r\n loading: false,\r\n success: false,\r\n },\r\n postImportarLote: {\r\n loading: false,\r\n tipoMovimentacao: '',\r\n files: [],\r\n success: false,\r\n isPartialSuccess: false,\r\n isError: false,\r\n error: '',\r\n logError: [],\r\n },\r\n getListas: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processada: { data: [], size: 0 },\r\n Registrada: { data: [], size: 0 },\r\n Pendente: { data: [], size: 0 },\r\n EmValidacao: { data: [], size: 0 },\r\n EmEspera: { data: [], size: 0 },\r\n ComErro: { data: [], size: 0 },\r\n Excluida: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n deleteLista: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchListaEnvioRPA: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getListasRPA: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processar: { data: [], size: 0 },\r\n Reprocessar: { data: [], size: 0 },\r\n Liberar: { data: [], size: 0 },\r\n Alteracao: { data: [], size: 0 },\r\n PreVenda: { data: [], size: 0 },\r\n Importacao: { data: [], size: 0 },\r\n ComErros: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n patchStatusRPA: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postListaTransferencia: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getRelatorioRPA: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getListaDetalhe: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchValidacaoListaTransferencia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getListaMassaInicial: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: {\r\n data: [],\r\n size: 0,\r\n },\r\n },\r\n error: null,\r\n },\r\n getArquivoMassaInicial: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n },\r\n MassaInicial: {\r\n post: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n idLista: null,\r\n },\r\n patch: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n },\r\n};\r\n\r\nexport default function lista(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST: {\r\n draft.getArquivoOriginalLote.loading = true;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_RENEW: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.success = false;\r\n draft.getArquivoOriginalLote.response = {};\r\n draft.getArquivoOriginalLote.unsuccessResponse = [];\r\n draft.getArquivoOriginalLote.error = null;\r\n draft.getArquivoOriginalLote.isError = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.response = action.payload.response;\r\n draft.getArquivoOriginalLote.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_ERROR: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.isError = true;\r\n draft.getArquivoOriginalLote.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_REQUEST: {\r\n draft.getRelatorioLista.loading = true;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_RENEW: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.success = false;\r\n draft.getRelatorioLista.response = {};\r\n draft.getRelatorioLista.unsuccessResponse = [];\r\n draft.getRelatorioLista.error = null;\r\n draft.getRelatorioLista.isError = false;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_SUCCESS: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.response = action.payload.response;\r\n draft.getRelatorioLista.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_ERROR: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.isError = true;\r\n draft.getRelatorioLista.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_REQUEST: {\r\n draft.getRelatorioLista.loading = true;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_RENEW: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.success = false;\r\n draft.getRelatorioLista.response = {};\r\n draft.getRelatorioLista.unsuccessResponse = [];\r\n draft.getRelatorioLista.error = null;\r\n draft.getRelatorioLista.isError = false;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_SUCCESS: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.response = action.payload.response;\r\n draft.getRelatorioLista.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_ERROR: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.isError = true;\r\n draft.getRelatorioLista.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RPA_REQUEST: {\r\n draft.listasRpa.loading = true;\r\n draft.listasRpa.success = false;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RPA_RESPONSE: {\r\n draft.listasRpa.loading = false;\r\n draft.listasRpa.success = true;\r\n draft.listasRpa.response = action.payload.response;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_REQUEST: {\r\n draft.listas.loading = true;\r\n draft.listas.success = false;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RESPONSE: {\r\n draft.listas.loading = false;\r\n draft.listas.success = true;\r\n draft.listas.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_CONTRATANTE_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_ADMIN_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_RPA_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_RPA_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_CONTRATANTE_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_ADMIN_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_NESTLE_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_NESTLE_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTAS_REQUEST: {\r\n draft.getListas.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_SUCCESS: {\r\n draft.getListas.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaAPIEnum.returnTabForName,\r\n draft.getListas.response\r\n );\r\n\r\n draft.getListas.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.POST_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.create = true;\r\n draft.success = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n\r\n break;\r\n }\r\n case Types.PUT_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.details = true;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.PUT_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_RESPONSE: {\r\n draft.postPesquisaBeneficiario = action.payload.response;\r\n draft.postPesquisaBeneficiario.loading = false;\r\n draft.postPesquisaBeneficiario.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_RENEW: {\r\n draft.postPesquisaBeneficiario = {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n };\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_REQUEST: {\r\n draft.postPesquisaBeneficiario = { data: [] };\r\n draft.postPesquisaBeneficiario.loading = true;\r\n draft.postPesquisaBeneficiario.success = false;\r\n break;\r\n }\r\n\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST: {\r\n draft.postSalvarBeneficiarioInativos.loading = true;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.postSalvarBeneficiarioInativos.data = {};\r\n break;\r\n }\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = action.payload.success;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.postSalvarBeneficiarioInativos.data = action.payload.response;\r\n\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.loadFamiliar = true;\r\n draft.beneficiario = action.payload.response;\r\n break;\r\n }\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.loading = false;\r\n draft.success = false;\r\n draft.loadFamiliar = false;\r\n draft.beneficiario = [];\r\n break;\r\n }\r\n case Types.CHECK_BENEFICIARIO_INATIVOS: {\r\n draft.response.listaGrupoFamiliar =\r\n draft.response?.listaGrupoFamiliar.map((beneficiario) =>\r\n beneficiario?.grau === 'DEPENDENTE' &&\r\n beneficiario?.idBeneficiario === action.payload.idBeneficiario\r\n ? { ...beneficiario, isChecked: !beneficiario.isChecked }\r\n : beneficiario\r\n );\r\n break;\r\n }\r\n case Types.POST_LISTA_FAMILIAR_REQUEST: {\r\n draft.postSalvarBeneficiarioInativos.loading = true;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.error = null;\r\n break;\r\n }\r\n case Types.POST_LISTA_FAMILIAR_RESPONSE: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = action.payload.success;\r\n draft.postSalvarBeneficiarioInativos.error = action.payload.error;\r\n draft.postSalvarBeneficiarioInativos.data = action.payload.response;\r\n break;\r\n }\r\n case Types.SET_LISTA_FAMILIAR_REQUEST: {\r\n draft.grupoFamiliar = action.payload.param;\r\n break;\r\n }\r\n case Types.GET_GRUPO_FAMILIAR_RESPONSE: {\r\n draft.success = true;\r\n draft.grupoFamiliar = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.create = false;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.details = false;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.GET_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.loadFamiliar = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTAS_ERROR: {\r\n draft.getListas.loading = false;\r\n draft.getListas.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_REQUEST: {\r\n draft.getListas.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_SUCCESS: {\r\n draft.getListas.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n StatusListaAPIEnum.returnTabForName,\r\n draft.getListas.response\r\n );\r\n\r\n draft.getListas.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_ERROR: {\r\n draft.getListas.loading = false;\r\n draft.getListas.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_REQUEST: {\r\n draft.postArquivoImportacao.loading = true;\r\n draft.postArquivoImportacao.success = false;\r\n draft.postArquivoImportacao.response = [];\r\n draft.postArquivoImportacao.isError = false;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_SUCCESS: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n if (file.idLista === action.payload.files.idLista)\r\n file.name = action.payload.files.name;\r\n file.base64 = action.payload.files.base64;\r\n\r\n return file;\r\n }\r\n );\r\n draft.postArquivoImportacao.success = true;\r\n draft.postArquivoImportacao.loading = false;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_ERROR: {\r\n draft.loading = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_LOTE_CSV_REQUEST: {\r\n draft.postImportarLoteCsv.loading = true;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_LOTE_CSV_SUCCESS: {\r\n draft.postImportarLoteCsv.loading = false;\r\n draft.postImportarLoteCsv.success = action.payload.isSuccess;\r\n break;\r\n }\r\n case Types.POST_VALIDAR_LOTE_CSV_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.tipoMovimentacao =\r\n action.payload.params.TipoLista;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.tipoMovimentacao =\r\n action.payload.params.TipoLista;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_RENEW: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.files = [];\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n if (\r\n file.idFile === action.payload.files.idFile &&\r\n action.payload.files\r\n )\r\n file = action.payload.files;\r\n\r\n return file;\r\n }\r\n );\r\n\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_PROGRESS: {\r\n const fileAtual = draft.postImportarLote.files.find(\r\n (file) =>\r\n file.idLista?.toString() === action.payload.idLista ||\r\n file.idFile?.toString() === action.payload.idLista\r\n );\r\n if (fileAtual) {\r\n fileAtual.progress = action.payload.progress;\r\n }\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_STATUS: {\r\n const fileAtual = draft.postImportarLote.files.find(\r\n (file) => file.idFile === action.payload.idFile\r\n );\r\n\r\n if (fileAtual) {\r\n fileAtual.error = action.payload.error;\r\n fileAtual.uploaded = action.payload.uploaded;\r\n }\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_FILES: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.filter(\r\n (file) => file.error !== true\r\n );\r\n\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_SUCCESS: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.success = action.payload.isSuccess;\r\n draft.postImportarLote.isPartialSuccess =\r\n action.payload.isPartialSuccess;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_LOG_ERROR: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.logError.push({\r\n hasError: true,\r\n fileName: action.payload.filename,\r\n base64: action.payload.base64,\r\n });\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_LOG_ERROR_RENEW: {\r\n draft.postImportarLote.logError = [];\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_ERROR: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = action.payload.isError;\r\n draft.postImportarLote.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_REQUEST: {\r\n draft.putListas.loading = true;\r\n draft.putListas.response = [];\r\n draft.putListas.success = false;\r\n draft.putListas.isError = false;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_RENEW: {\r\n draft.putListas.loading = false;\r\n draft.putListas.response = [];\r\n draft.putListas.success = false;\r\n draft.putListas.isError = false;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_SUCCESS: {\r\n draft.putListas.loading = false;\r\n draft.putListas.success = action.payload.isSuccess;\r\n\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n const newFile = action.payload.newListas.find(\r\n (newLista) =>\r\n newLista.idLista === file.idLista &&\r\n newLista.descricao !== file.descricao\r\n );\r\n if (newFile) file = newFile;\r\n\r\n return file;\r\n }\r\n );\r\n break;\r\n }\r\n case Types.PUT_LISTAS_ERROR: {\r\n draft.putListas.loading = false;\r\n draft.putListas.isError = true;\r\n draft.putListas.success = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_REQUEST: {\r\n draft.patchListaStatus.loading = true;\r\n draft.patchListaStatus.response = [];\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_RENEW: {\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.response = [];\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PACTH_LISTA_STATUS_SUCCESS: {\r\n draft.patchListaStatus.success = action.payload.isSuccess;\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_ERROR: {\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.isError = true;\r\n break;\r\n }\r\n case Types.DELETE_LISTA_REQUEST: {\r\n draft.deleteLista.loading = true;\r\n draft.deleteLista.success = false;\r\n draft.deleteLista.error = '';\r\n draft.deleteLista.isError = false;\r\n\r\n break;\r\n }\r\n case Types.DELETE_LISTA_SUCCESS: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.success = true;\r\n draft.postImportarLote.files = getDifferenceBetween(\r\n draft.postImportarLote.files,\r\n 'idFile',\r\n action.payload.files,\r\n 'idFile'\r\n );\r\n draft.postImportarLote.logError = getDifferenceBetween(\r\n draft.postImportarLote.logError,\r\n 'filename',\r\n action.payload.files,\r\n 'name'\r\n );\r\n break;\r\n }\r\n case Types.DELETE_LISTA_RENEW: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.success = false;\r\n draft.deleteLista.error = '';\r\n draft.deleteLista.isError = false;\r\n break;\r\n }\r\n case Types.DELETE_LISTA_ERROR: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.error = action.payload.error;\r\n draft.deleteLista.isError = true;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_REQUEST: {\r\n draft.patchListaEnvioRPA.loading = true;\r\n draft.patchListaEnvioRPA.success = false;\r\n draft.patchListaEnvioRPA.error = null;\r\n draft.patchListaEnvioRPA.isError = null;\r\n draft.patchListaEnvioRPA.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_SUCCESS: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.success = action.payload.isSuccess;\r\n draft.patchListaEnvioRPA.response = action.payload.response;\r\n draft.patchListaEnvioRPA.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_ERROR: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.isError = true;\r\n draft.patchListaEnvioRPA.error = action.payload.error;\r\n draft.patchListaEnvioRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_RENEW: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.success = false;\r\n draft.patchListaEnvioRPA.error = null;\r\n draft.patchListaEnvioRPA.isError = null;\r\n draft.patchListaEnvioRPA.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_REQUEST: {\r\n draft.patchStatusRPA.success = false;\r\n draft.patchStatusRPA.unsuccessResponse = [];\r\n draft.patchStatusRPA.loading = false;\r\n draft.patchStatusRPA.isError = false;\r\n draft.patchStatusRPA.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_SUCCESS: {\r\n draft.patchStatusRPA.success = action.payload.isSuccess;\r\n draft.patchStatusRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_ERROR: {\r\n draft.patchStatusRPA.error = action.payload.error;\r\n draft.patchStatusRPA.isError = true;\r\n draft.patchStatusRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_RENEW: {\r\n draft.patchStatusRPA.success = false;\r\n draft.patchStatusRPA.unsuccessResponse = [];\r\n draft.patchStatusRPA.loading = false;\r\n draft.patchStatusRPA.isError = false;\r\n draft.patchStatusRPA.error = [];\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_REQUEST: {\r\n draft.getRelatorioRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_SUCCESS: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.response = action.payload.response;\r\n draft.getRelatorioRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_ERROR: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.isError = true;\r\n draft.getRelatorioRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_RENEW: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.success = false;\r\n draft.getRelatorioRPA.response = {};\r\n draft.getRelatorioRPA.unsuccessResponse = [];\r\n draft.getRelatorioRPA.error = null;\r\n draft.getRelatorioRPA.isError = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_REQUEST: {\r\n draft.getListaDetalhe.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_SUCCESS: {\r\n draft.getListaDetalhe.loading = false;\r\n draft.getListaDetalhe.response = action.payload.response;\r\n draft.getListaDetalhe.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_ERROR: {\r\n draft.getListaDetalhe.loading = false;\r\n draft.getListaDetalhe.isError = true;\r\n draft.getListaDetalhe.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_REQUEST: {\r\n draft.getListaMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_SUCCESS: {\r\n draft.getListaMassaInicial.loading = false;\r\n draft.getListaMassaInicial.success = true;\r\n setTabContentPorStatusSingleObj(\r\n { ...action.payload.response, status: 'Todas' },\r\n {\r\n Todas: 'Todas',\r\n },\r\n draft.getListaMassaInicial.response\r\n );\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_ERROR: {\r\n draft.getListaMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_REQUEST: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_ERROR: {\r\n draft.getArquivoMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_SUCCESS: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n draft.getArquivoMassaInicial.response = {\r\n ...action.payload.response,\r\n nomeArquivoDownload: action.payload.nomeArquivoDownload,\r\n };\r\n draft.getArquivoMassaInicial.success = true;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_RENEW: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n draft.getArquivoMassaInicial.success = false;\r\n draft.getArquivoMassaInicial.response = {};\r\n draft.getArquivoMassaInicial.error = null;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADEVO_MASSA_INICIAL_ERROR: {\r\n draft.getArquivoMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n draft.getArquivoMassaInicial.response = {\r\n arquivo: action.payload.response.arquivoTermo,\r\n extensaoArquivo: '.pdf',\r\n nomeArquivoDownload: action.payload.nomeArquivoDownload,\r\n };\r\n draft.getArquivoMassaInicial.success = true;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_REQUEST: {\r\n draft.MassaInicial.post.loading = true;\r\n draft.MassaInicial.post.success = false;\r\n draft.MassaInicial.patch.error = null;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_SUCCESS: {\r\n draft.MassaInicial.post.loading = false;\r\n draft.MassaInicial.post.success = true;\r\n draft.MassaInicial.post.idLista =\r\n action.payload.response.idListaMassaInicial;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_ERROR: {\r\n draft.MassaInicial.post.loading = false;\r\n draft.MassaInicial.post.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_RENEW: {\r\n draft.MassaInicial.post.loading = true;\r\n draft.MassaInicial.post.success = false;\r\n draft.MassaInicial.post.error = null;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW: {\r\n draft.MassaInicial.patch.loading = true;\r\n draft.MassaInicial.patch.success = false;\r\n draft.MassaInicial.patch.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST: {\r\n draft.MassaInicial.patch.loading = true;\r\n draft.MassaInicial.patch.success = false;\r\n draft.MassaInicial.patch.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR: {\r\n draft.MassaInicial.patch.loading = false;\r\n draft.MassaInicial.patch.isError = true;\r\n draft.MassaInicial.patch.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS: {\r\n draft.MassaInicial.patch.loading = false;\r\n draft.MassaInicial.patch.success = true;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST: {\r\n draft.patchValidacaoListaTransferencia.loading = true;\r\n draft.patchValidacaoListaTransferencia.success = false;\r\n draft.patchValidacaoListaTransferencia.error = null;\r\n draft.patchValidacaoListaTransferencia.isError = null;\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.success =\r\n action.payload.isSuccess;\r\n draft.patchValidacaoListaTransferencia.response =\r\n action.payload.response;\r\n draft.patchValidacaoListaTransferencia.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.isError = true;\r\n draft.patchValidacaoListaTransferencia.error = action.payload.error;\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.isError = false;\r\n draft.patchValidacaoListaTransferencia.success = false;\r\n draft.patchValidacaoListaTransferencia.error = {};\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_NESTLE_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n deleteListaCsv: (params) => ({\r\n type: Types.DELETE_LISTA_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n getDownloadArquivoLoteOriginal: (params) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST,\r\n payload: { params },\r\n }),\r\n getDownloadArquivoLoteOriginalSuccess: (response, success) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDownloadArquivoLoteOriginalError: (error) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_ERROR,\r\n payload: { error },\r\n }),\r\n getDownloadArquivoLoteOriginalRenew: () => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_RENEW,\r\n payload: {},\r\n }),\r\n postRelatorioResumidoNovoRequest: (params, tipoRelatorio) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n postRelatorioResumidoNovoSuccess: (response, success) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRelatorioResumidoNovoError: (error) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_ERROR,\r\n payload: { error },\r\n }),\r\n postRelatorioResumidoNovoRenew: () => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_RENEW,\r\n payload: {},\r\n }),\r\n postRelatorioDetalhadoNovoRequest: (params, tipoRelatorio) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n postRelatorioDetalhadoNovoSuccess: (response, success) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRelatorioDetalhadoNovoError: (error) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_ERROR,\r\n payload: { error },\r\n }),\r\n postRelatorioDetalhadoNovoRenew: () => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_RENEW,\r\n payload: {},\r\n }),\r\n postSearchListRpaRequest: (params) => ({\r\n type: Types.POST_SEARCH_LIST_RPA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSearchListRpaResponse: (response, success) => ({\r\n type: Types.POST_SEARCH_LIST_RPA_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n postSearchListRequest: (params) => ({\r\n type: Types.POST_SEARCH_LIST_REQUEST,\r\n payload: { params },\r\n }),\r\n postSearchListResponse: (response, success) => ({\r\n type: Types.POST_SEARCH_LIST_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListRpaRequest: () => ({\r\n type: Types.GET_STATUS_LIST_RPA_REQUEST,\r\n }),\r\n getStatusListRpaResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_RPA_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListContratanteRequest: (idContrantante, mostrarListaFake) => ({\r\n type: Types.GET_STATUS_LIST_CONTRATANTE_REQUEST,\r\n payload: { idContrantante, mostrarListaFake },\r\n }),\r\n getStatusListContratanteResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_CONTRATANTE_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListAdminRequest: () => ({\r\n type: Types.GET_STATUS_LIST_ADMIN_REQUEST,\r\n payload: {},\r\n }),\r\n getStatusListAdminResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_ADMIN_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListNestleRequest: (mostrarListaFake) => ({\r\n type: Types.GET_STATUS_LIST_NESTLE_REQUEST,\r\n payload: { mostrarListaFake },\r\n }),\r\n getStatusListNestleResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_NESTLE_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListasRequest: (params, TipoStatus) => ({\r\n type: Types.GET_LISTAS_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getListasSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasError: (error) => ({\r\n type: Types.GET_LISTAS_ERROR,\r\n payload: { error },\r\n }),\r\n postListaInativasRequest: (contratante) => ({\r\n type: Types.POST_LISTA_INATIVAS_REQUEST,\r\n payload: { contratante },\r\n }),\r\n postListaInativasSuccess: (response, success) => ({\r\n type: Types.POST_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putListaInativasRequest: (params) => ({\r\n type: Types.PUT_LISTA_INATIVAS_REQUEST,\r\n payload: { params },\r\n }),\r\n putListaInativasSuccess: (response, success) => ({\r\n type: Types.PUT_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaInativasRequest: (idLista) => ({\r\n type: Types.GET_LISTA_INATIVAS_REQUEST,\r\n payload: { idLista },\r\n }),\r\n getListaGrupoFamiliarRequest: (id) => ({\r\n type: Types.GET_GRUPO_FAMILIAR_REQUEST,\r\n payload: { id },\r\n }),\r\n getListaGrupoFamiliarSuccess: (response, success) => ({\r\n type: Types.GET_GRUPO_FAMILIAR_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaInativasSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaBeneficiarioRequest: (params) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getListaBeneficiarioRenew: (params) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_RENEW,\r\n payload: { params },\r\n }),\r\n postSalvarBeneficiarioInativosRequest: (params) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST,\r\n payload: { params },\r\n }),\r\n setFamiliar: (param) => ({\r\n type: Types.SET_LISTA_FAMILIAR_REQUEST,\r\n payload: { param },\r\n }),\r\n postFamiliarRequest: (idLista, beneficiarios) => ({\r\n type: Types.POST_LISTA_FAMILIAR_REQUEST,\r\n payload: { idLista, beneficiarios },\r\n }),\r\n postFamiliarResponse: (response, success, error = null) => ({\r\n type: Types.POST_LISTA_FAMILIAR_RESPONSE,\r\n payload: { response, success, error },\r\n }),\r\n postSalvarBeneficiarioInativosSuccess: (response, success) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSalvarBeneficiarioInativosError: (error) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR,\r\n payload: { error },\r\n }),\r\n getListaBeneficiarioSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListasPorStatusRequest: (params, cpf) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_REQUEST,\r\n payload: { params, cpf },\r\n }),\r\n getListasPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasPorStatusError: (error) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n postArquivoImportacaoRequest: (novoArquivoRequest) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_REQUEST,\r\n payload: { novoArquivoRequest },\r\n }),\r\n postArquivoImportacaoSuccess: (files) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_SUCCESS,\r\n payload: { files },\r\n }),\r\n postArquivoImportacaoError: (error) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_ERROR,\r\n payload: { error },\r\n }),\r\n importarLoteRequest: (params) => ({\r\n type: Types.IMPORTAR_LOTE_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteCsvRequest: (params) => ({\r\n type: Types.POST_IMPORTAR_LOTE_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteCsvSuccess: (isSuccess) => ({\r\n type: Types.POST_IMPORTAR_LOTE_CSV_SUCCESS,\r\n payload: { isSuccess },\r\n }),\r\n validarLoteCsvRequest: (params) => ({\r\n type: Types.POST_VALIDAR_LOTE_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteSuccess: (isSuccess, isPartialSuccess) => ({\r\n type: Types.IMPORTAR_LOTE_SUCCESS,\r\n payload: { isSuccess, isPartialSuccess },\r\n }),\r\n importarLoteLogError: (filename, base64) => ({\r\n type: Types.IMPORTAR_LOTE_LOG_ERROR,\r\n payload: { filename, base64 },\r\n }),\r\n importarLoteLogErrorRenew: () => ({\r\n type: Types.IMPORTAR_LOTE_LOG_ERROR_RENEW,\r\n payload: {},\r\n }),\r\n importarLoteRenew: () => ({\r\n type: Types.IMPORTAR_LOTE_RENEW,\r\n }),\r\n importarLoteUpdate: (files) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE,\r\n payload: { files },\r\n }),\r\n importarLoteUpdateProgress: (idLista, progress) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_PROGRESS,\r\n payload: { idLista, progress },\r\n }),\r\n importarLoteUpdateStatus: (idFile, error, uploaded) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_STATUS,\r\n payload: { idFile, error, uploaded },\r\n }),\r\n importarLoteUpdateFiles: () => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_FILES,\r\n }),\r\n importarLoteError: (error, isError) => ({\r\n type: Types.IMPORTAR_LOTE_ERROR,\r\n payload: { error, isError },\r\n }),\r\n putListasRequest: (listas) => ({\r\n type: Types.PUT_LISTAS_REQUEST,\r\n payload: { listas },\r\n }),\r\n putListasRenew: () => ({\r\n type: Types.PUT_LISTAS_RENEW,\r\n }),\r\n putListasSuccess: (newListas, isSuccess) => ({\r\n type: Types.PUT_LISTAS_SUCCESS,\r\n payload: { newListas, isSuccess },\r\n }),\r\n putListasError: (error) => ({\r\n type: Types.PUT_LISTAS_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaStatusRequest: (listas) => ({\r\n type: Types.PATCH_LISTA_STATUS_REQUEST,\r\n payload: { listas },\r\n }),\r\n patchListaStatusRenew: () => ({\r\n type: Types.PATCH_LISTA_STATUS_RENEW,\r\n }),\r\n patchListaStatusSuccess: (isSuccess) => ({\r\n type: Types.PACTH_LISTA_STATUS_SUCCESS,\r\n payload: { isSuccess },\r\n }),\r\n patchListaStatusError: (error) => ({\r\n type: Types.PATCH_LISTA_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n deleteListaRequest: (listas) => ({\r\n type: Types.DELETE_LISTA_REQUEST,\r\n payload: { listas },\r\n }),\r\n deleteListaSuccess: (success, files) => ({\r\n type: Types.DELETE_LISTA_SUCCESS,\r\n payload: { success, files },\r\n }),\r\n deleteListaRenew: () => ({\r\n type: Types.DELETE_LISTA_RENEW,\r\n }),\r\n deleteListaError: (error) => ({\r\n type: Types.DELETE_LISTA_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaEnvioRPARequest: (listas, isActive) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_REQUEST,\r\n payload: { listas, isActive },\r\n }),\r\n patchListaEnvioRPASuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchListaEnvioRPAError: (error) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaEnvioRPARenew: () => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_RENEW,\r\n }),\r\n getListasRPARequest: (params, TipoStatus) => ({\r\n type: Types.GET_LISTAS_RPA_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getListasRPASuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n getListasRPAPorStatusRequest: (params) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getListasRPAPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAPorStatusError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n patchStatusRPARequest: (listas, tipoStatus) => ({\r\n type: Types.PATCH_STATUS_RPA_REQUEST,\r\n payload: { listas, tipoStatus },\r\n }),\r\n patchStatusRPASuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_STATUS_RPA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchStatusRPAError: (error) => ({\r\n type: Types.PATCH_STATUS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n patchStatusRPARenew: () => ({\r\n type: Types.PATCH_STATUS_RPA_RENEW,\r\n }),\r\n getRelatorioRPARequest: (params, tipoRelatorio) => ({\r\n type: Types.GET_RELATORIO_RPA_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n getRelatorioRPASuccess: (response, success) => ({\r\n type: Types.GET_RELATORIO_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getRelatorioRPAError: (error) => ({\r\n type: Types.GET_RELATORIO_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n getRelatorioRPARenew: () => ({\r\n type: Types.GET_RELATORIO_RPA_RENEW,\r\n payload: {},\r\n }),\r\n getListaDetalheRequest: (idLista) => ({\r\n type: Types.GET_LISTA_DETALHE_REQUEST,\r\n payload: { idLista },\r\n }),\r\n getListaDetalheSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_DETALHE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListaDetalheError: (error) => ({\r\n type: Types.GET_LISTA_DETALHE_ERROR,\r\n payload: { error },\r\n }),\r\n getListasMassaInicialRequest: (params) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_REQUEST,\r\n payload: { params },\r\n }),\r\n getListasMassaInicialError: (error) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getListasMassaInicialSuccess: (response) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_SUCCESS,\r\n payload: { response },\r\n }),\r\n getArquivoMassaInicialRequest: (idLista, idArquivo, nomeArquivoDownload) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, idArquivo, nomeArquivoDownload },\r\n }),\r\n getArquivoMassaInicialError: (error) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getArquivoMassaInicialSuccess: (response, nomeArquivoDownload) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_SUCCESS,\r\n payload: { response, nomeArquivoDownload },\r\n }),\r\n getArquivoMassaInicialRenew: () => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_RENEW,\r\n }),\r\n postArquivoMassaInicialRequest: (body) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n payload: { body },\r\n }),\r\n postArquivoMassaInicialRenew: () => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_RENEW,\r\n payload: {},\r\n }),\r\n postArquivoMassaInicialSuccess: (response) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_SUCCESS,\r\n payload: { response },\r\n }),\r\n postArquivoMassaInicialError: (error) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getTermoResponsabilidadeMassaInicialRequest: (\r\n idLista,\r\n nomeArquivoDownload\r\n ) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, nomeArquivoDownload },\r\n }),\r\n getTermoResponsabilidadeMassaInicialError: (error) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getTermoResponsabilidadeMassaInicialSuccess: (\r\n response,\r\n nomeArquivoDownload\r\n ) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS,\r\n payload: { response, nomeArquivoDownload },\r\n }),\r\n patchValidacaoListaTrasnferenciaRequest: (listas) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST,\r\n payload: { listas },\r\n }),\r\n patchValidacaoListaTrasnferenciaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchValidacaoListaTrasnferenciaError: (error) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR,\r\n payload: { error },\r\n }),\r\n patchValidacaoListaTrasnferenciaRenew: () => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW,\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialRequest: (idLista, body) => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, body },\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialError: (error) => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialSuccess: () => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS,\r\n payload: {},\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialRenew: () => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW,\r\n payload: {},\r\n }),\r\n postArquivoImportacaoNestleRequest: (params) => ({\r\n type: Types.IMPORTAR_LOTE_NESTLE_REQUEST,\r\n payload: { params },\r\n }),\r\n checkBenefiarioInativos: (idBeneficiario) => ({\r\n type: Types.CHECK_BENEFICIARIO_INATIVOS,\r\n payload: { idBeneficiario },\r\n }),\r\n};\r\n","import {\r\n Types as ListaTypes,\r\n Creators as ListaActions,\r\n} from '../store/ducks/lista';\r\n\r\nconst socketMiddleware = (storeAPI) => (next) => async (action) => {\r\n switch (action.type) {\r\n case ListaTypes.IMPORTAR_LOTE_REQUEST: {\r\n action.payload.params.connection.on('updateProgress', (resp) => {\r\n if (resp.progressValue !== 0)\r\n storeAPI.dispatch(\r\n ListaActions.importarLoteUpdateProgress(resp.id, resp.progressValue)\r\n );\r\n });\r\n break;\r\n }\r\n case ListaTypes.IMPORTAR_LOTE_NESTLE_REQUEST: {\r\n action.payload.params.connection.on('updateProgress', (resp) => {\r\n if (resp.progressValue !== 0)\r\n storeAPI.dispatch(\r\n ListaActions.importarLoteUpdateProgress(resp.id, resp.progressValue)\r\n );\r\n });\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n return next(action);\r\n};\r\n\r\nexport default socketMiddleware;\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_IMPORTAR_RELATORIO_REQUEST:\r\n '@filhoForaDeFaixa/POST_IMPORTAR_RELATORIO_REQUEST',\r\n POST_IMPORTAR_RELATORIO_SUCCESS:\r\n '@filhoForaDeFaixa/POST_IMPORTAR_RELATORIO_SUCCESS',\r\n POST_IMPORTAR_RELATORIO_ERROR:\r\n '@filhoForaDeFaixa/POST_IMPORTAR_RELATORIO_ERROR',\r\n GET_COMPETENCIAS_REQUEST: '@filhoForaDeFaixa/GET_COMPETENCIAS_REQUEST',\r\n GET_COMPETENCIAS_SUCCESS: '@filhoForaDeFaixa/GET_COMPETENCIAS_SUCCESS',\r\n GET_COMPETENCIAS_ERROR: '@filhoForaDeFaixa/GET_COMPETENCIAS_ERROR',\r\n GET_DOWNLOAD_RELATORIO_REQUEST:\r\n '@filhoForaDeFaixa/GET_DOWNLOAD_RELATORIO_REQUEST',\r\n GET_DOWNLOAD_RELATORIO_SUCCESS:\r\n '@filhoForaDeFaixa/GET_DOWNLOAD_RELATORIO_SUCCESS',\r\n GET_DOWNLOAD_RELATORIO_ERROR:\r\n '@filhoForaDeFaixa/GET_DOWNLOAD_RELATORIO_ERROR',\r\n DELETE_RELATORIO_COMPETENCIA_REQUEST:\r\n '@filhoForaDeFaixa/DELETE_RELATORIO_COMPETENCIA_REQUEST',\r\n DELETE_RELATORIO_COMPETENCIA_SUCCESS:\r\n '@filhoForaDeFaixa/DELETE_RELATORIO_COMPETENCIA_SUCCESS',\r\n DELETE_RELATORIO_COMPETENCIA_ERROR:\r\n '@filhoForaDeFaixa/DELETE_RELATORIO_COMPETENCIA_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n importarRelatorio: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n },\r\n competencias: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n error: null,\r\n },\r\n downloadRelatorio: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n },\r\n deleteRelatorio: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n },\r\n};\r\n\r\nexport default function filhoForaDeFaixa(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.POST_IMPORTAR_RELATORIO_REQUEST: {\r\n draft.importarRelatorio.loading = true;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_RELATORIO_SUCCESS: {\r\n draft.importarRelatorio.loading = false;\r\n draft.importarRelatorio.response = action.payload.response;\r\n draft.importarRelatorio.success = action.payload.success;\r\n draft.importarRelatorio.error = false;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_RELATORIO_ERROR: {\r\n draft.importarRelatorio.loading = false;\r\n draft.importarRelatorio.error = action.payload.error;\r\n draft.importarRelatorio.success = false;\r\n break;\r\n }\r\n\r\n case Types.GET_DOWNLOAD_RELATORIO_REQUEST: {\r\n draft.downloadRelatorio.loading = false;\r\n break;\r\n }\r\n case Types.GET_DOWNLOAD_RELATORIO_SUCCESS: {\r\n draft.downloadRelatorio.loading = false;\r\n draft.downloadRelatorio.success = action.payload.success;\r\n draft.downloadRelatorio.response = action.payload.response;\r\n draft.downloadRelatorio.error = false;\r\n break;\r\n }\r\n case Types.GET_DOWNLOAD_RELATORIO_ERROR: {\r\n draft.downloadRelatorio.loading = false;\r\n draft.downloadRelatorio.error = action.payload.error;\r\n draft.downloadRelatorio.success = false;\r\n break;\r\n }\r\n\r\n case Types.GET_COMPETENCIAS_REQUEST: {\r\n draft.competencias.loading = true;\r\n break;\r\n }\r\n case Types.GET_COMPETENCIAS_SUCCESS: {\r\n draft.competencias.loading = false;\r\n draft.competencias.response = action.payload.response;\r\n draft.competencias.success = action.payload.success;\r\n draft.competencias.error = false;\r\n break;\r\n }\r\n case Types.GET_COMPETENCIAS_ERROR: {\r\n draft.competencias.loading = false;\r\n draft.competencias.error = action.payload.error;\r\n draft.competencias.success = false;\r\n break;\r\n }\r\n case Types.DELETE_RELATORIO_COMPETENCIA_REQUEST: {\r\n draft.deleteRelatorio.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_RELATORIO_COMPETENCIA_SUCCESS: {\r\n draft.deleteRelatorio.loading = false;\r\n draft.deleteRelatorio.response = action.payload.response;\r\n draft.deleteRelatorio.success = action.payload.success;\r\n draft.deleteRelatorio.error = false;\r\n break;\r\n }\r\n case Types.DELETE_RELATORIO_COMPETENCIA_ERROR: {\r\n draft.deleteRelatorio.loading = false;\r\n draft.deleteRelatorio.error = action.payload.error;\r\n draft.deleteRelatorio.success = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getDownloadRelatorioRequest: (idCompetencia, codigoContratante) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_REQUEST,\r\n payload: { idCompetencia, codigoContratante },\r\n }),\r\n getDownloadRelatorioSuccess: (response, success) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDownloadRelatorioError: (error) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_ERROR,\r\n payload: { error },\r\n }),\r\n postImportarRelatorioRequest: (params) => ({\r\n type: Types.POST_IMPORTAR_RELATORIO_REQUEST,\r\n payload: { params },\r\n }),\r\n postImportarRelatorioSuccess: (response, success) => ({\r\n type: Types.POST_IMPORTAR_RELATORIO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postImportarRelatorioError: (error) => ({\r\n type: Types.POST_IMPORTAR_RELATORIO_ERROR,\r\n payload: { error },\r\n }),\r\n getCompetenciasRequest: (codigoContratante) => ({\r\n type: Types.GET_COMPETENCIAS_REQUEST,\r\n payload: { codigoContratante },\r\n }),\r\n getCompetenciasSuccess: (response, success) => ({\r\n type: Types.GET_COMPETENCIAS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getCompetenciasError: (error) => ({\r\n type: Types.GET_COMPETENCIAS_ERROR,\r\n payload: { error },\r\n }),\r\n deleteRelatorioRequest: (idRelatorio) => ({\r\n type: Types.DELETE_RELATORIO_COMPETENCIA_REQUEST,\r\n payload: { idRelatorio },\r\n }),\r\n deleteRelatorioSuccess: (response, success) => ({\r\n type: Types.DELETE_RELATORIO_COMPETENCIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n deleteRelatorioError: (error) => ({\r\n type: Types.DELETE_RELATORIO_COMPETENCIA_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","const { REACT_APP_IDENTIFIER_CONTRATANTE } = process.env;\r\n\r\nexport const getApplication = () => {\r\n const application = {\r\n id: 1,\r\n key: '@movcad',\r\n name: REACT_APP_IDENTIFIER_CONTRATANTE,\r\n port: '4000',\r\n ports: ['4000'],\r\n };\r\n\r\n return application;\r\n};\r\n","import { createContext } from 'react';\r\n\r\nconst ModalContext = createContext();\r\n\r\nexport default ModalContext;\r\n","const common = {\r\n // bgHighlight: '#adff2f',\r\n bgHighlight: '#cf3',\r\n bgGrayFooter: '#f5f5f5',\r\n bgGrayDisabled: '#C8D0DA',\r\n blueDefault: '#091E42',\r\n bluePressed: '#54688B',\r\n grayDefault: '#8B8B8B',\r\n grayLigth: '#48484826',\r\n textGray: '#707070',\r\n textGrayDisabled: '#9A9A9A',\r\n textSidebarDisabled: 'rgba(9, 30, 66, 0.5)',\r\n textSupp: '#3D3D3D',\r\n bgGray: '#FBFBFB',\r\n bgWhite: '#FFFFFF',\r\n bgCream: '#F0FFE6',\r\n bgInput: '#F0F1F3',\r\n redPressed: '#C1010C',\r\n orangeDefault: '#FA7921',\r\n lightblueDefault: '#3C91E6',\r\n borderGray: '#C1BBBB',\r\n borderGrayLight: 'rgba(200,208,218, 0.15)',\r\n borderGrayLighter: 'rgba(193, 187, 187, 0.8)',\r\n borderGrayCollapse: 'rgba(193, 187, 187, 0.3)',\r\n statusYellow: '#C8C83A',\r\n transparent: 'rgba(255, 255, 255, 0.001)',\r\n shadowDefault: 'rgba(0, 0, 0, 0.15)',\r\n shadowHover: 'rgba(0, 0, 0, 0.3)',\r\n titleGray: '#5A5A5A',\r\n inputBackgroundGray: '#F2F2F2',\r\n dropdownBorderGray: '#808080',\r\n dropdownBackgroundGray: '#F2FAF7',\r\n dropdownBackgroundWhite: '#FFFFFF',\r\n dropdownColorGray: '#A1A1A1',\r\n\r\n white: '#FFFFFF',\r\n\r\n redDefault: '#F44336',\r\n red: '#ED1651',\r\n red100: '#FAD8CF',\r\n red200: '#F6ACA0',\r\n red300: '#E6726D',\r\n red400: '#CD464E',\r\n red500: '#AC162C',\r\n red600: '#93102F',\r\n red700: '#7B0B30',\r\n red800: '#63072E',\r\n red900: '#52042C',\r\n red1000: '#B01A34',\r\n redLight: '#ED1651',\r\n\r\n greenDefault: '#00995D',\r\n greenHover: '#007245',\r\n greenPressed: '#256041',\r\n greenLink: '#1DAA7D',\r\n greenDisabledLoading: '#BADDCC',\r\n greenDisabled: '#D7D7D7',\r\n green1: '#8BAC2A',\r\n greenLight: '#B1D34B',\r\n green100: '#EBFBD3',\r\n green200: '#D3F7A9',\r\n green221: '#BADDCC',\r\n green250: '#F2FAF7',\r\n green300: '#AFE97A',\r\n green400: '#8AD355',\r\n green500: '#419D1B',\r\n\r\n grey: '#A1A1A1',\r\n grey100: '#F8F8F8',\r\n grey200: '#F1F1F1',\r\n grey210: '#F2F2F2',\r\n grey300: '#D7D7D7',\r\n grey400: '#B0B0AF',\r\n grey410: '#5A5A5A',\r\n grey500: '#6A6A59',\r\n grey600: '#C4C4C4',\r\n movGrey: '#60656C',\r\n grey1: '#00000029',\r\n grey2: '#0000001A',\r\n greyBorder: '#D7D7D7',\r\n greyText: '#A9A9A9',\r\n greyRadio: '#C1BBBB',\r\n greyBack: '#c4c4c4',\r\n greyDisable: '#e6e6e6',\r\n colorGray: '#808080',\r\n lightGrey: '#d3d3d3',\r\n\r\n blue: '#0077D3',\r\n blue100: '#CAF2FC',\r\n blue200: '#96DFFA',\r\n blue300: '#60C2F1',\r\n blue400: '#39A3E4',\r\n blue500: '#005CB5',\r\n blueA300: '#0CC5EB',\r\n\r\n yellow: '#F9C300',\r\n yellow100: '#FEF8CB',\r\n yellow200: '#FEEF98',\r\n yellow300: '#FDE365',\r\n yellow400: '#FBD63E',\r\n yellow500: '#D6A200',\r\n yellowDefault: '#F1C104',\r\n yellowInfo: '#FBF7E4',\r\n\r\n orange200: '#FFF599',\r\n orangeA400: '#FFAE0D',\r\n\r\n // yellowTheme: '#A52319', // movcad\r\n // yellowTheme: '#D5DF29', // new theme\r\n\r\n // yellowPressed: '#940301', // movcad\r\n // yellowPressed: '#C4BF1F', // new theme\r\n\r\n // yellowTranslucid: '#C4BF1F44', // new theme\r\n\r\n // greenTheme: '#A52319', // movcad\r\n // greenTheme: '#98C93E', // new theme\r\n\r\n toastSuccess: '#419D1B',\r\n toastWarning: '#F9C300',\r\n toastError: '#CE361E',\r\n toastInfo: '#008BF4',\r\n\r\n buttonConfirm: '#59B726',\r\n buttonConfirmHover: '#2C8313',\r\n buttonCancel: '#CE361E',\r\n buttonCancelHover: '#940F11',\r\n buttonInfo: '#0077D3',\r\n buttonInfoHover: '#005CB5',\r\n\r\n purpleDefault: '#6A0099',\r\n\r\n pinkDefault: '#D94FCC',\r\n pink: '#ffb6c1',\r\n lightPink: '#FEF3F6',\r\n\r\n fontExtrabold: '800',\r\n fontBold: 'Bold',\r\n fontSemibold: '600',\r\n fontRegular: '400',\r\n fontLight: '100',\r\n};\r\n\r\nconst movcad = {\r\n movPrimary: '#', // vector color \"k\":[ 0.674509804, 0.0862745098, 0.17254902, 1 ],\r\n movRed90: '#008BF4',\r\n movRed80: '#008BF4',\r\n movRed70: '#008BF4',\r\n movRed60: '#008BF4',\r\n\r\n movSecondary: '#7C7C7B',\r\n movGrey90: '#858588',\r\n movGrey80: '#929395',\r\n movGrey70: '#A0A1A3',\r\n movGrey60: '#ADAEB0',\r\n\r\n movYellowDefault: '#F1C104',\r\n movYellow90: '#F1C104',\r\n movYellow80: '#F1C104',\r\n movYellow70: '#F1C104',\r\n movYellow60: '#F1C104',\r\n\r\n movBlack: '#2E2A25',\r\n movBlack90: '#433F3B',\r\n movBlack80: '#585551',\r\n movBlack70: '#827F7C',\r\n movBlack60: '#827F7C',\r\n\r\n movBlue: '#008BF4',\r\n movBlue30: '#B3DCFC',\r\n\r\n greenDefault: '#00995d', // \"k\": [0.411764706, 0.741176471, 0.207843137, 1],\r\n greenPressed: '#11268F',\r\n greenLight: '#B1D34B',\r\n\r\n orangeDefault: '#F47920',\r\n\r\n purpleDefault: '#6A0099',\r\n\r\n pinkDefault: '#D94FCC',\r\n\r\n redLight: '#ED1651',\r\n\r\n primaryHover: '#005CB5',\r\n\r\n contrastColor: '#ac162c',\r\n\r\n whiteDefault: '#FFF',\r\n\r\n yellowTheme: '#008BF4',\r\n yellowPressed: '#11268F',\r\n};\r\n\r\nconst application = movcad;\r\n\r\nconst appThemes = {\r\n movcad,\r\n};\r\n\r\nconst selectedTheme = appThemes[application.theme];\r\n\r\nexport default { ...common, ...selectedTheme };\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalContainer = styled.div`\r\n margin: 1rem;\r\n position: absolute;\r\n transform: translate(-50%, -50%);\r\n z-index: 12;\r\n background-color: #ffffff;\r\n border-radius: 10px;\r\n\r\n ${({ position }) =>\r\n position\r\n ? css`\r\n position: ${position};\r\n `\r\n : ` position: fixed;`};\r\n\r\n ${({ left }) =>\r\n left\r\n ? css`\r\n left: ${left}%;\r\n `\r\n : ` left: 50%;`};\r\n\r\n ${({ top }) =>\r\n top\r\n ? css`\r\n top: ${top}%;\r\n `\r\n : `top: 50%;`};\r\n /*\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight}px;\r\n `\r\n : ` max-height: 480px;`};\r\n\r\n ${({ maxWidth }) =>\r\n maxWidth\r\n ? css`\r\n max-width: ${maxWidth}px;\r\n `\r\n : ` max-width: 600px;`}; */\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : `height: 473px`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : `width: 600px`};\r\n`;\r\n\r\nexport const ModalBackGround = styled.div`\r\n position: fixed;\r\n top: 0%;\r\n bottom: 0%;\r\n left: 0%;\r\n right: 0%;\r\n background-color: #48484826;\r\n z-index: 1;\r\n`;\r\n\r\nexport const ModalHeaderContainer = styled.div`\r\n display: flex;\r\n align-items: left;\r\n padding: 20px;\r\n letter-spacing: 0.32px;\r\n font: normal normal 600 16px 'unimed_slabregular';\r\n position: relative;\r\n /* border-bottom: solid;\r\n border-bottom-width: thin;\r\n border-bottom-style: ridge; */\r\n color: ${theme.grey410};\r\n border-radius: 10px 10px 0 0;\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: space-between`};\r\n ${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding};\r\n `\r\n : `padding: 20px`};\r\n`;\r\n\r\nexport const ModalContentWrapperContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 200px;\r\n min-width: 300px;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : ``};\r\n`;\r\nexport const ModalContentContainer = styled.div`\r\n ${({ isModalWithWarning }) =>\r\n isModalWithWarning === true\r\n ? css`\r\n max-height: 370px;\r\n `\r\n : css`\r\n max-height: 300px;\r\n `}\r\n ${({ overflow }) =>\r\n overflow\r\n ? css`\r\n overflow: ${overflow};\r\n `\r\n : css`\r\n overflow: auto;\r\n `}\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : css`\r\n max-height: 300px;\r\n `}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css``}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css``}\r\n`;\r\n\r\nexport const ModalFooterContainer = styled.div`\r\n display: flex;\r\n\r\n border-radius: 0px 0px 10px 10px;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n // * {\r\n // margin: 5px;\r\n // }\r\n\r\n ${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding};\r\n `\r\n : `padding: 20px`};\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: ${marginBottom};\r\n `\r\n : ''};\r\n\r\n ${({ paddingBottom }) =>\r\n paddingBottom\r\n ? css`\r\n padding-bottom: ${paddingBottom};\r\n `\r\n : ''};\r\n`;\r\n","import React, { useContext } from 'react';\r\n\r\nimport { MdClose } from 'react-icons/md';\r\nimport ModalContext from '../../../context/ModalContext';\r\n\r\nimport {\r\n ModalContainer,\r\n ModalContentContainer,\r\n ModalContentWrapperContainer,\r\n ModalFooterContainer,\r\n ModalHeaderContainer,\r\n ModalBackGround,\r\n} from './styles';\r\n\r\nconst Modal = ({\r\n children,\r\n isOpen,\r\n onClick,\r\n height,\r\n maxHeight,\r\n width,\r\n maxWidth,\r\n havingBackground = true,\r\n position,\r\n top,\r\n left,\r\n}) => {\r\n return isOpen ? (\r\n <>\r\n {havingBackground ? : null}\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n ) : null;\r\n};\r\n\r\nconst ModalHeader = ({\r\n children,\r\n justifyContent,\r\n padding,\r\n background,\r\n disabled,\r\n}) => {\r\n const { onClick } = useContext(ModalContext);\r\n\r\n return (\r\n \r\n {children}\r\n onClick(e) : (_) => _} size=\"20\" />\r\n \r\n );\r\n};\r\n\r\nconst ModalContentWrapper = ({\r\n children,\r\n height,\r\n display,\r\n paddingTop,\r\n background,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst ModalContent = ({\r\n children,\r\n isModalWithWarning,\r\n overflow,\r\n maxHeight,\r\n ref,\r\n width,\r\n height,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst ModalFooter = ({\r\n children,\r\n justifyContent,\r\n alignItems,\r\n padding,\r\n marginBottom,\r\n paddingBottom,\r\n background,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport { Modal, ModalHeader, ModalContentWrapper, ModalContent, ModalFooter };\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.button`\r\n border: ${({ border }) => border || `1px solid ${theme.greenDefault}`};\r\n font: ${({ font }) => font || `20px unimed_slabbold Regular`};\r\n color: ${({ color }) => color || theme.greenDefault};\r\n border-radius: ${({ borderRadius }) => borderRadius || `5px`};\r\n opacity: ${({ opacity }) => opacity || `1`};\r\n\r\n ${({ height }) =>\r\n height &&\r\n css`\r\n height: ${height};\r\n `};\r\n\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width};\r\n `};\r\n\r\n ${({ background }) =>\r\n background &&\r\n css`\r\n background: ${background};\r\n `};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft &&\r\n css`\r\n margin-left: ${marginLeft};\r\n `};\r\n\r\n ${({ marginRight }) =>\r\n marginRight &&\r\n css`\r\n margin-right: ${marginRight};\r\n `};\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Button = ({\r\n border,\r\n borderRadius,\r\n opacity,\r\n text,\r\n font,\r\n color,\r\n onClick,\r\n children,\r\n height,\r\n width,\r\n background,\r\n marginRight,\r\n marginLeft,\r\n type,\r\n ...props\r\n}) => (\r\n \r\n {children}\r\n {text}\r\n \r\n);\r\n\r\nexport default Button;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n text-align: center; /* Adicionado para centralizar o texto */\r\n overflow: hidden;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 20px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n SIGN_IN_REQUEST: '@user/SIGN_IN_REQUEST',\r\n SIGN_IN_SUCCESS: '@user/SIGN_IN_SUCCESS',\r\n SIGN_IN_ERROR: '@user/SIGN_IN_ERROR',\r\n SIGN_OUT: '@user/SIGN_OUT',\r\n SIGN_OUT_LEGADO_REQUEST: '@user/SIGN_OUT_LEGADO_REQUEST',\r\n REFRESH_INVALID_TOKEN_REQUEST: '@user/REFRESH_INVALID_TOKEN_REQUEST',\r\n REFRESH_INVALID_TOKEN_SUCCESS: '@user/REFRESH_INVALID_TOKEN_SUCCESS',\r\n REFRESH_INVALID_TOKEN_ERROR: '@user/REFRESH_INVALID_TOKEN_ERROR',\r\n GET_CHANGE_TOKEN_REQUEST: '@user/GET_CHANGE_TOKEN_REQUEST',\r\n GET_CHANGE_TOKEN_SUCCESS: '@user/GET_CHANGE_TOKEN_SUCCESS',\r\n GET_CHANGE_TOKEN_ERROR: '@user/GET_CHANGE_TOKEN_ERROR',\r\n GET_RECUPERAR_SENHA_REQUEST: '@user/GET_RECUPERAR_SENHA_REQUEST',\r\n GET_RECUPERAR_SENHA_SUCCESS: '@user/GET_RECUPERAR_SENHA_SUCCESS',\r\n GET_RECUPERAR_SENHA_ERROR: '@user/GET_RECUPERAR_SENHA_ERROR',\r\n POST_LOGIN_REQUEST: '@user/POST_LOGIN_REQUEST',\r\n POST_LOGIN_SUCCESS: '@user/POST_LOGIN_SUCCESS',\r\n POST_LOGIN_ERROR: '@user/POST_LOGIN_ERROR',\r\n POST_RECAPTCHA_VERIFY_REQUEST: '@user/POST_RECAPTCHA_VERIFY_REQUEST',\r\n POST_RECAPTCHA_VERIFY_SUCCESS: '@user/POST_RECAPTCHA_VERIFY_SUCCESS',\r\n POST_RECAPTCHA_VERIFY_ERROR: '@user/POST_RECAPTCHA_VERIFY_ERROR',\r\n POST_RECUPERAR_SENHA_REQUEST: '@user/POST_RECUPERAR_SENHA_REQUEST',\r\n POST_RECUPERAR_SENHA_SUCCESS: '@user/POST_RECUPERAR_SENHA_SUCCESS',\r\n POST_RECUPERAR_SENHA_ERROR: '@user/POST_RECUPERAR_SENHA_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n loggedIn: false,\r\n usuario: {},\r\n accessToken: null,\r\n accessTokenExpiration: null,\r\n refreshToken: null,\r\n refreshTokenExpiration: null,\r\n userType: null,\r\n token: null,\r\n getChangeToken: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postLogin: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postRecaptchaVerify: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getRecuperarSenha: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postRecuperarSenha: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function auth(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.SIGN_IN_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.SIGN_IN_SUCCESS: {\r\n draft.loading = false;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n draft.loggedIn = true;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.SIGN_IN_ERROR: {\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_SUCCESS: {\r\n draft.loading = true;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n draft.loggedIn = true;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_ERROR: {\r\n draft.loading = false;\r\n // draft.loggedIn = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.SIGN_OUT: {\r\n draft.loggedIn = false;\r\n draft.token = null;\r\n draft.usuario = {};\r\n draft.accessToken = null;\r\n draft.accessTokenExpiration = null;\r\n draft.refreshToken = null;\r\n draft.refreshTokenExpiration = null;\r\n draft.error = null;\r\n break;\r\n }\r\n case Types.SIGN_OUT_LEGADO_REQUEST: {\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_REQUEST: {\r\n draft.getChangeToken.loading = true;\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_SUCCESS: {\r\n draft.getChangeToken.loading = false;\r\n draft.getChangeToken.response = action.payload.response;\r\n draft.getChangeToken.success = action.payload.success;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_ERROR: {\r\n draft.getChangeToken.loading = false;\r\n draft.getChangeToken.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_LOGIN_REQUEST: {\r\n draft.postLogin.loading = true;\r\n draft.postLogin.success = false;\r\n draft.postLogin.error = null;\r\n draft.postLogin.isError = null;\r\n draft.postLogin.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_LOGIN_SUCCESS: {\r\n draft.usuario = action.payload.usuario;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n if (action.payload.changePassword == 'false') draft.loggedIn = true;\r\n else draft.loggedIn = false;\r\n draft.postLogin.loading = false;\r\n draft.postLogin.success = action.payload.isSuccess;\r\n draft.postLogin.isError = false;\r\n break;\r\n }\r\n case Types.POST_LOGIN_ERROR: {\r\n draft.postLogin.loading = false;\r\n draft.postLogin.isError = true;\r\n draft.postLogin.error = action.payload.error;\r\n draft.postLogin.unsuccessResponse = action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_REQUEST: {\r\n draft.postRecaptchaVerify.loading = true;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_SUCCESS: {\r\n draft.postRecaptchaVerify.loading = false;\r\n draft.postRecaptchaVerify.response = action.payload.response;\r\n draft.postRecaptchaVerify.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_ERROR: {\r\n draft.postRecaptchaVerify.loading = false;\r\n draft.postRecaptchaVerify.error = action.payload.error;\r\n draft.postRecaptchaVerify.isError = true;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_REQUEST: {\r\n draft.postRecuperarSenha.loading = true;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_SUCCESS: {\r\n draft.postRecuperarSenha.loading = false;\r\n draft.postRecuperarSenha.response = action.payload.response;\r\n draft.postRecuperarSenha.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_ERROR: {\r\n draft.postRecuperarSenha.loading = false;\r\n draft.postRecuperarSenha.error = action.payload.error;\r\n draft.postRecuperarSenha.isError = true;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_REQUEST: {\r\n draft.getRecuperarSenha.loading = true;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_SUCCESS: {\r\n draft.getRecuperarSenha.loading = false;\r\n draft.getRecuperarSenha.response = action.payload.response;\r\n draft.getRecuperarSenha.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_ERROR: {\r\n draft.getRecuperarSenha.loading = false;\r\n draft.getRecuperarSenha.error = action.payload.error;\r\n draft.getRecuperarSenha.isError = true;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n signInRequest: (auth) => ({\r\n type: Types.SIGN_IN_REQUEST,\r\n payload: { auth },\r\n }),\r\n signInSuccess: (token, usuario) => ({\r\n type: Types.SIGN_IN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n signInError: (error) => ({\r\n type: Types.SIGN_IN_ERROR,\r\n payload: { error },\r\n }),\r\n signOut: () => ({\r\n type: Types.SIGN_OUT,\r\n }),\r\n signOutLegadoRequest: () => ({\r\n type: Types.SIGN_OUT_LEGADO_REQUEST,\r\n }),\r\n refreshInvalidTokenRequest: (invalidToken) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_REQUEST,\r\n payload: { invalidToken },\r\n }),\r\n refreshInvalidTokenSuccess: (token, usuario) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n refreshInvalidTokenError: (error) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_ERROR,\r\n payload: { error },\r\n }),\r\n getChangeTokenRequest: (queryParams) => ({\r\n type: Types.GET_CHANGE_TOKEN_REQUEST,\r\n payload: { queryParams },\r\n }),\r\n getChangeTokenSuccess: (token, usuario) => ({\r\n type: Types.GET_CHANGE_TOKEN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n getChangeTokenError: (error) => ({\r\n type: Types.GET_CHANGE_TOKEN_ERROR,\r\n payload: { error },\r\n }),\r\n postLoginRequest: (usuarioParams) => ({\r\n type: Types.POST_LOGIN_REQUEST,\r\n payload: { usuarioParams },\r\n }),\r\n postLoginSuccess: (token, usuario, isSuccess, changePassword) => ({\r\n type: Types.POST_LOGIN_SUCCESS,\r\n payload: { token, usuario, isSuccess, changePassword },\r\n }),\r\n postLoginError: (unsuccessResponse, error) => ({\r\n type: Types.POST_LOGIN_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postRecaptchaVerifyRequest: (queryParams) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_REQUEST,\r\n payload: { queryParams },\r\n }),\r\n postRecaptchaVerifySuccess: (response, success) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRecaptchaVerifyError: (error) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_ERROR,\r\n payload: { error },\r\n }),\r\n postRecuperarSenhaRequest: (params) => ({\r\n type: Types.POST_RECUPERAR_SENHA_REQUEST,\r\n payload: { params },\r\n }),\r\n postRecuperarSenhaSuccess: (response, success) => ({\r\n type: Types.POST_RECUPERAR_SENHA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRecuperarSenhaError: (error) => ({\r\n type: Types.POST_RECUPERAR_SENHA_ERROR,\r\n payload: { error },\r\n }),\r\n getRecuperarSenhaRequest: (params) => ({\r\n type: Types.GET_RECUPERAR_SENHA_REQUEST,\r\n payload: { params },\r\n }),\r\n getRecuperarSenhaSuccess: (response, success) => ({\r\n type: Types.GET_RECUPERAR_SENHA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getRecuperarSenhaError: (error) => ({\r\n type: Types.GET_RECUPERAR_SENHA_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\nimport { FaClock } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\nimport { Creators as AuthActions } from '../../../store/ducks/auth';\r\n\r\nfunction ModalSessionExpired({ isOpen, onClick }) {\r\n const dispatch = useDispatch();\r\n\r\n const handleSignOut = () => {\r\n dispatch(AuthActions.signOutLegadoRequest());\r\n };\r\n\r\n return (\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Seu acesso expirou. Por favor, faça login novamente para\r\n continuar.\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ handleSignOut }) => {\r\n return (\r\n <>\r\n \r\n OK\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalSessionExpired;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isBefore, parseISO, intervalToDuration } from 'date-fns';\r\nimport { getApplication } from '../application';\r\nimport { decryptObject, encryptObject } from '../utils/encrypt';\r\nimport ModalSessionExpired from '../components/organisms/ModalSessionExpired';\r\n\r\nconst application = getApplication();\r\n\r\nexport const USER_KEY = application.key;\r\nconst { REACT_APP_SECRET } = process.env;\r\n\r\nexport const getLocalObj = (key) => {\r\n if (sessionStorage.getItem(key)) {\r\n return decryptObject(sessionStorage.getItem(key), REACT_APP_SECRET);\r\n }\r\n};\r\n\r\n// User OAuth\r\nexport const getUserData = () => getLocalObj(USER_KEY);\r\n\r\n// Token\r\nexport const getTokenAccessToken = () => getLocalObj(USER_KEY).access_token;\r\nexport const getTokenCreated = () => getLocalObj(USER_KEY).created;\r\nexport const getTokenExpirationDate = () => getLocalObj(USER_KEY).expiration;\r\nexport const getTokenAuthenticated = () => getLocalObj(USER_KEY).authenticated;\r\nexport const isAccessTokenValid = () =>\r\n isBefore(new Date(), parseISO(getTokenExpirationDate()));\r\n\r\n// Refresh token\r\nexport const getRefreshToken = () => getLocalObj(USER_KEY).refresh_token;\r\nexport const getRefreshTokenExpirationDate = () =>\r\n getLocalObj(USER_KEY).refreshTokenExpiresAt;\r\nexport const isRefreshTokenValid = () =>\r\n isBefore(new Date(), parseISO(getRefreshTokenExpirationDate()));\r\n\r\nexport const movcadUpt = () => {\r\n sessionStorage.setItem('@movcad-upt', true);\r\n};\r\n\r\nexport const persistData = (data) => {\r\n const encryptData = encryptObject(data, REACT_APP_SECRET);\r\n sessionStorage.setItem(USER_KEY, encryptData);\r\n};\r\nexport const excludeData = () => {\r\n sessionStorage.removeItem(USER_KEY);\r\n};\r\n\r\nexport const setAuthorization = async (config) => {\r\n const token = getTokenAccessToken();\r\n\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n\r\n return config;\r\n};\r\n\r\nexport function TokenExpirationTimer() {\r\n const [timeLeft, setTimeLeft] = useState('');\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n useEffect(() => {\r\n const interval = setInterval(() => {\r\n const duration = intervalToDuration({\r\n start: new Date(),\r\n end: new Date(getTokenExpirationDate()),\r\n });\r\n\r\n const { hours, minutes, seconds } = duration;\r\n\r\n const formattedTimeLeft = `${hours} horas, ${minutes} minutos e ${seconds} segundos`;\r\n setTimeLeft(formattedTimeLeft);\r\n\r\n if (hours === 0 && minutes === 0 && seconds === 0) {\r\n setShowModal(true);\r\n clearInterval(interval);\r\n }\r\n }, 1000);\r\n\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n return (\r\n
\r\n
Seu acesso expira em: {timeLeft}
\r\n setShowModal(false)}\r\n />{' '}\r\n {/* Renderiza a modal */}\r\n
\r\n );\r\n}\r\n","import CryptoJS from 'crypto-js';\r\n\r\nexport const encryptObject = (object, encryptionKey) => {\r\n const objectString = JSON.stringify(object);\r\n const encryptedString = CryptoJS.AES.encrypt(\r\n objectString,\r\n encryptionKey\r\n ).toString();\r\n return encryptedString;\r\n};\r\n\r\nexport const decryptObject = (encryptedString, encryptionKey) => {\r\n const decryptedBytes = CryptoJS.AES.decrypt(encryptedString, encryptionKey);\r\n const decryptedString = decryptedBytes.toString(CryptoJS.enc.Utf8);\r\n const decryptedObject = JSON.parse(decryptedString);\r\n return decryptedObject;\r\n};\r\n","import qs from 'qs';\r\nimport snakeCaseKeys from 'snakecase-keys';\r\nimport camelcaseKeys from 'camelcase-keys';\r\nimport history from './history';\r\nimport { setAuthorization } from './auth';\r\n\r\nconst UNAUTHORIZED = 401;\r\nconst INTERNAL_SERVER_ERROR = 500;\r\n\r\nexport const setData = (config) => {\r\n const newConfig = { ...config };\r\n newConfig.url = `${config.url}`;\r\n\r\n if (newConfig.headers['Content-Type'] === 'multipart/form-data')\r\n return newConfig;\r\n if (config.params) {\r\n newConfig.params = snakeCaseKeys(config.params);\r\n }\r\n if (config.data) {\r\n newConfig.data = snakeCaseKeys(config.data);\r\n }\r\n\r\n newConfig.paramsSerializer = (p) =>\r\n qs.stringify(p, {\r\n skipNulls: true,\r\n arrayFormat: 'repeat',\r\n });\r\n\r\n return newConfig;\r\n};\r\n\r\nexport const setAxiosRequestConfig = async (config) => {\r\n let newConfig = { ...config };\r\n newConfig = await setAuthorization(config);\r\n\r\n newConfig = await setData(config);\r\n\r\n return newConfig;\r\n};\r\n\r\nexport const errorHandler = (error, redirect) => {\r\n const { status } = error.response;\r\n if (status === UNAUTHORIZED) {\r\n history.push('/novo/unauthorized');\r\n }\r\n if (status === INTERNAL_SERVER_ERROR) {\r\n history.push(`/novo/error?redirect=${redirect}`);\r\n }\r\n return Promise.reject(error);\r\n};\r\n\r\nexport const setAxiosResponseConfig = async (response) => {\r\n if (response.status === UNAUTHORIZED) {\r\n history.push('/novo/Login');\r\n }\r\n return camelcaseKeys(response, { deep: true });\r\n};\r\n","import axios from 'axios';\r\nimport pjson from '../../package.json';\r\nimport {\r\n errorHandler,\r\n setAxiosRequestConfig,\r\n setAxiosResponseConfig,\r\n setData,\r\n} from './axios';\r\n\r\nconst { REACT_APP_BASEURL, REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\n// #region Axios criação de instância\r\n\r\nexport const legado = axios.create({\r\n baseURL: REACT_APP_MOVCAD_LEGACY,\r\n});\r\n\r\nexport const authApi = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const AlertaListaContratanteAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/alerta-lista-contratante`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const FilhoForaDeFaixaAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/filho-fora-de-faixa`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const LayoutEmailAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/layout-email`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const OAuth = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const OAuthNewToken = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const listasAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const requisitionAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/requisition`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const WebhookIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\nexport const WebhookEventIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook/event`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\nexport const WebhookEventHeaderIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook/event/header`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const TaskAPi = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/tasks`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ArquivoUploadAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/arquivo-upload`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const listasMassaInicialAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas/`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const contratantesAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/contratantes`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const UsuariosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/usuarios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ListasRPAAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas-rpa`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const BeneficiariosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/beneficiarios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const TesteAPI = axios.create({\r\n baseURL: 'http://localhost:44301/api/v1/',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const GoogleRecaptchaAPI = axios.create({\r\n baseURL: 'https://www.google.com/recaptcha/api',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ParametroAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/parametrizacao-movcad`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const RelatoriosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/relatorios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const CheckListDocumentosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/check-list-documetos`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ListaInativosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/cadastro-inativos`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\n// #endregion\r\n\r\n// #region AxiosRequest Configuração\r\nlistasAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nrequisitionAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookEventIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookEventHeaderIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nArquivoUploadAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nTaskAPi.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\ncontratantesAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nUsuariosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nOAuthNewToken.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nLayoutEmailAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nAlertaListaContratanteAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nFilhoForaDeFaixaAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nBeneficiariosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nlistasMassaInicialAPI.interceptors.request.use(async (config) =>\r\n setData(config)\r\n);\r\nParametroAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nRelatoriosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nCheckListDocumentosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nListaInativosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nOAuth.interceptors.request.use(async (config) => setData(config));\r\n// #endregion\r\n\r\n// #region AxiosResponse Configuração\r\nlistasAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nLayoutEmailAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'layout-email')\r\n);\r\nAlertaListaContratanteAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista-emails')\r\n);\r\nFilhoForaDeFaixaAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'relatorio-filhos-fora-de-faixa')\r\n);\r\n\r\nrequisitionAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nWebhookIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\nWebhookEventIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\n\r\nWebhookEventHeaderIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\n\r\nArquivoUploadAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'relatorio')\r\n);\r\n\r\nTaskAPi.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'relatorio')\r\n);\r\n\r\nlistasMassaInicialAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'massa-inicial')\r\n);\r\n\r\ncontratantesAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nUsuariosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nBeneficiariosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nParametroAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nRelatoriosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\n\r\nCheckListDocumentosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nListaInativosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\n// #endregion\r\n","import styled from 'styled-components';\r\nimport { ToastContainer } from 'react-toastify';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { GiCancel } from 'react-icons/gi';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled(ToastContainer).attrs((props) => ({\r\n autoClose: props.autoClose,\r\n}))`\r\n .Toastify__toast-container {\r\n background-color: #ffff;\r\n }\r\n .Toastify__toast {\r\n }\r\n .Toastify__toast--error {\r\n background-color: #ffff;\r\n color: #60656c;\r\n border-radius: 10px;\r\n font: 'Regular' 14px Work Sans;\r\n font: 200 14px Work Sans;\r\n }\r\n .Toastify__toast--warning {\r\n }\r\n .Toastify__toast--success {\r\n background-color: #ffff;\r\n color: #60656c;\r\n border-radius: 10px;\r\n font: 'Regular' 14px Work Sans;\r\n font: 200 14px Work Sans;\r\n }\r\n .Toastify__toast-body {\r\n }\r\n .Toastify__progress-bar {\r\n }\r\n`;\r\n\r\nexport const WarningToastContainer = styled(RiErrorWarningLine).attrs(\r\n (props) => ({\r\n size: props.size,\r\n })\r\n)`\r\n color: ${theme.yellowDefault};\r\n margin: 0;\r\n`;\r\n\r\nexport const ErrorToastContainer = styled(GiCancel).attrs((props) => ({\r\n size: props.size,\r\n}))`\r\n color: ${theme.redDefault};\r\n margin: 0;\r\n`;\r\nexport const SuccessToastContainer = styled(BiCheckCircle).attrs((props) => ({\r\n size: props.size,\r\n}))`\r\n color: ${theme.greenDefault};\r\n margin: 0;\r\n`;\r\n\r\nexport const InfoContainer = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n margin: 10px;\r\n\r\n span {\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding-left: 10px;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Container,\r\n WarningToastContainer,\r\n InfoContainer,\r\n ErrorToastContainer,\r\n SuccessToastContainer,\r\n} from './styles';\r\n\r\nfunction Toast(props) {\r\n return ;\r\n}\r\n\r\nexport const WarningToast = ({ children }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const ErrorToast = ({ children, size }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\nexport const SuccessToast = ({ children, size }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Toast;\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as FilhoForaDeFaixaActions } from '../ducks/filhoForaDeFaixa';\r\n\r\nimport { FilhoForaDeFaixaAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* postImportarRelatorio(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n FilhoForaDeFaixaAPI.post,\r\n `/importar-relatorio`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n FilhoForaDeFaixaActions.postImportarRelatorioSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(FilhoForaDeFaixaActions.postImportarRelatorioError(error));\r\n\r\n if (error?.response?.data?.mensagem_error) {\r\n return toast.error(\r\n {error.response.data.mensagem_error}\r\n );\r\n }\r\n return toast.error(\r\n Houve algum problema ao importar o Relatório\r\n );\r\n }\r\n}\r\n\r\nexport function* getCompetencias(action) {\r\n const { codigoContratante } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n FilhoForaDeFaixaAPI.get,\r\n `/competencias/${codigoContratante}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n FilhoForaDeFaixaActions.getCompetenciasSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(FilhoForaDeFaixaActions.getCompetenciasError(error));\r\n }\r\n}\r\n\r\nexport function* getRelatorioFilhoForaDeFaixa(action) {\r\n const { idCompetencia, codigoContratante } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n FilhoForaDeFaixaAPI.get,\r\n `/download-relatorio/${idCompetencia}/${codigoContratante}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n FilhoForaDeFaixaActions.getDownloadRelatorioSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(FilhoForaDeFaixaActions.getDownloadRelatorioError(error));\r\n }\r\n}\r\n\r\nexport function* deleteRelatorioCompetencia(action) {\r\n const { idRelatorio } = action.payload;\r\n\r\n try {\r\n const response = yield call(FilhoForaDeFaixaAPI.delete, `/${idRelatorio}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n FilhoForaDeFaixaActions.deleteRelatorioSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(FilhoForaDeFaixaActions.deleteRelatorioError(error));\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n postListagemPaginadaRequest: ['params'],\r\n postListagemPaginadaResponse: ['success', 'data', 'error'],\r\n deletePorIdsRequest: ['params'],\r\n deletePorIdsResponse: ['success', 'data', 'error'],\r\n postSalvarRequest: ['params'],\r\n postSalvarResponse: ['success', 'data', 'error'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n listaEmails: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n deleteEmails: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n salvarEmail: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nconst postListagemPaginadaRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n listaEmails: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: [],\r\n },\r\n});\r\n\r\nconst postListagemPaginadaResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n listaEmails: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nconst deletePorIdsRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n deleteEmails: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst deletePorIdsResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n deleteEmails: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nconst postSalvarRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n salvarEmail: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postSalvarResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n salvarEmail: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.POST_LISTAGEM_PAGINADA_REQUEST]: postListagemPaginadaRequest,\r\n [Types.POST_LISTAGEM_PAGINADA_RESPONSE]: postListagemPaginadaResponse,\r\n [Types.DELETE_POR_IDS_REQUEST]: deletePorIdsRequest,\r\n [Types.DELETE_POR_IDS_RESPONSE]: deletePorIdsResponse,\r\n [Types.POST_SALVAR_REQUEST]: postSalvarRequest,\r\n [Types.POST_SALVAR_RESPONSE]: postSalvarResponse,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { AlertaListaContratanteAPI } from '../../services/api';\r\nimport { Creators as AlertaListaContratantesActions } from '../ducks/alertaListaContratante';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* postObterListagemPaginada(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(\r\n AlertaListaContratanteAPI.post,\r\n `/obter-listagem-paginada`,\r\n params\r\n );\r\n const { status, data } = response;\r\n\r\n if (status === 200) {\r\n yield put(\r\n AlertaListaContratantesActions.postListagemPaginadaResponse(\r\n true,\r\n data,\r\n null\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.response?.data.message || error.message}\r\n \r\n );\r\n yield put(\r\n AlertaListaContratantesActions.postListagemPaginadaResponse(\r\n false,\r\n {},\r\n true\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* deleteExcluirPorIds(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(\r\n AlertaListaContratanteAPI.delete,\r\n `/excluir-por-ids`,\r\n { data: params }\r\n );\r\n\r\n const { status } = response;\r\n\r\n if (status === 204) {\r\n yield put(\r\n AlertaListaContratantesActions.deletePorIdsResponse(true, null, null)\r\n );\r\n }\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.response?.data.message || error.message}\r\n \r\n );\r\n yield put(\r\n AlertaListaContratantesActions.deletePorIdsResponse(false, [], true)\r\n );\r\n }\r\n}\r\n\r\nexport function* postSalvarEmail(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(\r\n AlertaListaContratanteAPI.post,\r\n '/salvar',\r\n params\r\n );\r\n const { status, data } = response;\r\n\r\n if (status === 200) {\r\n if (!data.success) {\r\n toast.error({data.message});\r\n }\r\n\r\n yield put(\r\n AlertaListaContratantesActions.postSalvarResponse(true, data, null)\r\n );\r\n }\r\n } catch (error) {\r\n const errors = error?.response?.data?.result;\r\n if (errors) {\r\n errors.forEach((element) => {\r\n toast.error({element});\r\n });\r\n }\r\n\r\n yield put(\r\n AlertaListaContratantesActions.postSalvarResponse(false, {}, true)\r\n );\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n getLayoutEmailListRequest: [],\r\n getLayoutEmailListResponse: ['success', 'data', 'error'],\r\n\r\n getLayoutEmailPorIDRequest: ['id'],\r\n getLayoutEmailPorIDResponse: ['success', 'data', 'error'],\r\n\r\n postLayoutEmailRequest: ['params'],\r\n postLayoutEmailResponse: ['success', 'data', 'error'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n getLayoutEmailList: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n getLayoutEmail: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n postLayoutEmail: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nconst getLayoutEmailListRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n getLayoutEmailList: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst getLayoutEmailListResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n getLayoutEmailList: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nconst getLayoutEmailPorIDRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n getLayoutEmail: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst getLayoutEmailPorIDResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n getLayoutEmail: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nconst postLayoutEmailRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n postLayoutEmail: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postLayoutEmailResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n postLayoutEmail: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.GET_LAYOUT_EMAIL_LIST_REQUEST]: getLayoutEmailListRequest,\r\n [Types.GET_LAYOUT_EMAIL_LIST_RESPONSE]: getLayoutEmailListResponse,\r\n\r\n [Types.GET_LAYOUT_EMAIL_POR_ID_REQUEST]: getLayoutEmailPorIDRequest,\r\n [Types.GET_LAYOUT_EMAIL_POR_ID_RESPONSE]: getLayoutEmailPorIDResponse,\r\n\r\n [Types.POST_LAYOUT_EMAIL_REQUEST]: postLayoutEmailRequest,\r\n [Types.POST_LAYOUT_EMAIL_RESPONSE]: postLayoutEmailResponse,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as LayoutEmailActions } from '../ducks/layoutEmail';\r\nimport { LayoutEmailAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* postLayoutEmail(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(LayoutEmailAPI.post, `/salvar`, params);\r\n const { status, data } = response;\r\n\r\n if (status === 200) {\r\n if (!data?.success) {\r\n throw new Error(data?.message);\r\n }\r\n yield put(\r\n LayoutEmailActions.postLayoutEmailResponse(true, response.data, null)\r\n );\r\n }\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.response?.data.message || error.message}\r\n \r\n );\r\n yield put(LayoutEmailActions.postLayoutEmailResponse(false, {}, true));\r\n }\r\n}\r\n\r\nexport function* getLayoutEmailList() {\r\n try {\r\n const response = yield call(LayoutEmailAPI.get, `/obter`);\r\n const { status, data } = response;\r\n\r\n if (status === 200) {\r\n if (!data?.success) {\r\n throw new Error(data?.message);\r\n }\r\n\r\n yield put(\r\n LayoutEmailActions.getLayoutEmailListResponse(\r\n true,\r\n response.data.data,\r\n null\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.response?.data.message || error.message}\r\n \r\n );\r\n yield put(LayoutEmailActions.getLayoutEmailListResponse(false, [], true));\r\n }\r\n}\r\n\r\nexport function* getLayoutEmailPorId(action) {\r\n const { id } = action;\r\n try {\r\n const response = yield call(LayoutEmailAPI.get, `/obter/${id}`);\r\n const { status, data } = response;\r\n\r\n if (status === 200) {\r\n if (!data?.success) {\r\n throw new Error(data?.message);\r\n }\r\n\r\n yield put(\r\n LayoutEmailActions.getLayoutEmailPorIDResponse(\r\n true,\r\n response.data.data,\r\n null\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.response?.data.message || error.message}\r\n \r\n );\r\n yield put(LayoutEmailActions.getLayoutEmailPorIDResponse(false, {}, true));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/POST_WEBHOOK_EVENT_HEADER_REQUEST',\r\n POST_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/POST_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n PUT_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/PUT_WEBHOOK_EVENT_HEADER_REQUEST',\r\n PUT_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/PUT_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST:\r\n '@webhookEventHeaderIntegration/GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST',\r\n GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE:\r\n '@webhookEventHeaderIntegration/GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE',\r\n DELETE_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/DELETE_WEBHOOK_EVENT_HEADER_REQUEST',\r\n DELETE_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/DELETE_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookEventHeaderList: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n putWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n deleteWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function webhookEventHeaderIntegration(\r\n state = INITIAL_STATE,\r\n action\r\n) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST: {\r\n draft.getWebhookEventHeaderList.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE: {\r\n draft.getWebhookEventHeaderList.loading = false;\r\n draft.getWebhookEventHeaderList.data = action.payload.response;\r\n draft.getWebhookEventHeaderList.success = action.payload.success;\r\n draft.getWebhookEventHeaderList.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.postWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.postWebhookEventHeader.loading = false;\r\n draft.postWebhookEventHeader.data = action.payload.response;\r\n draft.postWebhookEventHeader.success = action.payload.success;\r\n draft.postWebhookEventHeader.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.putWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.putWebhookEventHeader.loading = false;\r\n draft.putWebhookEventHeader.data = action.payload.response;\r\n draft.putWebhookEventHeader.success = action.payload.success;\r\n draft.putWebhookEventHeader.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.deleteWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.deleteWebhookEventHeader.loading = false;\r\n draft.deleteWebhookEventHeader.data = action.payload.response;\r\n draft.deleteWebhookEventHeader.success = action.payload.success;\r\n draft.deleteWebhookEventHeader.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookEventHeaderRequest: (params) => ({\r\n type: Types.POST_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: { params },\r\n }),\r\n postWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookEventHeadersListRequest: (webhookEventId) => ({\r\n type: Types.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST,\r\n payload: { webhookEventId },\r\n }),\r\n getWebhookEventHeadersListResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookEventHeaderRequest: (params) => ({\r\n type: Types.PUT_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookEventHeaderRequest: (idWebhookEventHeader) => ({\r\n type: Types.DELETE_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: idWebhookEventHeader,\r\n }),\r\n deleteWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookEventHeaderIntegration } from '../ducks/webhookEventHeaderIntegration';\r\n\r\nimport { WebhookEventHeaderIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventHeadersList(action) {\r\n const { webhookEventId } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.get,\r\n `/list/${webhookEventId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventHeaderIntegration.getWebhookEventHeadersListResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.getWebhookEventHeadersListResponse(\r\n {},\r\n false\r\n )\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postWebhookEventHeader(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.post,\r\n `/post`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventHeaderIntegration.postWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.postWebhookEventHeaderResponse([], false)\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* deleteWebhookEventHeader(action) {\r\n const idWebhookEventHeader = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.delete,\r\n `${idWebhookEventHeader}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventHeaderIntegration.deleteWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.deleteWebhookEventHeaderResponse({}, false)\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* putWebhookEventHeader(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.put,\r\n `/put`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventHeaderIntegration.putWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.putWebhookEventHeaderResponse({}, false)\r\n );\r\n\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/POST_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n POST_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/POST_WEBHOOKINTEGRATION_RESPONSE',\r\n PUT_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/PUT_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n PUT_WEBHOOKEVENTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/PUT_WEBHOOKEVENTINTEGRATION_RESPONSE',\r\n GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST',\r\n GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE',\r\n DELETE_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/DELETE_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhookEvent: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookEventList: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n putWebhookEventIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n deleteWebhookEventIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function webhookEventIntegration(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST: {\r\n draft.getWebhookEventList.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE: {\r\n draft.getWebhookEventList.loading = false;\r\n draft.getWebhookEventList.data = action.payload.response;\r\n draft.getWebhookEventList.success = action.payload.success;\r\n draft.getWebhookEventList.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.postWebhookEvent.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.postWebhookEvent.loading = false;\r\n draft.postWebhookEvent.data = action.payload.response;\r\n draft.postWebhookEvent.success = action.payload.success;\r\n draft.postWebhookEvent.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.putWebhookEventIntegration.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOKEVENTINTEGRATION_RESPONSE: {\r\n draft.putWebhookEventIntegration.loading = false;\r\n draft.putWebhookEventIntegration.data = action.payload.response;\r\n draft.putWebhookEventIntegration.success = action.payload.success;\r\n draft.putWebhookEventIntegration.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.deleteWebhookEventIntegration.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE: {\r\n draft.deleteWebhookEventIntegration.loading = false;\r\n draft.deleteWebhookEventIntegration.data = action.payload.response;\r\n draft.deleteWebhookEventIntegration.success = action.payload.success;\r\n draft.deleteWebhookEventIntegration.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookEventIntegrationRequest: (params) => ({\r\n type: Types.POST_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n postWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookEventsListRequest: (webhookId) => ({\r\n type: Types.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST,\r\n payload: { webhookId },\r\n }),\r\n getWebhookEventsListResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookEventIntegrationRequest: (params) => ({\r\n type: Types.PUT_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOKEVENTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookEventIntegrationRequest: (idWebhook) => ({\r\n type: Types.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: idWebhook,\r\n }),\r\n deleteWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookEventIntegration } from '../ducks/webhookEventIntegration';\r\n\r\nimport { WebhookEventIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventList(action) {\r\n const { webhookId } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.get,\r\n `/list/${webhookId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventIntegration.getWebhookEventsListResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookEventIntegration.getWebhookEventsListResponse({}, false);\r\n }\r\n}\r\n\r\nexport function* postWebhookEvent(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.post,\r\n `/post`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventIntegration.postWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventIntegration.postWebhookEventIntegrationResponse([], false)\r\n );\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* deleteWebhookEvent(action) {\r\n const idWebhookEvent = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.delete,\r\n `${idWebhookEvent}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventIntegration.deleteWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventIntegration.deleteWebhookEventIntegrationResponse({}, false)\r\n );\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putWebhookEvent(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(WebhookEventIntegrationAPI.put, `/put`, params);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventIntegration.putWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookEventIntegration.putWebhookEventIntegrationResponse({}, false);\r\n\r\n if (error.status === 500) {\r\n toast.error(\r\n {error.response.data.error_message}\r\n );\r\n }\r\n\r\n toast.error({error.response.data});\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/POST_WEBHOOKINTEGRATION_REQUEST',\r\n POST_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/POST_WEBHOOKINTEGRATION_RESPONSE',\r\n PUT_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/PUT_WEBHOOKINTEGRATION_REQUEST',\r\n PUT_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/PUT_WEBHOOKINTEGRATION_RESPONSE',\r\n GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST',\r\n GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE',\r\n GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST',\r\n GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE',\r\n DELETE_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/DELETE_WEBHOOKINTEGRATION_REQUEST',\r\n DELETE_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/DELETE_WEBHOOKINTEGRATION_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhook: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookConfiguration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n putWebhookIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookListEvents: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n};\r\n\r\nexport default function webhookIntegration(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST: {\r\n draft.getWebhookListEvents.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE: {\r\n draft.getWebhookListEvents.loading = false;\r\n draft.getWebhookListEvents.data = action.payload.response;\r\n draft.getWebhookListEvents.success = action.payload.success;\r\n draft.getWebhookListEvents.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.postWebhook.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.postWebhook.loading = false;\r\n draft.postWebhook.data = action.payload.response;\r\n draft.postWebhook.success = action.payload.success;\r\n draft.postWebhook.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookIntegrationRequest: () => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_REQUEST,\r\n }),\r\n postWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookConfigurationRequest: () => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST,\r\n }),\r\n getWebhookConfigurationResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookListEventsRequest: () => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST,\r\n }),\r\n getWebhookListEventsResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookIntegrationRequest: (params) => ({\r\n type: Types.PUT_WEBHOOKINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookIntegrationRequest: (idWebhook) => ({\r\n type: Types.DELETE_WEBHOOKINTEGRATION_REQUEST,\r\n payload: idWebhook,\r\n }),\r\n deleteWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookIntegration } from '../ducks/webhookIntegration';\r\n\r\nimport { WebhookIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventsList() {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.get, `/list-events`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookListEventsResponse(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n WebhookIntegration.getWebhookListEventsResponse({}, false);\r\n }\r\n}\r\nexport function* getWebhookConfiguration() {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.get, `/configuration`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookIntegration.getWebhookConfigurationResponse({}, false);\r\n }\r\n}\r\n\r\nexport function* postWebhook(action) {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.post, `/post`, {\r\n isActive: false,\r\n });\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* deleteWebhook(action) {\r\n const idWebhook = action.payload;\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.delete, `${idWebhook}`, {\r\n isActive: true,\r\n });\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(null, isSuccess)\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putWebhook(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.put, `/put`, params);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\n","import produce from 'immer';\r\nimport { uniqueId } from 'lodash';\r\nimport {\r\n setTabContentPorStatus,\r\n setTabContentPorStatusSingleObj,\r\n} from '../../utils/setTabContentPorStatus';\r\nimport { TipoStatusEnum } from '../../enums';\r\n\r\n// Action types\r\nexport const Types = {\r\n GET_DOWNLOAD_RELATORIO_USUARIOS_REQUEST:\r\n '@usuario/GET_DOWNLOAD_RELATORIO_USUARIOS_REQUEST',\r\n GET_DOWNLOAD_RELATORIO_USUARIOS_SUCCESS:\r\n '@usuario/GET_DOWNLOAD_RELATORIO_USUARIOS_SUCCESS',\r\n GET_DOWNLOAD_RELATORIO_USUARIOS_ERROR:\r\n '@usuario/GET_DOWNLOAD_RELATORIO_USUARIOS_ERROR',\r\n GET_CONTRATANTES_USUARIO_REQUEST: '@usuario/GET_CONTRATANTES_USUARIO_REQUEST',\r\n GET_CONTRATANTES_USUARIO_SUCCESS: '@usuario/GET_CONTRATANTES_USUARIO_SUCCESS',\r\n GET_CONTRATANTES_USUARIO_ERROR: '@usuario/GET_CONTRATANTES_USUARIO_ERROR',\r\n GET_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/GET_PARAMETRIZACAO_USUARIO_REQUEST',\r\n GET_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/GET_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n GET_PARAMETRIZACAO_USUARIO_ERROR: '@usuario/GET_PARAMETRIZACAO_USUARIO_ERROR',\r\n GET_CONSULTA_USUARIOS_REQUEST: '@usuario/GET_CONSULTA_USUARIOS_REQUEST',\r\n GET_CONSULTA_USUARIOS_SUCCESS: '@usuario/GET_CONSULTA_USUARIOS_SUCCESS',\r\n GET_CONSULTA_USUARIOS_ERROR: '@usuario/GET_CONSULTA_USUARIOS_ERROR',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_ERROR:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_ERROR',\r\n GET_USUARIO_BY_ID_REQUEST: '@usuario/GET_USUARIO_BY_ID_REQUEST',\r\n GET_USUARIO_BY_ID_SUCCESS: '@usuario/GET_USUARIO_BY_ID_SUCCESS',\r\n GET_USUARIO_BY_ID_ERROR: '@usuario/GET_USUARIO_BY_ID_ERROR',\r\n GET_CONTATO_BY_ID_REQUEST: '@usuario/GET_CONTATO_BY_ID_REQUEST',\r\n GET_CONTATO_BY_ID_SUCCESS: '@usuario/GET_CONTATO_BY_ID_SUCCESS',\r\n GET_CONTATO_BY_ID_ERROR: '@usuario/GET_CONTATO_BY_ID_ERROR',\r\n GET_DADOS_ACESSO_BY_ID_REQUEST: '@usuario/GET_DADOS_ACESSO_BY_ID_REQUEST',\r\n GET_DADOS_ACESSO_BY_ID_SUCCESS: '@usuario/GET_DADOS_ACESSO_BY_ID_SUCCESS',\r\n GET_DADOS_ACESSO_BY_ID_ERROR: '@usuario/GET_DADOS_ACESSO_BY_ID_ERROR',\r\n GET_HISTORICO_MOVIMENTACOES_REQUEST:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_REQUEST',\r\n GET_HISTORICO_MOVIMENTACOES_SUCCESS:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_SUCCESS',\r\n GET_HISTORICO_MOVIMENTACOES_ERROR:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_ERROR',\r\n PATCH_LIBERAR_ACESSO_USUARIO_REQUEST:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_REQUEST',\r\n PATCH_LIBERAR_ACESSO_USUARIO_RENEW:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_RENEW',\r\n PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS',\r\n PATCH_LIBERAR_ACESSO_USUARIO_ERROR:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_ERROR',\r\n PATCH_STATUS_USUARIO_REQUEST: '@usuario/PATCH_STATUS_USUARIO_REQUEST',\r\n PATCH_STATUS_USUARIO_RENEW: '@usuario/PATCH_STATUS_USUARIO_RENEW',\r\n PATCH_STATUS_USUARIO_SUCCESS: '@usuario/PATCH_STATUS_USUARIO_SUCCESS',\r\n PATCH_STATUS_USUARIO_ERROR: '@usuario/PATCH_STATUS_USUARIO_ERROR',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_RENEW:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_RENEW',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_ERROR:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_ERROR',\r\n PATCH_SENHA_USUARIO_REQUEST: '@usuario/PATCH_SENHA_USUARIO_REQUEST',\r\n PATCH_SENHA_USUARIO_RENEW: '@usuario/PATCH_SENHA_USUARIO_RENEW',\r\n PATCH_SENHA_USUARIO_SUCCESS: '@usuario/PATCH_SENHA_USUARIO_SUCCESS',\r\n PATCH_SENHA_USUARIO_ERROR: '@usuario/PATCH_SENHA_USUARIO_ERROR',\r\n PATCH_DADOS_GERAIS_REQUEST: '@usuario/PATCH_DADOS_GERAIS_REQUEST',\r\n PATCH_DADOS_GERAIS_RENEW: '@usuario/PATCH_DADOS_GERAIS_RENEW',\r\n PATCH_DADOS_GERAIS_SUCCESS: '@usuario/PATCH_DADOS_GERAIS_SUCCESS',\r\n PATCH_DADOS_GERAIS_ERROR: '@usuario/PATCH_DADOS_GERAIS_ERROR',\r\n PATCH_DADOS_ACESSO_REQUEST: '@usuario/PATCH_DADOS_ACESSO_REQUEST',\r\n PATCH_DADOS_ACESSO_RENEW: '@usuario/PATCH_DADOS_ACESSO_RENEW',\r\n PATCH_DADOS_ACESSO_SUCCESS: '@usuario/PATCH_DADOS_ACESSO_SUCCESS',\r\n PATCH_DADOS_ACESSO_ERROR: '@usuario/PATCH_DADOS_ACESSO_ERROR',\r\n CRIAR_USUARIO_REQUEST: '@usuario/CRIAR_USUARIO_REQUEST',\r\n CRIAR_USUARIO_SUCCESS: '@usuario/CRIAR_USUARIO_SUCCESS',\r\n CRIAR_USUARIO_ERROR: '@usuario/CRIAR_USUARIO_ERROR',\r\n CRIAR_USUARIO_RENEW: '@usuario/CRIAR_USUARIO_RENEW',\r\n POST_PARAMETRIZACAO_CONTRATANTE_REQUEST:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_REQUEST',\r\n POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS',\r\n POST_PARAMETRIZACAO_CONTRATANTE_ERROR:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_ERROR',\r\n GET_PARAMETRIZACAO_CARDS_REQUEST: '@usuario/GET_PARAMETRIZACAO_CARDS_REQUEST',\r\n GET_PARAMETRIZACAO_CARDS_SUCCESS: '@usuario/GET_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_PARAMETRIZACAO_CARDS_ERROR: '@usuario/GET_PARAMETRIZACAO_CARDS_ERROR',\r\n POST_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_REQUEST',\r\n POST_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n POST_PARAMETRIZACAO_USUARIO_ERROR:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_ERROR',\r\n PUT_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/PUT_PARAMETRIZACAO_USUARIO_REQUEST',\r\n PUT_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/PUT_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n PUT_PARAMETRIZACAO_USUARIO_ERROR: '@usuario/PUT_PARAMETRIZACAO_USUARIO_ERROR',\r\n GET_PARAMETRIZACAO_NODE_REQUEST: '@usuario/GET_PARAMETRIZACAO_NODE_REQUEST',\r\n GET_PARAMETRIZACAO_NODE_SUCCESS: '@usuario/GET_PARAMETRIZACAO_NODE_SUCCESS',\r\n GET_PARAMETRIZACAO_NODE_ERROR: '@usuario/GET_PARAMETRIZACAO_NODE_ERROR',\r\n PARAMETRIZACAO_USUARIO_RENEW: '@usuario/PARAMETRIZACAO_USUARIO_RENEW',\r\n POST_ATUALIZAR_SESSAO_LEGADO_REQUEST:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_REQUEST',\r\n POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS',\r\n POST_ATUALIZAR_SESSAO_LEGADO_ERROR:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_ERROR',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS',\r\n PATCH_PARAMETRIZACAO_INATIVAR_REQUEST:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_REQUEST',\r\n PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST:\r\n '@usuario/PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST',\r\n PATCH_PARAMETRIZACAO_INATIVAR_ERROR:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_ERROR',\r\n PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS',\r\n SAVE_PARAMETRIZACAO_CARDS_REQUEST:\r\n '@usuario/SAVE_PARAMETRIZACAO_CARDS_REQUEST',\r\n SAVE_PARAMETRIZACAO_CARDS_ERROR: '@usuario/SAVE_PARAMETRIZACAO_CARDS_ERROR',\r\n SAVE_PARAMETRIZACAO_CARDS_SUCCESS:\r\n '@usuario/SAVE_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR',\r\n GET_USUARIOS_ESPELHO_REQUEST: '@usuario/GET_USUARIOS_ESPELHO_REQUEST',\r\n POST_CLONAR_USUARIO_ESPELHO_REQUEST:\r\n '@usuario/POST_CLONAR_USUARIO_ESPELHO_REQUEST',\r\n PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST:\r\n '@usuario/PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST',\r\n USUARIO_ESPELHO_SET: '@usuario/USUARIO_ESPELHO_SET',\r\n USUARIO_ESPELHO_RENEW: '@usuario/USUARIO_ESPELHO_RENEW',\r\n PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_REQUEST:\r\n '@usuario/PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_REQUEST',\r\n PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_RESPONSE:\r\n '@usuario/PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_RESPONSE',\r\n PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_ERROR:\r\n '@usuario/PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_ERROR',\r\n SUCCESS: '@usuario/SUCCESS',\r\n ERROR: '@usuario/ERROR',\r\n RENEW: '@usuario/RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n responseUsuarioEspelho: {},\r\n usuarioEspelho: {},\r\n patchBloquearDesbloquearUsuario: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n isError: false,\r\n },\r\n isPatchLiberarAcessoSuccess: false,\r\n isPatchInativarAtivarSuccess: false,\r\n isPatchRegistrarContato: false,\r\n isPatchSenha: false,\r\n unsucessResponse: '',\r\n newUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchStatusUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchLiberarAcesso: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getConsultaUsuarios: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Ativo: { data: [], size: 0 },\r\n PendenteLiberacao: { data: [], size: 0 },\r\n Inativo: { data: [], size: 0 },\r\n Bloqueado: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getUsuarioById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContatoById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getDadosAcessoById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getHistoricoMovimentacoes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getGrupoContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n patchDadosGerais: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchRegistrarContato: {\r\n loading: false,\r\n success: false,\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchDadosAcesso: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchSenha: {\r\n loading: false,\r\n success: false,\r\n isError: false,\r\n error: [],\r\n },\r\n postParametrizacaoContratante: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [{}],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratantesUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n id: uniqueId('req_'),\r\n },\r\n getParametrizacaoNode: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n putParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n id: uniqueId('req_'),\r\n },\r\n postAtualizarSessaoLegado: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoCardsCompleto: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n isError: false,\r\n },\r\n patchParametrizacaoInativar: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n saveParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n isSaveAll: false,\r\n },\r\n getAndBuildParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n getRelatorioUsuariosDownload: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n response: {},\r\n },\r\n};\r\n\r\nexport default function usuario(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_REQUEST: {\r\n draft.patchBloquearDesbloquearUsuario.loading = true;\r\n break;\r\n }\r\n case Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_RESPONSE: {\r\n draft.patchBloquearDesbloquearUsuario.loading = false;\r\n draft.patchBloquearDesbloquearUsuario.success = action.payload.success;\r\n draft.patchBloquearDesbloquearUsuario.response =\r\n action.payload.response;\r\n draft.patchBloquearDesbloquearUsuario.error = null;\r\n break;\r\n }\r\n case Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_ERROR: {\r\n draft.patchBloquearDesbloquearUsuario.loading = false;\r\n draft.patchBloquearDesbloquearUsuario.success = false;\r\n draft.patchBloquearDesbloquearUsuario.response = {};\r\n draft.patchBloquearDesbloquearUsuario.error = action.payload.error;\r\n draft.patchBloquearDesbloquearUsuario.isError = true;\r\n break;\r\n }\r\n case Types.GET_DOWNLOAD_RELATORIO_USUARIOS_REQUEST: {\r\n draft.getRelatorioUsuariosDownload.loading = true;\r\n break;\r\n }\r\n case Types.GET_DOWNLOAD_RELATORIO_USUARIOS_SUCCESS: {\r\n draft.getRelatorioUsuariosDownload.loading = false;\r\n draft.getRelatorioUsuariosDownload.success = action.payload.success;\r\n draft.getRelatorioUsuariosDownload.response = action.payload.response;\r\n draft.getRelatorioUsuariosDownload.error = null;\r\n break;\r\n }\r\n case Types.GET_DOWNLOAD_RELATORIO_USUARIOS_ERROR: {\r\n draft.getRelatorioUsuariosDownload.loading = false;\r\n draft.getRelatorioUsuariosDownload.success = false;\r\n draft.getRelatorioUsuariosDownload.response = {};\r\n draft.getRelatorioUsuariosDownload.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_REQUEST: {\r\n draft.getConsultaUsuarios.loading = true;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_SUCCESS: {\r\n draft.getConsultaUsuarios.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n TipoStatusEnum.returnTabForName,\r\n draft.getConsultaUsuarios.response\r\n );\r\n\r\n draft.getConsultaUsuarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_ERROR: {\r\n draft.getConsultaUsuarios.loading = false;\r\n draft.getConsultaUsuarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST: {\r\n draft.getConsultaUsuarios.loading = true;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS: {\r\n draft.getConsultaUsuarios.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n TipoStatusEnum.returnTabForName,\r\n draft.getConsultaUsuarios.response\r\n );\r\n\r\n draft.getConsultaUsuarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_ERROR: {\r\n draft.getConsultaUsuarios.loading = false;\r\n draft.getConsultaUsuarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST: {\r\n draft.patchLiberarAcesso.success = false;\r\n draft.patchLiberarAcesso.isError = false;\r\n draft.patchLiberarAcesso.error = null;\r\n draft.patchLiberarAcesso.loading = false;\r\n draft.patchLiberarAcesso.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_RENEW: {\r\n draft.patchLiberarAcesso.success = false;\r\n draft.patchLiberarAcesso.isError = false;\r\n draft.patchLiberarAcesso.error = null;\r\n draft.patchLiberarAcesso.loading = false;\r\n draft.patchLiberarAcesso.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS: {\r\n draft.patchLiberarAcesso.success = action.payload.isSuccess;\r\n\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_ERROR: {\r\n draft.patchLiberarAcesso.error = action.payload.error;\r\n draft.patchLiberarAcesso.isError = true;\r\n draft.patchLiberarAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_REQUEST: {\r\n draft.getUsuarioById.loading = true;\r\n draft.getUsuarioById.success = false;\r\n draft.getUsuarioById.error = null;\r\n draft.getUsuarioById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_SUCCESS: {\r\n draft.getUsuarioById.loading = false;\r\n draft.getUsuarioById.success = action.payload.isSuccess;\r\n draft.getUsuarioById.response = action.payload.usuarioById;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_ERROR: {\r\n draft.getUsuarioById.loading = false;\r\n draft.getUsuarioById.error = action.payload.error;\r\n draft.getUsuarioById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_REQUEST: {\r\n draft.patchStatusUsuario.success = false;\r\n draft.patchStatusUsuario.unsuccessResponse = [];\r\n draft.patchStatusUsuario.loading = false;\r\n draft.patchStatusUsuario.isError = false;\r\n draft.patchStatusUsuario.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_RENEW: {\r\n draft.patchStatusUsuario.success = false;\r\n draft.patchStatusUsuario.unsuccessResponse = [];\r\n draft.patchStatusUsuario.loading = false;\r\n draft.patchStatusUsuario.isError = false;\r\n draft.patchStatusUsuario.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_SUCCESS: {\r\n draft.patchStatusUsuario.success = action.payload.isSuccess;\r\n draft.patchStatusUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_ERROR: {\r\n draft.patchStatusUsuario.error = action.payload.error;\r\n draft.patchStatusUsuario.isError = true;\r\n draft.patchStatusUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_REQUEST: {\r\n draft.newUsuario.loading = true;\r\n draft.newUsuario.success = false;\r\n draft.newUsuario.error = null;\r\n draft.newUsuario.unsuccessResponse = null;\r\n draft.newUsuario.isError = false;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_SUCCESS: {\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.success = action.payload.isSuccess;\r\n draft.newUsuario.response = action.payload.newUsuario;\r\n draft.newUsuario.isError = false;\r\n\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_ERROR: {\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.error = action.payload.error;\r\n draft.newUsuario.unsuccessResponse = action.payload.unsuccessResponse;\r\n draft.newUsuario.isError = true;\r\n draft.newUsuario.success = false;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_RENEW: {\r\n draft.newUsuario.success = false;\r\n draft.newUsuario.isError = false;\r\n draft.newUsuario.error = null;\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST: {\r\n draft.patchRegistrarContato.loading = true;\r\n draft.patchRegistrarContato.success = false;\r\n draft.patchRegistrarContato.isError = false;\r\n draft.patchRegistrarContato.error = null;\r\n draft.patchRegistrarContato.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_RENEW: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.success = false;\r\n draft.patchRegistrarContato.isError = false;\r\n draft.patchRegistrarContato.error = null;\r\n draft.patchRegistrarContato.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.success = action.payload.isSuccess;\r\n draft.patchRegistrarContato.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_ERROR: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.error = action.payload.error;\r\n draft.patchRegistrarContato.isError = true;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_REQUEST: {\r\n draft.getContatoById.loading = true;\r\n draft.getContatoById.success = false;\r\n draft.getContatoById.error = null;\r\n draft.getContatoById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_SUCCESS: {\r\n draft.getContatoById.loading = false;\r\n draft.getContatoById.success = action.payload.isSuccess;\r\n draft.getContatoById.response = action.payload.contatoById;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_ERROR: {\r\n draft.getContatoById.loading = false;\r\n draft.getContatoById.error = action.payload.error;\r\n draft.getContatoById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_REQUEST: {\r\n draft.patchSenha.success = false;\r\n draft.patchSenha.isError = false;\r\n draft.patchSenha.loading = true;\r\n draft.patchSenha.error = [];\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_RENEW: {\r\n draft.patchSenha.success = false;\r\n draft.patchSenha.isError = false;\r\n draft.patchSenha.loading = true;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_SUCCESS: {\r\n draft.patchSenha.success = true;\r\n draft.patchSenha.loading = false;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_ERROR: {\r\n draft.error = action.payload.error;\r\n draft.patchSenha.isError = true;\r\n draft.patchSenha.error = action.payload.error;\r\n draft.patchSenha.loading = false;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_REQUEST: {\r\n draft.getDadosAcessoById.loading = true;\r\n draft.getDadosAcessoById.success = false;\r\n draft.getDadosAcessoById.error = null;\r\n draft.getDadosAcessoById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_SUCCESS: {\r\n draft.getDadosAcessoById.loading = false;\r\n draft.getDadosAcessoById.success = action.payload.isSuccess;\r\n draft.getDadosAcessoById.response = action.payload.usuarioById;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_ERROR: {\r\n draft.getDadosAcessoById.loading = false;\r\n draft.getDadosAcessoById.error = action.payload.error;\r\n draft.getDadosAcessoById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_REQUEST: {\r\n draft.patchDadosGerais.loading = true;\r\n draft.patchDadosGerais.success = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.error = null;\r\n draft.patchDadosGerais.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_RENEW: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.success = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.error = null;\r\n draft.patchDadosGerais.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_SUCCESS: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.success = action.payload.isSuccess;\r\n draft.patchDadosGerais.response = action.payload.response;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_ERROR: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.isError = true;\r\n draft.patchDadosGerais.error = action.payload.error;\r\n draft.patchDadosGerais.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_REQUEST: {\r\n draft.patchDadosAcesso.loading = true;\r\n draft.patchDadosAcesso.success = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.error = null;\r\n draft.patchDadosAcesso.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_RENEW: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.success = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.error = null;\r\n draft.patchDadosAcesso.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_SUCCESS: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.success = true;\r\n draft.patchDadosAcesso.response = action.payload.response;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_ERROR: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = true;\r\n draft.patchDadosAcesso.error = action.payload.error;\r\n draft.patchDadosAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_REQUEST: {\r\n draft.getHistoricoMovimentacoes.loading = true;\r\n draft.getHistoricoMovimentacoes.success = false;\r\n draft.getHistoricoMovimentacoes.error = null;\r\n draft.getHistoricoMovimentacoes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_SUCCESS: {\r\n draft.getHistoricoMovimentacoes.loading = false;\r\n draft.getHistoricoMovimentacoes.success = action.payload.isSuccess;\r\n draft.getHistoricoMovimentacoes.response.data =\r\n action.payload.historicoMovimentacao;\r\n draft.getHistoricoMovimentacoes.response.size =\r\n action.payload.historicoMovimentacao.total;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_ERROR: {\r\n draft.getHistoricoMovimentacoes.loading = false;\r\n draft.getHistoricoMovimentacoes.error = action.payload.error;\r\n draft.getHistoricoMovimentacoes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST: {\r\n draft.postParametrizacaoContratante.loading = true;\r\n draft.postParametrizacaoContratante.success = false;\r\n draft.postParametrizacaoContratante.error = null;\r\n draft.postParametrizacaoContratante.isError = null;\r\n draft.postParametrizacaoContratante.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS: {\r\n draft.postParametrizacaoContratante.loading = false;\r\n draft.postParametrizacaoContratante.success = action.payload.isSuccess;\r\n draft.postParametrizacaoContratante.response = action.payload.response;\r\n draft.postParametrizacaoContratante.isError = false;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_ERROR: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = true;\r\n draft.patchDadosAcesso.error = action.payload.error;\r\n draft.patchDadosAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.getParametrizacaoUsuario.loading = true;\r\n draft.getParametrizacaoUsuario.success = false;\r\n draft.getParametrizacaoUsuario.error = null;\r\n draft.getParametrizacaoUsuario.isError = null;\r\n draft.getParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.getParametrizacaoUsuario.loading = false;\r\n draft.getParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.getParametrizacaoUsuario.response = action.payload.response;\r\n draft.getParametrizacaoUsuario.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.isError = true;\r\n draft.getContratantesUsuario.error = action.payload.error;\r\n draft.getContratantesUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_REQUEST: {\r\n draft.getContratantesUsuario.loading = true;\r\n draft.getContratantesUsuario.success = false;\r\n draft.getContratantesUsuario.error = null;\r\n draft.getContratantesUsuario.isError = null;\r\n draft.getContratantesUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_SUCCESS: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.success = action.payload.isSuccess;\r\n draft.getContratantesUsuario.response = action.payload.response;\r\n draft.getContratantesUsuario.isError = false;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_ERROR: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.isError = true;\r\n draft.getContratantesUsuario.error = action.payload.error;\r\n draft.getContratantesUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.getParametrizacaoCards.loading = true;\r\n draft.getParametrizacaoCards.success = false;\r\n draft.getParametrizacaoCards.error = null;\r\n draft.getParametrizacaoCards.isError = null;\r\n draft.getParametrizacaoCards.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.getParametrizacaoCards.loading = false;\r\n draft.getParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.getParametrizacaoCards.response = action.payload.response;\r\n draft.getParametrizacaoCards.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.getParametrizacaoCards.loading = false;\r\n draft.getParametrizacaoCards.isError = true;\r\n draft.getParametrizacaoCards.error = action.payload.error;\r\n draft.getParametrizacaoCards.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.postParametrizacaoUsuario.loading = true;\r\n draft.postParametrizacaoUsuario.success = false;\r\n draft.postParametrizacaoUsuario.error = null;\r\n draft.postParametrizacaoUsuario.isError = null;\r\n draft.postParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.postParametrizacaoUsuario.response = action.payload.response;\r\n draft.postParametrizacaoUsuario.hasValidationErros =\r\n action.payload.hasValidationErros;\r\n draft.postParametrizacaoUsuario.error = action.payload.errors;\r\n draft.postParametrizacaoUsuario.isError = false;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.isError = true;\r\n draft.postParametrizacaoUsuario.error = action.payload.error;\r\n draft.postParametrizacaoUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_REQUEST: {\r\n draft.getParametrizacaoNode.loading = true;\r\n draft.getParametrizacaoNode.success = false;\r\n draft.getParametrizacaoNode.error = null;\r\n draft.getParametrizacaoNode.isError = null;\r\n draft.getParametrizacaoNode.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_SUCCESS: {\r\n draft.getParametrizacaoNode.loading = false;\r\n draft.getParametrizacaoNode.success = action.payload.isSuccess;\r\n draft.getParametrizacaoNode.response = action.payload.response;\r\n draft.getParametrizacaoNode.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_ERROR: {\r\n draft.getParametrizacaoNode.loading = false;\r\n draft.getParametrizacaoNode.isError = true;\r\n draft.getParametrizacaoNode.error = action.payload.error;\r\n draft.getParametrizacaoNode.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.putParametrizacaoUsuario.loading = true;\r\n draft.putParametrizacaoUsuario.success = false;\r\n draft.putParametrizacaoUsuario.error = null;\r\n draft.putParametrizacaoUsuario.isError = null;\r\n draft.putParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.putParametrizacaoUsuario.response = action.payload.response;\r\n draft.putParametrizacaoUsuario.isError = false;\r\n draft.putParametrizacaoUsuario.hasValidationErros =\r\n action.payload.hasValidationErros;\r\n draft.putParametrizacaoUsuario.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.isError = true;\r\n draft.putParametrizacaoUsuario.error = action.payload.error;\r\n draft.putParametrizacaoUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_USUARIO_RENEW: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.success = false;\r\n draft.putParametrizacaoUsuario.error = null;\r\n draft.putParametrizacaoUsuario.isError = null;\r\n draft.putParametrizacaoUsuario.unsuccessResponse = null;\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.success = false;\r\n draft.postParametrizacaoUsuario.error = null;\r\n draft.postParametrizacaoUsuario.isError = null;\r\n draft.postParametrizacaoUsuario.unsuccessResponse = null;\r\n draft.postParametrizacaoUsuario.hasValidationErros = false;\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.isSaveAll = false;\r\n draft.saveParametrizacaoCards.success = false;\r\n draft.saveParametrizacaoCards.error = null;\r\n draft.saveParametrizacaoCards.isError = null;\r\n draft.saveParametrizacaoCards.unsuccessResponse = null;\r\n draft.saveParametrizacaoCards.hasValidationErros = false;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST: {\r\n draft.postAtualizarSessaoLegado.loading = true;\r\n draft.postAtualizarSessaoLegado.success = false;\r\n draft.postAtualizarSessaoLegado.error = null;\r\n draft.postAtualizarSessaoLegado.isError = null;\r\n draft.postAtualizarSessaoLegado.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS: {\r\n draft.postAtualizarSessaoLegado.loading = false;\r\n draft.postAtualizarSessaoLegado.success = action.payload.isSuccess;\r\n draft.postAtualizarSessaoLegado.response = action.payload.response;\r\n draft.postAtualizarSessaoLegado.isError = false;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_ERROR: {\r\n draft.postAtualizarSessaoLegado.loading = false;\r\n draft.postAtualizarSessaoLegado.isError = true;\r\n draft.postAtualizarSessaoLegado.error = action.payload.error;\r\n draft.postAtualizarSessaoLegado.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST: {\r\n draft.getParametrizacaoCardsCompleto.loading = true;\r\n draft.getParametrizacaoCardsCompleto.success = false;\r\n draft.getParametrizacaoCardsCompleto.error = null;\r\n draft.getParametrizacaoCardsCompleto.isError = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS: {\r\n draft.getParametrizacaoCardsCompleto.loading = false;\r\n draft.getParametrizacaoCardsCompleto.success = action.payload.isSuccess;\r\n draft.getParametrizacaoCardsCompleto.response = action.payload.response;\r\n draft.getParametrizacaoCardsCompleto.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR: {\r\n draft.getParametrizacaoCardsCompleto.loading = false;\r\n draft.getParametrizacaoCardsCompleto.isError = true;\r\n draft.getParametrizacaoCardsCompleto.error = action.payload.error;\r\n\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST: {\r\n draft.patchParametrizacaoInativar.loading = true;\r\n draft.patchParametrizacaoInativar.success = false;\r\n draft.patchParametrizacaoInativar.error = null;\r\n draft.patchParametrizacaoInativar.isError = null;\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS: {\r\n draft.patchParametrizacaoInativar.loading = false;\r\n draft.patchParametrizacaoInativar.success = action.payload.isSuccess;\r\n draft.patchParametrizacaoInativar.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_ERROR: {\r\n draft.patchParametrizacaoInativar.loading = false;\r\n draft.patchParametrizacaoInativar.isError = true;\r\n draft.patchParametrizacaoInativar.error = action.payload.error;\r\n\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.saveParametrizacaoCards.loading = true;\r\n draft.saveParametrizacaoCards.isSaveAll = action.payload.isSaveAll;\r\n draft.saveParametrizacaoCards.success = false;\r\n draft.saveParametrizacaoCards.error = null;\r\n draft.saveParametrizacaoCards.isError = null;\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.saveParametrizacaoCards.response = action.payload.response;\r\n draft.saveParametrizacaoCards.isError = false;\r\n draft.saveParametrizacaoCards.hasValidationErrors =\r\n action.payload.hasValidationErrors;\r\n draft.saveParametrizacaoCards.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.isError = true;\r\n draft.saveParametrizacaoCards.error = action.payload.error;\r\n draft.saveParametrizacaoCards.isSaveAll = false;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.getAndBuildParametrizacaoCards.loading = true;\r\n draft.getAndBuildParametrizacaoCards.success = false;\r\n draft.getAndBuildParametrizacaoCards.error = null;\r\n draft.getAndBuildParametrizacaoCards.isError = null;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.getAndBuildParametrizacaoCards.loading = false;\r\n draft.getAndBuildParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.getAndBuildParametrizacaoCards.response = action.payload.response;\r\n draft.getAndBuildParametrizacaoCards.isError = false;\r\n draft.getAndBuildParametrizacaoCards.hasValidationErrors =\r\n action.payload.hasValidationErrors;\r\n draft.getAndBuildParametrizacaoCards.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.getAndBuildParametrizacaoCards.loading = false;\r\n draft.getAndBuildParametrizacaoCards.isError = true;\r\n draft.getAndBuildParametrizacaoCards.error = action.payload.error;\r\n break;\r\n }\r\n case (Types.RENEW, Types.GET_USUARIOS_ESPELHO_REQUEST): {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.error = null;\r\n draft.isError = false;\r\n draft.responseUsuarioEspelho = {};\r\n break;\r\n }\r\n case Types.USUARIO_ESPELHO_SET: {\r\n draft.usuarioEspelho = action.payload.usuarioEspelho;\r\n break;\r\n }\r\n case Types.USUARIO_ESPELHO_RENEW: {\r\n draft.usuarioEspelho = {};\r\n break;\r\n }\r\n\r\n case Types.SUCCESS: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.error = null;\r\n draft.isError = false;\r\n draft.responseUsuarioEspelho = action.payload.response;\r\n break;\r\n }\r\n case Types.ERROR: {\r\n draft.loading = false;\r\n draft.success = false;\r\n draft.error = action.payload.error;\r\n draft.isError = true;\r\n draft.responseUsuarioEspelho = {};\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n patchBloquearDesbloquearUsuarioRequest: (idUsuario, bloqueio) => ({\r\n type: Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_REQUEST,\r\n payload: { idUsuario, bloqueio },\r\n }),\r\n patchBloquearDesbloquearUsuarioSuccess: (response, success) => ({\r\n type: Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n patchBloquearDesbloquearUsuarioError: (error) => ({\r\n type: Types.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getDownloadRelatorioUsuariosRequest: (params) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_USUARIOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getDownloadRelatorioUsuariosSuccess: (response, success) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_USUARIOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDownloadRelatorioUsuariosError: (error) => ({\r\n type: Types.GET_DOWNLOAD_RELATORIO_USUARIOS_ERROR,\r\n payload: { error },\r\n }),\r\n getConsultaUsuariosRequest: (params, TipoStatus) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getConsultaUsuariosSuccess: (response, success) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getConsultaUsuariosError: (error) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_ERROR,\r\n payload: { error },\r\n }),\r\n getConsultaUsuariosPorStatusRequest: (params) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getConsultaUsuariosPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getConsultaUsuariosPorStatusError: (error) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n patchLiberarAcessoRequest: (usuarios) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST,\r\n payload: { usuarios },\r\n }),\r\n patchLiberarAcessoRenew: () => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_RENEW,\r\n }),\r\n patchLiberarAcessoSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchLiberarAcessoError: (error) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getUsuarioByIdRequest: (idUsuario) => ({\r\n type: Types.GET_USUARIO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getUsuarioByIdSuccess: (usuarioById, isSuccess) => ({\r\n type: Types.GET_USUARIO_BY_ID_SUCCESS,\r\n payload: { usuarioById, isSuccess },\r\n }),\r\n getUsuarioByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_USUARIO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchStatusRequest: (usuarios, tipoStatus) => ({\r\n type: Types.PATCH_STATUS_USUARIO_REQUEST,\r\n payload: { usuarios, tipoStatus },\r\n }),\r\n patchStatusRenew: () => ({\r\n type: Types.PATCH_STATUS_USUARIO_RENEW,\r\n }),\r\n patchStatusSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_STATUS_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchStatusError: (error) => ({\r\n type: Types.PATCH_STATUS_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n criarUsuarioRequest: (data) => ({\r\n type: Types.CRIAR_USUARIO_REQUEST,\r\n payload: { data },\r\n }),\r\n criarUsuarioSuccess: (newUsuario, isSuccess) => ({\r\n type: Types.CRIAR_USUARIO_SUCCESS,\r\n payload: { newUsuario, isSuccess },\r\n }),\r\n criarUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.CRIAR_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n criarUsuarioRenew: () => ({\r\n type: Types.CRIAR_USUARIO_RENEW,\r\n }),\r\n patchRegistrarContatoRequest: (contatos, idUsuario) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST,\r\n payload: { contatos, idUsuario },\r\n }),\r\n patchRegistrarContatoRenew: () => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_RENEW,\r\n }),\r\n patchRegistrarContatoSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchRegistrarContatoError: (error) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getContatoByIdRequest: (idUsuario) => ({\r\n type: Types.GET_CONTATO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getContatoByIdSuccess: (contatoById, isSuccess) => ({\r\n type: Types.GET_CONTATO_BY_ID_SUCCESS,\r\n payload: { contatoById, isSuccess },\r\n }),\r\n getContatoByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTATO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchSenhaRequest: (idUsuario, senha, novaSenha, confirmacaoSenha) => ({\r\n type: Types.PATCH_SENHA_USUARIO_REQUEST,\r\n payload: {\r\n idUsuario,\r\n senha,\r\n novaSenha,\r\n confirmacaoSenha,\r\n },\r\n }),\r\n patchSenhaRenew: () => ({\r\n type: Types.PATCH_SENHA_USUARIO_RENEW,\r\n }),\r\n patchSenhaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_SENHA_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchSenhaError: (error) => ({\r\n type: Types.PATCH_SENHA_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getDadosAcessoByIdRequest: (idUsuario) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getDadosAcessoByIdSuccess: (usuarioById, isSuccess) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_SUCCESS,\r\n payload: { usuarioById, isSuccess },\r\n }),\r\n getDadosAcessoByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchDadosGeraisRequest: (params, contatos) => ({\r\n type: Types.PATCH_DADOS_GERAIS_REQUEST,\r\n payload: { params, contatos },\r\n }),\r\n patchDadosGeraisRenew: () => ({\r\n type: Types.PATCH_DADOS_GERAIS_RENEW,\r\n }),\r\n patchDadosGeraisSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_DADOS_GERAIS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchDadosGeraisError: (unsuccessResponse, error) => ({\r\n type: Types.PATCH_DADOS_GERAIS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchDadosAcessoRequest: (params) => ({\r\n type: Types.PATCH_DADOS_ACESSO_REQUEST,\r\n payload: { params },\r\n }),\r\n patchDadosAcessoRenew: () => ({\r\n type: Types.PATCH_DADOS_ACESSO_RENEW,\r\n }),\r\n patchDadosAcessoSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_DADOS_ACESSO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchDadosAcessoError: (unsuccessResponse, error) => ({\r\n type: Types.PATCH_DADOS_ACESSO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getHistoricoMovimentacoesRequest: (idUsuario, params) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_REQUEST,\r\n payload: { idUsuario, params },\r\n }),\r\n getHistoricoMovimentacoesSuccess: (historicoMovimentacao, isSuccess) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_SUCCESS,\r\n payload: { historicoMovimentacao, isSuccess },\r\n }),\r\n getHistoricoMovimentacoesError: (unsuccessResponse, error) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postParametrizacaoContratanteRequest: (contratantes) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST,\r\n payload: { contratantes },\r\n }),\r\n postParametrizacaoContratanteSuccess: (response, isSuccess) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n postParametrizacaoContratanteError: (unsuccessResponse, error) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoUsuarioRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoUsuarioSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratantesUsuarioRequest: (params) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratantesUsuarioSuccess: (response, isSuccess) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getContratantesUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoCardsRequest: (params, cards) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { params, cards },\r\n }),\r\n getParametrizacaoCardsSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoCardsError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postParametrizacaoUsuarioRequest: (idUsuario, cards) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { idUsuario, cards },\r\n }),\r\n postParametrizacaoUsuarioSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErros,\r\n errors\r\n ) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErros, errors },\r\n }),\r\n postParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n putParametrizacaoUsuarioRequest: (idUsuario, cards) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { idUsuario, cards },\r\n }),\r\n putParametrizacaoUsuarioSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErros,\r\n errors\r\n ) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErros, errors },\r\n }),\r\n putParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoNodeRequest: (idUsuario, params, node) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_REQUEST,\r\n payload: { idUsuario, params, node },\r\n }),\r\n getParametrizacaoNodeSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoNodeError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n parametrizacaoNodeRenew: () => ({\r\n type: Types.PARAMETRIZACAO_USUARIO_RENEW,\r\n }),\r\n postAtualizarSessaoLegadoRequest: (token) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST,\r\n payload: { token },\r\n }),\r\n postAtualizarSessaoLegadoSuccess: (response, isSuccess) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n postAtualizarSessaoLegadoError: (unsuccessResponse, error) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoCardsCompletoRequest: (\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST,\r\n payload: { idUsuario, idCard, idParametrizacao },\r\n }),\r\n getParametrizacaoCardsCompletoSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoCardsCompletoError: (error) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR,\r\n payload: { error },\r\n }),\r\n patchParametrizacaoInativarRequest: (\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n ) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST,\r\n payload: { idUsuario, idCard, idParametrizacao },\r\n }),\r\n patchParametrizacaoAdmInativarRequest: (idUsuario) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n patchParametrizacaoInativarSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchParametrizacaoInativarError: (error) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_ERROR,\r\n payload: { error },\r\n }),\r\n saveParametrizacaoCardsRequest: (\r\n idUsuario,\r\n postCards,\r\n putCards,\r\n isSaveAll\r\n ) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { idUsuario, postCards, putCards, isSaveAll },\r\n }),\r\n saveParametrizacaoCardsSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n ) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErrors, errors },\r\n }),\r\n saveParametrizacaoCardsError: (error) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { error },\r\n }),\r\n getAndBuildParametrizacaoCardsRequest: (params) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { params },\r\n }),\r\n getAndBuildParametrizacaoCardsSuccess: (response, isSuccess) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getAndBuildParametrizacaoCardsError: (unsuccessResponse, error) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getUsuarioEspelhoRequest: (params) => ({\r\n type: Types.GET_USUARIOS_ESPELHO_REQUEST,\r\n payload: { params },\r\n }),\r\n patchAtualizarTipoPerfilRequest: (idUsuario, newRoles) => ({\r\n type: Types.PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST,\r\n payload: { idUsuario, newRoles },\r\n }),\r\n postClonarUsuarioEspelhoRequest: (idUsuario, idUsuarioEspelho) => ({\r\n type: Types.POST_CLONAR_USUARIO_ESPELHO_REQUEST,\r\n payload: { idUsuario, idUsuarioEspelho },\r\n }),\r\n usuarioEspelhoSet: (usuarioEspelho) => ({\r\n type: Types.USUARIO_ESPELHO_SET,\r\n payload: { usuarioEspelho },\r\n }),\r\n usuarioEspelhoRenew: () => ({\r\n type: Types.USUARIO_ESPELHO_RENEW,\r\n }),\r\n\r\n success: (response) => ({\r\n type: Types.SUCCESS,\r\n payload: { response },\r\n }),\r\n error: (error) => ({\r\n type: Types.ERROR,\r\n payload: { error },\r\n }),\r\n renew: () => ({ type: Types.RENEW, payload: {} }),\r\n};\r\n","export const responseHandler = (\r\n objResponse,\r\n objRequest,\r\n objReference,\r\n methodName,\r\n status\r\n) => {\r\n const statusResponse = [];\r\n objResponse.map((o) => {\r\n if (o.status !== status) statusResponse.push(o);\r\n\r\n return statusResponse;\r\n });\r\n\r\n let isSuccess = false;\r\n if (!(statusResponse.length > 0)) isSuccess = true;\r\n\r\n const unsuccessResponse = [];\r\n unsuccessResponse.push(\r\n statusResponse.map((resp, index) => {\r\n return {\r\n reference: objRequest[index][objReference],\r\n status: resp.status,\r\n errorOn: methodName,\r\n };\r\n })\r\n );\r\n\r\n return { unsuccessResponse, isSuccess };\r\n};\r\n\r\nexport const responseHandlerGet = (\r\n objResponse,\r\n objRequest,\r\n methodName,\r\n statusCode\r\n) => {\r\n let isSuccess = true;\r\n if (objResponse.status !== statusCode) {\r\n isSuccess = false;\r\n const unsuccessResponse = {\r\n reference: objRequest,\r\n status: objResponse.status,\r\n errorOn: methodName,\r\n };\r\n\r\n return { unsuccessResponse, isSuccess };\r\n }\r\n\r\n return { isSuccess };\r\n};\r\n","export const validationPattern = {\r\n validationEmailBackend:\r\n /^[-a-zA-Z0-9][-.a-zA-Z0-9_]*@[-.a-zA-Z0-9]+(\\.[-.a-zA-Z0-9]+)*\\.(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$/,\r\n email:\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n number: /^[0-9\\b]+$/,\r\n telefone: /^[1-9]{2}([2-8])[0-9]{3}[0-9]{4}$/,\r\n sequenciaIgualTelefone: /^([0-9])\\1{3}[0-9]\\1{3}$/,\r\n celular: /^[1-9]{2}(9[1-9])[0-9]{3}[0-9]{4}$/,\r\n sequenciaIgualCelular: /^([0-9])\\1{4}[0-9]\\1{3}$/,\r\n cnpj: /^\\d{2}\\.?\\d{3}\\.?\\d{3}\\/?\\d{4}\\-?\\d{2}$/,\r\n char: /[a-zA-Z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+/,\r\n password: {\r\n regexValidate: /^([a-zA-Z0-9!z\\\"#$%&'()*+,-@./:;<=>?[\\]^_`{|}~])*$/g,\r\n charValidate: /[a-z]/,\r\n camelValidate: /[A-Z]/,\r\n numberValidate: /[0-9]/,\r\n symbolValidate: /([!\\\"#$%&'()*+,-\\/@./:;<=>?[\\]^_`{|}~])/g,\r\n changePasswordValidate:\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n },\r\n};\r\n\r\nexport const maskPattern = {\r\n Celular: [\r\n '(',\r\n /[1-9]/,\r\n /\\d/,\r\n ')',\r\n ' ',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n '-',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n ],\r\n Residencial: [\r\n '(',\r\n /[1-9]/,\r\n /\\d/,\r\n ')',\r\n ' ',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n '-',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n ],\r\n};\r\nexport const isEmail = (email) => {\r\n return !!email.match(validationPattern.email);\r\n};\r\nexport const isEmailValidateBackend = (email) => {\r\n return !!email.match(validationPattern.validationEmailBackend);\r\n};\r\nexport const isNumber = (number) => {\r\n return !!number.match(validationPattern.number);\r\n};\r\n\r\nexport const isValidTelefone = (telefone) => {\r\n return !!telefone.match(validationPattern.telefone);\r\n};\r\nexport const isLengthTelefone = (telefone) => {\r\n return !!(telefone.length > 10 || telefone.length < 12);\r\n};\r\nexport const isSequenciaIgualTelefone = (telefone) => {\r\n return !!telefone\r\n .substring(2)\r\n .match(validationPattern.sequenciaIgualTelefone);\r\n};\r\n\r\nexport const isValidMesmoTelefone = (telefone) => {\r\n return (\r\n isValidTelefone(telefone) &&\r\n isLengthTelefone(telefone) &&\r\n !isSequenciaIgualTelefone(telefone)\r\n );\r\n};\r\nexport const isValidCelular = (celular) => {\r\n return !!celular.match(validationPattern.celular);\r\n};\r\nexport const isLengthCelular = (celular) => {\r\n return !!(celular.length > 9 || celular.length < 11);\r\n};\r\nexport const isSequenciaIgualCelular = (celular) => {\r\n return !!celular.substring(2).match(validationPattern.sequenciaIgualCelular);\r\n};\r\n\r\nexport const isValidMesmoCelular = (celular) => {\r\n return (\r\n isValidCelular(celular) &&\r\n isLengthCelular(celular) &&\r\n !isSequenciaIgualCelular(celular)\r\n );\r\n};\r\n\r\nexport const isValidPassword = (password) => {\r\n return !!password.match(validationPattern.password.regexValidate);\r\n};\r\nexport const passwordHasSymbols = (password) => {\r\n return !!password.match(validationPattern.password.symbolValidate);\r\n};\r\nexport const passwordSize = (password) => {\r\n return !!(password.length >= 8 && password.length <= 22);\r\n};\r\n\r\nexport const isPartialEmail = (email) => {\r\n return !!email.includes('@');\r\n};\r\n\r\nexport const isChangePassword = (password) => {\r\n return !!password.match(validationPattern.password.changePasswordValidate);\r\n};\r\n\r\nexport const isRepeatMesmoNumero = (texto) => {\r\n if (!texto) return true;\r\n\r\n const numeros = texto.replace(/[^0-9]/gi, '');\r\n const { length } = numeros;\r\n const primeiroCaracterer = numeros.substr(0, 1);\r\n\r\n return primeiroCaracterer.repeat(length) === numeros;\r\n};\r\n\r\nconst isValidDigitosVerificadoresCNPJ = (cnpj) => {\r\n const cnpjSemCaracteres = cnpj.replaceAll(/[^0-9]/g, '');\r\n\r\n let tamanho = cnpjSemCaracteres.length - 2;\r\n let numeros = cnpjSemCaracteres.substring(0, tamanho);\r\n const digitos = cnpjSemCaracteres.substring(tamanho);\r\n let soma = 0;\r\n let pos = tamanho - 7;\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2) {\r\n pos = 9;\r\n }\r\n }\r\n\r\n let resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\r\n if (resultado != digitos.charAt(0)) return false;\r\n\r\n tamanho += 1;\r\n numeros = cnpjSemCaracteres.substring(0, tamanho);\r\n soma = 0;\r\n pos = tamanho - 7;\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2) {\r\n pos = 9;\r\n }\r\n }\r\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\r\n\r\n if (resultado != digitos.charAt(1)) return false;\r\n\r\n return true;\r\n};\r\n\r\nexport const isCNPJ = (cnpj) => {\r\n return (\r\n !!cnpj.match(validationPattern.cnpj) &&\r\n !isRepeatMesmoNumero(cnpj) &&\r\n isValidDigitosVerificadoresCNPJ(cnpj)\r\n );\r\n};\r\n\r\nexport const hasChar = (string) => {\r\n const matches = string.match(validationPattern.char);\r\n if (matches != null) {\r\n return true;\r\n }\r\n};\r\n","import Axios from 'axios';\r\nimport camelcaseKeys from 'camelcase-keys';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { trim } from 'lodash';\r\nimport qs from 'qs';\r\nimport React from 'react';\r\nimport { put, retry, select } from 'redux-saga/effects';\r\nimport snakeCaseKeys from 'snakecase-keys';\r\n\r\nimport { toast } from 'react-toastify';\r\nimport { Error } from '@unimed-fesp/components';\r\nimport { Creators as AuthActions } from '../ducks/auth';\r\nimport { Creators as UsuarioActions } from '../ducks/usuario';\r\n\r\nimport { OAuth, OAuthNewToken, legado } from '../../services/api';\r\nimport {\r\n USER_KEY,\r\n excludeData,\r\n getLocalObj,\r\n movcadUpt,\r\n persistData,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport { responseHandlerGet } from '../../utils/responseHandler';\r\n\r\nimport { toSnake } from '../../utils/toSnake';\r\nimport { isEmail } from '../../utils/validation';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport function* signIn(action) {\r\n try {\r\n const { auth } = action.payload;\r\n\r\n const tokenData = jwtDecode(auth.access_token);\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n if (usuario.role !== 'Adm') {\r\n yield put(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }\r\n // persistData(data);\r\n\r\n // Descomentar após finalização da tela de login\r\n // Request após login para atualizar sessão no movcad legado\r\n if (process.env.NODE_ENV !== 'development')\r\n yield put(UsuarioActions.postAtualizarSessaoLegadoRequest(auth));\r\n\r\n yield put(AuthActions.signInSuccess(auth, usuario));\r\n } catch (error) {\r\n yield put(AuthActions.signInError(error));\r\n }\r\n}\r\n\r\nexport function* refreshInvalidToken(action) {\r\n try {\r\n const codigoContratante = yield select(\r\n (state) => state.auth.usuario.codigoContratante\r\n );\r\n const invalidToken = jwtDecode(action.payload.invalidToken.access_token);\r\n\r\n const requestBody = {\r\n ...(codigoContratante && { codigoContratante }),\r\n UserId: invalidToken.unique_name[0],\r\n password: invalidToken.Validate,\r\n GrantType: 'refresh_token',\r\n RefreshToken: action.payload.invalidToken.refresh_token,\r\n UserType: !isEmail(invalidToken.unique_name[0])\r\n ? TipoPerfilUsuarioEnum.returnNameForRefresh[invalidToken.role]\r\n : null,\r\n };\r\n\r\n const response = yield retry(1, 2000, OAuth.post, `/oauth`, requestBody);\r\n\r\n const isSuccess = response.status > 199 || response.status < 299;\r\n\r\n const tokenData = jwtDecode(response.data.access_token);\r\n\r\n if (isSuccess) {\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n if (process.env.NODE_ENV !== 'development')\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoRequest(response.data)\r\n );\r\n\r\n persistData(response.data);\r\n yield put(AuthActions.signInSuccess(response.data, usuario));\r\n // history.push('/novo/lista');\r\n }\r\n } catch (error) {\r\n // Axios.get(`${REACT_APP_MOVCAD_LEGACY}/LogOut.aspx/EfetuarLogOut`)\r\n // .then(() => {\r\n // // const { unsuccessResponse } = responseHandlerGet(\r\n // // error.response,\r\n // // '',\r\n // // 'refreshInvalidToken',\r\n // // 200\r\n // // );\r\n // // put(AuthActions.refreshInvalidTokenError(unsuccessResponse));\r\n // excludeData();\r\n // })\r\n // .finally(() => {\r\n // window.location.replace(`${REACT_APP_MOVCAD_LEGACY}/Login.aspx`);\r\n // });\r\n // yield put(AuthActions.signOut());\r\n }\r\n}\r\n\r\nexport function* getChangeToken(action) {\r\n const { queryParams } = action.payload;\r\n queryParams.id = trim(queryParams.id);\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuthNewToken.get,\r\n `/oauth/token-contratante`,\r\n { params: queryParams }\r\n );\r\n\r\n if (response.status === 200) {\r\n persistData(response.data);\r\n movcadUpt();\r\n window.location.reload();\r\n }\r\n } catch (error) {\r\n yield put(AuthActions.getChangeTokenError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para a troca de contratantes.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postLogin(action) {\r\n try {\r\n const { usuarioParams } = action.payload;\r\n\r\n const queryUsuarioParams = snakeCaseKeys(usuarioParams);\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n OAuth.post,\r\n `/oauth`,\r\n queryUsuarioParams\r\n );\r\n\r\n const token = response.data;\r\n const tokenData = jwtDecode(token.access_token);\r\n\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n changePassword: tokenData.bt_alteracao_senha,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'postLogin',\r\n 200\r\n );\r\n if (usuario.changePassword === 'false') {\r\n persistData(token);\r\n }\r\n yield put(\r\n AuthActions.postLoginSuccess(\r\n response.data,\r\n usuario,\r\n isSuccess,\r\n usuario.changePassword\r\n )\r\n );\r\n yield put(UsuarioActions.postAtualizarSessaoLegadoRequest(token));\r\n\r\n // if (usuario.role !== 'Adm') {\r\n // yield put(\r\n // UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n // );\r\n // }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'postLogin',\r\n 200\r\n );\r\n yield put(AuthActions.postLoginError(unsuccessResponse, error.response));\r\n }\r\n}\r\n\r\nexport function* postRecaptchaVerify(action) {\r\n const { queryParams } = action.payload;\r\n\r\n const params = qs.stringify(queryParams, {\r\n addQueryPrefix: true,\r\n });\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuth.post,\r\n `/oauth/validar-captcha${params}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(AuthActions.postRecaptchaVerifySuccess(response, isSuccess));\r\n } catch (error) {\r\n yield put(AuthActions.postRecaptchaVerifyError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para validação de segurança do\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getRecuperarSenha(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield retry(1, 2000, OAuth.get, `/oauth/recuperar-senha`, {\r\n params,\r\n });\r\n\r\n const isSuccess = response.status === 204 || false;\r\n\r\n yield put(AuthActions.getRecuperarSenhaSuccess(response, isSuccess));\r\n } catch (error) {\r\n const errorStatusCode = error.response.status;\r\n yield put(AuthActions.getRecuperarSenhaError(error));\r\n // if (errorStatusCode !== 403) {\r\n // toast.error(\r\n // \r\n // Não foi possível realizar a conexão para envio de e-mail de\r\n // redefinição de senha.\r\n // \r\n // );\r\n // }\r\n }\r\n}\r\n\r\nexport function* postRecuperarSenha(action) {\r\n const { params } = action.payload;\r\n\r\n const queryUsuarioParams = snakeCaseKeys(params);\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuth.post,\r\n `/oauth/recuperar-senha`,\r\n queryUsuarioParams\r\n );\r\n\r\n const isSuccess = !!(response.status === 200 || 204);\r\n\r\n yield put(AuthActions.postRecuperarSenhaSuccess(response, isSuccess));\r\n } catch (error) {\r\n yield put(AuthActions.postRecuperarSenhaError(error));\r\n }\r\n}\r\n\r\nexport function* signOutLegado(action) {\r\n try {\r\n yield retry(1, 2000, legado.get, `/LogOut.aspx/EfetuarLogOut`);\r\n } catch (e) {\r\n console.log(e);\r\n } finally {\r\n if (getLocalObj(USER_KEY)) {\r\n excludeData();\r\n yield put(AuthActions.signOut());\r\n }\r\n }\r\n}\r\n","import { findKey } from 'lodash';\r\nimport React from 'react';\r\nimport { all, call, put, retry } from 'redux-saga/effects';\r\n\r\nimport qs from 'qs';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ListaActions } from '../ducks/lista';\r\n\r\nimport { listasAPI, listasMassaInicialAPI } from '../../services/api';\r\n\r\nimport { getBase64 } from '../../utils/array';\r\nimport {\r\n responseHandler,\r\n responseHandlerGet,\r\n} from '../../utils/responseHandler';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n ErrorToast,\r\n SuccessToast,\r\n WarningToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nimport { StatusListaAPIEnum, StatusListaRPAEnum } from '../../enums';\r\n\r\nexport function* deleteListaCsv(action) {\r\n try {\r\n const { params } = action.payload;\r\n const listas = params.filter((file) => file.nomeLista);\r\n yield all(\r\n listas.map((lista) =>\r\n call(listasAPI.delete, `/delete-csv/${lista.nomeLista}`)\r\n )\r\n );\r\n } catch (error) {\r\n toast.success(Erro ao Excluir Lista.);\r\n }\r\n}\r\nexport function* getDownloadArquivoOriginalLote(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(listasAPI.get, `/download-csv/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download.\r\n \r\n );\r\n }\r\n yield put(\r\n ListaActions.getDownloadArquivoLoteOriginalSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ListaActions.getDownloadArquivoLoteOriginalRenew());\r\n } catch (error) {\r\n yield put(ListaActions.getDownloadArquivoLoteOriginalError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioResumidoNovo(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/relatorio-resumido-novo`,\r\n params\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(\r\n ListaActions.postRelatorioResumidoNovoSuccess(response.data, isSuccess)\r\n );\r\n yield put(ListaActions.postRelatorioResumidoNovoRenew());\r\n } catch (error) {\r\n yield put(ListaActions.postRelatorioResumidoNovoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioDetalhadoNovo(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/relatorio-detalhado-novo`,\r\n params\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(\r\n ListaActions.postRelatorioDetalhadoNovoSuccess(response.data, isSuccess)\r\n );\r\n yield put(ListaActions.postRelatorioDetalhadoNovoRenew());\r\n } catch (error) {\r\n yield put(ListaActions.postRelatorioDetalhadoNovoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSearchListRpa(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/search-rpa`, params);\r\n if (response.status === 200) {\r\n const idsListas = response.data.data.map((lista) => lista.idLista);\r\n\r\n let listasSinalizadas;\r\n\r\n if (idsListas.length > 0) {\r\n listasSinalizadas = yield call(\r\n listasAPI.post,\r\n `/lista-sinalizacao-rn412`,\r\n {\r\n ids_lista: idsListas,\r\n }\r\n );\r\n }\r\n\r\n const listas = response.data.data.map((lista) => {\r\n const listaSinalizada = listasSinalizadas.data.find(\r\n (item) => item.idLista === lista.idLista\r\n );\r\n if (listaSinalizada) {\r\n return {\r\n ...lista,\r\n ...listaSinalizada,\r\n };\r\n }\r\n return lista;\r\n });\r\n\r\n const data = { ...response.data, data: listas };\r\n\r\n yield put(ListaActions.postSearchListRpaResponse(data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi Possível buscar listas RPA.);\r\n }\r\n}\r\n\r\nexport function* getStatusListRpa() {\r\n const data = yield call(listasAPI.get, `/status-rpa`);\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListRpaResponse(response, true));\r\n }\r\n}\r\nexport function* postSearchList(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/search-list`, params);\r\n\r\n if (response.status === 200) {\r\n const idsListas = response.data.data.map((lista) => lista.idLista);\r\n\r\n let listasSinalizadas;\r\n\r\n if (idsListas.length > 0) {\r\n listasSinalizadas = yield call(\r\n listasAPI.post,\r\n `/lista-sinalizacao-rn412`,\r\n {\r\n ids_lista: idsListas,\r\n }\r\n );\r\n }\r\n\r\n const listas = response.data.data.map((lista) => {\r\n const listaSinalizada = listasSinalizadas.data.find(\r\n (item) => item.idLista === lista.idLista\r\n );\r\n if (listaSinalizada) {\r\n return {\r\n ...lista,\r\n ...listaSinalizada,\r\n };\r\n }\r\n return lista;\r\n });\r\n\r\n const data = { ...response.data, data: listas };\r\n yield put(ListaActions.postSearchListResponse(data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi Possível buscar listas.);\r\n }\r\n}\r\n\r\nexport function* getStatusListContratante(action) {\r\n const data = yield call(\r\n listasAPI.get,\r\n `/status-list/contractor-code/${parseInt(\r\n action.payload.idContrantante\r\n )}?withFakeList=${action.payload.mostrarListaFake}`\r\n );\r\n\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n yield put(ListaActions.getStatusListContratanteResponse(response, true));\r\n }\r\n}\r\nexport function* getStatusListNestle(action) {\r\n const data = yield call(\r\n listasAPI.get,\r\n `/status-list/nestle?withFakeList=${action.payload.mostrarListaFake}`\r\n );\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListNestleResponse(response, true));\r\n }\r\n}\r\n\r\nexport function* getStatusListAdmin(action) {\r\n const data = yield call(listasAPI.get, `/status-list`);\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListAdminResponse(response, true));\r\n }\r\n}\r\nexport function* getListas(action) {\r\n const { TipoStatus } = action.payload;\r\n\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n try {\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...(status !== StatusListaAPIEnum.returnNameForTab.Todas && {\r\n idStatus: status,\r\n }),\r\n };\r\n\r\n const params = qs.stringify(queryString, {\r\n addQueryPrefix: true,\r\n skipNulls: true,\r\n arrayFormat: 'repeat',\r\n });\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n objResponse.data.status = findKey(TipoStatus, (o) => o === status);\r\n return objResponse;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getListas',\r\n 200\r\n );\r\n\r\n const listas = response.map((resp) => resp.data);\r\n const dataLista = {\r\n response: listas,\r\n isSuccess,\r\n };\r\n yield put(\r\n ListaActions.getListasSuccess(dataLista.response, response.isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.getListasError(error));\r\n }\r\n}\r\n\r\nexport function* postListaInativas(action) {\r\n const { contratante } = action.payload;\r\n\r\n const request = yield {\r\n contratante: contratante.codigoContratante,\r\n solicitante: contratante.idUsuarioLogado,\r\n };\r\n\r\n try {\r\n const { data } = yield call(listasAPI.post, '/lista-inativos', request);\r\n\r\n if (data.success) {\r\n yield put(ListaActions.postListaInativasSuccess(data.data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi possível criar lista.);\r\n }\r\n}\r\n\r\nexport function* getListaInativas(action) {\r\n const { data } = yield call(\r\n listasAPI.get,\r\n `lista-inativos/${action.payload.idLista}`\r\n );\r\n if (data.success) {\r\n yield put(ListaActions.getListaInativasSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* putListaInativas(action) {\r\n const request = yield {\r\n idLista: action.payload.params.idLista,\r\n modalidade: action.payload.params.modalidade,\r\n descricao: action.payload.params.descricao,\r\n };\r\n\r\n const { data } = yield call(listasAPI.put, 'lista-inativos/', request);\r\n if (data.success) {\r\n yield put(ListaActions.putListaInativasSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* getListaBeneficiario(action) {\r\n const params = {\r\n pageNumber: action.payload.params.pageNumber || 1,\r\n pageSize: action.payload.params.pageSize || 10,\r\n };\r\n const request = {\r\n ...action.payload.params,\r\n };\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${action.payload.params.idLista}/pesquisa-beneficiario`,\r\n request,\r\n { params }\r\n );\r\n if (data.success) {\r\n yield put(ListaActions.getListaBeneficiarioSuccess(data, true));\r\n }\r\n}\r\n\r\nexport function* postSalvarBeneficiarioInativos(action) {\r\n const { params: request } = action.payload;\r\n const { idLista } = request;\r\n\r\n try {\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${idLista}/salvar-beneficiario`,\r\n request\r\n );\r\n\r\n if (data.success) {\r\n yield put(\r\n ListaActions.postSalvarBeneficiarioInativosSuccess(data.data, true)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao salvar beneficiario.');\r\n } catch (error) {\r\n toast.error({error.message});\r\n yield put(ListaActions.postSalvarBeneficiarioInativosError(error));\r\n }\r\n}\r\n\r\nexport function* postFamiliar(action) {\r\n const { idLista, beneficiarios } = action.payload;\r\n\r\n try {\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${idLista}/salvar-familiar`,\r\n beneficiarios\r\n );\r\n\r\n if (data.success)\r\n yield put(ListaActions.postFamiliarResponse(data.data, data.success));\r\n else\r\n yield put(\r\n ListaActions.postFamiliarResponse(\r\n {},\r\n data.success,\r\n 'Erro ao atualizar beneficiários'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.postFamiliarResponse({}, false, error));\r\n }\r\n}\r\n\r\nexport function* getListaGrupoFamiliar(action) {\r\n const { data } = yield call(\r\n listasAPI.get,\r\n `lista-inativos/${action.payload.id}/grupo-familiar`\r\n );\r\n\r\n if (data.success) {\r\n yield put(ListaActions.getListaGrupoFamiliarSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* getListaPorStatus(action) {\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n const queryString = {\r\n ...queryParams,\r\n ...(tipoStatus !== StatusListaAPIEnum.returnNameForTab.Todas && {\r\n idStatus: tipoStatus,\r\n }),\r\n };\r\n\r\n try {\r\n const response = yield retry(10, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = findKey(\r\n StatusListaAPIEnum.returnNameForTab,\r\n (o) => o === tipoStatus\r\n );\r\n // response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getListaPorStatus',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n ListaActions.getListasPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getListaPorStatus',\r\n 200\r\n );\r\n\r\n yield put(ListaActions.getListasPorStatusError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postArquivoImportacao(action) {\r\n const { novoArquivoRequest } = action.payload;\r\n\r\n const body = {\r\n idLista: novoArquivoRequest[0].idLista,\r\n arquivo: novoArquivoRequest[0].base64,\r\n nomeArquivo: novoArquivoRequest[0].name,\r\n idHub: null,\r\n };\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/arquivo-importacao`, body);\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n if (isSuccess) {\r\n yield put(\r\n ListaActions.postArquivoImportacaoSuccess(novoArquivoRequest[0])\r\n );\r\n toast.success(\r\n Arquivo(s) alterado com sucesso.\r\n );\r\n } else throw new Error('Erro ao alterar arquivo.');\r\n } catch (error) {\r\n yield put(ListaActions.postArquivoImportacaoError(error));\r\n toast.error(\r\n \r\n Erro ao importar o arquivo:\r\n
\r\n {novoArquivoRequest.nomeArquivo}.\r\n
\r\n {error.response.data.errors.Messages}.\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport function* validarLoteCsv(action) {\r\n const { params } = action.payload;\r\n\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const fileToBase64 = yield getBase64(file.file);\r\n\r\n const fileListaRequest = {\r\n nome_arquivo: file.name,\r\n arquivo: fileToBase64,\r\n codigo_contratante: params?.codigoContratante,\r\n };\r\n\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/upload-csv`,\r\n fileListaRequest\r\n );\r\n\r\n const { idLista, TipoMovimentacao, codigoContratante, ...newFile } =\r\n file;\r\n\r\n yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/validar-lista-progress/${response.data.nomeLista}/${params?.idUsuarioLogado}`\r\n );\r\n\r\n newFile.idLista = response.data.idLista;\r\n newFile.codigoContratante = params?.codigoContratante;\r\n newFile.nomeLista = response.data.nomeLista;\r\n newFile.progress = 100;\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n isLoteSuccess.push(isSuccess);\r\n\r\n yield put(ListaActions.importarLoteUpdate(newFile));\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(newFile.idFile, false, true)\r\n );\r\n } catch (err) {\r\n isLoteSuccess.push(isSuccess);\r\n\r\n if (err.response.status === 403) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n if (err.response.status === 400) {\r\n if (\r\n err.response.data.log_errors &&\r\n err.response.data.status_progress === 2\r\n ) {\r\n toast.error(\r\n \r\n A lista foi criada com sucesso, porém existem inconsistências\r\n retornadas pelo progress, verifique o log de erros.\r\n
\r\n {file.name}.\r\n
\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n file.name,\r\n err.response.data.erros_base64 || err.response.data.log_errors\r\n )\r\n );\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n );\r\n } else {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.errors.Messages}\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(file.idFile, true, false)\r\n );\r\n }\r\n });\r\n\r\n const isSuccess = isLoteSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isLoteSuccess.some((resp) => !!resp);\r\n const isError = isLoteSuccess.every((resp) => !resp);\r\n if ((isSuccess || isPartialSuccess) && !isError) {\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, isPartialSuccess));\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Arquivo(s) Validado(s) com sucesso.\r\n \r\n );\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Somente os arquivos com sucesso serão importados.\r\n \r\n );\r\n } else {\r\n yield put(\r\n ListaActions.importarLoteError(\r\n 'Erro ao carregar o lote atual.',\r\n isError\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.importarLoteError(error, true));\r\n }\r\n}\r\nexport function* importarLoteCsv(action) {\r\n const { params } = action.payload;\r\n\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const fileListaRequest = {\r\n arquivo: file,\r\n codigo_contratante: params?.codigoContratante,\r\n id_usuario_solicitante: params?.idUsuarioLogado,\r\n criar_lista: true,\r\n };\r\n\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/upload-csv`,\r\n fileListaRequest\r\n );\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n isLoteSuccess.push(isSuccess);\r\n\r\n if (isLoteSuccess.length === params.newFiles.length) {\r\n toast.success(\r\n \r\n Arquivo(s) Importado(s) com sucesso.\r\n \r\n );\r\n yield put(ListaActions.importarLoteCsvSuccess(true));\r\n setTimeout(() => history.go(0), 1500);\r\n }\r\n } catch (err) {\r\n toast.error(\r\n \r\n Erro ao Importar arquivo:\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n });\r\n } catch (error) {\r\n toast.error(\r\n \r\n Erro ao Importar arquivo:\r\n
\r\n {error.response.data.message}\r\n
\r\n );\r\n }\r\n}\r\nexport function* importarLote(action) {\r\n const { params } = action.payload;\r\n\r\n const newLista = yield {\r\n cdContratante: params?.codigoContratante,\r\n tipoLista: params?.TipoLista,\r\n };\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const { data } = yield retry(1, 2000, listasAPI.post, ``, newLista);\r\n\r\n const fileToBase64 = yield getBase64(file.file);\r\n const { idLista, TipoMovimentacao, codigoContratante, ...newFile } =\r\n file;\r\n\r\n newFile.idLista = data.idLista;\r\n newFile.codigoContratante = params?.codigoContratante;\r\n newFile.nomeLista = data.nmLista;\r\n\r\n yield put(ListaActions.importarLoteUpdate(newFile));\r\n\r\n const fileListaRequest = {\r\n idLista: data.idLista,\r\n arquivo: fileToBase64,\r\n nomeArquivo: file.name,\r\n idHub: params.connection.connectionId,\r\n };\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/arquivo-importacao`,\r\n fileListaRequest\r\n );\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n\r\n isLoteSuccess.push(isSuccess);\r\n\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(newFile.idFile, false, true)\r\n );\r\n } catch (err) {\r\n isLoteSuccess.push(isSuccess);\r\n if (err.response.status === 403) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n if (err.response.status === 400) {\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n file.name,\r\n err.response.data && err.response.data.errors.Messages\r\n )\r\n );\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n );\r\n } else {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.errors.Messages}\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(file.idFile, true, false)\r\n );\r\n }\r\n });\r\n\r\n const isSuccess = isLoteSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isLoteSuccess.some((resp) => !!resp);\r\n const isError = isLoteSuccess.every((resp) => !resp);\r\n if ((isSuccess || isPartialSuccess) && !isError) {\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, isPartialSuccess));\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Arquivo(s) carregado(s) com sucesso.\r\n \r\n );\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Somente os arquivos com sucesso serão importados.\r\n \r\n );\r\n } else {\r\n yield put(\r\n ListaActions.importarLoteError(\r\n 'Erro ao carregar o lote atual.',\r\n isError\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n yield put(ListaActions.importarLoteError(error, true));\r\n }\r\n}\r\n\r\nexport function* putListas(action) {\r\n try {\r\n const { listas } = action.payload;\r\n const response = yield all(\r\n listas.map((lista) =>\r\n call(listasAPI.put, ``, {\r\n idLista: lista.idLista,\r\n idStatusLista: StatusListaAPIEnum.returnId.Registrada,\r\n dcDescricao: lista.descricao,\r\n })\r\n )\r\n );\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.putListasSuccess(listas, isSuccess));\r\n toast.success(\r\n \r\n Sucesso ao alterar a(s) informações!\r\n \r\n );\r\n } else throw new Error('Erro ao salvar informações');\r\n } catch (error) {\r\n yield put(ListaActions.putListasError(error));\r\n toast.error(\r\n Erro ao alterar a(s) informações!\r\n );\r\n }\r\n}\r\n\r\nexport function* patchListaStatus(action) {\r\n try {\r\n const { listas } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) => call(listasAPI.patch, `Status`, lista))\r\n );\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.patchListaStatusSuccess(isSuccess));\r\n toast.success(\r\n \r\n Sucesso ao alterar o status da lista!\r\n \r\n );\r\n yield put(ListaActions.deleteListaRenew());\r\n yield put(ListaActions.putListasRenew());\r\n yield put(ListaActions.patchListaStatusRenew());\r\n history.push('/novo/lista');\r\n } else throw new Error('Erro ao alterar o status');\r\n } catch (error) {\r\n yield put(ListaActions.patchListaStatusError(error));\r\n toast.error(\r\n Erro ao alterar o status da lista!\r\n );\r\n }\r\n}\r\n\r\nexport function* deleteLista(action) {\r\n try {\r\n const { listas } = action.payload;\r\n\r\n const listasComIdLista = listas.filter(\r\n (file) => file.idLista !== null && file.idLista !== undefined\r\n );\r\n\r\n const response = yield all(\r\n listasComIdLista.map((lista) =>\r\n call(listasAPI.delete, `/${lista.idLista}`)\r\n )\r\n );\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.deleteListaSuccess(isSuccess, listas));\r\n toast.success(\r\n Lista(s) removida(s) com sucesso.\r\n );\r\n } else\r\n yield put(ListaActions.deleteListaError('Erro ao deletar as listas.'));\r\n } catch (error) {\r\n yield put(ListaActions.deleteListaError(error));\r\n }\r\n}\r\n\r\nexport function* patchListaEnvioRPA(action) {\r\n try {\r\n const { listas, isActive } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(2, 2000, listasAPI.patch, `${lista.idLista}/enviar-rpa`, {\r\n ativo: isActive,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n listas,\r\n 'idLista',\r\n 'patchListaEnvioRPA',\r\n 204\r\n );\r\n\r\n yield put(\r\n ListaActions.patchListaEnvioRPASuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.patchListaEnvioRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListasRPA(action) {\r\n const { TipoStatus } = action.payload;\r\n\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n try {\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...{\r\n idStatusRpa:\r\n status !== StatusListaRPAEnum.returnNameForTab.Todas\r\n ? status\r\n : null,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n },\r\n };\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n objResponse.data.status = findKey(TipoStatus, (o) => o === status);\r\n return objResponse;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getListasRPA',\r\n 200\r\n );\r\n\r\n const listas = response.map((resp) => resp.data);\r\n\r\n const dataLista = {\r\n response: listas,\r\n isSuccess,\r\n };\r\n yield put(\r\n ListaActions.getListasRPASuccess(dataLista.response, response.isSuccess)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(ListaActions.getListasRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListaPorStatusRPA(action) {\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n const queryString = {\r\n ...queryParams,\r\n ...{\r\n idStatusRpa:\r\n tipoStatus !== StatusListaRPAEnum.returnNameForTab.Todas\r\n ? tipoStatus\r\n : null,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n },\r\n };\r\n\r\n try {\r\n const response = yield retry(10, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = findKey(\r\n StatusListaRPAEnum.returnNameForTab,\r\n (o) => o === tipoStatus\r\n );\r\n // response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getListaPorStatusRPA',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n ListaActions.getListasRPAPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getListaPorStatusRPA',\r\n 200\r\n );\r\n\r\n yield put(ListaActions.getListasRPAPorStatusError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de listas.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* patchStatusRPA(action) {\r\n try {\r\n const { listas, tipoStatus } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(2, 2000, listasAPI.patch, `${lista.idLista}/status-rpa`, {\r\n idStatus: tipoStatus,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n listas,\r\n 'idLista',\r\n 'patchStatusRPA',\r\n 204\r\n );\r\n\r\n yield put(ListaActions.patchStatusRPASuccess(unsuccessResponse, isSuccess));\r\n } catch (error) {\r\n yield put(ListaActions.patchStatusRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getRelatorioRPA(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/relatorio-${tipoRelatorio}`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(ListaActions.getRelatorioRPASuccess(response.data, isSuccess));\r\n yield put(ListaActions.getRelatorioRPARenew());\r\n } catch (error) {\r\n yield put(ListaActions.getRelatorioRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListaDetalhe(action) {\r\n const { idLista } = action.payload;\r\n try {\r\n const response = yield retry(2, 2000, listasAPI.get, `/${idLista}`);\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(ListaActions.getListaDetalheSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(ListaActions.getListaDetalheSuccess(error));\r\n }\r\n}\r\nexport function* getListaMassaInicial(action) {\r\n try {\r\n const { params } = action.payload;\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, `/massa-inicial`, {\r\n params,\r\n });\r\n\r\n const success = objResponse.status > 199 && objResponse.status < 300;\r\n\r\n if (success) {\r\n yield put(ListaActions.getListasMassaInicialSuccess(objResponse.data));\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.patchStatusRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getArquivoMassaInicial(action) {\r\n const { idLista, idArquivo, nomeArquivoDownload } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/${idLista}/arquivo-massa-inicial`,\r\n { params: { idArquivo } }\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(\r\n ListaActions.getArquivoMassaInicialSuccess(\r\n response.data,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.getArquivoMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* getTermoResponsabilidadeMassaInicial(action) {\r\n const { idLista, nomeArquivoDownload } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/${idLista}/arquivo-termo-responsabilidade`\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(\r\n ListaActions.getTermoResponsabilidadeMassaInicialSuccess(\r\n response.data,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.getTermoResponsabilidadeMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* postArquivoMassaInicial(action) {\r\n const { body } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasMassaInicialAPI.post,\r\n `/massa-inicial`,\r\n body\r\n );\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n const { isValid } = response.data.validationResult;\r\n\r\n if (isSuccess) {\r\n if (isValid) {\r\n yield put(ListaActions.postArquivoMassaInicialSuccess(response.data));\r\n } else {\r\n const [error] = response.data.validationResult.errors;\r\n yield put(\r\n ListaActions.postArquivoMassaInicialError(error.errorMessage)\r\n );\r\n\r\n toast.error({error.errorMessage});\r\n }\r\n }\r\n } catch (error) {\r\n if (error.response.status === 500)\r\n toast.error(Erro ao importar massa incial);\r\n else toast.error({error.errorMessage});\r\n yield put(ListaActions.postArquivoMassaInicialError(error.errorMessage));\r\n }\r\n}\r\n\r\nexport function* patchValidacaoListaTransferencia(action) {\r\n const { listas } = action.payload;\r\n\r\n try {\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(\r\n 2,\r\n 2000,\r\n listasAPI.patch,\r\n `${lista.idLista}/validar-transferencia`,\r\n { descricao: lista.descricao }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n if (isSuccess) {\r\n yield put(ListaActions.patchValidacaoListaTrasnferenciaSuccess([], true));\r\n toast.success(\r\n \r\n Sucesso ao alterar o status da lista!\r\n \r\n );\r\n history.push('/novo/lista');\r\n } else\r\n yield put(\r\n ListaActions.patchValidacaoListaTrasnferenciaError(\r\n 'Erro ao enviar para validação'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.patchValidacaoListaTrasnferenciaError(error));\r\n }\r\n}\r\n\r\nexport function* patchAceiteCompartilhamento(action) {\r\n const { body, idLista } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasMassaInicialAPI.patch,\r\n `/${idLista}/aceite-compartilhamento-termo`,\r\n body\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(ListaActions.patchAceiteCompartilhamentoMassaInicialSuccess());\r\n }\r\n } catch (error) {\r\n if (error.status && error.status === 400)\r\n toast.error({error.errors[0]});\r\n\r\n yield put(ListaActions.patchAceiteCompartilhamentoMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* postArquivoImportacaoNestle(action) {\r\n const { params } = action.payload;\r\n const arquivoNestle = {\r\n id: params.newFiles[0].idFile,\r\n arquivo: params.newFiles[0].base64,\r\n nomeArquivo: params.newFiles[0].name,\r\n idHub: params.connection.connectionId || 0,\r\n };\r\n\r\n yield put(ListaActions.importarLoteUpdate(params.newFiles[0]));\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/arquivo-importacao-nestle`,\r\n arquivoNestle\r\n );\r\n\r\n const isSuccess = yield response.status === 204 || false;\r\n if (isSuccess) {\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(\r\n params.newFiles[0].idFile,\r\n false,\r\n true\r\n )\r\n );\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, false));\r\n toast.success(\r\n \r\n Arquivo(s) carregado(s) com sucesso.\r\n \r\n );\r\n }\r\n } catch (error) {\r\n if (error.response.status === 400) {\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n params.newFiles[0].name,\r\n error.response.data && error.response.data.errors.Messages\r\n )\r\n );\r\n }\r\n\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {params.newFiles[0].name}.\r\n {error.response.status !== 400 && (\r\n <>\r\n
\r\n {error.response.data ? error.response.data.errors.Messages : ''}.\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\n// Action types\r\n\r\nexport const Types = {\r\n GET_MODALIDADES_REQUEST: '@modalidade/GET_MODALIDADES_REQUEST',\r\n GET_MODALIDADES_SUCCESS: '@modalidade/GET_MODALIDADES_SUCCESS',\r\n GET_MODALIDADES_ERROR: '@modalidade/GET_MODALIDADES_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n};\r\n\r\nexport default function modalidade(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_MODALIDADES_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.GET_MODALIDADES_SUCCESS: {\r\n draft.loading = false;\r\n draft.response = action.payload.response;\r\n draft.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_MODALIDADES_ERROR: {\r\n draft.loading = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getModalidadesRequest: (params) => ({\r\n type: Types.GET_MODALIDADES_REQUEST,\r\n payload: { params },\r\n }),\r\n getModalidadesSuccess: (response, success) => ({\r\n type: Types.GET_MODALIDADES_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getModalidadesError: (error) => ({\r\n type: Types.GET_MODALIDADES_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\n\r\nimport { retry, put } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ModalidadeActions } from '../ducks/modalidade';\r\n\r\nimport { contratantesAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* consultaModalidades(action) {\r\n const { codigoContratante, getInativos } = action.payload.params;\r\n if (codigoContratante)\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `${codigoContratante}/modalidades`,\r\n { params: { inativos: getInativos } }\r\n );\r\n\r\n const success = response.status === 200 || false;\r\n\r\n const modalidades = response.data;\r\n\r\n const dataModalidades = {\r\n ...action.payload,\r\n response: modalidades,\r\n success,\r\n };\r\n\r\n yield put(\r\n ModalidadeActions.getModalidadesSuccess(\r\n dataModalidades.response,\r\n dataModalidades.success\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ModalidadeActions.getModalidadesError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de modalidades.\r\n \r\n );\r\n }\r\n}\r\n","import { set, isEmpty, get, uniqueId } from 'lodash';\r\nimport { getOccurrence } from './array';\r\nimport { TipoCardRoot, TipoConsultaParametrizacaoEnum } from '../enums';\r\n\r\nconst GRUPO_NIVEL = 0;\r\nconst CONTRATANTE_NIVEL = 1;\r\nconst BASE_PATH = [0, 'subOptions'];\r\nconst CONTRATANTE_TREE = 0;\r\nconst MODALIDADE_TREE = 1;\r\nconst TERMO_TREE = 2;\r\n\r\nexport const checkAllNested = (options, check) => {\r\n options.check = check;\r\n options.subOptions.map((sub) => {\r\n sub.check = check;\r\n // getCountInHeader(sub, false);\r\n if (sub.subOptions.length > 0) checkAllNested(sub, check);\r\n });\r\n};\r\n\r\nexport const countAllNested = (options) => {\r\n options.count = getOccurrence(options.subOptions, (s) => s.check === true);\r\n options.subOptions.map((sub) => {\r\n if (sub.isHeader)\r\n sub.count = getOccurrence(sub.subOptions, (s) => s.check === false);\r\n if (sub.subOptions.length > 0) countAllNested(sub);\r\n });\r\n};\r\n\r\nexport const countAllParents = (options, path) => {\r\n const pathToAtual = [];\r\n path.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n const option = get(options, pathToAtual);\r\n if (option.isHeader)\r\n option.count = getOccurrence(\r\n option.subOptions,\r\n (s) => s.check === true\r\n );\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const checkAllParents = (options, check, pathName) => {\r\n const pathToAtual = [];\r\n pathName.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n const option = get(options, pathToAtual);\r\n option.check = check;\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const getCountInHeader = (options, check, pathName) => {\r\n const pathToAtual = [];\r\n // options.map((sub) => {\r\n // sub.check = check;\r\n // // getCountInHeader(sub, false);\r\n // if (sub.isHeader)\r\n // sub.count = getOccurrence(sub.subOptions, (o) => o.check === check);\r\n // if (sub.subOptions.length > 0) getCountInHeader(sub.subOptions, check);\r\n // });\r\n\r\n pathName.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n if (get(options, pathToAtual).isHeader)\r\n get(options, pathToAtual).count = getOccurrence(\r\n get(options, pathToAtual).subOptions,\r\n (o) => o.check === true\r\n );\r\n\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const handleContagem = (card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[0])\r\n return handleContagemContratante(card);\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[1])\r\n return handleContagemComplemento(card);\r\n};\r\n\r\nconst handleContagemComplemento = (card) => {\r\n const contagem = {\r\n contratantes: 0,\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n const contratanteNode = card?.options[0]?.subOptions.map((a) => {\r\n if (a.check) contagem.contratantes += 1;\r\n const modalidadeNode = a?.subOptions[0]?.subOptions.map((sub) => {\r\n if (sub.check) contagem.modalidades += 1;\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (_sub.check) contagem.termos += 1;\r\n });\r\n });\r\n });\r\n\r\n return contagem;\r\n};\r\n\r\nconst handleContagemContratante = (card) => {\r\n const contagem = {\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n\r\n const modalidadeNode = card?.options[0]?.subOptions.map((sub) => {\r\n if (sub.check) contagem.modalidades += 1;\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (_sub.check) contagem.termos += 1;\r\n });\r\n });\r\n\r\n return contagem;\r\n};\r\n\r\nexport const getContagem = (type, contagem) => {\r\n const types = {\r\n Contratante: contagem?.contratantes,\r\n Modalidade: contagem?.modalidades,\r\n Termo: contagem?.termos,\r\n };\r\n return types[type];\r\n};\r\nexport const setContagem = (type, card, contagem) => {\r\n const types = {\r\n Contratante: () => (card.contagem.contratantes = contagem),\r\n Modalidade: () => (card.contagem.modalidades = contagem),\r\n Termo: () => (card.contagem.termos = contagem),\r\n };\r\n return types[type]();\r\n};\r\n\r\nexport const unCheckIfAllUnchecked = (option, path, count) => {\r\n if (count === 0) get(option, path.slice(0, path.length - 2)).check = false;\r\n};\r\n\r\nconst setPath = (\r\n nivel,\r\n tipoParametrizacao,\r\n Section,\r\n contratantePath,\r\n modalidadePath,\r\n termoPath\r\n) => {\r\n const pathNiveis = {\r\n Contratante: {\r\n Header: {\r\n 0: [0],\r\n 1: [...BASE_PATH],\r\n 2: [...BASE_PATH, ...(modalidadePath || [])],\r\n },\r\n Content: {\r\n 0: [...BASE_PATH],\r\n 1: [...BASE_PATH],\r\n 2: [...BASE_PATH, ...(modalidadePath || []), ...BASE_PATH],\r\n },\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n Header: {\r\n 0: [0],\r\n 1: [...BASE_PATH, ...(contratantePath || [])],\r\n 2: [\r\n ...BASE_PATH,\r\n ...(contratantePath || []),\r\n ...BASE_PATH,\r\n ...(modalidadePath || []),\r\n ],\r\n },\r\n Content: {\r\n 0: [...BASE_PATH],\r\n 1: [...BASE_PATH, ...(contratantePath || []), ...BASE_PATH],\r\n 2: [\r\n ...BASE_PATH,\r\n ...(contratantePath || []),\r\n ...BASE_PATH,\r\n ...(modalidadePath || []),\r\n ...BASE_PATH,\r\n ],\r\n },\r\n },\r\n };\r\n\r\n return pathNiveis[tipoParametrizacao][Section][nivel];\r\n};\r\n\r\nexport const emptyCard = (name) => {\r\n return {\r\n name,\r\n count: 0,\r\n id: name,\r\n previousPath: [],\r\n currentPath: [0],\r\n nextPath: BASE_PATH,\r\n subOptions: [],\r\n isHeader: true,\r\n check: false,\r\n removeCheck: true,\r\n nodeLoading: false,\r\n cardLoading: false,\r\n hasSubOptions: false,\r\n };\r\n};\r\n\r\nexport const setNivelHeader = (\r\n nivel,\r\n path,\r\n selectedCard,\r\n count,\r\n subOptions,\r\n checkAll\r\n) => {\r\n const niveis = {\r\n 0: [\r\n {\r\n name: `Contratante`,\r\n count,\r\n id: 'Contratante',\r\n previousPath: [],\r\n currentPath: [0],\r\n nextPath: BASE_PATH,\r\n subOptions: subOptions || [],\r\n isHeader: true,\r\n check: checkAll,\r\n loading: true,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n 1: [\r\n {\r\n name: 'Modalidade',\r\n count,\r\n id: 'Modalidade',\r\n previousPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || [])]\r\n : [],\r\n currentPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || []), 0]\r\n : [0],\r\n nextPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || []), 0, 'subOptions']\r\n : BASE_PATH,\r\n subOptions: subOptions || [],\r\n isHeader: true,\r\n check: checkAll,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n 2: [\r\n {\r\n name: 'Termo',\r\n count,\r\n id: 'Termo',\r\n subOptions: subOptions || [],\r\n previousPath: [...(path || [])],\r\n currentPath: [...(path || []), 0],\r\n nextPath: [...(path || []), ...BASE_PATH],\r\n isHeader: true,\r\n check: checkAll,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n };\r\n\r\n return niveis[nivel] || [];\r\n};\r\n\r\nconst setNivelContent = (\r\n obj,\r\n objNivel,\r\n index,\r\n codigoContratante,\r\n path,\r\n isSuccess,\r\n subOptions\r\n) => {\r\n const objNiveis = {\r\n 0: {\r\n name: `${obj.codigoContratante} - ${obj.nomeContratante}`,\r\n id: obj.codigoContratante,\r\n previousPath: BASE_PATH,\r\n currentPath: BASE_PATH.concat([index]),\r\n nextPath: BASE_PATH.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoContratante: obj.codigoContratante,\r\n numeroInscricao: obj.numeroInscricao,\r\n nomeContratante: obj.nomeContratante,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n nextRequest: 'Modalidade',\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n 1: {\r\n name: `${obj.codigoModalidade}`,\r\n id: obj.codigoModalidade,\r\n previousPath: path,\r\n currentPath: path.concat([index]),\r\n nextPath: path.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoContratante,\r\n codigoModalidade: obj.codigoModalidade,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n nextRequest: 'Termo',\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n 2: {\r\n name: `${obj.codigoTermo}`,\r\n id: obj.codigoTermo,\r\n previousPath: path,\r\n currentPath: path.concat([index]),\r\n nextPath: path.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoTermo: obj.codigoTermo,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n isLast: true,\r\n removeCheck: false,\r\n },\r\n };\r\n\r\n return objNiveis[objNivel];\r\n};\r\n\r\nexport const setComplemento = (selectedCard) => {\r\n let contratanteCheckAll = true;\r\n const contagem = {\r\n contratantes: 0,\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n const contratanteNodeArray = [];\r\n const contratanteNode = selectedCard?.options[0]?.subOptions.map((a) => {\r\n if (!a.check) contratanteCheckAll = false;\r\n let modalidadeCheckAll = true;\r\n const modalidadeNodeArray = [];\r\n const modalidadeNode = a?.subOptions[0]?.subOptions.map((sub) => {\r\n if (!sub.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n const termoNodeArray = [];\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (!_sub.check) termoCheckAll = false;\r\n if (_sub.check === true)\r\n termoNodeArray.push({\r\n codigoTermo: _sub.codigoTermo,\r\n });\r\n });\r\n\r\n if (!termoCheckAll) modalidadeCheckAll = false;\r\n contagem.termos += termoNodeArray.length;\r\n if (sub.check === true)\r\n modalidadeNodeArray.push({\r\n codigoModalidade: sub.codigoModalidade,\r\n checkAll: termoCheckAll,\r\n termoNode: termoNodeArray,\r\n });\r\n });\r\n\r\n if (!modalidadeCheckAll) contratanteCheckAll = false;\r\n contagem.modalidades += modalidadeNodeArray.length;\r\n if (a.check === true)\r\n contratanteNodeArray.push({\r\n codigoContratante: a.codigoContratante,\r\n numeroInscricao: a.numeroInscricao,\r\n nomeContratante: a.nomeContratante,\r\n checkAll: modalidadeCheckAll,\r\n modalidadeNode: modalidadeNodeArray,\r\n });\r\n });\r\n\r\n contagem.contratantes = contratanteNodeArray.length;\r\n const parametrizacaoRoot = {\r\n codigoGrupo: selectedCard.complemento?.codigoGrupo,\r\n nomeGrupo: selectedCard.complemento?.nomeGrupo,\r\n codigoComplemento: selectedCard.complemento?.codigoComplemento,\r\n checkAll: contratanteCheckAll,\r\n contratanteNode: contratanteNodeArray,\r\n };\r\n return { contagem, parametrizacaoRoot };\r\n};\r\n\r\nexport const setContratante = (selectedCard) => {\r\n let modalidadeCheckAll = true;\r\n const contagem = {};\r\n const modalidadeNodeArray = [];\r\n const modalidadeNode = selectedCard?.options[0]?.subOptions.map((sub) => {\r\n if (!sub.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n const termoNodeArray = [];\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (!_sub.check) termoCheckAll = false;\r\n if (_sub.check === true)\r\n termoNodeArray.push({\r\n codigoTermo: _sub.codigoTermo,\r\n });\r\n });\r\n\r\n if (!termoCheckAll) modalidadeCheckAll = false;\r\n contagem.termos = termoNodeArray.length;\r\n if (sub.check === true)\r\n modalidadeNodeArray.push({\r\n codigoModalidade: sub.codigoModalidade,\r\n checkAll: termoCheckAll,\r\n termoNode: termoNodeArray,\r\n });\r\n });\r\n\r\n contagem.modalidades = modalidadeNodeArray.length;\r\n\r\n const parametrizacaoRoot = {\r\n codigoGrupo: 0,\r\n nomeGrupo: '',\r\n codigoComplemento: '',\r\n checkAll: modalidadeCheckAll,\r\n contratanteNode: [\r\n {\r\n codigoContratante: selectedCard.contratante?.codigoContratante,\r\n numeroInscricao: selectedCard.contratante?.numeroInscricao,\r\n nomeContratante: selectedCard.contratante?.nomeContratante,\r\n checkAll: modalidadeCheckAll,\r\n modalidadeNode: modalidadeNodeArray,\r\n },\r\n ],\r\n };\r\n\r\n return { contagem, parametrizacaoRoot };\r\n};\r\n\r\nexport const getParametrizacaoRoot = (selectedCard) => {\r\n if (\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return setComplemento(selectedCard);\r\n if (\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[2]\r\n )\r\n return setContratante(selectedCard);\r\n};\r\n\r\nexport const setParametrizacaoNivel = (parametrizacaoNivel, parametrizacao) => {\r\n const parametrizacaoNiveis = {\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n nome: `${parametrizacao?.complemento?.codigoGrupo} - ${parametrizacao?.complemento?.codigoComplemento}`,\r\n id: parametrizacao?.complemento?.codigoComplemento,\r\n tipoParametrizacao: parametrizacaoNivel,\r\n cardHeader: 'Grupo de Contratante',\r\n contagem: {},\r\n contagemId: parametrizacao?.complemento?.codigoComplemento,\r\n parametrizacaoNivel: GRUPO_NIVEL,\r\n },\r\n Contratante: {\r\n nome: `${parametrizacao?.contratante?.codigoContratante} - ${parametrizacao?.contratante?.nomeContratante}`,\r\n id: parametrizacao?.contratante?.codigoContratante,\r\n tipoParametrizacao: parametrizacaoNivel,\r\n cardHeader: 'Contratante',\r\n contagem: {},\r\n contagemId: parametrizacao?.contratante?.numeroInscricao,\r\n parametrizacaoNivel: CONTRATANTE_NIVEL,\r\n },\r\n };\r\n\r\n return parametrizacaoNiveis[parametrizacaoNivel];\r\n};\r\n\r\nexport const setCard = (card) => {\r\n const cardTipos = {\r\n GrupoRoot: {\r\n complemento: {\r\n codigoGrupo: card.codigoGrupo,\r\n nomeGrupo: card.nomeGrupo,\r\n codigoComplemento: card.codigoComplemento,\r\n },\r\n idCard: uniqueId('card_'),\r\n isEditar: false,\r\n path: [],\r\n options: [],\r\n contagem: {\r\n contratantes: card.contratantes,\r\n modalidades: card.modalidades,\r\n termos: card.termos,\r\n },\r\n idParametrizacao: card.idParametrizacao,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameUIForNameAPI[card.tipoParametrizacao],\r\n nodeLoading: false,\r\n cardLoading: false,\r\n id: card.codigoComplemento,\r\n },\r\n ContratanteRoot: {\r\n contratante: {\r\n check: false,\r\n codigoContratante: card.codigoContratante,\r\n inativado: card.inativado,\r\n nomeContratante: card.nomeContratante,\r\n novo: card.novo,\r\n numeroInscricao: card.numeroInscricao,\r\n idParametrizacao: card.idParametrizacao,\r\n },\r\n idCard: uniqueId('card_'),\r\n isEditar: false,\r\n path: [],\r\n options: [],\r\n contagem: { modalidades: card.modalidades, termos: card.termos },\r\n idParametrizacao: card.idParametrizacao,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameUIForNameAPI[card.tipoParametrizacao],\r\n nodeLoading: false,\r\n cardLoading: false,\r\n id: card.codigoContratante,\r\n listaContratantes: [card.codigoContratante],\r\n },\r\n };\r\n\r\n return cardTipos[card.tipoParametrizacao];\r\n};\r\n\r\nexport const setTree = (\r\n obj,\r\n nivel,\r\n draft,\r\n checkAll,\r\n codigoContratante,\r\n path,\r\n isSuccess\r\n) => {\r\n const checkados = obj.some((o) => o.check === true);\r\n const newSubOptions = obj.map((resp, index) => {\r\n return setNivelContent(\r\n resp,\r\n nivel,\r\n index,\r\n codigoContratante,\r\n setNivelHeader(nivel, path, draft, obj.length, [], checkados)[0].nextPath,\r\n isSuccess\r\n );\r\n });\r\n const count = obj.filter((c) => c.check === true).length;\r\n const newHeader = setNivelHeader(\r\n nivel,\r\n path,\r\n draft,\r\n count,\r\n newSubOptions,\r\n checkados\r\n );\r\n\r\n return newHeader;\r\n};\r\n\r\nconst treeBuilderComplemento = (object) => {\r\n let contratanteCheckAll = true;\r\n contratanteCheckAll = object?.contratanteNode.some((o) => o.check === true);\r\n const contratanteNodes = object?.contratanteNode.map(\r\n (contratanteNode, contratanteIndex) => {\r\n // if (!contratanteNode.check) contratanteCheckAll = false;\r\n let modalidadeCheckAll = true;\r\n modalidadeCheckAll = contratanteNode?.modalidadeNode.some(\r\n (o) => o.check === true\r\n );\r\n const modalidadeNodes = contratanteNode?.modalidadeNode.map(\r\n (modalidadeNode, modalidadeIndex) => {\r\n // if (!modalidadeNode.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n termoCheckAll = modalidadeNode?.termoNode.some(\r\n (o) => o.check === true\r\n );\r\n const termoNodes = modalidadeNode?.termoNode.map(\r\n (termoNode, termoIndex) => {\r\n // if (!termoNode.check) termoCheckAll = false;\r\n return setNivelContent(\r\n termoNode,\r\n TERMO_TREE,\r\n termoIndex,\r\n 0,\r\n setPath(\r\n TERMO_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Content',\r\n [contratanteIndex, 'subOptions'],\r\n [modalidadeIndex, 'subOptions'],\r\n [termoIndex, 'subOptions']\r\n ),\r\n true\r\n );\r\n }\r\n );\r\n\r\n const termoCount = termoNodes.filter((c) => c.check === true).length;\r\n // RetornoHeader Topo Arvore Nivel Termo\r\n const termoHeader = setNivelHeader(\r\n TERMO_TREE,\r\n setPath(\r\n TERMO_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Header',\r\n [contratanteIndex, 'subOptions'],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n {\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1],\r\n },\r\n termoCount,\r\n termoNodes,\r\n termoCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Modalidade\r\n return setNivelContent(\r\n modalidadeNode,\r\n MODALIDADE_TREE,\r\n modalidadeIndex,\r\n 0,\r\n setPath(\r\n MODALIDADE_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Content',\r\n [contratanteIndex, 'subOptions']\r\n ),\r\n true,\r\n termoHeader\r\n );\r\n }\r\n );\r\n const modalidadeCount = modalidadeNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Modalidade\r\n const modalidadeHeader = setNivelHeader(\r\n MODALIDADE_TREE,\r\n setPath(\r\n MODALIDADE_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Header',\r\n [contratanteIndex, 'subOptions']\r\n ),\r\n { tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1] },\r\n modalidadeCount,\r\n modalidadeNodes,\r\n modalidadeCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Contratante\r\n return setNivelContent(\r\n contratanteNode,\r\n CONTRATANTE_TREE,\r\n contratanteIndex,\r\n 0,\r\n BASE_PATH,\r\n true,\r\n modalidadeHeader\r\n );\r\n }\r\n );\r\n\r\n if (!(contratanteNodes.length > 0))\r\n return [emptyCard('Não foram encontradas contratantes.')];\r\n\r\n const contratanteCount = contratanteNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Contratante\r\n const options = setNivelHeader(\r\n CONTRATANTE_TREE,\r\n [0],\r\n {\r\n selectedCard: {\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1],\r\n },\r\n },\r\n contratanteCount,\r\n contratanteNodes,\r\n contratanteCheckAll\r\n );\r\n\r\n return options;\r\n};\r\n\r\nconst treeBuilderContratante = (object) => {\r\n let modalidadeCheckAll = true;\r\n modalidadeCheckAll = object?.contratanteNode[0]?.modalidadeNode.some(\r\n (o) => o.check === true\r\n );\r\n const modalidadeNodes = object?.contratanteNode[0]?.modalidadeNode.map(\r\n (modalidadeNode, modalidadeIndex) => {\r\n let termoCheckAll = true;\r\n termoCheckAll = modalidadeNode?.termoNode.some((o) => o.check === true);\r\n const termoNodes = modalidadeNode?.termoNode.map(\r\n (termoNode, termoIndex) => {\r\n return setNivelContent(\r\n termoNode,\r\n TERMO_TREE,\r\n termoIndex,\r\n 0,\r\n setPath(\r\n TERMO_TREE,\r\n 'Contratante',\r\n 'Content',\r\n [0, 'subOptions'],\r\n [modalidadeIndex, 'subOptions'],\r\n [termoIndex, 'subOptions']\r\n ),\r\n true\r\n );\r\n }\r\n );\r\n const termoCount = termoNodes.filter((c) => c.check === true).length;\r\n // RetornoHeader Topo Arvore Nivel Termo\r\n const termoHeader = setNivelHeader(\r\n TERMO_TREE,\r\n setPath(\r\n TERMO_TREE,\r\n 'Contratante',\r\n 'Header',\r\n [0, 'subOptions'],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n { tipoParametrizacao: 'Contratante' },\r\n termoCount,\r\n termoNodes,\r\n termoCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Modalidade\r\n return setNivelContent(\r\n modalidadeNode,\r\n MODALIDADE_TREE,\r\n modalidadeIndex,\r\n 0,\r\n setPath(\r\n MODALIDADE_TREE,\r\n 'Contratante',\r\n 'Content',\r\n [],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n true,\r\n termoHeader\r\n );\r\n }\r\n );\r\n\r\n if (!(modalidadeNodes.length > 0))\r\n return [emptyCard('Não foram encontradas modalidades.')];\r\n\r\n const modalidadeCount = modalidadeNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Modalidade\r\n const options = setNivelHeader(\r\n MODALIDADE_TREE,\r\n setPath(MODALIDADE_TREE, 'Contratante', 'Header'),\r\n { tipoParametrizacao: 'Contratante' },\r\n modalidadeCount,\r\n modalidadeNodes,\r\n modalidadeCheckAll\r\n );\r\n\r\n return options;\r\n};\r\n\r\nexport const treeBuilder = (object) => {\r\n if (object.codigoGrupo !== 0) return treeBuilderComplemento(object);\r\n if (object.codigoGrupo === 0) return treeBuilderContratante(object);\r\n};\r\n\r\nexport const setCardContagem = (type, contagem) => {\r\n const types = {\r\n [TipoCardRoot.returnNameForName.Contratante]: {\r\n modalidades: contagem?.modalidades,\r\n termos: contagem?.termos,\r\n },\r\n [TipoCardRoot.returnNameForName['Grupo ou Complemento']]: {\r\n contratantes: contagem?.contratantes,\r\n modalidades: contagem?.modalidades,\r\n termos: contagem?.termos,\r\n },\r\n };\r\n\r\n return types[type];\r\n};\r\n","import produce from 'immer';\r\nimport { set, isEmpty, get } from 'lodash';\r\nimport {\r\n treeBuilder,\r\n checkAllNested,\r\n checkAllParents,\r\n unCheckIfAllUnchecked,\r\n setCard,\r\n setTree,\r\n emptyCard,\r\n handleContagem,\r\n countAllNested,\r\n countAllParents,\r\n setCardContagem,\r\n} from '../../utils/treeViewBuilder';\r\n\r\nimport { getOccurrence, toJsonFromBase64 } from '../../utils/array';\r\nimport { TipoConsultaParametrizacaoEnum } from '../../enums';\r\n\r\n// Action types\r\nexport const Types = {\r\n GET_GRUPO_COMPLEMENTOS_REQUEST:\r\n '@contratantes/GET_GRUPO_COMPLEMENTOS_REQUEST',\r\n GET_GRUPO_COMPLEMENTOS_SUCCESS:\r\n '@contratantes/GET_GRUPO_COMPLEMENTOS_SUCCESS',\r\n GET_GRUPO_COMPLEMENTOS_ERROR: '@contratantes/GET_GRUPO_COMPLEMENTOS_ERROR',\r\n GET_CONTRATANTES_REQUEST: '@contratantes/GET_CONTRATANTES_REQUEST',\r\n GET_CONTRATANTES_SUCCESS: '@contratantes/GET_CONTRATANTES_SUCCESS',\r\n GET_CONTRATANTES_ERROR: '@contratantes/GET_CONTRATANTES_ERROR',\r\n GET_GRUPO_CONTRATANTES_REQUEST:\r\n '@contratantes/GET_GRUPO_CONTRATANTES_REQUEST',\r\n GET_GRUPO_CONTRATANTES_SUCCESS:\r\n '@contratantes/GET_GRUPO_CONTRATANTES_SUCCESS',\r\n GET_GRUPO_CONTRATANTES_ERROR: '@contratantes/GET_GRUPO_CONTRATANTES_ERROR',\r\n GET_CONTRATANTE_MODALIDADES_REQUEST:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_REQUEST',\r\n GET_CONTRATANTE_MODALIDADES_SUCCESS:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_SUCCESS',\r\n GET_CONTRATANTE_MODALIDADES_ERROR:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_ERROR',\r\n GET_MODALIDADE_TERMOS_REQUEST: '@contratantes/GET_MODALIDADE_TERMOS_REQUEST',\r\n GET_MODALIDADE_TERMOS_SUCCESS: '@contratantes/GET_MODALIDADE_TERMOS_SUCCESS',\r\n GET_MODALIDADE_TERMOS_ERROR: '@contratantes/GET_MODALIDADE_TERMOS_ERROR',\r\n GET_GRUPO_CONTAGEM_REQUEST: '@contratantes/GET_GRUPO_CONTAGEM_REQUEST',\r\n GET_GRUPO_CONTAGEM_SUCCESS: '@contratantes/GET_GRUPO_CONTAGEM_SUCCESS',\r\n GET_GRUPO_CONTAGEM_ERROR: '@contratantes/GET_GRUPO_CONTAGEM_ERROR',\r\n GET_CONTRATANTE_CONTAGEM_REQUEST:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_REQUEST',\r\n GET_CONTRATANTE_CONTAGEM_SUCCESS:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_SUCCESS',\r\n GET_CONTRATANTE_CONTAGEM_ERROR:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_ERROR',\r\n PARAMETRIZACAO_TOOGGLE_CARD: '@contratantes/PARAMETRIZACAO_TOOGGLE_CARD',\r\n PARAMETRIZACAO_GET_OPTIONS: '@contratantes/PARAMETRIZACAO_GET_OPTIONS',\r\n PARAMETRIZACAO_SET: '@contratantes/PARAMETRIZACAO_SET',\r\n PARAMETRIZACAO_SET_CARDS: '@contratantes/PARAMETRIZACAO_SET_CARDS',\r\n PARAMETRIZACAO_SET_CARDS_BY_ID:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_BY_ID',\r\n PARAMETRIZACAO_DELETE_CARD: '@contratantes/PARAMETRIZACAO_DELETE_CARD',\r\n PARAMETRIZACAO_SET_PATH: '@contratantes/PARAMETRIZACAO_SET_PATH',\r\n PARAMETRIZACAO_SET_SELECTED_OPTION:\r\n '@contratantes/PARAMETRIZACAO_SET_SELECTED_OPTION',\r\n PARAMETRIZACAO_ROOT_RENEW: '@contratantes/PARAMETRIZACAO_ROOT_RENEW',\r\n PARAMETRIZACAO_SET_LOADING: '@contratantes/PARAMETRIZACAO_SET_LOADING',\r\n PARAMETRIZACAO_SET_LOADING_CARDS:\r\n '@contratantes/PARAMETRIZACAO_SET_LOADING_CARDS',\r\n PARAMETRIZACAO_SET_CARD_COMPLETO:\r\n '@contratantes/PARAMETRIZACAO_SET_CARD_COMPLETO',\r\n PARAMETRIZACAO_UPDATE_ID: '@contratantes/PARAMETRIZACAO_UPDATE_ID',\r\n PARAMETRIZACAO_SET_ID: '@contratantes/PARAMETRIZACAO_SET_ID',\r\n PARAMETRIZACAO_SET_CARDS_COMPLETO:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_COMPLETO',\r\n PARAMETRIZACAO_SET_CONTAGEM: '@contratantes/PARAMETRIZACAO_SET_CONTAGEM',\r\n PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getGrupoComplementos: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getGrupoContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratanteModalidades: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getModalidadeTermos: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getGrupoContagem: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratanteContagem: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n parametrizacaoRoot: [],\r\n};\r\n\r\nexport default function contratante(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_GRUPO_COMPLEMENTOS_REQUEST: {\r\n draft.getGrupoComplementos.loading = true;\r\n draft.getGrupoComplementos.success = false;\r\n draft.getGrupoComplementos.error = null;\r\n draft.getGrupoComplementos.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_GRUPO_COMPLEMENTOS_SUCCESS: {\r\n draft.getGrupoComplementos.loading = false;\r\n draft.getGrupoComplementos.success = action.payload.isSuccess;\r\n draft.getGrupoComplementos.response.data =\r\n action.payload.grupoComplementos;\r\n draft.getGrupoComplementos.response.size =\r\n action.payload.grupoComplementos?.total;\r\n break;\r\n }\r\n case Types.GET_GRUPO_COMPLEMENTOS_ERROR: {\r\n draft.getGrupoComplementos.loading = false;\r\n draft.getGrupoComplementos.error = action.payload.error;\r\n draft.getGrupoComplementos.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_REQUEST: {\r\n draft.getContratantes.loading = true;\r\n draft.getContratantes.success = false;\r\n draft.getContratantes.error = null;\r\n draft.getContratantes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_SUCCESS: {\r\n draft.getContratantes.loading = false;\r\n draft.getContratantes.success = action.payload.isSuccess;\r\n draft.getContratantes.response.data = action.payload.contratantes;\r\n draft.getContratantes.response.size = action.payload.contratantes.total;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_ERROR: {\r\n draft.getContratantes.loading = false;\r\n draft.getContratantes.error = action.payload.error;\r\n draft.getContratantes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_REQUEST: {\r\n draft.getGrupoContratantes.loading = true;\r\n draft.getGrupoContratantes.success = false;\r\n draft.getGrupoContratantes.error = null;\r\n draft.getGrupoContratantes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_SUCCESS: {\r\n draft.getGrupoContratantes.loading = false;\r\n draft.getGrupoContratantes.success = action.payload.isSuccess;\r\n draft.getGrupoContratantes.response = action.payload.grupoContratantes;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.grupoContratantes.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n\r\n if (action.payload.grupoContratantes.contratanteNode.length > 0) {\r\n const newTree = setTree(\r\n action.payload.grupoContratantes.contratanteNode,\r\n 0,\r\n cardAtual,\r\n action.payload.grupoContratantes.checkAll,\r\n 0,\r\n action.payload.grupoContratantes.path,\r\n action.payload.grupoContratantes.isSuccess\r\n );\r\n set(\r\n cardAtual.options,\r\n action.payload.grupoContratantes.path,\r\n ...newTree\r\n );\r\n } else {\r\n cardAtual.options.push(\r\n emptyCard('Não foram encontradas contratantes.')\r\n );\r\n }\r\n\r\n // if (\r\n // get(cardAtual.options, action.payload.grupoContratantes.path)\r\n // )\r\n // get(\r\n // cardAtual.options,\r\n // action.payload.grupoContratantes.path\r\n // ).hasSubOptions = false;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_ERROR: {\r\n draft.getGrupoContratantes.loading = false;\r\n draft.getGrupoContratantes.error = action.payload.error;\r\n draft.getGrupoContratantes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_REQUEST: {\r\n draft.getContratanteModalidades.loading = true;\r\n draft.getContratanteModalidades.success = false;\r\n draft.getContratanteModalidades.error = null;\r\n draft.getContratanteModalidades.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_SUCCESS: {\r\n draft.getContratanteModalidades.loading = false;\r\n draft.getContratanteModalidades.success = action.payload.isSuccess;\r\n draft.getContratanteModalidades.response =\r\n action.payload.contratanteModalidades;\r\n\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.contratanteModalidades.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n if (action.payload.contratanteModalidades.modalidadeNode?.length > 0) {\r\n const newTree = setTree(\r\n action.payload.contratanteModalidades.modalidadeNode,\r\n 1,\r\n cardAtual,\r\n action.payload.contratanteModalidades.checkAll,\r\n action.payload.contratanteModalidades.codigoContratante,\r\n action.payload.contratanteModalidades.path,\r\n true\r\n );\r\n if (\r\n cardAtual.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ) {\r\n set(\r\n cardAtual.options,\r\n action.payload.contratanteModalidades.path,\r\n newTree\r\n );\r\n } else {\r\n set(\r\n cardAtual.options,\r\n action.payload.contratanteModalidades.path,\r\n ...newTree\r\n );\r\n }\r\n } else {\r\n cardAtual.options.push(\r\n emptyCard('Não foram encontradas modalidades.')\r\n );\r\n }\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_ERROR: {\r\n draft.getContratanteModalidades.loading = false;\r\n draft.getContratanteModalidades.error = action.payload.error;\r\n draft.getContratanteModalidades.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_REQUEST: {\r\n draft.getModalidadeTermos.loading = true;\r\n draft.getModalidadeTermos.success = false;\r\n draft.getModalidadeTermos.error = null;\r\n draft.getModalidadeTermos.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_SUCCESS: {\r\n draft.getModalidadeTermos.loading = false;\r\n draft.getModalidadeTermos.success = action.payload.isSuccess;\r\n draft.getModalidadeTermos.response = action.payload.modalidadeTermos;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.modalidadeTermos.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n if (action.payload.modalidadeTermos.termoNode.length > 0) {\r\n const newTree = setTree(\r\n action.payload.modalidadeTermos.termoNode,\r\n 2,\r\n cardAtual,\r\n action.payload.modalidadeTermos.checkAll,\r\n 0,\r\n action.payload.modalidadeTermos.path,\r\n true\r\n );\r\n set(cardAtual.options, action.payload.modalidadeTermos.path, newTree);\r\n set(\r\n cardAtual.options,\r\n [...action.payload.modalidadeTermos.path, 'success'],\r\n true\r\n );\r\n } else {\r\n get(\r\n cardAtual.options,\r\n action.payload.modalidadeTermos.currentPath\r\n ).hasSubOptions = false;\r\n }\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_ERROR: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.modalidadeTermos.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n draft.getModalidadeTermos.loading = false;\r\n draft.getModalidadeTermos.error = action.payload.error;\r\n draft.getModalidadeTermos.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_REQUEST: {\r\n draft.getGrupoContagem.loading = true;\r\n draft.getGrupoContagem.success = false;\r\n draft.getGrupoContagem.error = null;\r\n draft.getGrupoContagem.unsuccessResponse = null;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_SUCCESS: {\r\n draft.getGrupoContagem.loading = false;\r\n draft.getGrupoContagem.success = action.payload.isSuccess;\r\n draft.getGrupoContagem.response = action.payload.response;\r\n // draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n // if (card.idCard === action.payload.response.idCard)\r\n // card.contagem = {\r\n // contratantes: action.payload.response.contratante,\r\n // modalidades: action.payload.response.modalidade,\r\n // termos: action.payload.response.termo,\r\n // };\r\n // return card;\r\n // });\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.response.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.contagem = {\r\n contratantes: card.contagem.totalContratantes,\r\n modalidades: card.contagem.totalModalidades,\r\n termos: card.contagem.totalTermos,\r\n };\r\n }\r\n c.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_ERROR: {\r\n draft.getGrupoContagem.loading = false;\r\n draft.getGrupoContagem.error = action.payload.error;\r\n draft.getGrupoContagem.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n draft.getContratanteContagem.loading = true;\r\n draft.getContratanteContagem.success = false;\r\n draft.getContratanteContagem.error = null;\r\n draft.getContratanteContagem.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_SUCCESS: {\r\n draft.getContratanteContagem.loading = false;\r\n draft.getContratanteContagem.success = action.payload.isSuccess;\r\n draft.getContratanteContagem.response = action.payload.response;\r\n\r\n // draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n // if (card.idCard === action.payload.response.idCard)\r\n // card.contagem = {\r\n // modalidades: action.payload.response.modalidade,\r\n // termos: action.payload.response.termo,\r\n // };\r\n // return card;\r\n // });\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.response.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.contagem = {\r\n modalidades: card.contagem.totalModalidades,\r\n termos: card.contagem.totalTermos,\r\n };\r\n }\r\n c.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_ERROR: {\r\n draft.getContratanteContagem.loading = false;\r\n draft.getContratanteContagem.error = action.payload.error;\r\n draft.getContratanteContagem.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_TOOGGLE_CARD: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cardIds.find(\r\n (c) =>\r\n c.idCard === p.idCard ||\r\n c.newIdParametrizacao === p.idParametrizacao\r\n );\r\n if (card) {\r\n p.isEditar = action.payload.isSaveAll ? false : !p.isEditar;\r\n p.contagem = handleContagem(p);\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET: {\r\n draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n if (card?.idCard === action.payload.idCard) {\r\n card.options = action.payload.options;\r\n card.selectedOptions = action.payload.selectedOptions;\r\n card.idCard = action.payload.idCard;\r\n }\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS: {\r\n draft.parametrizacaoRoot = [\r\n ...draft.parametrizacaoRoot,\r\n ...action.payload.rowsChecked,\r\n ];\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_BY_ID: {\r\n action.payload.cards.map((a) => {\r\n draft.parametrizacaoRoot.push(setCard(a));\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_DELETE_CARD: {\r\n draft.parametrizacaoRoot = draft.parametrizacaoRoot.filter(\r\n (card) => card.idCard !== action.payload.idCard\r\n );\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_PATH: {\r\n draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n ).path = action.payload.pathName;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_SELECTED_OPTION: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n get(cardAtual.options, action.payload.currentPath).check =\r\n action.payload.check;\r\n\r\n if (action.payload.check)\r\n checkAllParents(\r\n cardAtual.options,\r\n action.payload.check,\r\n action.payload.currentPath\r\n );\r\n\r\n // if (\r\n // action.payload.isHeader ||\r\n // (!action.payload.isHeader && !action.payload.check)\r\n // )\r\n checkAllNested(\r\n get(cardAtual.options, action.payload.currentPath),\r\n action.payload.check\r\n );\r\n\r\n if (!action.payload.isHeader) {\r\n get(\r\n cardAtual.options,\r\n action.payload.previousPath.slice(\r\n 0,\r\n action.payload.previousPath.length - 1\r\n )\r\n ).count = getOccurrence(\r\n get(cardAtual.options, action.payload.previousPath),\r\n (o) => o.check === true\r\n );\r\n\r\n unCheckIfAllUnchecked(\r\n cardAtual.options,\r\n action.payload.currentPath,\r\n get(\r\n cardAtual.options,\r\n action.payload.currentPath.slice(\r\n 0,\r\n action.payload.currentPath.length - 2\r\n )\r\n ).count\r\n );\r\n }\r\n // getCountInHeader(\r\n // cardAtual.options,\r\n // action.payload.check,\r\n // action.payload.currentPath\r\n // );\r\n countAllNested(get(cardAtual.options, action.payload.currentPath));\r\n countAllParents(cardAtual.options, action.payload.currentPath);\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_ROOT_RENEW: {\r\n draft.parametrizacaoRoot = [];\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_LOADING: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = action.payload.loading;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_LOADING_CARDS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find((c) => p.idCard === c.idCard);\r\n\r\n if (card) p.cardLoading = action.payload.loading;\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARD_COMPLETO: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n if (cardAtual) {\r\n cardAtual.options = treeBuilder(action.payload.response);\r\n cardAtual.fullTree = true;\r\n }\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_COMPLETO: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.isParametrizacaoEspelho\r\n ? action.payload.newCards.find(\r\n (r) =>\r\n c?.id === r?.Card?.codigoComplemento ||\r\n c?.id === r?.Card?.codigoContratante\r\n )\r\n : action.payload.newCards.find(\r\n (r) => c.idParametrizacao === r.Card.idParametrizacao\r\n );\r\n if (card) {\r\n c.options = treeBuilder(card.Tree);\r\n c.fullTree = true;\r\n c.listaContratantes = card.Tree.contratanteNode.map(\r\n (c) => c.codigoContratante\r\n );\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.options = treeBuilder(card.Tree);\r\n c.fullTree = true;\r\n c.listaContratantes = card.Tree.contratanteNode.map(\r\n (c) => c.codigoContratante\r\n );\r\n c.contagem = card.contagem;\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_UPDATE_ID: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) => c.idParametrizacao === r.oldIdParametrizacao\r\n );\r\n if (card) c.idParametrizacao = card.newIdParametrizacao;\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_ID: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) =>\r\n c.idParametrizacao === r.oldIdParametrizacao &&\r\n c.idCard === r.idCard\r\n );\r\n if (card) c.idParametrizacao = card.newIdParametrizacao;\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CONTAGEM: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.contagemCards.find(\r\n (c) => c.idParametrizacao === p.idParametrizacao\r\n );\r\n\r\n if (card) p.contagem = setCardContagem(card.tipoParametrizacao, card);\r\n });\r\n\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) {\r\n p.cardLoading = false;\r\n }\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getGrupoComplementosRequest: (params) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getGrupoComplementosSuccess: (grupoComplementos, isSuccess) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_SUCCESS,\r\n payload: { grupoComplementos, isSuccess },\r\n }),\r\n getGrupoComplementosError: (unsuccessResponse, error) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratanteRequest: (params) => ({\r\n type: Types.GET_CONTRATANTES_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratanteSuccess: (contratantes, isSuccess) => ({\r\n type: Types.GET_CONTRATANTES_SUCCESS,\r\n payload: { contratantes, isSuccess },\r\n }),\r\n getContratanteError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTRATANTES_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getGrupoContratantesRequest: (params) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_REQUEST,\r\n payload: { params },\r\n }),\r\n getGrupoContratantesSuccess: (grupoContratantes, isSuccess) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_SUCCESS,\r\n payload: { grupoContratantes, isSuccess },\r\n }),\r\n getGrupoContratantesError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getContratanteModalidadesRequest: (params) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratanteModalidadesSuccess: (contratanteModalidades, isSuccess) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_SUCCESS,\r\n payload: { contratanteModalidades, isSuccess },\r\n }),\r\n getContratanteModalidadesError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getModalidadeTermosRequest: (params) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getModalidadeTermosSuccess: (modalidadeTermos, isSuccess) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_SUCCESS,\r\n payload: { modalidadeTermos, isSuccess },\r\n }),\r\n getModalidadeTermosError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getGrupoContagemRequest: (cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_REQUEST,\r\n payload: { cards },\r\n }),\r\n getGrupoContagemSuccess: (response, isSuccess, cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getGrupoContagemError: (unsuccessResponse, error, cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratanteContagemRequest: (cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_REQUEST,\r\n payload: { cards },\r\n }),\r\n getContratanteContagemSuccess: (response, isSuccess, cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getContratanteContagemError: (unsuccessResponse, error, cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n parametrizacaoToogleCard: (cardIds, isSaveAll = false) => ({\r\n type: Types.PARAMETRIZACAO_TOOGGLE_CARD,\r\n payload: { cardIds, isSaveAll },\r\n }),\r\n parametrizacaoSet: (options, selectedOptions, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET,\r\n payload: { options, selectedOptions, idCard },\r\n }),\r\n parametrizacaoSetCards: (rowsChecked) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS,\r\n payload: { rowsChecked },\r\n }),\r\n parametrizacaoSetCardsById: (cards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_BY_ID,\r\n payload: { cards },\r\n }),\r\n parametrizacaoDeleteCard: (idCard) => ({\r\n type: Types.PARAMETRIZACAO_DELETE_CARD,\r\n payload: { idCard },\r\n }),\r\n parametrizacaoSetPath: (pathName, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_PATH,\r\n payload: { pathName, idCard },\r\n }),\r\n parametrizacaoSetSelectedOption: (\r\n currentPath,\r\n idCard,\r\n check,\r\n isHeader,\r\n id,\r\n previousPath\r\n ) => ({\r\n type: Types.PARAMETRIZACAO_SET_SELECTED_OPTION,\r\n payload: { currentPath, idCard, check, isHeader, id, previousPath },\r\n }),\r\n parametrizacaoRootRenew: () => ({\r\n type: Types.PARAMETRIZACAO_ROOT_RENEW,\r\n }),\r\n parametrizacaoSetLoading: (loading, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_LOADING,\r\n payload: { loading, idCard },\r\n }),\r\n parametrizacaoSetLoadingCards: (loading, cards) => ({\r\n type: Types.PARAMETRIZACAO_SET_LOADING_CARDS,\r\n payload: { loading, cards },\r\n }),\r\n parametrizacaoSetCardCompleto: (response, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARD_COMPLETO,\r\n payload: { response, idCard },\r\n }),\r\n parametrizacaoUpdateId: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_UPDATE_ID,\r\n payload: { newCards },\r\n }),\r\n parametrizacaoSetId: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_ID,\r\n payload: { newCards },\r\n }),\r\n parametrizacaoSetCardsCompleto: (\r\n newCards,\r\n isParametrizacaoEspelho = false\r\n ) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_COMPLETO,\r\n payload: { newCards, isParametrizacaoEspelho },\r\n }),\r\n parametrizacaoSetContagem: (contagemCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CONTAGEM,\r\n payload: { contagemCards },\r\n }),\r\n parametrizacaoSetCardsCompletoNewCards: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD,\r\n payload: { newCards },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoSuccess: (\r\n isSuccess,\r\n response,\r\n params\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS,\r\n payload: { isSuccess, response, params },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoError: (error, params) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR,\r\n payload: { error, params },\r\n }),\r\n getParametrizacaoContratanteCompletoRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoContratanteCompletoSuccess: (\r\n isSuccess,\r\n response,\r\n params\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS,\r\n payload: { isSuccess, response, params },\r\n }),\r\n getParametrizacaoContratanteCompletoError: (error, params) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR,\r\n payload: { error, params },\r\n }),\r\n};\r\n","import axios from 'axios';\r\n\r\nimport { setAuthorization } from './auth';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport const legacyURL = axios.create({\r\n baseURL: `${REACT_APP_MOVCAD_LEGACY}`,\r\n});\r\n\r\nlegacyURL.interceptors.request.use(async (config) => setAuthorization(config));\r\n","import React from 'react';\r\n\r\nimport qs from 'qs';\r\nimport { all, call, put, retry, select } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ContratanteActions } from '../ducks/contratante';\r\nimport { Creators as UsuarioActions } from '../ducks/usuario';\r\n\r\nimport {\r\n TipoCardRoot,\r\n TipoPerfilUsuarioEnum,\r\n TipoStatusEnum,\r\n} from '../../enums';\r\n\r\nimport { UsuariosAPI } from '../../services/api';\r\nimport {\r\n excludeData,\r\n getUserData,\r\n movcadUpt,\r\n persistData,\r\n} from '../../services/auth';\r\nimport { legacyURL } from '../../services/legacy';\r\n\r\nimport {\r\n responseHandler,\r\n responseHandlerGet,\r\n} from '../../utils/responseHandler';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nimport { toJsonFromBase64 } from '../../utils/array';\r\n\r\nexport const getAuth = (state) => state.auth;\r\n\r\nexport function* patchBloquearDesbloquearUsuario(action) {\r\n try {\r\n const { idUsuario, bloqueio } = action.payload;\r\n\r\n const { data } = yield call(\r\n UsuariosAPI.patch,\r\n `bloquear-desbloquear/${idUsuario}/${bloqueio}`\r\n );\r\n\r\n yield put(\r\n UsuarioActions.patchBloquearDesbloquearUsuarioSuccess(data, true)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.patchBloquearDesbloquearUsuarioError(unsuccessResponse)\r\n );\r\n\r\n toast.error(\r\n \r\n Não foi possível bloquear/desbloquear usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getDownloadRelatorioUsuarios(action) {\r\n try {\r\n const { params } = action.payload;\r\n\r\n const { data } = yield call(UsuariosAPI.get, '/download-relatorio', {\r\n params,\r\n });\r\n\r\n yield put(UsuarioActions.getDownloadRelatorioUsuariosSuccess(data, true));\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getDownloadRelatorioUsuariosError(unsuccessResponse)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar o relatório de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getConsultaUsuarios(action) {\r\n try {\r\n const { TipoStatus } = action.payload;\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...(status !== TipoStatusEnum.returnNameForTab.Todas && {\r\n tipoStatus: status,\r\n }),\r\n };\r\n\r\n const objResp = yield retry(5, 2000, UsuariosAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n objResp.data.status = status;\r\n\r\n return objResp;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n const usuarios = response.map((resp) => resp.data);\r\n\r\n const dataUsuarios = {\r\n response: usuarios,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getConsultaUsuariosSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getConsultaUsuariosError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getConsultaUsuarioPorStatus(action) {\r\n const paramsPayload = action.payload.params;\r\n\r\n const { tipoStatus, totalPages, ...newParams } = action.payload.params;\r\n\r\n const queryString = {\r\n ...newParams,\r\n ...(paramsPayload.tipoStatus !== TipoStatusEnum.returnNameForTab.Todas && {\r\n tipoStatus: paramsPayload.tipoStatus,\r\n }),\r\n };\r\n\r\n try {\r\n const response = yield retry(5, 2000, UsuariosAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getConsultaUsuariosPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getConsultaUsuariosError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* patchLiberarAcesso(action) {\r\n try {\r\n const { usuarios } = action.payload;\r\n\r\n const response = yield all(\r\n usuarios.map((usuario) =>\r\n retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `/${usuario.idUsuario}/liberar-acesso`\r\n )\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n usuarios,\r\n 'idUsuario',\r\n 'patchLiberarAcesso',\r\n 204\r\n );\r\n yield put(\r\n UsuarioActions.patchLiberarAcessoSuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n yield put(UsuarioActions.patchLiberarAcessoError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* getUsuarioById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/dados-gerais`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const usuarioById = {\r\n ...response.data,\r\n };\r\n\r\n yield put(UsuarioActions.getUsuarioByIdSuccess(usuarioById, isSuccess));\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getUsuarioByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchStatus(action) {\r\n try {\r\n const { usuarios, tipoStatus } = action.payload;\r\n\r\n const response = yield all(\r\n usuarios.map((usuario) =>\r\n retry(2, 2000, UsuariosAPI.patch, `${usuario.idUsuario}/status`, {\r\n tipoStatusUsuario: tipoStatus,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n usuarios,\r\n 'idUsuario',\r\n 'patchStatus',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchStatusSuccess(unsuccessResponse, isSuccess));\r\n } catch (error) {\r\n yield put(UsuarioActions.patchStatusError(error));\r\n }\r\n}\r\n\r\nexport function* criarUsuario(action) {\r\n try {\r\n const { data } = action.payload;\r\n const newUsuario = {\r\n email: data.email,\r\n matricula: data.matricula,\r\n codigoContratante: data.codigoContratante,\r\n nome: data.nome,\r\n tipoPerfilUsuario: data.tipoPerfilUsuario,\r\n tipoStatusUsuario: data.tipoStatusUsuario,\r\n };\r\n\r\n // Cria novo usuário\r\n const response = yield retry(10, 2000, UsuariosAPI.post, ``, newUsuario);\r\n\r\n const isSuccess =\r\n response.status > 199 &&\r\n response.status < 299 &&\r\n response.data.validationResult.isValid;\r\n\r\n if (isSuccess) {\r\n const newUsuario = {\r\n ...response.data,\r\n };\r\n\r\n // Adiciona contato ao usuário cadastrado\r\n const hasContato = data.contato.every((c) => !!c.numero && !!c.ddd);\r\n\r\n if (hasContato) {\r\n const contatos = data.contato.filter((c) => !!c.numero && !!c.ddd);\r\n\r\n yield put(\r\n UsuarioActions.patchRegistrarContatoRequest(\r\n { contatos },\r\n response.data.idUsuario\r\n )\r\n );\r\n }\r\n\r\n // Adiciona a parametrizacao ao usuario cadastrado\r\n if (data?.cards?.length > 0) {\r\n const responseCards = yield all(\r\n data.cards.map((card) =>\r\n retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${response.data.idUsuario}/parametrizacao`,\r\n card\r\n )\r\n )\r\n );\r\n const success = responseCards.every(\r\n (a) => a.status > 199 && a.status < 299\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(response, success)\r\n );\r\n yield put(UsuarioActions.parametrizacaoNodeRenew());\r\n }\r\n\r\n // Libera o acesso ao usuario cadastrado\r\n if (\r\n data.tipoStatusUsuario !==\r\n TipoStatusEnum.returnNameForName.PendenteLiberacao\r\n ) {\r\n yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${response.data.idUsuario}/liberar-acesso`\r\n );\r\n }\r\n yield put(UsuarioActions.usuarioEspelhoRenew());\r\n yield put(UsuarioActions.criarUsuarioSuccess(newUsuario, isSuccess));\r\n } else {\r\n yield put(\r\n UsuarioActions.criarUsuarioError(\r\n response.data.validationResult.errors,\r\n response.data.validationResult.errors[0].errorMessage\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'criarUsuario',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.criarUsuarioError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchRegistrarContato(action) {\r\n try {\r\n const { contatos, idUsuario } = action.payload;\r\n\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `${idUsuario}/contato`,\r\n contatos\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandlerGet(\r\n response,\r\n contatos,\r\n 'patchRegistrarContato',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.patchRegistrarContatoSuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(UsuarioActions.patchRegistrarContatoError(error));\r\n }\r\n}\r\n\r\nexport function* getContatoById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/contato`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContatoById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contatoById = response.data;\r\n\r\n yield put(UsuarioActions.getContatoByIdSuccess(contatoById, isSuccess));\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContatoById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getContatoByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchSenha(action) {\r\n const auth = yield select(getAuth);\r\n persistData(auth.token);\r\n try {\r\n const { idUsuario, senha, novaSenha, confirmacaoSenha } = action.payload;\r\n\r\n const newPassword = {\r\n senha,\r\n novaSenha,\r\n confirmacaoSenha,\r\n };\r\n\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${idUsuario}/password`,\r\n newPassword\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n newPassword,\r\n 'patchSenha',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchSenhaSuccess(isSuccess));\r\n } catch (error) {\r\n excludeData();\r\n yield put(\r\n UsuarioActions.patchSenhaError(error.response?.data?.errors?.Messages)\r\n );\r\n }\r\n}\r\n\r\nexport function* getDadosAcessoById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/dados-acesso`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getDadosAcessoById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const usuarioById = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getDadosAcessoByIdSuccess(usuarioById, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getDadosAcessoById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getDadosAcessoByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchDadosGerais(action) {\r\n const { params, contatos } = action.payload;\r\n const requestBody = {\r\n nome: params.nome,\r\n matricula: params.matricula,\r\n tipoPerfilUsuario: params.tipoPerfil,\r\n ...(contatos.contatos && contatos.contatos.length > 0\r\n ? { contatos: contatos.contatos }\r\n : { contatos: [] }),\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${params.idUsuario}/dados-gerais`,\r\n requestBody\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n requestBody,\r\n 'patchDadosGerais',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchDadosGeraisSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'patchDadosGerais',\r\n 204\r\n );\r\n yield put(UsuarioActions.patchDadosGeraisError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchDadosAcesso(action) {\r\n const { params } = action.payload;\r\n\r\n const requestBody = {\r\n email: params.email,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${params.idUsuario}/dados-acesso`,\r\n requestBody\r\n );\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n requestBody,\r\n 'patchDadosAcesso',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchDadosAcessoSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(\r\n UsuarioActions.patchDadosAcessoError(\r\n [],\r\n error.response.data.errors.Messages\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getHistoricoMovimentacoes(action) {\r\n const { idUsuario, params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/historico-alteracoes`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getHistoricoMovimentacoes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const historicoMovimentacao = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getHistoricoMovimentacoesSuccess(\r\n historicoMovimentacao,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getHistoricoMovimentacoes',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getHistoricoMovimentacoesError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* postParametrizacaoContratante(action) {\r\n try {\r\n const { contratantes } = action.payload;\r\n\r\n const response = yield retry(5, 2000, UsuariosAPI.post, ``, contratantes);\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'postParametrizacaoContratante',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoContratanteSuccess(response, true)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'postParametrizacaoContratante',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoContratanteError(\r\n unsuccessResponse,\r\n error\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoUsuario(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(2, 2000, UsuariosAPI.get, `/parametrizacao`, {\r\n params: queryString,\r\n });\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const parametrizacao = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoUsuarioSuccess(\r\n parametrizacao,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoUsuarioError(unsuccessResponse, error)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de contratantes\r\n parametrizadas.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratantesUsuario(action) {\r\n const idUsuario = action.payload.params;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/contratante-parametrizada`\r\n );\r\n\r\n const isSuccess = response.status > 199 || response.status < 299;\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getContratantesUsuarioSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n yield put(UsuarioActions.getContratantesUsuarioError([], error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de contratantes desse\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postParametrizacaoUsuario(action) {\r\n try {\r\n const { idUsuario, cards } = action.payload;\r\n\r\n const response = [];\r\n const newCards = [];\r\n yield* cards.map(function* (card, index) {\r\n const { idCard, ...rest } = card;\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n if (resp.data.idParametrizacao > 0)\r\n newCards.push({\r\n idCard,\r\n oldIdParametrizacao: cards[index].idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n response.push(resp);\r\n });\r\n\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n\r\n const newResponse = [];\r\n response.forEach((r, index) => {\r\n const resp = {\r\n data: r.data,\r\n idCard: cards[index].idCard,\r\n };\r\n\r\n newResponse.push(resp);\r\n });\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(\r\n newResponse,\r\n isSuccess,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoSetId(newCards));\r\n } else if (isSuccess && hasValidationErrors && !isInvalid) {\r\n const errors = [];\r\n\r\n response.map((a) =>\r\n a.data.validationResult.errors.length > 0\r\n ? errors.push(a.data.validationResult.errors[0]?.errorMessage)\r\n : null\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(\r\n newResponse,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n } else {\r\n const responseErrors = {\r\n errors: response.map((a) => a.data.validationResult.errors),\r\n message: response.map(\r\n (a) => a.data.validationResult.errors[0]?.errorMessage\r\n ),\r\n };\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioError(\r\n responseErrors.errors,\r\n responseErrors.message\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'postParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoCards(action) {\r\n const { params, cards } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${params.idUsuario}/parametrizacao-cards`\r\n );\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n const parametrizacaoCards = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetContagem([\r\n ...parametrizacaoCards.grupoComplementoCard,\r\n ...parametrizacaoCards.contratanteCard,\r\n ])\r\n );\r\n\r\n yield put(UsuarioActions.getParametrizacaoCardsSuccess(cards, true));\r\n yield put(ContratanteActions.parametrizacaoSetLoadingCards(false, cards));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoCards',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoCardsError(\r\n unsuccessResponse,\r\n error,\r\n cards\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoSetLoadingCards(false, cards));\r\n toast.error(\r\n \r\n Não foi possível obter as parametrizações do usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoNode(action) {\r\n const { idUsuario, params, node } = action.payload;\r\n\r\n const { path, idCard, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/parametrizacao-${node}-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getParametrizacaoNode',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const nodes = {\r\n ...response.data,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n ...(params.codigoContratante && {\r\n codigoContratante: params.codigoContratante,\r\n }),\r\n };\r\n\r\n yield put(UsuarioActions.getParametrizacaoNodeSuccess(nodes, isSuccess));\r\n\r\n if (node === 'contratante')\r\n yield put(\r\n ContratanteActions.getGrupoContratantesSuccess(nodes, isSuccess)\r\n );\r\n if (node === 'modalidade')\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesSuccess(nodes, isSuccess)\r\n );\r\n if (node === 'termo')\r\n yield put(\r\n ContratanteActions.getModalidadeTermosSuccess(nodes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoNode',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoNodeError(unsuccessResponse, error)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para a consulta de {node}s desse\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postAtualizarSessaoLegado(action) {\r\n try {\r\n const { token } = action.payload;\r\n\r\n const userData = JSON.stringify(getUserData());\r\n const requestObject = `{ token:${JSON.stringify(userData)}}`;\r\n\r\n const headersRequest = {\r\n 'Content-Type': 'application/json',\r\n };\r\n\r\n const response = yield retry(\r\n 10,\r\n 2000,\r\n legacyURL.post,\r\n `/Login.aspx/AtualizarSessao`,\r\n requestObject,\r\n { headers: headersRequest }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n token,\r\n 'postAtualizarSessaoLegado',\r\n 204\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'postAtualizarSessaoLegado',\r\n 204\r\n );\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* putParametrizacaoUsuario(action) {\r\n try {\r\n const { idUsuario, cards } = action.payload;\r\n\r\n const response = [];\r\n yield* cards.map(function* (card, index) {\r\n const resp = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.put,\r\n `/${idUsuario}/parametrizacao`,\r\n card\r\n );\r\n\r\n response.push(resp);\r\n });\r\n\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n\r\n const newCards = response.map((c, index) => {\r\n return {\r\n oldIdParametrizacao: cards[index].idParametrizacao,\r\n newIdParametrizacao: c.data.idParametrizacao,\r\n };\r\n });\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioSuccess(\r\n newCards,\r\n isSuccess,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoUpdateId(newCards));\r\n } else if (isSuccess && hasValidationErrors && !isInvalid) {\r\n const errors = [];\r\n\r\n response.map((a) =>\r\n a.data.validationResult.errors.length > 0\r\n ? errors.push(a.data.validationResult.errors[0]?.errorMessage)\r\n : null\r\n );\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioSuccess(\r\n newCards,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoUpdateId(newCards));\r\n } else {\r\n const responseErrors = {\r\n errors: response.map((a) => a.data.validationResult.errors),\r\n message: response.map(\r\n (a) => a.data.validationResult.errors[0]?.errorMessage\r\n ),\r\n };\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioError(\r\n responseErrors.errors,\r\n responseErrors.message || 'Erro ao alterar a parametrização.'\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'putParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioError(\r\n unsuccessResponse,\r\n 'Erro ao alterar a parametrização.'\r\n )\r\n );\r\n }\r\n}\r\nexport function* getParametrizacaoCardsCompleto(action) {\r\n try {\r\n const { idUsuario, idCard, ...rest } = action.payload;\r\n\r\n const paramsRequest = qs.stringify(rest, {\r\n addQueryPrefix: true,\r\n skipNulls: true,\r\n });\r\n\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: rest,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n // yield put(\r\n // UsuarioActions.getParametrizacaoCardsCompletoSuccess(\r\n // response.data,\r\n // isSuccess\r\n // )\r\n // );\r\n\r\n const treeContent = JSON.parse(\r\n toJsonFromBase64(response.data.parametrizacao)\r\n );\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardCompleto(treeContent, idCard)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(UsuarioActions.getParametrizacaoCardsCompletoError(error));\r\n }\r\n}\r\nexport function* patchParametrizacaoInativar(action) {\r\n try {\r\n const { idUsuario, idCard, ...rest } = action.payload;\r\n\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/parametrizacao-inativar`,\r\n {},\r\n {\r\n params: rest,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoDeleteCard(idCard));\r\n } else\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarError(\r\n 'Erro ao inativar parametrização.'\r\n )\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(UsuarioActions.patchParametrizacaoInativarError(error));\r\n }\r\n}\r\n\r\nexport function* patchParametrizacaoAdmInativar(action) {\r\n try {\r\n const { idUsuario } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/parametrizacao-adm-inativar`\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n refreshPage();\r\n } else\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarError(\r\n 'Erro ao inativar parametrização.'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(UsuarioActions.patchParametrizacaoInativarError(error));\r\n }\r\n}\r\n\r\nexport function* saveParametrizacaoCards(action) {\r\n const { idUsuario, postCards, putCards } = action.payload;\r\n\r\n const response = [];\r\n const putCardsIds = [];\r\n const postCardsIds = [];\r\n\r\n try {\r\n // #region Request para alterar os cards já parametrizados.\r\n yield* putCards.map(function* (card, index) {\r\n const { idCard, name, ...rest } = card;\r\n const resp = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.put,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n\r\n putCardsIds.push({\r\n oldIdParametrizacao: card.idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n\r\n response.push({ ...resp, name });\r\n });\r\n // #endregion\r\n\r\n // #region Request para adicionar novos cards parametrizados.\r\n yield* postCards.map(function* (card, index) {\r\n const { idCard, name, ...rest } = card;\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n\r\n postCardsIds.push({\r\n idCard,\r\n oldIdParametrizacao: card.idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n\r\n response.push({ ...resp, name });\r\n });\r\n // #endregion\r\n\r\n // #region Verifica se há erros de validação ao inserir as parametrizações\r\n const { isSuccess, isInvalid, hasValidationErrors, errors } =\r\n isValid(response);\r\n // #endregion\r\n\r\n // #region Atualiza os Id'sParametrização a partir do response\r\n if (postCards.length > 0)\r\n yield put(ContratanteActions.parametrizacaoSetId(postCardsIds));\r\n if (putCards.length > 0)\r\n yield put(ContratanteActions.parametrizacaoUpdateId(putCardsIds));\r\n // #endregion\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsSuccess(\r\n [...postCards, ...putCards],\r\n true,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoToogleCard(\r\n [...postCardsIds, ...putCardsIds],\r\n true\r\n )\r\n );\r\n } else if (isSuccess && !isInvalid && hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsSuccess(\r\n [...postCards, ...putCards],\r\n true,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoToogleCard(\r\n [...postCardsIds, ...putCardsIds],\r\n true\r\n )\r\n );\r\n } else yield put(UsuarioActions.saveParametrizacaoCardsError(errors, true));\r\n } catch (error) {\r\n console.log(error);\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsError(error, error?.message)\r\n );\r\n }\r\n}\r\n\r\nexport function* getAndBuildParametrizacaoCards(action) {\r\n const { params } = action.payload;\r\n const cardsResponse = {\r\n ContratanteRoot: [],\r\n GrupoRoot: [],\r\n };\r\n try {\r\n const cards = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${params.idUsuario}/parametrizacao-cards`\r\n );\r\n\r\n cardsResponse.ContratanteRoot = cards.data.contratanteCard.map((c) => ({\r\n Card: c,\r\n Tree: [],\r\n }));\r\n cardsResponse.GrupoRoot = cards.data.grupoComplementoCard.map((c) => ({\r\n Card: c,\r\n Tree: [],\r\n }));\r\n\r\n const newCards = [\r\n ...cardsResponse.ContratanteRoot.map((c) => c.Card),\r\n ...cardsResponse.GrupoRoot.map((g) => g.Card),\r\n ];\r\n\r\n if (params?.isParametrizacaoEspelho) {\r\n // Limpando parametrização atual\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsById(\r\n newCards.map((card) => ({ ...card, idParametrizacao: 0 }))\r\n )\r\n );\r\n\r\n if (cardsResponse.ContratanteRoot.length > 0) {\r\n yield* cardsResponse.ContratanteRoot.map(function* (card) {\r\n const cardCompleto = yield call(\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n if (cardsResponse.GrupoRoot.length > 0) {\r\n yield* cardsResponse.GrupoRoot.map(function* (card) {\r\n const cardCompleto = yield call(\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n /*\r\n const contratanteRoot = [];\r\n const grupoRoot = [];\r\n\r\n newCards.forEach((card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnNameAPI[0]) {\r\n contratanteRoot.push({\r\n contratante: { ...card, idParametrizacao: 0 },\r\n });\r\n }\r\n if (card.tipoParametrizacao === TipoCardRoot.returnNameAPI[1]) {\r\n grupoRoot.push({ complemento: { ...card, idParametrizacao: 0 } });\r\n }\r\n });\r\n if (contratanteRoot.length > 0) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoRequest(\r\n contratanteRoot\r\n )\r\n );\r\n }\r\n\r\n if (grupoRoot.length > 0) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoRequest(\r\n grupoRoot\r\n )\r\n );\r\n }\r\n */\r\n } else {\r\n yield put(ContratanteActions.parametrizacaoSetCardsById(newCards));\r\n\r\n if (cardsResponse.ContratanteRoot.length > 0) {\r\n yield* cardsResponse.ContratanteRoot.map(function* (card) {\r\n const cardCompleto = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n if (cardsResponse.GrupoRoot.length > 0) {\r\n yield* cardsResponse.GrupoRoot.map(function* (card) {\r\n const cardCompleto = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n }\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompleto(\r\n [...cardsResponse.ContratanteRoot, ...cardsResponse.GrupoRoot],\r\n params?.isParametrizacaoEspelho\r\n )\r\n );\r\n\r\n yield put(UsuarioActions.getAndBuildParametrizacaoCardsSuccess([], true));\r\n } catch (error) {\r\n yield put(\r\n UsuarioActions.getAndBuildParametrizacaoCardsError(error, error.message)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta das parametrizações.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getUsuarioEspelho(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(UsuariosAPI.get, '', {\r\n params,\r\n });\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (isSuccess) yield put(UsuarioActions.success(response.data));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n Não foi possível listar os usuarios\r\n );\r\n }\r\n}\r\n\r\nexport function* patchAtualizarTipoPerfil(action) {\r\n try {\r\n const { idUsuario, newRoles } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/atualizar-tipo-perfil`,\r\n {\r\n tiposPerfil: [...newRoles],\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(UsuarioActions.success({}));\r\n refreshPage();\r\n } else yield put(UsuarioActions.error({}));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n Erro ao alterar o perfil do usuario.\r\n );\r\n }\r\n}\r\n\r\nexport function* postClonarUsuarioEspelho(action) {\r\n try {\r\n const { idUsuario, idUsuarioEspelho } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.post,\r\n `/${idUsuario}/clonar-usuario-espelho`,\r\n {\r\n idUsuarioEspelho,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(UsuarioActions.success({}));\r\n // Atualizar grid de cards de parametrização\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n yield put(\r\n UsuarioActions.getAndBuildParametrizacaoCardsRequest({ idUsuario })\r\n );\r\n refreshPage();\r\n } else yield put(UsuarioActions.error({}));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n \r\n Erro ao clonar a parametrização do usuario espelho.\r\n \r\n );\r\n }\r\n}\r\nconst isValid = (response) => {\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n if (hasValidationErrors) {\r\n const errors = [];\r\n\r\n response.map((a) => {\r\n if (a.data.validationResult.errors.length > 0) {\r\n errors.push({\r\n name: a.name,\r\n errorMessage: a.data.validationResult.errors[0]?.errorMessage,\r\n });\r\n }\r\n });\r\n\r\n return { isSuccess, isInvalid, hasValidationErrors, errors };\r\n }\r\n\r\n return { isSuccess, isInvalid, hasValidationErrors };\r\n};\r\n\r\nconst refreshPage = () => {\r\n movcadUpt();\r\n window.location.reload();\r\n};\r\n","import React from 'react';\r\n\r\nimport { retry, put, all } from 'redux-saga/effects';\r\nimport qs from 'qs';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ContratanteActions } from '../ducks/contratante';\r\n\r\nimport { contratantesAPI } from '../../services/api';\r\nimport {\r\n responseHandlerGet,\r\n responseHandler,\r\n} from '../../utils/responseHandler';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\nimport { toJsonFromBase64 } from '../../utils/array';\r\n\r\nexport function* getGrupoComplementos(action) {\r\n const { params } = action.payload;\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `/parametrizacao-grupo-complemento`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getGrupoComplementos',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const grupoComplementos = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getGrupoComplementosSuccess(\r\n grupoComplementos,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoComplementos',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoComplementosError(unsuccessResponse, error)\r\n );\r\n\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de grupo complemento.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratantes(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `/parametrizacao-contratante`,\r\n { params: queryString }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContratantes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getContratanteSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratantes',\r\n 200\r\n );\r\n\r\n yield put(ContratanteActions.getContratanteError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* getGrupoContratantes(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `contratante-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getGrupoContratantes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n id: params.codigoComplemento,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContratantesSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoContratantes',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContratantesError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getContratanteModalidades(action) {\r\n const { params } = action.payload;\r\n\r\n const { path, idCard, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `modalidade-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContratanteModalidades',\r\n 200\r\n );\r\n if (isSuccess) {\r\n response.data.modalidadeNode.map((a) => {\r\n a.codigoContratante = params.codigoContratante;\r\n });\r\n const contratantes = {\r\n ...response.data,\r\n codigoContratante: params.codigoContratante,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesSuccess(\r\n contratantes,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratanteModalidades',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getModalidadeTermos(action) {\r\n const { params } = action.payload;\r\n\r\n const { idCard, path, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(2, 2000, contratantesAPI.get, `termo-node`, {\r\n params: queryString,\r\n });\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getModalidadeTermos',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getModalidadeTermosSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getModalidadeTermos',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getModalidadeTermosError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getGrupoContagem(action) {\r\n const { cards } = action.payload;\r\n\r\n const response = [];\r\n\r\n try {\r\n yield* cards.map(function* (card) {\r\n const queryString = {\r\n codigoGrupo: card.complemento?.codigoGrupo,\r\n codigoComplemento: card.complemento?.codigoComplemento,\r\n };\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `grupo-totalizador`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n response.push({\r\n contagem: resp.data,\r\n idCard: card.idCard,\r\n status: resp.status,\r\n });\r\n });\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 299\r\n );\r\n\r\n if (isSuccess) {\r\n yield put(\r\n ContratanteActions.getGrupoContagemSuccess(response, isSuccess, cards)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoContagem',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContagemError(unsuccessResponse, error, cards)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de contagem de grupos.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratanteContagem(action) {\r\n const { cards } = action.payload;\r\n\r\n const response = [];\r\n\r\n try {\r\n yield* cards.map(function* (card) {\r\n const queryString = {\r\n codigoContratante: card.contratante?.codigoContratante,\r\n };\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `contratante-totalizador`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n response.push({\r\n contagem: resp.data,\r\n idCard: card.idCard,\r\n status: resp.status,\r\n });\r\n });\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 299\r\n );\r\n\r\n if (isSuccess) {\r\n yield put(\r\n ContratanteActions.getContratanteContagemSuccess(\r\n response,\r\n isSuccess,\r\n cards\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratanteContagem',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getContratanteContagemError(\r\n unsuccessResponse,\r\n error,\r\n cards\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de contagem de contratantes.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoGrupoComplementoCompleto(action) {\r\n const { params } = action.payload;\r\n\r\n const queryParams = yield params.map((p) => {\r\n return {\r\n codigoGrupo: p.complemento.codigoGrupo,\r\n codigoComplemento: p.complemento.codigoComplemento,\r\n };\r\n });\r\n\r\n try {\r\n const response = yield all(\r\n queryParams.map((qp) =>\r\n retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `parametrizacao-grupo-complemento-completo`,\r\n { params: qp }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n\r\n if (isSuccess) {\r\n const newCards = response.map((resp, index) => {\r\n const treeObject = JSON.parse(\r\n toJsonFromBase64(resp.data.result.parametrizacao)\r\n );\r\n\r\n return {\r\n Tree: treeObject,\r\n idCard: params[index].idCard,\r\n contagem: {\r\n contratantes:\r\n treeObject.totalizadorParametrizacao.totalContratantes,\r\n modalidades: treeObject.totalizadorParametrizacao.totalModalidades,\r\n termos: treeObject.totalizadorParametrizacao.totalTermos,\r\n },\r\n };\r\n });\r\n\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoSuccess(\r\n isSuccess,\r\n response,\r\n params\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompletoNewCards(newCards)\r\n );\r\n } else {\r\n throw new Error(\r\n 'Não foi possível realizar a consulta de parametrizações.'\r\n );\r\n }\r\n } catch (error) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoError(\r\n error.message,\r\n params\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de parametrizações.\r\n \r\n );\r\n }\r\n}\r\nexport function* getParametrizacaoContratanteCompleto(action) {\r\n const { params } = action.payload;\r\n\r\n const queryParams = yield params.map((p) => {\r\n return {\r\n codigoContratante: p.contratante.codigoContratante,\r\n };\r\n });\r\n\r\n try {\r\n const response = yield all(\r\n queryParams.map((qp) =>\r\n retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `parametrizacao-contratante-completo`,\r\n {\r\n params: qp,\r\n }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n\r\n if (isSuccess) {\r\n const newCards = response.map((resp, index) => {\r\n const treeObject = JSON.parse(\r\n toJsonFromBase64(resp.data.result.parametrizacao)\r\n );\r\n\r\n return {\r\n Tree: treeObject,\r\n idCard: params[index].idCard,\r\n contagem: {\r\n modalidades: treeObject.totalizadorParametrizacao.totalModalidades,\r\n termos: treeObject.totalizadorParametrizacao.totalTermos,\r\n },\r\n };\r\n });\r\n\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoSuccess(\r\n isSuccess,\r\n response,\r\n params\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompletoNewCards(newCards)\r\n );\r\n } else {\r\n throw new Error(\r\n 'Não foi possível realizar a consulta de parametrizações.'\r\n );\r\n }\r\n } catch (error) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoError(\r\n error.message,\r\n params\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de parametrizações.\r\n \r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n GET_LISTA_ARQUIVOS_REQUEST: '@arquivoUpload/GET_LISTA_ARQUIVOS_REQUEST',\r\n GET_LISTA_ARQUIVOS_SUCCESS: '@arquivoUpload/GET_LISTA_ARQUIVOS_SUCCESS',\r\n GET_LISTA_ARQUIVOS_ERROR: '@arquivoUpload/GET_LISTA_ARQUIVOS_ERROR',\r\n GET_ARQUIVO_REQUEST: '@arquivoUpload/GET_ARQUIVO_REQUEST',\r\n GET_ARQUIVO_SUCCESS: '@arquivoUpload/GET_ARQUIVO_SUCCESS',\r\n GET_ARQUIVO_ERROR: '@arquivoUpload/GET_ARQUIVO_ERROR',\r\n GET_ATUALIZACAO_DE_RELATORIO_REQUEST:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_REQUEST',\r\n GET_ATUALIZACAO_DE_RELATORIO_SUCCESS:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_SUCCESS',\r\n GET_ATUALIZACAO_DE_RELATORIO_ERROR:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getListaArquivos: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n dados: [],\r\n total: 0,\r\n },\r\n error: null,\r\n },\r\n getArquivo: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n error: null,\r\n },\r\n};\r\n\r\nexport default function arquivoUpload(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_LISTA_ARQUIVOS_REQUEST: {\r\n draft.getListaArquivos.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTA_ARQUIVOS_SUCCESS: {\r\n draft.getListaArquivos.loading = false;\r\n draft.getListaArquivos.response = action.payload.response;\r\n draft.getListaArquivos.success = action.payload.success;\r\n draft.getListaArquivos.error = false;\r\n break;\r\n }\r\n case Types.GET_ATUALIZACAO_DE_RELATORIO_REQUEST: {\r\n draft.getListaArquivos.loading = false;\r\n break;\r\n }\r\n case Types.GET_ATUALIZACAO_DE_RELATORIO_SUCCESS: {\r\n draft.getListaArquivos.loading = false;\r\n const existingIndex = draft.getListaArquivos.response.dados.findIndex(\r\n (item) => item.taskId === action.payload.response.taskId\r\n );\r\n\r\n if (existingIndex !== -1) {\r\n // Se taskId existe, substituir os dados associados\r\n draft.getListaArquivos.response.dados[existingIndex] =\r\n action.payload.response;\r\n } else {\r\n return;\r\n }\r\n draft.getListaArquivos.success = action.payload.success;\r\n draft.getListaArquivos.error = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_ARQUIVOS_ERROR: {\r\n draft.getListaArquivos.loading = false;\r\n draft.getListaArquivos.error = action.payload.error;\r\n draft.getListaArquivos.success = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_REQUEST: {\r\n draft.getArquivo.loading = true;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_SUCCESS: {\r\n draft.getArquivo.loading = false;\r\n draft.getArquivo.response = action.payload.response;\r\n draft.getArquivo.success = action.payload.success;\r\n draft.getArquivo.error = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_ERROR: {\r\n draft.getArquivo.loading = false;\r\n draft.getArquivo.error = action.payload.error;\r\n draft.getArquivo.success = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getAtualizacaoDeRelatorioRequest: (taskId) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_REQUEST,\r\n payload: { taskId },\r\n }),\r\n getAtualizacaoDeRelatorioSuccess: (response, success) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getAtualizacaoDeRelatorioError: (error) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_ERROR,\r\n payload: { error },\r\n }),\r\n getListaArquivosRequest: (\r\n codigoContratante,\r\n paginaInicial,\r\n quantidadeMaximaPorPagina\r\n ) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_REQUEST,\r\n payload: { codigoContratante, paginaInicial, quantidadeMaximaPorPagina },\r\n }),\r\n getListaArquivosSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListaArquivosError: (error) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_ERROR,\r\n payload: { error },\r\n }),\r\n getArquivoRequest: (arquivoId) => ({\r\n type: Types.GET_ARQUIVO_REQUEST,\r\n payload: { arquivoId },\r\n }),\r\n getArquivoSuccess: (response, success) => ({\r\n type: Types.GET_ARQUIVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getArquivoError: (error) => ({\r\n type: Types.GET_ARQUIVO_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as ArquivoUploadActions } from '../ducks/arquivoUpload';\r\n\r\nimport { ArquivoUploadAPI } from '../../services/api';\r\n\r\nexport function* getAtualizacaoDeRelatorio(action) {\r\n const { taskId } = action.payload;\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `/obter-atualizacao-de-relatorio-de-beneficiarios/${taskId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n ArquivoUploadActions.getAtualizacaoDeRelatorioSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getAtualizacaoDeRelatorioError(error));\r\n }\r\n}\r\nexport function* getListaArquivos(action) {\r\n const { codigoContratante, paginaInicial, quantidadeMaximaPorPagina } =\r\n action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `/obter-relatorios-de-beneficiarios/${codigoContratante}/${paginaInicial}/${quantidadeMaximaPorPagina}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n ArquivoUploadActions.getListaArquivosSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getListaArquivosError(error));\r\n }\r\n}\r\nexport function* getArquivo(action) {\r\n const { arquivoId } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `obter-arquivo-de-relatorio-de-beneficiarios/${arquivoId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(ArquivoUploadActions.getArquivoSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getArquivoError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n GET_PERMISSAO_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_REQUEST',\r\n GET_PERMISSAO_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_SUCCESS',\r\n GET_PERMISSAO_SEGUNDA_VIA_ERROR:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_ERROR',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR',\r\n POST_SOLICITAR_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_REQUEST',\r\n POST_SOLICITAR_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_SUCCESS',\r\n POST_SOLICITAR_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_ERROR',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR',\r\n DELETE_SEGUNDA_VIA_REQUEST: '@requisicao/DELETE_SEGUNDA_VIA_REQUEST',\r\n DELETE_SEGUNDA_VIA_SUCCESS: '@requisicao/DELETE_SEGUNDA_VIA_SUCCESS',\r\n DELETE_SEGUNDA_VIA_ERROR: '@requisicao/DELETE_SEGUNDA_VIA_ERROR',\r\n DELETE_SEGUNDA_VIA_ANEXO_REQUEST:\r\n '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_REQUEST',\r\n DELETE_SEGUNDA_VIA_ANEXO_SUCCESS:\r\n '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_SUCCESS',\r\n DELETE_SEGUNDA_VIA_ANEXO_ERROR: '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_ERROR',\r\n GET_SEGUNDA_VIA_ANEXO_REQUEST: '@requisicao/GET_SEGUNDA_VIA_ANEXO_REQUEST',\r\n GET_SEGUNDA_VIA_ANEXO_SUCCESS: '@requisicao/GET_SEGUNDA_VIA_ANEXO_SUCCESS',\r\n GET_SEGUNDA_VIA_ANEXO_ERROR: '@requisicao/GET_SEGUNDA_VIA_ANEXO_ERROR',\r\n PUT_SEGUNDA_VIA_UPDATE_REQUEST: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_REQUEST',\r\n PUT_SEGUNDA_VIA_UPDATE_SUCCESS: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_SUCCESS',\r\n PUT_SEGUNDA_VIA_UPDATE_ERROR: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_ERROR',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR',\r\n POST_SEGUNDA_VIA_PROCESSAR_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_REQUEST',\r\n POST_SEGUNDA_VIA_PROCESSAR_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_SUCCESS',\r\n POST_SEGUNDA_VIA_PROCESSAR_ERROR:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_ERROR',\r\n POST_SEGUNDA_VIA_CARTAO_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_CARTAO_REQUEST',\r\n POST_SEGUNDA_VIA_CARTAO_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_CARTAO_SUCCESS',\r\n POST_SEGUNDA_VIA_CARTAO_ERROR: '@requisicao/POST_SEGUNDA_VIA_CARTAO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getPermissaoSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postRelatorioSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getBeneficiarios: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n deleteSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getAnexoSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n putSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postProcessarSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function requisicao(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_REQUEST: {\r\n draft.getPermissaoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_SUCCESS: {\r\n draft.getPermissaoSegundaVia.loading = false;\r\n draft.getPermissaoSegundaVia.response = action.payload.response;\r\n draft.getPermissaoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_ERROR: {\r\n draft.getPermissaoSegundaVia.loading = false;\r\n draft.getPermissaoSegundaVia.isError = true;\r\n draft.getPermissaoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST: {\r\n draft.postRelatorioSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS: {\r\n draft.postRelatorioSegundaVia.loading = false;\r\n draft.postRelatorioSegundaVia.response = action.payload.response;\r\n draft.postRelatorioSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR: {\r\n draft.postRelatorioSegundaVia.loading = false;\r\n draft.postRelatorioSegundaVia.isError = true;\r\n draft.postRelatorioSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_REQUEST: {\r\n draft.postSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_SUCCESS: {\r\n draft.postSegundaViaCartao.loading = false;\r\n draft.postSegundaViaCartao.response = action.payload.response;\r\n draft.postSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_ERROR: {\r\n draft.postSegundaViaCartao.loading = false;\r\n draft.postSegundaViaCartao.isError = true;\r\n draft.postSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST: {\r\n draft.getBeneficiarios.loading = true;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS: {\r\n draft.getBeneficiarios.loading = false;\r\n draft.getBeneficiarios.response = action.payload.response;\r\n draft.getBeneficiarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR: {\r\n draft.getBeneficiarios.loading = false;\r\n draft.getBeneficiarios.isError = true;\r\n draft.getBeneficiarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_REQUEST: {\r\n draft.deleteSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_SUCCESS: {\r\n draft.deleteSegundaVia.loading = false;\r\n draft.deleteSegundaVia.response = action.payload.response;\r\n draft.deleteSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ERROR: {\r\n draft.deleteSegundaVia.loading = false;\r\n draft.deleteSegundaVia.isError = true;\r\n draft.deleteSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_REQUEST: {\r\n draft.getAnexoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_SUCCESS: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.response = action.payload.response;\r\n draft.getAnexoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_ERROR: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.isError = true;\r\n draft.getAnexoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_REQUEST: {\r\n draft.getAnexoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_SUCCESS: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.response = action.payload.response;\r\n draft.getAnexoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_ERROR: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.isError = true;\r\n draft.getAnexoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_REQUEST: {\r\n draft.putSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_SUCCESS: {\r\n draft.putSegundaViaCartao.loading = false;\r\n draft.putSegundaViaCartao.response = action.payload.response;\r\n draft.putSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_ERROR: {\r\n draft.putSegundaViaCartao.loading = false;\r\n draft.putSegundaViaCartao.isError = true;\r\n draft.putSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_REQUEST: {\r\n draft.postProcessarSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_SUCCESS: {\r\n draft.postProcessarSegundaVia.loading = false;\r\n draft.postProcessarSegundaVia.response = action.payload.response;\r\n draft.postProcessarSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_ERROR: {\r\n draft.postProcessarSegundaVia.loading = false;\r\n draft.postProcessarSegundaVia.isError = true;\r\n draft.postProcessarSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST: {\r\n draft.getSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.response = action.payload.response;\r\n draft.getSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.isError = true;\r\n draft.getSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_REQUEST: {\r\n draft.getSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_SUCCESS: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.response = action.payload.response;\r\n draft.getSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_ERROR: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.isError = true;\r\n draft.getSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getPermissaoSegundaViaRequest: (params) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n getPermissaoSegundaViaSuccess: (response, success) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getPermissaoSegundaViaError: (error) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postSolicitarRelatorioSegundaViaRequest: (params) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSolicitarRelatorioSegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSolicitarRelatorioSegundaViaError: (error) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postSolicitarSegundaViaRequest: (params) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSolicitarSegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSolicitarSegundaViaError: (error) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postBeneficiarioSegundaViaRequest: (params) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postBeneficiarioegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postBeneficiarioSegundaViaError: (error) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n deleteSegundaViaRequest: (params) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n deleteSegundaViaSuccess: (response, success) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n deleteSegundaViaError: (error) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n deleteSegundaViaAnexoRequest: (params) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_REQUEST,\r\n payload: { params },\r\n }),\r\n deleteSegundaViaAnexoSuccess: (response, success) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n deleteSegundaViaAnexoError: (error) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_ERROR,\r\n payload: { error },\r\n }),\r\n getSegundaViaAnexoRequest: (params) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_REQUEST,\r\n payload: { params },\r\n }),\r\n getSegundaViaAnexoSuccess: (response, success) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getSegundaViaAnexoError: (error) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_ERROR,\r\n payload: { error },\r\n }),\r\n putSegundaViaUpdateRequest: (params) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_REQUEST,\r\n payload: { params },\r\n }),\r\n putSegundaViaUpdateSuccess: (response, success) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n putSegundaViaUpdateError: (error) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaProcessarRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaProcessarSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaProcessarError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaBuscarPorIdRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaBuscarPorIdSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaBuscarPorIdError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaCartaoRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaCartaoSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaCartaoError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as RequisicaoActions } from '../ducks/requisicao';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport { requisitionAPI } from '../../services/api';\r\n\r\nexport function* getPermissaoSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(requisitionAPI.get, `/allowed/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.getPermissaoSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.getPermissaoSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSolicitarRelatorioSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n const tipo = {\r\n Detalhado: '/relatorio-detalhado-excel',\r\n Resumido: '/relatorio-resumido-csv',\r\n };\r\n try {\r\n const response = yield call(\r\n requisitionAPI.post,\r\n tipo[params.tipoRelatorio],\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSolicitarRelatorioSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSolicitarSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/create`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSolicitarSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSolicitarSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* getBeneficiariosSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n requisitionAPI.post,\r\n `/obter-beneficiarios-ativos`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postBeneficiarioegundaViaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postBeneficiarioegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* deleteSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n requisitionAPI.put,\r\n `/delete/${params.requisitionId}/${params.userId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.deleteSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.deleteSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* getSegundaViaAnexo(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.get, `/attachment/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.getSegundaViaAnexoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.getSegundaViaAnexoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* deleteSegundaViaAnexo(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.delete, `/attachment/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.deleteSegundaViaAnexoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.deleteSegundaViaAnexoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(requisitionAPI.put, `/update`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.putSegundaViaUpdateSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.putSegundaViaUpdateError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSegundaViaBuscarPorId(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n requisitionAPI.post,\r\n `/filter-after-update`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaBuscarPorIdSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaBuscarPorIdError(error));\r\n toast.error(\r\n {error.response.data.error_message}\r\n );\r\n }\r\n}\r\n\r\nexport function* postSegundaViaProcessar(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/process`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaProcessarSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaProcessarError(error));\r\n }\r\n}\r\n\r\nexport function* postSegundaViaCartao(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/filter`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaCartaoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaCartaoError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_DATA_BENEFICIARIES_NESTLE_REQUEST:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_REQUEST',\r\n POST_DATA_BENEFICIARIES_NESTLE_SUCCESS:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_SUCCESS',\r\n POST_DATA_BENEFICIARIES_NESTLE_ERROR:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_ERROR',\r\n GET_DOCUMENTOS_STATUS_REQUEST: '@beneficiario/GET_DOCUMENTOS_STATUS_REQUEST',\r\n GET_DOCUMENTOS_STATUS_SUCCESS: '@beneficiario/GET_DOCUMENTOS_STATUS_SUCCESS',\r\n GET_DOCUMENTOS_STATUS_ERROR: '@beneficiario/GET_DOCUMENTOS_STATUS_ERROR',\r\n GET_DOCUMENTO_DETALHE_REQUEST: '@beneficiario/GET_DOCUMENTO_DETALHE_REQUEST',\r\n GET_DOCUMENTO_DETALHE_SUCCESS: '@beneficiario/GET_DOCUMENTO_DETALHE_SUCCESS',\r\n GET_DOCUMENTO_DETALHE_ERROR: '@beneficiario/GET_DOCUMENTO_DETALHE_ERROR',\r\n GET_DOCUMENTO_DETALHE_RENEW: '@beneficiario/GET_DOCUMENTO_DETALHE_RENEW',\r\n PATCH_DOCUMENTO_CONFERENCIA_REQUEST:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_REQUEST',\r\n PATCH_DOCUMENTO_CONFERENCIA_SUCCESS:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_SUCCESS',\r\n PATCH_DOCUMENTO_CONFERENCIA_ERROR:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_ERROR',\r\n PATCH_DOCUMENTO_CONFERENCIA_RENEW:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getDocumentosStatus: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getBeneficiariesNestle: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getDocumentoDetalhe: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchDocumentoConferencia: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function beneficiario(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_REQUEST: {\r\n draft.getBeneficiariesNestle.loading = true;\r\n break;\r\n }\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_SUCCESS: {\r\n draft.getBeneficiariesNestle.loading = false;\r\n draft.getBeneficiariesNestle.response = action.payload.response;\r\n draft.getBeneficiariesNestle.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_ERROR: {\r\n draft.getBeneficiariesNestle.loading = false;\r\n draft.getBeneficiariesNestle.isError = true;\r\n draft.getBeneficiariesNestle.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_REQUEST: {\r\n draft.getDocumentosStatus.loading = true;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_SUCCESS: {\r\n draft.getDocumentosStatus.loading = false;\r\n draft.getDocumentosStatus.response = action.payload.response;\r\n draft.getDocumentosStatus.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_ERROR: {\r\n draft.getDocumentosStatus.loading = false;\r\n draft.getDocumentosStatus.isError = true;\r\n draft.getDocumentosStatus.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_REQUEST: {\r\n draft.getDocumentoDetalhe.loading = true;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_SUCCESS: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.response = action.payload.response;\r\n draft.getDocumentoDetalhe.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_ERROR: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.isError = true;\r\n draft.getDocumentoDetalhe.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_RENEW: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.success = false;\r\n draft.getDocumentoDetalhe.response = {};\r\n draft.getDocumentoDetalhe.unsuccessResponse = [];\r\n draft.getDocumentoDetalhe.error = null;\r\n draft.getDocumentoDetalhe.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_REQUEST: {\r\n draft.patchDocumentoConferencia.success = false;\r\n draft.patchDocumentoConferencia.unsuccessResponse = [];\r\n draft.patchDocumentoConferencia.loading = false;\r\n draft.patchDocumentoConferencia.isError = false;\r\n draft.patchDocumentoConferencia.error = [];\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_SUCCESS: {\r\n draft.patchDocumentoConferencia.success = action.payload.isSuccess;\r\n draft.patchDocumentoConferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_ERROR: {\r\n draft.patchDocumentoConferencia.error = action.payload.error;\r\n draft.patchDocumentoConferencia.isError = true;\r\n draft.patchDocumentoConferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_RENEW: {\r\n draft.patchDocumentoConferencia.success = false;\r\n draft.patchDocumentoConferencia.unsuccessResponse = [];\r\n draft.patchDocumentoConferencia.loading = false;\r\n draft.patchDocumentoConferencia.isError = false;\r\n draft.patchDocumentoConferencia.error = [];\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postDataBeneficiariesNestleRequest: (params) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_REQUEST,\r\n payload: { params },\r\n }),\r\n postDataBeneficiariesNestleSuccess: (response, success) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postDataBeneficiariesNestleError: (error) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentosStatusRequest: (params) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getDocumentosStatusSuccess: (response, success) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDocumentosStatusError: (error) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentoDetalheRequest: (params, idBeneficiario) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_REQUEST,\r\n payload: { params, idBeneficiario },\r\n }),\r\n getDocumentoDetalheSuccess: (response, success) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDocumentoDetalheError: (error) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentoDetalheRenew: () => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_RENEW,\r\n payload: {},\r\n }),\r\n patchDocumentoConferenciaRequest: (params) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_REQUEST,\r\n payload: { params },\r\n }),\r\n patchDocumentoConferenciaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchDocumentoConferenciaError: (error) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_ERROR,\r\n payload: { error },\r\n }),\r\n patchDocumentoConferenciaRenew: () => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_RENEW,\r\n }),\r\n};\r\n","import { call, put, retry } from 'redux-saga/effects';\r\n\r\nimport { Creators as BeneficiarioActions } from '../ducks/beneficiario';\r\n\r\nimport { BeneficiariosAPI, listasAPI } from '../../services/api';\r\n\r\nexport function* postDataBeneficiriesNestle(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/data-nestle`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.postDataBeneficiariesNestleSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.postDataBeneficiariesNestleError(error));\r\n }\r\n}\r\n\r\nexport function* getDocumentosStatus(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.get,\r\n `/documento-status`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.getDocumentosStatusSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.getDocumentosStatusError(error));\r\n }\r\n}\r\n\r\nexport function* getDocumentoDetalhe(action) {\r\n const { params, idBeneficiario } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.get,\r\n `/${idBeneficiario}/documento-detalhe`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.getDocumentoDetalheSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.getDocumentoDetalheError(error));\r\n }\r\n}\r\n\r\nexport function* patchDocumentoConferencia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.patch,\r\n `/documento-conferencia`,\r\n {\r\n ...params,\r\n }\r\n );\r\n\r\n const isSuccess = response.status === 204 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.patchDocumentoConferenciaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.patchDocumentoConferenciaError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n PUT_TASK_REPROCESS_REQUEST: '@task/PUT_TASK_REPROCESS_REQUEST',\r\n PUT_TASK_REPROCESS_RESPONSE: '@task/PUT_TASK_REPROCESS_RESPONSE',\r\n GET_TASK_DETAILS_LAST_ERROR_REQUEST:\r\n '@task/GET_TASK_DETAILS_LAST_ERROR_REQUEST',\r\n GET_TASK_DETAILS_LAST_ERROR_RESPONSE:\r\n '@task/GET_TASK_DETAILS_LAST_ERROR_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n putReprocessarTask: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getUltimoErroTask: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function task(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.PUT_TASK_REPROCESS_REQUEST: {\r\n draft.putReprocessarTask.loading = true;\r\n break;\r\n }\r\n case Types.PUT_TASK_REPROCESS_RESPONSE: {\r\n draft.putReprocessarTask.loading = false;\r\n draft.putReprocessarTask.data = action.payload.response;\r\n draft.putReprocessarTask.success = action.payload.success;\r\n draft.putReprocessarTask.error = false;\r\n break;\r\n }\r\n\r\n case Types.GET_TASK_DETAILS_LAST_ERROR_REQUEST: {\r\n draft.getUltimoErroTask.loading = true;\r\n break;\r\n }\r\n case Types.GET_TASK_DETAILS_LAST_ERROR_RESPONSE: {\r\n draft.getUltimoErroTask.loading = false;\r\n draft.getUltimoErroTask.data = action.payload.response;\r\n draft.getUltimoErroTask.success = action.payload.success;\r\n draft.getUltimoErroTask.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n putReprocessarTaskRequest: (taskId) => ({\r\n type: Types.PUT_TASK_REPROCESS_REQUEST,\r\n payload: { taskId },\r\n }),\r\n putReprocessarTaskResponse: (response, success) => ({\r\n type: Types.PUT_TASK_REPROCESS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getUltimoErroTaskRequest: (taskId) => ({\r\n type: Types.GET_TASK_DETAILS_LAST_ERROR_REQUEST,\r\n payload: { taskId },\r\n }),\r\n getUltimoErroTaskResponse: (response, success) => ({\r\n type: Types.GET_TASK_DETAILS_LAST_ERROR_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as TasksActions } from '../ducks/task';\r\n\r\nimport { TaskAPi } from '../../services/api';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\n\r\nexport function* putReprocessarTask(action) {\r\n const { taskId } = action.payload;\r\n\r\n try {\r\n const response = yield call(TaskAPi.put, `/reprocess/${taskId}`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n TasksActions.putReprocessarTaskResponse(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n /* yield put(TasksActions.getListaArquivosError(error)); */\r\n }\r\n}\r\nexport function* getUltimoErroTask(action) {\r\n const { taskId } = action.payload;\r\n\r\n try {\r\n const response = yield call(TaskAPi.get, `/details-last-error/${taskId}`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(TasksActions.getUltimoErroTaskResponse(response.data, isSuccess));\r\n } catch (error) {\r\n console.log(error);\r\n /* yield put(TasksActions.getListaArquivosError(error)); */\r\n }\r\n}\r\n\r\n/* {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n} */\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n getParametrosRequest: [],\r\n success: ['success', 'message', 'data'],\r\n getError: ['error'],\r\n patchParametroRequest: ['idParametrizacao', 'data'],\r\n renew: [],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n success: false,\r\n message: '',\r\n data: [],\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nconst getParametrosRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n success: false,\r\n message: '',\r\n data: [],\r\n loading: false,\r\n error: null,\r\n});\r\n\r\nconst success = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n success: action.success,\r\n message: action.message,\r\n data: action.data || [],\r\n loading: false,\r\n error: null,\r\n});\r\n\r\nconst getError = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n success: false,\r\n loading: false,\r\n error: action.error,\r\n});\r\n\r\nconst patchParametroRequest = (state = INICIAL_STATE, action) => {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n };\r\n};\r\n\r\nconst renew = (state = INICIAL_STATE) => ({\r\n ...state,\r\n ...INICIAL_STATE,\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.GET_ERROR]: getError,\r\n [Types.GET_PARAMETROS_REQUEST]: getParametrosRequest,\r\n [Types.PATCH_PARAMETRO_REQUEST]: patchParametroRequest,\r\n [Types.SUCCESS]: success,\r\n [Types.RENEW]: renew,\r\n});\r\n","const callTriggerModal = (\r\n message,\r\n callback = () => null,\r\n tipo = 'success',\r\n Footer = null\r\n) => {\r\n const provider = document.querySelector('#show-modal-provider');\r\n\r\n if (!provider)\r\n throw new Error(\r\n 'para que esta função seja chamada TriggerModalContextProvider deve ser usada no App.js'\r\n );\r\n\r\n const event = new CustomEvent('show-modal', {\r\n bubbles: false,\r\n detail: {\r\n options: { message, callback, tipo, Footer },\r\n },\r\n });\r\n\r\n provider.dispatchEvent(event);\r\n};\r\n\r\nconst success = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'success', Footer);\r\n\r\nconst error = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'error', Footer);\r\n\r\nconst warning = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'warning', Footer);\r\n\r\nconst modal = { success, error, warning };\r\nexport default modal;\r\n","import React from 'react';\r\nimport { retry, put } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as ParametroActions } from '../ducks/parametro';\r\n\r\nimport { ParametroAPI } from '../../services/api';\r\nimport { WarningToast, SuccessToast } from '../../components/molecules/Toast';\r\nimport modal from '../../context/TriggerModalContext';\r\nimport history from '../../services/history';\r\n\r\nexport function* getParametrosRequest(action) {\r\n try {\r\n const response = yield retry(5, 2000, ParametroAPI.get, `/listParameters`);\r\n\r\n const { success, message, data } = response.data;\r\n yield put(ParametroActions.success(success, message, data));\r\n } catch (error) {\r\n yield put(ParametroActions.getError(error));\r\n }\r\n}\r\n\r\nexport function* patchParametrosRequest(action) {\r\n try {\r\n const { idParametrizacao, data } = action;\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n ParametroAPI.patch,\r\n `/updateParameter/${idParametrizacao}`,\r\n { ...data }\r\n );\r\n\r\n const { success, message } = response.data;\r\n yield put(ParametroActions.success(success, message));\r\n modal.success(response.data.message, () => {\r\n history.push('/novo/parametros');\r\n });\r\n } catch (error) {\r\n toast.error({error.message});\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n postRelatorioBeneficiarioRequest: ['params'],\r\n postRelatorioBeneficiarioResponse: ['success', 'data', 'error'],\r\n\r\n postRelatorioNestleRequest: ['sendEmail'],\r\n postRelatorioNestleResponse: ['success', 'data', 'error'],\r\n\r\n getUltimoRelatorioNestleRequest: [],\r\n getUltimoRelatorioNestleResponse: ['success', 'data', 'error'],\r\n\r\n downloadRelatorioNestleRequest: ['id'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n postRelatorioBeneficiarioRequest: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {\r\n taskId: null,\r\n isSuccess: false,\r\n },\r\n },\r\n postRelatorioNestleRequest: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getUltimoRelatorioNestle: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\n// #region [POST] relatorios/relatorio-beneficiario-nestle\r\nconst postRelatorioBeneficiarioRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n postRelatorioBeneficiarioRequest: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postRelatorioBeneficiarioResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n postRelatorioBeneficiarioRequest: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n// #region [POST] relatorios/relatorio-beneficiario-nestle\r\nconst postRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n postRelatorioNestleRequest: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postRelatorioNestleResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n postRelatorioNestleRequest: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] /api/v1/relatorios/ultimo-relatorio-beneficiario-nestle\r\nconst getUltimoRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n getUltimoRelatorioNestle: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n});\r\n\r\nconst getUltimoRelatorioNestleResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n getUltimoRelatorioNestle: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] /api/v1/relatorios/relatorio-beneficiario-nestle/{id}\r\nconst downloadRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.POST_RELATORIO_BENEFICIARIO_REQUEST]: postRelatorioBeneficiarioRequest,\r\n [Types.POST_RELATORIO_BENEFICIARIO_RESPONSE]:\r\n postRelatorioBeneficiarioResponse,\r\n\r\n [Types.POST_RELATORIO_NESTLE_REQUEST]: postRelatorioNestleRequest,\r\n [Types.POST_RELATORIO_NESTLE_RESPONSE]: postRelatorioNestleResponse,\r\n\r\n [Types.GET_ULTIMO_RELATORIO_NESTLE_REQUEST]: getUltimoRelatorioNestleRequest,\r\n [Types.GET_ULTIMO_RELATORIO_NESTLE_RESPONSE]:\r\n getUltimoRelatorioNestleResponse,\r\n\r\n [Types.DOWNLOAD_RELATORIO_NESTLE_REQUEST]: downloadRelatorioNestleRequest,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as RelatorioActions } from '../ducks/relatorio';\r\n\r\nimport { RelatoriosAPI, listasAPI } from '../../services/api';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\n\r\nconst { REACT_APP_BASEURL } = process.env;\r\n\r\nexport function* postRelatorioBeneficiario(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/gerar-relatorio-beneficiarios-pela-api-de-integracao`,\r\n params\r\n );\r\n const { status } = response;\r\n if (status === 200) {\r\n yield put(\r\n RelatorioActions.postRelatorioBeneficiarioResponse(\r\n true,\r\n response.data,\r\n null\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioNestle(action) {\r\n const { sendEmail } = action;\r\n try {\r\n const response = yield call(\r\n RelatoriosAPI.post,\r\n `/relatorio-beneficiario-nestle`,\r\n { sendEmail }\r\n );\r\n const { status } = response;\r\n if (status === 204) {\r\n yield put(RelatorioActions.postRelatorioNestleResponse(true, {}, null));\r\n yield put(RelatorioActions.getUltimoRelatorioNestleRequest());\r\n return;\r\n }\r\n\r\n throw new Error('Não foi possivel requerir o relatório.');\r\n } catch (error) {\r\n if (error?.message || error?.response?.data?.errors?.Messages[0]) {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n }\r\n yield put(RelatorioActions.postRelatorioNestleResponse(false, null, error));\r\n }\r\n}\r\n\r\nexport function* getUltimoRelatorioNestle() {\r\n try {\r\n const response = yield call(\r\n RelatoriosAPI.get,\r\n `/ultimo-relatorio-beneficiario-nestle`\r\n );\r\n\r\n const { data, success } = response.data;\r\n if (success) {\r\n yield put(\r\n RelatorioActions.getUltimoRelatorioNestleResponse(success, data, null)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error('Não foi possivel listar o relatório.');\r\n } catch (error) {\r\n if (error?.message || error?.response?.data?.errors?.Messages[0]) {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n }\r\n yield put(\r\n RelatorioActions.getUltimoRelatorioNestleResponse(false, null, error)\r\n );\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n // #region [POST] check-list-documetos/documentos-importacao\r\n postDocumentosImportacaoRenew: [],\r\n postDocumentosImportacaoRequest: ['files', 'idLista'],\r\n postDocumentosImportacaoResponse: ['success', 'data', 'error'],\r\n postDocumentosImportacaoUpdateFile: [\r\n 'idFile',\r\n 'success',\r\n 'progress',\r\n 'message',\r\n ],\r\n // #endregion\r\n\r\n // #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\n getDocumentosBeneficiarioRequest: ['idLista'],\r\n getDocumentosBeneficiarioResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\n getDocumentoPreviewRequest: ['idLista', 'idDocumento'],\r\n getDocumentoPreviewResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\n postAtualizarDocumentoConferenciaRequest: [\r\n 'idLista',\r\n 'params',\r\n 'callbackSuccess',\r\n ],\r\n postAtualizarDocumentoConferenciaResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\n postFinalizarConferenciaDocumentosRequest: ['idLista', 'callbackSuccess'],\r\n postFinalizarConferenciaDocumentosResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n});\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao\r\nconst documentosImportacao = {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n files: [],\r\n};\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\nconst documentosBeneficiarios = {\r\n loading: false,\r\n success: false,\r\n response: {\r\n lista: {},\r\n header: [],\r\n beneficiario: {},\r\n },\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\nconst documentoPreview = {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\nconst documentoConferencia = {\r\n loading: false,\r\n success: false,\r\n data: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\nconst finalizarConferenciaDocumentos = {\r\n loading: false,\r\n success: false,\r\n data: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\nconst INICIAL_STATE = {\r\n documentoPreview,\r\n documentoConferencia,\r\n documentosImportacao,\r\n documentosBeneficiarios,\r\n finalizarConferenciaDocumentos,\r\n};\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao\r\nconst postDocumentosImportacaoRenew = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentosImportacao,\r\n});\r\n\r\nconst postDocumentosImportacaoRequest = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...documentosImportacao,\r\n loading: true,\r\n files: [...action.files],\r\n },\r\n});\r\n\r\nconst postDocumentosImportacaoUpdateFile = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...state.documentosImportacao,\r\n files: state.documentosImportacao.files.map((file) =>\r\n file.idFile === action.idFile\r\n ? {\r\n ...file,\r\n error: !action.success,\r\n progress: action.progress,\r\n message: action.message,\r\n }\r\n : file\r\n ),\r\n },\r\n});\r\n\r\nconst postDocumentosImportacaoResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...state.documentosImportacao,\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\nconst getDocumentosBeneficiarioRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentosBeneficiarios: {\r\n ...state.documentosBeneficiarios,\r\n loading: true,\r\n },\r\n});\r\nconst getDocumentosBeneficiarioResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosBeneficiarios: {\r\n ...state.documentosBeneficiarios,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\nconst getDocumentoPreviewRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentoPreview: {\r\n ...state.documentoPreview,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst getDocumentoPreviewResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentoPreview: {\r\n ...state.documentoPreview,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\nconst postAtualizarDocumentoConferenciaRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentoConferencia: {\r\n ...state.documentoConferencia,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst postAtualizarDocumentoConferenciaResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n documentoConferencia: {\r\n ...state.documentoConferencia,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\nconst postFinalizarConferenciaDocumentosRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n finalizarConferenciaDocumentos: {\r\n ...state.finalizarConferenciaDocumentos,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst postFinalizarConferenciaDocumentosResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n finalizarConferenciaDocumentos: {\r\n ...state.finalizarConferenciaDocumentos,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_RENEW]: postDocumentosImportacaoRenew,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_REQUEST]: postDocumentosImportacaoRequest,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_RESPONSE]: postDocumentosImportacaoResponse,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_UPDATE_FILE]: postDocumentosImportacaoUpdateFile,\r\n\r\n [Types.GET_DOCUMENTOS_BENEFICIARIO_REQUEST]: getDocumentosBeneficiarioRequest,\r\n [Types.GET_DOCUMENTOS_BENEFICIARIO_RESPONSE]: getDocumentosBeneficiarioResponse,\r\n\r\n [Types.GET_DOCUMENTO_PREVIEW_REQUEST]: getDocumentoPreviewRequest,\r\n [Types.GET_DOCUMENTO_PREVIEW_RESPONSE]: getDocumentoPreviewResponse,\r\n\r\n [Types.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST]: postAtualizarDocumentoConferenciaRequest,\r\n [Types.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_RESPONSE]: postAtualizarDocumentoConferenciaResponse,\r\n\r\n [Types.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST]: postFinalizarConferenciaDocumentosRequest,\r\n [Types.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_RESPONSE]: postFinalizarConferenciaDocumentosResponse,\r\n});\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as DocumentoActions } from '../ducks/documento';\r\n\r\nimport { CheckListDocumentosAPI } from '../../services/api';\r\n\r\nimport {\r\n WarningToast,\r\n ErrorToast,\r\n SuccessToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nexport function* postDocumentosImportacao(action) {\r\n const { files, idLista } = action;\r\n const isImportSuccess = [];\r\n\r\n try {\r\n yield* files.map(function* (file) {\r\n try {\r\n const fileFormat = {\r\n idLista,\r\n arquivo: file.base64,\r\n nomeArquivo: file.name,\r\n idHub: null,\r\n };\r\n\r\n const response = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao`,\r\n fileFormat\r\n );\r\n\r\n const { success, message } = response.data;\r\n\r\n isImportSuccess.push(success);\r\n\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoUpdateFile(\r\n file.idFile,\r\n success,\r\n 100,\r\n message\r\n )\r\n );\r\n\r\n if (!success) {\r\n throw new Error(message);\r\n }\r\n } catch (err) {\r\n if (err.message) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.message}\r\n
\r\n );\r\n }\r\n }\r\n });\r\n\r\n const isSuccess = isImportSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isImportSuccess.some((resp) => !!resp);\r\n const isError = isImportSuccess.every((resp) => !resp);\r\n\r\n if (isError) {\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(\r\n false,\r\n {},\r\n 'Documentos invalidos'\r\n )\r\n );\r\n return;\r\n }\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Doumentos(s) carregado(s) com sucesso.\r\n \r\n );\r\n\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Doumentos(s) válido(s) carregado(s) com sucesso.\r\n \r\n );\r\n\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(true, {}, null)\r\n );\r\n } catch (error) {\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(false, null, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* getDocumentosBeneficiario(action) {\r\n const { idLista } = action;\r\n\r\n try {\r\n const { status, data } = yield call(\r\n CheckListDocumentosAPI.get,\r\n `/documentos-importacao/${idLista}/beneficiario-documento`\r\n );\r\n\r\n const success = status === 200 || false;\r\n if (success) {\r\n yield put(\r\n DocumentoActions.getDocumentosBeneficiarioResponse(\r\n success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n return;\r\n }\r\n throw new Error('Não foi possivel acessar os detalhes de documentos.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n Não foi possivel acessar os detalhes de documentos.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getDocumentoPreview(action) {\r\n const { idLista, idDocumento } = action;\r\n\r\n try {\r\n const { status, data } = yield call(\r\n CheckListDocumentosAPI.get,\r\n `/documentos-importacao/${idLista}/preview-documento/${idDocumento}`\r\n );\r\n\r\n const success = status === 200 || false;\r\n if (success) {\r\n yield put(\r\n DocumentoActions.getDocumentoPreviewResponse(success, data?.data, null)\r\n );\r\n return;\r\n }\r\n throw new Error('Não foi possivel acessar o preview do documento.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n Não foi possivel acessar o preview do documento.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postAtualizarDocumentoConferencia(action) {\r\n const { idLista, params, callbackSuccess } = action;\r\n const { idArquivo: idDocumento } = params;\r\n\r\n try {\r\n const { data } = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao/${idLista}/atualiza-documento-conferencia/${idDocumento}`,\r\n { ...params }\r\n );\r\n\r\n if (data.success) {\r\n toast.success({data.message});\r\n yield put(\r\n DocumentoActions.postAtualizarDocumentoConferenciaResponse(\r\n data.success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n callbackSuccess();\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao aceitar/recusar o arquivo.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.message || 'Erro ao aceitar/recusar o arquivo.'}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postFinalizarConferenciaDocumentos(action) {\r\n const { idLista, callbackSuccess } = action;\r\n\r\n try {\r\n const { data } = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao/${idLista}/finaliza-conferencia`\r\n );\r\n\r\n if (data.success) {\r\n toast.success({data.message});\r\n yield put(\r\n DocumentoActions.postFinalizarConferenciaDocumentosResponse(\r\n data.success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n callbackSuccess();\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao aceitar/recusar o arquivo.');\r\n } catch (error) {\r\n yield put(\r\n DocumentoActions.postFinalizarConferenciaDocumentosResponse(\r\n false,\r\n {},\r\n error\r\n )\r\n );\r\n toast.error(\r\n \r\n {error?.message || 'Erro ao aceitar/recusar o arquivo.'}\r\n \r\n );\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n // #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\n putListaInativosAtualizarStatusRequest: ['idLista', 'idStatus'],\r\n putListaInativosAtualizarStatusResponse: ['success', 'error'],\r\n // #endregion\r\n});\r\n\r\n// #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\nconst putListaInativosAtualizarStatus = {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n};\r\n// #endregion\r\n\r\nconst INICIAL_STATE = {\r\n putListaInativosAtualizarStatus,\r\n};\r\n\r\n// #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\nconst putListaInativosAtualizarStatusRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n putListaInativosAtualizarStatus: {\r\n ...state.putListaInativosAtualizarStatus,\r\n\r\n success: false,\r\n error: null,\r\n loading: false,\r\n },\r\n});\r\n\r\nconst putListaInativosAtualizarStatusResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n putListaInativosAtualizarStatus: {\r\n ...state.putListaInativosAtualizarStatus,\r\n\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n },\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST]: putListaInativosAtualizarStatusRequest,\r\n [Types.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_RESPONSE]: putListaInativosAtualizarStatusResponse,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as listaInativosActions } from '../ducks/listaInativos';\r\n\r\nimport { ListaInativosAPI } from '../../services/api';\r\n\r\nimport {\r\n WarningToast,\r\n ErrorToast,\r\n SuccessToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nexport function* putListaInativosAtualizarStatus(action) {\r\n const { idLista, idStatus } = action;\r\n\r\n try {\r\n const response = yield call(\r\n ListaInativosAPI.patch,\r\n `/lista-inativos/${idLista}/atualizar-status`,\r\n { idStatusLista: idStatus }\r\n );\r\n\r\n const { success, message } = response.data;\r\n\r\n if (success) {\r\n toast.success({message});\r\n yield put(\r\n listaInativosActions.putListaInativosAtualizarStatusResponse(true, null)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error(message);\r\n } catch (error) {\r\n if (error?.message)\r\n toast.error({error?.message});\r\n yield put(\r\n listaInativosActions.putListaInativosAtualizarStatusResponse(false, error)\r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\nimport { StatusListaRPAEnum } from '../../enums';\r\nimport { setTabContentPorStatus } from '../../utils/setTabContentPorStatus';\r\n\r\nexport const Types = {\r\n GET_LISTAS_RPA_REQUEST: '@lista/GET_LISTAS_RPA_REQUEST',\r\n GET_LISTAS_RPA_SUCCESS: '@lista/GET_LISTAS_RPA_SUCCESS',\r\n GET_LISTAS_RPA_ERROR: '@lista/GET_LISTAS_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getListasRPA: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processar: { data: [], size: 0 },\r\n Reprocessar: { data: [], size: 0 },\r\n Liberar: { data: [], size: 0 },\r\n Alteracao: { data: [], size: 0 },\r\n PreVenda: { data: [], size: 0 },\r\n Importacao: { data: [], size: 0 },\r\n ComErros: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n};\r\n\r\nexport default function listasRPA(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_LISTAS_RPA_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getListasRPARequest: (params, tipoStatus) => ({\r\n type: Types.GET_LISTAS_RPA_REQUEST,\r\n payload: { params, tipoStatus },\r\n }),\r\n getListasRPASuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n addParamsTermo: ['nome', 'responsavel'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n nome: '',\r\n responsavel: '',\r\n};\r\n\r\nconst addParamsTermo = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n nome: action.nome,\r\n responsavel: action.responsavel,\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.ADD_PARAMS_TERMO]: addParamsTermo,\r\n});\r\n","import { combineReducers } from 'redux';\r\n\r\nimport arquivoUpload from './arquivoUpload';\r\nimport auth from './auth';\r\nimport beneficiario from './beneficiario';\r\nimport contratante from './contratante';\r\nimport documento from './documento';\r\nimport lista from './lista';\r\nimport listaInativos from './listaInativos';\r\nimport listasRPA from './listasRPA';\r\nimport modalidade from './modalidade';\r\nimport parametro from './parametro';\r\nimport relatorio from './relatorio';\r\nimport requisicao from './requisicao';\r\nimport task from './task';\r\nimport termoResponsabilidade from './termoResponsabilidade';\r\nimport usuario from './usuario';\r\nimport webhookEventHeaderIntegration from './webhookEventHeaderIntegration';\r\nimport webhookEventIntegration from './webhookEventIntegration';\r\nimport webhookIntegration from './webhookIntegration';\r\nimport layoutEmail from './layoutEmail';\r\nimport alertaListaContratante from './alertaListaContratante';\r\nimport filhoForaDeFaixa from './filhoForaDeFaixa';\r\n\r\nexport default combineReducers({\r\n auth,\r\n lista,\r\n modalidade,\r\n usuario,\r\n contratante,\r\n listasRPA,\r\n beneficiario,\r\n termoResponsabilidade,\r\n parametro,\r\n relatorio,\r\n documento,\r\n listaInativos,\r\n requisicao,\r\n arquivoUpload,\r\n task,\r\n webhookIntegration,\r\n webhookEventIntegration,\r\n webhookEventHeaderIntegration,\r\n layoutEmail,\r\n alertaListaContratante,\r\n filhoForaDeFaixa,\r\n});\r\n","import { createStore, compose, applyMiddleware } from 'redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { persistStore } from 'redux-persist';\r\nimport socketMiddleware from '../middlewares/socketMiddleware';\r\n\r\nimport persistReducers from './persistReducers';\r\n\r\nimport sagas from './sagas';\r\nimport reducers from './ducks';\r\n\r\nconst middlewares = [];\r\n\r\nconst sagaMonitor =\r\n process.env.NODE_ENV === 'development'\r\n ? console.tron.createSagaMonitor()\r\n : null;\r\n\r\nconst sagaMiddleware = createSagaMiddleware({ sagaMonitor });\r\n\r\nmiddlewares.push(sagaMiddleware, socketMiddleware);\r\n\r\nconst dummy = (_) => _;\r\n\r\nconst store = createStore(\r\n persistReducers(reducers),\r\n compose(\r\n applyMiddleware(...middlewares),\r\n process.env.NODE_ENV === 'development'\r\n ? console.tron.createEnhancer()\r\n : dummy\r\n )\r\n);\r\nconst persistor = persistStore(store);\r\n\r\nsagaMiddleware.run(sagas);\r\n\r\nexport default { store, persistor };\r\n","import storage from 'redux-persist/lib/storage/session';\r\nimport { persistReducer } from 'redux-persist';\r\n\r\nexport default (reducers) => {\r\n const persistedReducer = persistReducer(\r\n {\r\n key: 'root',\r\n storage,\r\n whitelist: [],\r\n },\r\n reducers\r\n );\r\n\r\n return persistedReducer;\r\n};\r\n","import { all, takeEvery, takeLatest } from 'redux-saga/effects';\r\n\r\n// #region FilhoForaDeFaixa Types e sagas\r\nimport { Types as FilhoForaDeFaixaTypes } from '../ducks/filhoForaDeFaixa';\r\nimport {\r\n getRelatorioFilhoForaDeFaixa,\r\n getCompetencias,\r\n postImportarRelatorio,\r\n deleteRelatorioCompetencia,\r\n} from './filhoForaDeFaixa';\r\n// #endregion\r\n// #region AlertaListaContratantes Types e sagas\r\nimport { Types as AlertaListaContratantesTypes } from '../ducks/alertaListaContratante';\r\nimport {\r\n postObterListagemPaginada,\r\n deleteExcluirPorIds,\r\n postSalvarEmail,\r\n} from './alertaListaContratante';\r\n// #endregion AlertaListaContratantes Types e sagas\r\n\r\n// #region LayoutEmail Types e sagas\r\nimport { Types as LayoutEmailTypes } from '../ducks/layoutEmail';\r\nimport {\r\n postLayoutEmail,\r\n getLayoutEmailList,\r\n getLayoutEmailPorId,\r\n} from './layoutEmail';\r\n// #endregion LayoutEmail Types e sagas\r\n\r\n// #region WebhookEventsHeaders Types e sagas\r\nimport { Types as WebhookEventsHeaderTypes } from '../ducks/webhookEventHeaderIntegration';\r\n\r\nimport {\r\n deleteWebhookEventHeader,\r\n getWebhookEventHeadersList,\r\n postWebhookEventHeader,\r\n putWebhookEventHeader,\r\n} from './webhookEventHeaderIntegration';\r\n// #endregion WebhookEventsHeaders Types e sagas\r\n// #region WebhookEvents Types e sagas\r\nimport { Types as WebhookEventsTypes } from '../ducks/webhookEventIntegration';\r\nimport {\r\n deleteWebhookEvent,\r\n getWebhookEventList,\r\n postWebhookEvent,\r\n putWebhookEvent,\r\n} from './webhookEventIntegration';\r\n// #endregion WebhookEvents Types e sagas\r\n\r\n// #region Webhook Types e sagas\r\nimport { Types as WebhookTypes } from '../ducks/webhookIntegration';\r\nimport {\r\n deleteWebhook,\r\n getWebhookConfiguration,\r\n getWebhookEventsList,\r\n postWebhook,\r\n putWebhook,\r\n} from './webhookIntegration';\r\n// #endregion Webhook Types e sagas\r\n// #region Auth Types e sagas\r\nimport { Types as AuthTypes } from '../ducks/auth';\r\nimport {\r\n getChangeToken,\r\n getRecuperarSenha,\r\n postLogin,\r\n postRecaptchaVerify,\r\n postRecuperarSenha,\r\n refreshInvalidToken,\r\n signIn,\r\n signOutLegado,\r\n} from './auth';\r\n// #endregion\r\n\r\n// #region Lista Types e sagas\r\nimport { Types as ListaTypes } from '../ducks/lista';\r\nimport {\r\n criarLista,\r\n deleteLista,\r\n deleteListaCsv,\r\n getArquivoMassaInicial,\r\n getDownloadArquivoOriginalLote,\r\n getListaBeneficiario,\r\n getListaDetalhe,\r\n getListaGrupoFamiliar,\r\n getListaInativas,\r\n getListaMassaInicial,\r\n getListaPorStatus,\r\n getListaPorStatusRPA,\r\n getListas,\r\n getListasRPA,\r\n getRelatorioRPA,\r\n getStatusListAdmin,\r\n getStatusListContratante,\r\n getStatusListNestle,\r\n getStatusListRpa,\r\n getTermoResponsabilidadeMassaInicial,\r\n importarLote,\r\n importarLoteCsv,\r\n patchAceiteCompartilhamento,\r\n patchListaEnvioRPA,\r\n patchListaStatus,\r\n patchStatusRPA,\r\n patchValidacaoListaTransferencia,\r\n postArquivoImportacao,\r\n postArquivoImportacaoNestle,\r\n postArquivoMassaInicial,\r\n postFamiliar,\r\n postListaEnvioRPA,\r\n postListaInativas,\r\n postListaTransferencia,\r\n postRelatorioDetalhadoNovo,\r\n postRelatorioResumidoNovo,\r\n postSalvarBeneficiarioInativos,\r\n postSearchList,\r\n postSearchListRpa,\r\n putListaInativas,\r\n putListas,\r\n validarLoteCsv,\r\n} from './lista';\r\n// #endregion\r\n\r\n// #region Modalidade Types e sagas\r\nimport { Types as ModalidadeTypes } from '../ducks/modalidade';\r\nimport { consultaModalidades } from './modalidade';\r\n// #endregion\r\n\r\n// #region Usuario Types e sagas\r\nimport { Types as UsuarioTypes } from '../ducks/usuario';\r\nimport {\r\n criarUsuario,\r\n getAndBuildParametrizacaoCards,\r\n getConsultaUsuarioPorStatus,\r\n getConsultaUsuarios,\r\n getContatoById,\r\n getContratantesUsuario,\r\n getDadosAcessoById,\r\n getDownloadRelatorioUsuarios,\r\n getHistoricoMovimentacoes,\r\n getParametrizacaoCards,\r\n getParametrizacaoCardsCompleto,\r\n getParametrizacaoNode,\r\n getParametrizacaoUsuario,\r\n getUsuarioById,\r\n getUsuarioEspelho,\r\n patchAtualizarTipoPerfil,\r\n patchBloquearDesbloquearUsuario,\r\n patchDadosAcesso,\r\n patchDadosGerais,\r\n patchLiberarAcesso,\r\n patchParametrizacaoAdmInativar,\r\n patchParametrizacaoInativar,\r\n patchRegistrarContato,\r\n patchSenha,\r\n patchStatus,\r\n postAtualizarSessaoLegado,\r\n postClonarUsuarioEspelho,\r\n postParametrizacaoContratante,\r\n postParametrizacaoUsuario,\r\n putParametrizacaoUsuario,\r\n saveParametrizacaoCards,\r\n} from './usuario';\r\n// #endregion\r\n\r\n// #region Contratante Types e sagas\r\nimport { Types as ContratanteTypes } from '../ducks/contratante';\r\nimport {\r\n getContratanteContagem,\r\n getContratanteModalidades,\r\n getContratantes,\r\n getGrupoComplementos,\r\n getGrupoContagem,\r\n getGrupoContratantes,\r\n getModalidadeTermos,\r\n getParametrizacaoContratanteCompleto,\r\n getParametrizacaoGrupoComplementoCompleto,\r\n} from './contratante';\r\n// #endregion\r\n\r\n// #region ArquivoUpload Types e sagas\r\nimport { Types as ArquivoUpload } from '../ducks/arquivoUpload';\r\nimport {\r\n getArquivo,\r\n getAtualizacaoDeRelatorio,\r\n getListaArquivos,\r\n} from './arquivoUpload';\r\n// #endregion\r\n// #region Requisicao Types e sagas\r\nimport { Types as RequisicaoTypes } from '../ducks/requisicao';\r\nimport {\r\n deleteSegundaVia,\r\n deleteSegundaViaAnexo,\r\n getBeneficiariosSegundaVia,\r\n getPermissaoSegundaVia,\r\n getSegundaViaAnexo,\r\n postSegundaViaBuscarPorId,\r\n postSegundaViaCartao,\r\n postSegundaViaProcessar,\r\n postSolicitarRelatorioSegundaVia,\r\n postSolicitarSegundaVia,\r\n putSegundaVia,\r\n} from './requisicao';\r\n// #endregion\r\n\r\n// #region Beneficiario Types e sagas\r\nimport { Types as BeneficiarioTypes } from '../ducks/beneficiario';\r\nimport {\r\n getDocumentoDetalhe,\r\n getDocumentosStatus,\r\n patchDocumentoConferencia,\r\n postDataBeneficiriesNestle,\r\n} from './beneficiario';\r\n// #endregion\r\n// #region Tasks Types e sagas\r\nimport { Types as TasksTypes } from '../ducks/task';\r\nimport { getUltimoErroTask, putReprocessarTask } from './task';\r\n// #endregion\r\n\r\n// #region Parametro Types e sagas\r\nimport { Types as ParametroTypes } from '../ducks/parametro';\r\nimport { getParametrosRequest, patchParametrosRequest } from './parametro';\r\n// #endregion\r\n\r\n// #region Relatorios Types e sagas\r\nimport { Types as RelatorioTypes } from '../ducks/relatorio';\r\nimport {\r\n getUltimoRelatorioNestle,\r\n postRelatorioBeneficiario,\r\n postRelatorioNestle,\r\n} from './relatorio';\r\n// #endregion\r\n\r\n// #region Documentos Types e sagas\r\nimport { Types as DocumentoTypes } from '../ducks/documento';\r\nimport {\r\n getDocumentoPreview,\r\n getDocumentosBeneficiario,\r\n postAtualizarDocumentoConferencia,\r\n postDocumentosImportacao,\r\n postFinalizarConferenciaDocumentos,\r\n} from './documento';\r\n\r\nimport { Types as ListaInativosTypes } from '../ducks/listaInativos';\r\nimport { putListaInativosAtualizarStatus } from './listaInativos';\r\n// #endregion\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n // #region FilhoForaDeFaixa\r\n takeLatest(FilhoForaDeFaixaTypes.GET_COMPETENCIAS_REQUEST, getCompetencias),\r\n takeLatest(\r\n FilhoForaDeFaixaTypes.GET_DOWNLOAD_RELATORIO_REQUEST,\r\n getRelatorioFilhoForaDeFaixa\r\n ),\r\n takeLatest(\r\n FilhoForaDeFaixaTypes.POST_IMPORTAR_RELATORIO_REQUEST,\r\n postImportarRelatorio\r\n ),\r\n takeLatest(\r\n FilhoForaDeFaixaTypes.DELETE_RELATORIO_COMPETENCIA_REQUEST,\r\n deleteRelatorioCompetencia\r\n ),\r\n // #endregion\r\n\r\n // #region AlertaListaContratantes\r\n takeLatest(\r\n AlertaListaContratantesTypes.POST_LISTAGEM_PAGINADA_REQUEST,\r\n postObterListagemPaginada\r\n ),\r\n takeLatest(\r\n AlertaListaContratantesTypes.DELETE_POR_IDS_REQUEST,\r\n deleteExcluirPorIds\r\n ),\r\n takeLatest(\r\n AlertaListaContratantesTypes.POST_SALVAR_REQUEST,\r\n postSalvarEmail\r\n ),\r\n // #endregion AlertaListaContratantes\r\n // #region LayoutEmail\r\n takeLatest(\r\n LayoutEmailTypes.GET_LAYOUT_EMAIL_LIST_REQUEST,\r\n getLayoutEmailList\r\n ),\r\n takeLatest(\r\n LayoutEmailTypes.GET_LAYOUT_EMAIL_POR_ID_REQUEST,\r\n getLayoutEmailPorId\r\n ),\r\n takeLatest(LayoutEmailTypes.POST_LAYOUT_EMAIL_REQUEST, postLayoutEmail),\r\n // #endregion LayoutEmail\r\n\r\n // #region webhookEventsHeaderIntegration\r\n takeLatest(\r\n WebhookEventsHeaderTypes.DELETE_WEBHOOK_EVENT_HEADER_REQUEST,\r\n deleteWebhookEventHeader\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST,\r\n getWebhookEventHeadersList\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.POST_WEBHOOK_EVENT_HEADER_REQUEST,\r\n postWebhookEventHeader\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.PUT_WEBHOOK_EVENT_HEADER_REQUEST,\r\n putWebhookEventHeader\r\n ),\r\n // #endregion\r\n // #region webhookIntegration\r\n // #region webhookEventsIntegration\r\n takeLatest(\r\n WebhookEventsTypes.PUT_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n putWebhookEvent\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n deleteWebhookEvent\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST,\r\n getWebhookEventList\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.POST_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n postWebhookEvent\r\n ),\r\n // #endregion\r\n // #region webhookIntegration\r\n takeLatest(\r\n WebhookTypes.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST,\r\n getWebhookEventsList\r\n ),\r\n takeLatest(WebhookTypes.PUT_WEBHOOKINTEGRATION_REQUEST, putWebhook),\r\n takeLatest(WebhookTypes.DELETE_WEBHOOKINTEGRATION_REQUEST, deleteWebhook),\r\n takeLatest(\r\n WebhookTypes.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST,\r\n getWebhookConfiguration\r\n ),\r\n takeLatest(WebhookTypes.POST_WEBHOOKINTEGRATION_REQUEST, postWebhook),\r\n // #endregion\r\n // #region Auth\r\n takeLatest(AuthTypes.SIGN_IN_REQUEST, signIn),\r\n takeLatest(AuthTypes.REFRESH_INVALID_TOKEN_REQUEST, refreshInvalidToken),\r\n takeLatest(AuthTypes.GET_CHANGE_TOKEN_REQUEST, getChangeToken),\r\n takeLatest(AuthTypes.POST_LOGIN_REQUEST, postLogin),\r\n takeLatest(AuthTypes.POST_RECAPTCHA_VERIFY_REQUEST, postRecaptchaVerify),\r\n takeLatest(AuthTypes.POST_RECUPERAR_SENHA_REQUEST, postRecuperarSenha),\r\n takeLatest(AuthTypes.GET_RECUPERAR_SENHA_REQUEST, getRecuperarSenha),\r\n takeLatest(AuthTypes.SIGN_OUT_LEGADO_REQUEST, signOutLegado),\r\n // #endregion\r\n\r\n // #region Listas\r\n\r\n takeLatest(ListaTypes.GET_STATUS_LIST_NESTLE_REQUEST, getStatusListNestle),\r\n takeLatest(ListaTypes.DELETE_LISTA_CSV_REQUEST, deleteListaCsv),\r\n takeLatest(\r\n ListaTypes.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST,\r\n getDownloadArquivoOriginalLote\r\n ),\r\n takeLatest(ListaTypes.POST_IMPORTAR_LOTE_CSV_REQUEST, importarLoteCsv),\r\n takeLatest(ListaTypes.POST_VALIDAR_LOTE_CSV_REQUEST, validarLoteCsv),\r\n takeLatest(\r\n ListaTypes.POST_RELATORIO_RESUMIDO_NOVO_REQUEST,\r\n postRelatorioResumidoNovo\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_RELATORIO_DETALHADO_NOVO_REQUEST,\r\n postRelatorioDetalhadoNovo\r\n ),\r\n takeLatest(ListaTypes.GET_STATUS_LIST_RPA_REQUEST, getStatusListRpa),\r\n takeLatest(ListaTypes.GET_STATUS_LIST_ADMIN_REQUEST, getStatusListAdmin),\r\n takeLatest(ListaTypes.POST_SEARCH_LIST_REQUEST, postSearchList),\r\n takeLatest(ListaTypes.POST_SEARCH_LIST_RPA_REQUEST, postSearchListRpa),\r\n takeLatest(\r\n ListaTypes.GET_STATUS_LIST_CONTRATANTE_REQUEST,\r\n getStatusListContratante\r\n ),\r\n takeLatest(ListaTypes.GET_LISTAS_REQUEST, getListas),\r\n takeLatest(ListaTypes.GET_LISTAS_POR_STATUS_REQUEST, getListaPorStatus),\r\n takeLatest(\r\n ListaTypes.POST_ARQUIVO_IMPORTACAO_REQUEST,\r\n postArquivoImportacao\r\n ),\r\n takeLatest(ListaTypes.IMPORTAR_LOTE_REQUEST, importarLote),\r\n takeLatest(ListaTypes.PUT_LISTAS_REQUEST, putListas),\r\n takeLatest(ListaTypes.PATCH_LISTA_STATUS_REQUEST, patchListaStatus),\r\n takeLatest(ListaTypes.DELETE_LISTA_REQUEST, deleteLista),\r\n takeLatest(ListaTypes.PATCH_LISTA_ENVIO_RPA_REQUEST, patchListaEnvioRPA),\r\n takeLatest(ListaTypes.GET_LISTAS_RPA_REQUEST, getListasRPA),\r\n takeLatest(\r\n ListaTypes.GET_LISTAS_RPA_POR_STATUS_REQUEST,\r\n getListaPorStatusRPA\r\n ),\r\n takeLatest(ListaTypes.PATCH_STATUS_RPA_REQUEST, patchStatusRPA),\r\n takeLatest(ListaTypes.GET_RELATORIO_RPA_REQUEST, getRelatorioRPA),\r\n takeLatest(ListaTypes.GET_LISTA_DETALHE_REQUEST, getListaDetalhe),\r\n takeLatest(\r\n ListaTypes.GET_LISTA_MASSA_INICIAL_REQUEST,\r\n getListaMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.GET_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n getArquivoMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST,\r\n getTermoResponsabilidadeMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n postArquivoMassaInicial\r\n ),\r\n\r\n takeLatest(\r\n ListaTypes.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST,\r\n patchValidacaoListaTransferencia\r\n ),\r\n takeLatest(\r\n ListaTypes.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST,\r\n patchAceiteCompartilhamento\r\n ),\r\n takeLatest(\r\n ListaTypes.IMPORTAR_LOTE_NESTLE_REQUEST,\r\n postArquivoImportacaoNestle\r\n ),\r\n takeLatest(ListaTypes.POST_LISTA_INATIVAS_REQUEST, postListaInativas),\r\n takeLatest(ListaTypes.PUT_LISTA_INATIVAS_REQUEST, putListaInativas),\r\n takeLatest(ListaTypes.GET_LISTA_INATIVAS_REQUEST, getListaInativas),\r\n takeLatest(\r\n ListaTypes.GET_LISTA_BENEFICIARIOS_REQUEST,\r\n getListaBeneficiario\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST,\r\n postSalvarBeneficiarioInativos\r\n ),\r\n takeLatest(ListaTypes.GET_GRUPO_FAMILIAR_REQUEST, getListaGrupoFamiliar),\r\n takeLatest(ListaTypes.POST_LISTA_FAMILIAR_REQUEST, postFamiliar),\r\n // #endregion\r\n\r\n // #region Modalidade\r\n takeLatest(ModalidadeTypes.GET_MODALIDADES_REQUEST, consultaModalidades),\r\n // #endregion\r\n\r\n // #region Usuario\r\n takeLatest(\r\n UsuarioTypes.PATCH_BLOQUEAR_DESBLOQUEAR_USUARIO_REQUEST,\r\n patchBloquearDesbloquearUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_DOWNLOAD_RELATORIO_USUARIOS_REQUEST,\r\n getDownloadRelatorioUsuarios\r\n ),\r\n takeLatest(UsuarioTypes.GET_CONSULTA_USUARIOS_REQUEST, getConsultaUsuarios),\r\n takeLatest(\r\n UsuarioTypes.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST,\r\n getConsultaUsuarioPorStatus\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST,\r\n patchLiberarAcesso\r\n ),\r\n takeLatest(UsuarioTypes.GET_USUARIO_BY_ID_REQUEST, getUsuarioById),\r\n takeLatest(UsuarioTypes.PATCH_STATUS_USUARIO_REQUEST, patchStatus),\r\n takeLatest(UsuarioTypes.CRIAR_USUARIO_REQUEST, criarUsuario),\r\n takeLatest(\r\n UsuarioTypes.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST,\r\n patchRegistrarContato\r\n ),\r\n takeLatest(UsuarioTypes.GET_CONTATO_BY_ID_REQUEST, getContatoById),\r\n takeLatest(UsuarioTypes.PATCH_SENHA_USUARIO_REQUEST, patchSenha),\r\n takeLatest(UsuarioTypes.GET_DADOS_ACESSO_BY_ID_REQUEST, getDadosAcessoById),\r\n takeLatest(UsuarioTypes.PATCH_DADOS_GERAIS_REQUEST, patchDadosGerais),\r\n takeLatest(UsuarioTypes.PATCH_DADOS_ACESSO_REQUEST, patchDadosAcesso),\r\n takeLatest(\r\n UsuarioTypes.GET_HISTORICO_MOVIMENTACOES_REQUEST,\r\n getHistoricoMovimentacoes\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST,\r\n postParametrizacaoContratante\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_USUARIO_REQUEST,\r\n getParametrizacaoUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_CONTRATANTES_USUARIO_REQUEST,\r\n getContratantesUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_CARDS_REQUEST,\r\n getParametrizacaoCards\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_PARAMETRIZACAO_USUARIO_REQUEST,\r\n postParametrizacaoUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PUT_PARAMETRIZACAO_USUARIO_REQUEST,\r\n putParametrizacaoUsuario\r\n ),\r\n takeEvery(\r\n UsuarioTypes.GET_PARAMETRIZACAO_NODE_REQUEST,\r\n getParametrizacaoNode\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST,\r\n postAtualizarSessaoLegado\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST,\r\n getParametrizacaoCardsCompleto\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST,\r\n patchParametrizacaoInativar\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST,\r\n patchParametrizacaoAdmInativar\r\n ),\r\n takeLatest(\r\n UsuarioTypes.SAVE_PARAMETRIZACAO_CARDS_REQUEST,\r\n saveParametrizacaoCards\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST,\r\n getAndBuildParametrizacaoCards\r\n ),\r\n takeLatest(UsuarioTypes.GET_USUARIOS_ESPELHO_REQUEST, getUsuarioEspelho),\r\n takeLatest(\r\n UsuarioTypes.PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST,\r\n patchAtualizarTipoPerfil\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_CLONAR_USUARIO_ESPELHO_REQUEST,\r\n postClonarUsuarioEspelho\r\n ),\r\n // #endregion\r\n\r\n // #region Contratante\r\n takeLatest(\r\n ContratanteTypes.GET_GRUPO_COMPLEMENTOS_REQUEST,\r\n getGrupoComplementos\r\n ),\r\n takeLatest(ContratanteTypes.GET_CONTRATANTES_REQUEST, getContratantes),\r\n takeEvery(\r\n ContratanteTypes.GET_GRUPO_CONTRATANTES_REQUEST,\r\n getGrupoContratantes\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_CONTRATANTE_MODALIDADES_REQUEST,\r\n getContratanteModalidades\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_MODALIDADE_TERMOS_REQUEST,\r\n getModalidadeTermos\r\n ),\r\n takeEvery(ContratanteTypes.GET_GRUPO_CONTAGEM_REQUEST, getGrupoContagem),\r\n takeEvery(\r\n ContratanteTypes.GET_CONTRATANTE_CONTAGEM_REQUEST,\r\n getContratanteContagem\r\n ),\r\n\r\n // #region Requisicao\r\n takeLatest(\r\n RequisicaoTypes.GET_PERMISSAO_SEGUNDA_VIA_REQUEST,\r\n getPermissaoSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST,\r\n postSolicitarRelatorioSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SOLICITAR_SEGUNDA_VIA_REQUEST,\r\n postSolicitarSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST,\r\n getBeneficiariosSegundaVia\r\n ),\r\n takeLatest(RequisicaoTypes.DELETE_SEGUNDA_VIA_REQUEST, deleteSegundaVia),\r\n takeLatest(\r\n RequisicaoTypes.DELETE_SEGUNDA_VIA_ANEXO_REQUEST,\r\n deleteSegundaViaAnexo\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.GET_SEGUNDA_VIA_ANEXO_REQUEST,\r\n getSegundaViaAnexo\r\n ),\r\n takeLatest(RequisicaoTypes.PUT_SEGUNDA_VIA_UPDATE_REQUEST, putSegundaVia),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST,\r\n postSegundaViaBuscarPorId\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_PROCESSAR_REQUEST,\r\n postSegundaViaProcessar\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_CARTAO_REQUEST,\r\n postSegundaViaCartao\r\n ),\r\n // #endregion\r\n\r\n // #region FileUpaload\r\n takeLatest(\r\n ArquivoUpload.GET_ATUALIZACAO_DE_RELATORIO_REQUEST,\r\n getAtualizacaoDeRelatorio\r\n ),\r\n takeLatest(ArquivoUpload.GET_ARQUIVO_REQUEST, getArquivo),\r\n takeLatest(ArquivoUpload.GET_LISTA_ARQUIVOS_REQUEST, getListaArquivos),\r\n\r\n // #endregion\r\n\r\n // #region Tasks\r\n\r\n takeLatest(\r\n TasksTypes.GET_TASK_DETAILS_LAST_ERROR_REQUEST,\r\n getUltimoErroTask\r\n ),\r\n takeLatest(TasksTypes.PUT_TASK_REPROCESS_REQUEST, putReprocessarTask),\r\n\r\n // #endregion\r\n\r\n // #region Beneficiario\r\n\r\n takeLatest(\r\n BeneficiarioTypes.POST_DATA_BENEFICIARIES_NESTLE_REQUEST,\r\n postDataBeneficiriesNestle\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.GET_DOCUMENTOS_STATUS_REQUEST,\r\n getDocumentosStatus\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.GET_DOCUMENTO_DETALHE_REQUEST,\r\n getDocumentoDetalhe\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.PATCH_DOCUMENTO_CONFERENCIA_REQUEST,\r\n patchDocumentoConferencia\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST,\r\n getParametrizacaoGrupoComplementoCompleto\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST,\r\n getParametrizacaoContratanteCompleto\r\n ),\r\n // #endregion\r\n\r\n // #region Parametrização\r\n takeLatest(ParametroTypes.GET_PARAMETROS_REQUEST, getParametrosRequest),\r\n takeLatest(ParametroTypes.PATCH_PARAMETRO_REQUEST, patchParametrosRequest),\r\n // #endregion\r\n\r\n // #region Relatorios\r\n takeLatest(\r\n RelatorioTypes.POST_RELATORIO_BENEFICIARIO_REQUEST,\r\n postRelatorioBeneficiario\r\n ),\r\n takeLatest(\r\n RelatorioTypes.POST_RELATORIO_NESTLE_REQUEST,\r\n postRelatorioNestle\r\n ),\r\n takeLatest(\r\n RelatorioTypes.GET_ULTIMO_RELATORIO_NESTLE_REQUEST,\r\n getUltimoRelatorioNestle\r\n ),\r\n // #endregion\r\n\r\n // #region Documentos\r\n takeLatest(\r\n DocumentoTypes.POST_DOCUMENTOS_IMPORTACAO_REQUEST,\r\n postDocumentosImportacao\r\n ),\r\n takeLatest(\r\n DocumentoTypes.GET_DOCUMENTOS_BENEFICIARIO_REQUEST,\r\n getDocumentosBeneficiario\r\n ),\r\n takeLatest(\r\n DocumentoTypes.GET_DOCUMENTO_PREVIEW_REQUEST,\r\n getDocumentoPreview\r\n ),\r\n takeLatest(\r\n DocumentoTypes.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST,\r\n postAtualizarDocumentoConferencia\r\n ),\r\n takeLatest(\r\n DocumentoTypes.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST,\r\n postFinalizarConferenciaDocumentos\r\n ),\r\n // #endregion\r\n\r\n // #region Lista Inativos\r\n takeLatest(\r\n ListaInativosTypes.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST,\r\n putListaInativosAtualizarStatus\r\n ),\r\n // #endregion\r\n ]);\r\n}\r\n","export function prepareBase64File(extension, base64File) {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n CSV: `data:application/csv;base64,${base64File}`,\r\n TXT: `data:text/plain;base64,${base64File}`,\r\n XLSX: `data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,${base64File}`,\r\n };\r\n\r\n if (extension) return types[extension.replaceAll('.', '').toUpperCase()];\r\n return null;\r\n}\r\n\r\nexport function downloadFile(base64, filename, extension) {\r\n const temp = prepareBase64File(extension, base64);\r\n\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n}\r\n","import * as signalR from '@microsoft/signalr';\r\n\r\nimport { useState } from 'react';\r\n\r\nconst { REACT_APP_SIGNALR, REACT_APP_BASEURL_LOCAL } = process.env;\r\n\r\nconst useSignalR = () => {\r\n const [connection, setConnection] = useState();\r\n\r\n const OpenConnection = async (socketConnection) => {\r\n await socketConnection\r\n .start()\r\n .then((resp) => console.log(resp, 'Sucesso!'))\r\n .catch((error) => console.log(error, 'Erro!'));\r\n };\r\n\r\n const BuildConnection = (hubName) => {\r\n const socketConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(`${REACT_APP_SIGNALR}/${hubName}`)\r\n .build();\r\n\r\n socketConnection.keepAliveIntervalInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n socketConnection.serverTimeoutInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n\r\n setConnection(socketConnection);\r\n return socketConnection;\r\n };\r\n\r\n const CloseConnection = async (socketConnection) => {\r\n await socketConnection\r\n .stop()\r\n .then(() => {})\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return [BuildConnection, OpenConnection, CloseConnection, connection];\r\n};\r\n\r\nexport default useSignalR;\r\n","import { any } from 'prop-types';\r\nimport React, { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusEnvioListaEnum,\r\n StatusExecucaoEnum,\r\n StatusListaAPIEnum,\r\n} from '../enums';\r\n\r\nimport history from '../services/history';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { WarningToast } from '../components/molecules/Toast';\r\n\r\nimport { Creators as ListaActions } from '../store/ducks/lista';\r\n\r\nimport modeloImportarLote from '../assets/modelos/LAYREPAS_007_CONTRATANTE.txt';\r\nimport modeloImportarLoteCsv from '../assets/modelos/PlanilhaModeloCsv.xlsx';\r\nimport modeloImportarLoteNestle from '../assets/modelos/PlanilhaModeloNestlé.xlsx';\r\nimport modeloImportarLoteTransferencia from '../assets/modelos/Transferencia/TransferenciaModeloPadrao.xlsx';\r\n\r\nimport useSignalR from './useSignalR';\r\n\r\nconst useMovimentacao = (usuario) => {\r\n const dispatch = useDispatch();\r\n const { postImportarLote, postImportarLoteCsv } = useSelector(\r\n (state) => state.lista\r\n );\r\n const [BuildConnection, OpenConnection, CloseConnection, connection] =\r\n useSignalR();\r\n // #region Métodos para Importacao antes do carregamento dos arquivos\r\n const setContentText = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de até 10 arquivos\r\n .txt \r\n de até 5mb cada.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de até 10 arquivos\r\n .csv \r\n de até 5mb cada.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de 1 arquivo com extensão\r\n (xls, xlsx e xlsm) \r\n com até 10mb.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: (\r\n <>\r\n Para a criação \r\n de uma nova lista de transferência é necessário o\r\n anexo do arquivo .xls ou .xlsx \r\n de até 2mb com os dados dos beneficiários.\r\n \r\n ),\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setModeloPadrao = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n nomeArquivo: 'modelo-padrão-layout07.txt',\r\n path: modeloImportarLote,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n nomeArquivo: 'modelo-padrão-csv.xlsx',\r\n path: modeloImportarLoteCsv,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: {\r\n nomeArquivo: 'planilha-modelo-padrão.xlsx',\r\n path: modeloImportarLoteNestle,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n nomeArquivo: 'modelo-padrão-transferencia.xlsx',\r\n path: modeloImportarLoteTransferencia,\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setValidacao = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n maxSizeFiles: 5242880,\r\n maxQuantityFiles: 10,\r\n validExtension: ['txt'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n maxSizeFiles: 10485760,\r\n maxQuantityFiles: 10,\r\n validExtension: ['csv'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: {\r\n maxSizeFiles: 10485760,\r\n maxQuantityFiles: 1,\r\n validExtension: ['xls', 'xlsx', 'xlsm'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n maxSizeFiles: 2097152,\r\n maxQuantityFiles: 10,\r\n validExtension: ['xls', 'xlsx'],\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setDispatch = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]:\r\n ListaActions.importarLoteRequest,\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]:\r\n ListaActions.validarLoteCsvRequest,\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]:\r\n ListaActions.postArquivoImportacaoNestleRequest,\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n ListaActions.importarLoteRequest,\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setParams = useCallback(\r\n (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[5],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[5],\r\n idUsuarioLogado: usuario?.idUsuarioLogado,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[4],\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n },\r\n [usuario]\r\n );\r\n\r\n const handleFiles = useCallback(\r\n async (acao, newFiles, callback) => {\r\n if (newFiles && newFiles.length > 0) {\r\n const conn = await BuildConnection('ProgressStatusHub');\r\n await OpenConnection(conn);\r\n const params = {\r\n ...(!!setParams(acao) && setParams(acao)),\r\n newFiles,\r\n connection: conn,\r\n };\r\n dispatch(setDispatch(acao)(params));\r\n callback();\r\n }\r\n },\r\n [BuildConnection, setParams, OpenConnection, dispatch]\r\n );\r\n\r\n const setErrors = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const getErrors = ({ fileErrors, hasMaxQuantity }, validation) => {\r\n if (validation?.maxQuantityFiles && hasMaxQuantity) {\r\n toast.error(\r\n \r\n Somente podem ser enviados {validation.maxQuantityFiles} arquivos por\r\n lote.\r\n \r\n );\r\n }\r\n\r\n if (fileErrors.length > 0) {\r\n fileErrors.forEach((error) => {\r\n if (validation?.maxSizeFiles && error.error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo {error.name} é maior que o tamanho\r\n permitido.\r\n \r\n );\r\n }\r\n if (\r\n validation?.validExtension &&\r\n validation?.validExtension.length > 0 &&\r\n error.error.hasValidExtension\r\n ) {\r\n toast.error(\r\n \r\n O arquivo {error.name} não possui extensão\r\n válida.\r\n \r\n );\r\n }\r\n });\r\n }\r\n };\r\n // #endregion\r\n\r\n // #region Métodos para Importacao durante/pós carregamento dos arquivos\r\n const setAfterLoading = (acao, callback, user) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n history.push('/novo/lista/importar-lote');\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: () => {\r\n sendToCsv(postImportarLote.files, user);\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n callback();\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n history.push('/novo/lista/importar-lote');\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const handleDeleteFiles = (newFiles) => {\r\n if (!Array.isArray(newFiles)) newFiles = [newFiles];\r\n\r\n dispatch(ListaActions.deleteListaRequest(newFiles));\r\n };\r\n // #endregion\r\n\r\n // #region Métodos para o Lobby de Listas (Listas detalhe)\r\n const setTipoEnvio = (tipo, acao, files) => {\r\n const tipos = {\r\n [StatusEnvioListaEnum.returnIdForName.Processamento]: {\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n sendToProcessamento,\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: sendToProcessamento,\r\n },\r\n [StatusEnvioListaEnum.returnIdForName.Validacao]: {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: sendToValidacao,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n sendValidacaoTransferencia,\r\n },\r\n };\r\n\r\n return acao && tipos[tipo][acao](files);\r\n };\r\n\r\n const setDescricao = (files, data, callback) => {\r\n const newLista = [];\r\n files.map((file) => {\r\n const { descricao, ...newFile } = file;\r\n\r\n const newDescricao = data.descricao[file.idLista];\r\n\r\n if (newDescricao !== file.descricao) {\r\n newLista.push({\r\n ...newFile,\r\n idLista: file.idLista,\r\n descricao: newDescricao,\r\n });\r\n }\r\n });\r\n\r\n if (newLista.length > 0) {\r\n dispatch(ListaActions.putListasRequest(newLista));\r\n callback();\r\n }\r\n\r\n return newLista;\r\n };\r\n\r\n const sendToValidacao = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n statusLista: StatusListaAPIEnum.returnId.EmValidacao,\r\n statusExecucao: StatusExecucaoEnum.returnId.EmEsperaParaValidacao,\r\n idHub: null,\r\n };\r\n });\r\n // callback();\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.patchListaStatusRequest(newFiles));\r\n }\r\n };\r\n\r\n const sendToCsv = (files, user) => {\r\n /* const newFiles = files\r\n .filter((file) => file.error !== true)\r\n .map((file) => file.base64);\r\n\r\n const params = {\r\n codigoContratante: user?.codigoContratante,\r\n idUsuarioLogado: user?.idUsuarioLogado,\r\n newFiles,\r\n };\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.importarLoteCsvRequest(params));\r\n } */\r\n setTimeout(() => history.go(0), 1500);\r\n };\r\n\r\n const sendToProcessamento = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n statusLista: StatusListaAPIEnum.returnId.EmValidacao,\r\n statusExecucao: StatusExecucaoEnum.returnId.EmEsperaParaProcessamento,\r\n idHub: null,\r\n };\r\n });\r\n\r\n // callback();\r\n\r\n if (newFiles.length > 0)\r\n dispatch(ListaActions.patchListaStatusRequest(newFiles));\r\n };\r\n\r\n const sendValidacaoTransferencia = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n descricao: file.descricao,\r\n };\r\n });\r\n // callback();\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.patchValidacaoListaTrasnferenciaRequest(newFiles));\r\n }\r\n };\r\n\r\n // #endregion\r\n\r\n return {\r\n // File Import\r\n setContentText,\r\n setModeloPadrao,\r\n setValidacao,\r\n handleFiles,\r\n setErrors,\r\n\r\n // File Loading\r\n setAfterLoading,\r\n handleDeleteFiles,\r\n connection,\r\n\r\n // ListasDetalhe\r\n setDescricao,\r\n setTipoEnvio,\r\n };\r\n};\r\n\r\nexport default useMovimentacao;\r\n","import * as jwtDecode from 'jwt-decode';\r\nimport { TipoPerfilUsuarioEnum } from '../enums';\r\nimport { isEmail } from './validation';\r\n\r\nexport const isContratante = (role) => {\r\n const Contratante = {\r\n ContratanteAlteracao:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n ContratanteConsulta:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n };\r\n\r\n return Object.values(Contratante).includes(role);\r\n};\r\n\r\nexport const isAdmin = (role) => {\r\n const Administrador = {\r\n Adm: TipoPerfilUsuarioEnum.returnNameForName.Adm,\r\n };\r\n\r\n return Object.values(Administrador).includes(role);\r\n};\r\n\r\nexport const isContratanteNestle = (user) => {\r\n const { role } = user;\r\n const ContratanteNestle = {\r\n ContratanteAlteracao:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n ContratanteConsulta:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n };\r\n const contratanteNestle =\r\n user.hasOwnProperty('GrupoContratante') &&\r\n /nestle/gi.test(user.GrupoContratante);\r\n\r\n return Object.values(ContratanteNestle).includes(role) && contratanteNestle;\r\n};\r\n\r\nconst isLegacyUser = (nameid) => {\r\n return !isEmail(nameid);\r\n};\r\n\r\nexport const isOldAdmin = (accessToken) => {\r\n const { role, nameid } = jwtDecode(accessToken);\r\n\r\n const ROLE_E_NAMEID_VALIDOS = role && nameid;\r\n return ROLE_E_NAMEID_VALIDOS && isAdmin(role) && isLegacyUser(nameid);\r\n};\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst fadeIn = keyframes`\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n visibility: 'visible';\r\n animation: ${fadeIn} 0.5s linear;\r\n transition: visibility 0.5s linear;\r\n\r\n height: ${({ height }) => (height ? `${height}` : `100%`)};\r\n\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width};\r\n `}\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FadeIn({ children, height, width, ...props }) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport default FadeIn;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 2px;\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 300px;`};\r\n`;\r\n\r\nexport const CardFilterContentContainer = styled.div`\r\n min-width: 300px;\r\n margin: 20px;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeaderContainer = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooterContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Container,\r\n CardFilterContentContainer,\r\n CardFilterHeaderContainer,\r\n CardFilterFooterContainer,\r\n} from './styles';\r\n\r\nfunction CardFilter({ children, minHeight }) {\r\n return {children};\r\n}\r\n\r\nconst CardFilterContent = ({ children, minHeight }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst CardFilterHeader = ({ children }) => {\r\n return {children};\r\n};\r\n\r\nconst CardFilterFooter = ({\r\n children,\r\n justifyContent,\r\n paddingLeft,\r\n paddingTop,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport { CardFilter, CardFilterContent, CardFilterHeader, CardFilterFooter };\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n .react-date-picker {\r\n background-color: white;\r\n\r\n &.react-date-picker--closed {\r\n &.react-date-picker--enabled {\r\n &.react-date-picker {\r\n height: 100%;\r\n }\r\n }\r\n }\r\n\r\n &.react-date-picker--open {\r\n &.react-date-picker--enabled {\r\n &.react-date-picker {\r\n height: 100%;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .react-calendar__navigation {\r\n background-color: ${theme.greenDefault};\r\n border-color: ${theme.greenDefault};\r\n border-radius: 0px 5px 0px 0px;\r\n padding: 2% 0% 0% 0%;\r\n\r\n display: grid !important;\r\n grid-template-columns: 5% 5% 55% 5% 5%;\r\n justify-content: center;\r\n\r\n button {\r\n background-color: ${theme.greenDefault};\r\n border: 1px solid ${theme.greenDefault};\r\n border-radius: 2px;\r\n color: #ffff;\r\n font-family: 'unimed_slabbold';\r\n font-size: 20px;\r\n }\r\n }\r\n\r\n .react-calendar__viewContainer {\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n\r\n .react-date-picker {\r\n display: inline-flex;\r\n position: relative;\r\n }\r\n .react-date-picker,\r\n .react-date-picker *,\r\n .react-date-picker *:before,\r\n .react-date-picker *:after {\r\n -moz-box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n box-sizing: border-box;\r\n }\r\n .react-date-picker--disabled {\r\n background-color: #f0f0f0;\r\n color: #6d6d6d;\r\n }\r\n .react-date-picker__wrapper {\r\n display: flex;\r\n border: thin solid gray;\r\n border-radius: 5px;\r\n }\r\n .react-date-picker__inputGroup {\r\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\r\n flex-grow: 1;\r\n display: flex;\r\n padding: 9px 4px;\r\n align-items: baseline;\r\n box-sizing: content-box;\r\n\r\n input,\r\n span {\r\n color: #a1a1a1;\r\n }\r\n }\r\n .react-date-picker__inputGroup__divider {\r\n padding: 1px 0;\r\n white-space: pre;\r\n }\r\n .react-date-picker__inputGroup__input {\r\n min-width: 0.54em;\r\n\r\n height: 100%;\r\n position: relative;\r\n padding: 0 1px;\r\n border: 0;\r\n background: none;\r\n font: inherit;\r\n box-sizing: content-box;\r\n -moz-appearance: textfield;\r\n }\r\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\r\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n .react-date-picker__inputGroup__input:invalid {\r\n background: rgba(255, 0, 0, 0.1);\r\n }\r\n .react-date-picker__inputGroup__input--hasLeadingZero {\r\n margin-left: -0.54em;\r\n padding-left: calc(1px + 0.54em);\r\n }\r\n .react-date-picker__button {\r\n border: 0;\r\n background: transparent;\r\n padding: 4px 6px;\r\n }\r\n .react-date-picker__button:enabled {\r\n cursor: pointer;\r\n }\r\n .react-date-picker__button:enabled:hover .react-date-picker__button__icon,\r\n .react-date-picker__button:enabled:focus .react-date-picker__button__icon {\r\n stroke: #bebebe;\r\n }\r\n .react-date-picker__button:disabled .react-date-picker__button__icon {\r\n stroke: #6d6d6d;\r\n }\r\n .react-date-picker__button svg {\r\n display: inherit;\r\n }\r\n .react-date-picker__calendar {\r\n width: 350px;\r\n max-width: 100vw;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 11;\r\n }\r\n .react-date-picker__calendar--closed {\r\n display: none;\r\n }\r\n .react-date-picker__calendar .react-calendar {\r\n border-width: thin;\r\n }\r\n\r\n .react-date-picker__calendar-button {\r\n &.react-date-picker__button {\r\n border-left: 1px solid #808080;\r\n }\r\n }\r\n\r\n .react-calendar__month-view__weekdays {\r\n font-family: 'unimed_slabbold';\r\n font-size: 13px;\r\n color: #5a5a5a;\r\n text-align: center;\r\n margin: 3% 1% 3% 1%;\r\n background-color: #ffff;\r\n\r\n .react-calendar__month-view__weekdays__weekday {\r\n abbr {\r\n cursor: auto;\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n\r\n .react-calendar__month-view {\r\n background-color: #ffff;\r\n }\r\n .react-calendar__month-view__days,\r\n .react-calendar__year-view__months,\r\n .react-calendar__decade-view__years {\r\n button {\r\n background-color: #ffff;\r\n border: 1px solid #ffff;\r\n font-family: Calibri;\r\n font-size: 20px;\r\n color: ${theme.colorGray};\r\n }\r\n\r\n button:disabled {\r\n background-color: ${theme.greyDisable} !important;\r\n color: ${theme.colorGray} !important;\r\n }\r\n\r\n button:hover,\r\n button:active,\r\n button:after {\r\n background-color: ${theme.greenDefault};\r\n color: #ffff;\r\n border-radius: 5px;\r\n }\r\n }\r\n\r\n svg[stroke] {\r\n stroke: gray;\r\n /* height: 20px;\r\n width: 20px; */\r\n }\r\n`;\r\n","import React, { useEffect, useRef } from 'react';\r\n\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport { AiOutlineCalendar } from 'react-icons/ai';\r\n\r\nimport CalendarDate from 'react-date-picker/dist/entry.nostyle';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction DatePicker({ name, minDate, onChange, value, required }) {\r\n const datepickerRef = useRef(null);\r\n const { fieldName, registerField, defaultValue, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: datepickerRef.current,\r\n path: 'props.value',\r\n defaultValue,\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n \r\n }\r\n dayPlaceholder=\"00\"\r\n monthPlaceholder=\"00\"\r\n yearPlaceholder=\"0000\"\r\n maxDate={new Date(9999, 11, 31)}\r\n showLeadingZeros\r\n minDate={new Date(minDate)}\r\n locale=\"pt-BR\"\r\n required={required}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default DatePicker;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n\r\n opacity: 1;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : `margin: 5px`};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : `max-height: 200px;`};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ``};\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: ${marginBottom}px;\r\n `\r\n : ``};\r\n\r\n ${({ error }) =>\r\n error\r\n ? css`\r\n > p {\r\n color: ${theme.red};\r\n }\r\n > input {\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 1px solid ${theme.redLight};\r\n }\r\n > input:hover:enabled {\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 1px solid ${theme.redLight};\r\n }\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const ErrorMessage = styled.span`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\nimport { Container, ErrorMessage } from './styles';\r\n\r\nfunction LabelContainer({\r\n text,\r\n children,\r\n marginLeft,\r\n marginTop,\r\n marginBottom,\r\n marginRight,\r\n margin,\r\n display,\r\n displayText,\r\n handleClick = (a) => a,\r\n type,\r\n color,\r\n font,\r\n lineHeight,\r\n error = false,\r\n}) {\r\n return (\r\n {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n error={error}\r\n >\r\n \r\n {children}\r\n {error && {error}}\r\n
\r\n );\r\n}\r\n\r\nexport default LabelContainer;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n margin-top: 8px;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n CanAccess,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nimport { isNumber } from '../../../utils/validation';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\n\r\nfunction FilterExtends({\r\n isOpen,\r\n isGetModalidadesSuccess,\r\n modalidades,\r\n handleGetModalidadesByContratante,\r\n setSearchBoxValue,\r\n cleanFilterParams,\r\n showwFilterNomeArquivo = false,\r\n}) {\r\n const optionsTipo = [\r\n {\r\n onClickOption: () => handleSelectedTipo('Lote'),\r\n text: 'Lote',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('Manual'),\r\n text: 'Manual',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('Transferência'),\r\n text: 'Transferência',\r\n },\r\n ];\r\n\r\n const optionsMovimentacao = [\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Inclusão'),\r\n text: 'Inclusão',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Alteração'),\r\n text: 'Alteração',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Exclusão'),\r\n text: 'Exclusão',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Transferência'),\r\n text: 'Transferência',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Inativos'),\r\n text: 'Inativos',\r\n },\r\n ];\r\n\r\n const optionsVencidas = [\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Todas'),\r\n text: 'Todas',\r\n },\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Sim'),\r\n text: 'Sim',\r\n },\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Não'),\r\n text: 'Não',\r\n },\r\n ];\r\n\r\n const optionsRN412 = [\r\n {\r\n onClickOption: () => handleSelectedRN412('Todas'),\r\n text: 'Todas',\r\n },\r\n {\r\n onClickOption: () => handleSelectedRN412('Sim'),\r\n text: 'Sim',\r\n },\r\n {\r\n onClickOption: () => handleSelectedRN412('Não'),\r\n text: 'Não',\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerNomeBeneficiarioCartao = useField(\r\n 'nomeBeneficiarioCartao'\r\n ).registerField;\r\n const registerContratante = useField('codigoContratante').registerField;\r\n const registerArquivo = useField('nomeArquivoMovimentacao').registerField;\r\n const registerTipos = useField('tipo').registerField;\r\n const registerMovimentacao = useField('movimentacao').registerField;\r\n const registerModalidades = useField('modalidade').registerField;\r\n const registerTermos = useField('termo').registerField;\r\n const registerVencidas = useField('vencida').registerField;\r\n const registerRN412 = useField('rn412').registerField;\r\n\r\n const [selectedMovimentacao, setSelectedMovimentacao] = useState('');\r\n const [selectedTipo, setSelectedTipo] = useState('');\r\n const [selectedModalidade, setSelectedModalidade] = useState('');\r\n const [selectedTermo, setSelectedTermo] = useState('');\r\n const [inputContratante, setInputContratante] = useState('');\r\n const [inputNomeBeneficiarioCartao, setInputNomeBeneficiarioCartao] =\r\n useState('');\r\n const [inputNomeArquivoMovimentacao, setInputNomeArquivoMovimentacao] =\r\n useState('');\r\n const [selectedListasVencidas, setSelectedListasVencidas] = useState('');\r\n const [selectedRN412, setSelectedRN412] = useState('');\r\n const [disableImportarCriacao, setDisableImportarCriacao] = useState(false);\r\n const [disableImportarAtualizacao, setDisableImportarAtualizacao] =\r\n useState(false);\r\n const [dates, setDates] = useState({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n });\r\n\r\n function handleDataCriacaoDe(e) {\r\n if (e.target) return;\r\n const dataCriacaoAte = e > dates.dataCriacaoAte ? e : dates.dataCriacaoAte;\r\n setDates({\r\n dataCriacaoDe: e,\r\n dataCriacaoAte,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: dates.dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataCriacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: e,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: dates.dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataAtualizacaoDe(e) {\r\n if (e.target) return;\r\n const dataAtualizacaoAte =\r\n e > dates.dataAtualizacaoAte ? e : dates.dataAtualizacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataAtualizacaoDe: e,\r\n dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataAtualizacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: e,\r\n });\r\n }\r\n\r\n function handleSelectedMovimentacao(text) {\r\n setSelectedMovimentacao(text);\r\n }\r\n\r\n function handleSelectedTipo(texto) {\r\n setSelectedTipo(texto);\r\n }\r\n\r\n function handleInputContratanteChange(e) {\r\n if (e.target.value === '' || isNumber(e.target.value))\r\n setInputContratante(e.target.value);\r\n\r\n if (e.target.value === '') {\r\n setSelectedModalidade('');\r\n setSelectedTermo('');\r\n }\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setSelectedTipo('');\r\n setSelectedMovimentacao('');\r\n setSelectedModalidade('');\r\n setSelectedTermo('');\r\n setDates({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n });\r\n setInputContratante('');\r\n setSearchBoxValue('');\r\n cleanFilterParams();\r\n setInputNomeBeneficiarioCartao('');\r\n setSelectedListasVencidas('');\r\n setSelectedRN412('');\r\n setInputNomeArquivoMovimentacao('');\r\n }\r\n\r\n function handleInputNomeBeneficiarioCartao(e) {\r\n setInputNomeBeneficiarioCartao(e.target.value);\r\n }\r\n\r\n function handleInputNomeArquivoMovimentacao({ target }) {\r\n setInputNomeArquivoMovimentacao(target.value);\r\n }\r\n\r\n function handleSelectedListasVencidas(text) {\r\n setSelectedListasVencidas(text);\r\n }\r\n function handleSelectedRN412(text) {\r\n setSelectedRN412(text);\r\n }\r\n\r\n useEffect(() => {\r\n function handleDisableImportar() {\r\n if (\r\n (dates.dataCriacaoDe && dates.dataCriacaoAte) ||\r\n (!dates.dataCriacaoDe && !dates.dataCriacaoAte)\r\n ) {\r\n setDisableImportarCriacao(false);\r\n } else {\r\n setDisableImportarCriacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataAtualizacaoDe && dates.dataAtualizacaoAte) ||\r\n (!dates.dataAtualizacaoDe && !dates.dataAtualizacaoAte)\r\n ) {\r\n setDisableImportarAtualizacao(false);\r\n } else {\r\n setDisableImportarAtualizacao(true);\r\n }\r\n }\r\n\r\n handleDisableImportar();\r\n }, [dates]);\r\n\r\n const shapeModalidades = useCallback((modalidadesParam) => {\r\n const modalidadesInativos = [36, 38];\r\n\r\n return modalidadesParam.map(({ codigoModalidade, termos }) =>\r\n modalidadesInativos.includes(codigoModalidade)\r\n ? {\r\n text: codigoModalidade.toString(),\r\n termos: [],\r\n }\r\n : {\r\n text: codigoModalidade.toString(),\r\n termos: termos.map((termo) => termo.codigoTermo.toString()),\r\n }\r\n );\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n {\r\n handleInputNomeBeneficiarioCartao(e);\r\n }}\r\n value={inputNomeBeneficiarioCartao}\r\n placeholder=\"Pesquise por nome do beneficiário ou cartão\"\r\n register={registerNomeBeneficiarioCartao}\r\n />\r\n \r\n {selectedTipo || 'Selecione o tipo'}\r\n \r\n \r\n {selectedMovimentacao || 'Selecione a movimentação'}\r\n \r\n \r\n {\r\n handleInputContratanteChange(e);\r\n }}\r\n onBlur={(e) =>\r\n handleGetModalidadesByContratante(e, inputContratante)\r\n }\r\n value={inputContratante}\r\n placeholder=\"Selecione a contratante\"\r\n register={registerContratante}\r\n />\r\n \r\n \r\n \r\n {selectedListasVencidas || 'Todas'}\r\n \r\n \r\n {selectedRN412 || 'Todas'}\r\n \r\n {(usuario.role === 'Adm' || isContratanteNestle(usuario)) &&\r\n showwFilterNomeArquivo && (\r\n {\r\n handleInputNomeArquivoMovimentacao(e);\r\n }}\r\n value={inputNomeArquivoMovimentacao}\r\n placeholder=\"Pesquise por nome arquivo de movimentação\"\r\n register={registerArquivo}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n

à

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

à

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FilterExtends;\r\n","import { v4 as uuidv4 } from 'uuid';\r\nimport { getBase64 } from './array';\r\n\r\nexport async function shapeFile(file) {\r\n const base64 = await getBase64(file);\r\n return {\r\n file,\r\n name: file.name,\r\n readableSize: file.size,\r\n preview: URL.createObjectURL(file),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n url: null,\r\n base64,\r\n idFile: uuidv4(),\r\n };\r\n}\r\n\r\nexport function customValidations(\r\n filesInput,\r\n maxSizeFiles,\r\n maxQuantityFiles = 1,\r\n validExtension = ['csv'],\r\n invalidCallback = () => null\r\n) {\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n const filteredFiles = filesInput.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (maxSizeFiles && item.readableSize > maxSizeFiles)\r\n errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (filesInput.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n filesInput.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, item });\r\n });\r\n\r\n invalidCallback({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n\r\n return filteredFiles;\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding: 2% 20%;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal, ImportBox } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { shapeFile, customValidations } from '../../../utils/file';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nfunction ModalFileImport({\r\n contentText,\r\n modeloPadrao,\r\n contentModeloPadrao = null,\r\n isOpen,\r\n onClick,\r\n setListaFiles,\r\n importFiles,\r\n maxQuantityFiles,\r\n maxSizeFiles,\r\n validExtension,\r\n applyValidation,\r\n invalidCallback = () => {},\r\n}) {\r\n return (\r\n importar}\r\n footer={}\r\n justifyContentFooter=\"flex-end\"\r\n >\r\n \r\n \r\n {contentText}}\r\n templateDownloadText={\r\n \r\n }\r\n shapeFile={shapeFile}\r\n setListaFiles={setListaFiles}\r\n applyValidation={applyValidation}\r\n customValidations={(filesInput) =>\r\n customValidations(\r\n filesInput,\r\n maxSizeFiles,\r\n maxQuantityFiles,\r\n validExtension,\r\n invalidCallback\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\nconst ModalFooter = ({ onClick }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n importar\r\n \r\n \r\n );\r\n};\r\n\r\nconst TemplateDownloadText = ({ modeloPadrao, contentModeloPadrao }) =>\r\n contentModeloPadrao ? (\r\n {contentModeloPadrao}\r\n ) : (\r\n \r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n modelo padrão{' '}\r\n \r\n demonstrando como as informações devem ser preenchidas.\r\n \r\n );\r\n\r\nexport default ModalFileImport;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding: 27px 0;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentFile = styled.div`\r\n margin: 10px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, FileUpload, Modal } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { Container, ContentFile, ContentText } from './styles';\r\n\r\nfunction ModalFileLoading({\r\n isOpen,\r\n finishedLoadingFiles,\r\n isSuccess,\r\n files,\r\n onClickCancel,\r\n loading,\r\n}) {\r\n return (\r\n onClickCancel(files)}\r\n disabled={loading}\r\n header={<>importar}\r\n footer={\r\n \r\n }\r\n justifyContentFooter=\"flex-end\"\r\n >\r\n \r\n \r\n \r\n \r\n Aguarde! Seus arquivos estão sendo carregados.\r\n \r\n {Object.values(files).map((file) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst MyContentFile = ({ file, onClickCancel }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ModalFooter = ({\r\n loading,\r\n onClickCancel,\r\n files,\r\n isSuccess,\r\n finishedLoadingFiles,\r\n}) => {\r\n return (\r\n <>\r\n onClickCancel(files)}\r\n >\r\n cancelar\r\n \r\n\r\n \r\n importar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFileLoading;\r\n","import React from 'react';\r\n\r\nimport ModalFileImport from '../ModalFileImport';\r\nimport ModalFileLoading from '../ModalFileLoading';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport useMovimentacao from '../../../hooks/useMovimentacao';\r\n\r\nconst ImportarListas = ({\r\n acaoAtual,\r\n invalidCallback,\r\n openFileImport,\r\n openFileLoading,\r\n onClickFileImport,\r\n onClickFileLoading,\r\n handleFiles,\r\n isSuccess,\r\n files,\r\n handleCancel,\r\n setAfterLoadingCallback,\r\n loading,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { setContentText, setModeloPadrao, setValidacao, setAfterLoading } =\r\n useMovimentacao();\r\n\r\n return (\r\n <>\r\n _}\r\n isOpen={openFileImport}\r\n onClick={onClickFileImport}\r\n setListaFiles={(newFiles) => {\r\n handleFiles(newFiles);\r\n }}\r\n maxQuantityFiles={setValidacao(acaoAtual)?.maxQuantityFiles}\r\n maxSizeFiles={setValidacao(acaoAtual)?.maxSizeFiles}\r\n validExtension={setValidacao(acaoAtual)?.validExtension}\r\n applyValidation\r\n invalidCallback={invalidCallback}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImportarListas;\r\n","var _g, _g2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgReplay = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,5V1L7,6l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6H4c0,4.42,3.58,8,8,8s8-3.58,8-8S16.42,5,12,5z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgReplay, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/replay.1177dc70.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgUpload = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,18v2H8v-2H16z M11,7.99V16h2V7.99h3L12,4L8,7.99H11z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgUpload, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/upload.7297c706.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgCancel24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.87,\n fill: \"none\",\n d: \"M0 0h24v24H0V0z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCancel24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/cancel-24px.25d58c48.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgDoubleArrow = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgDoubleArrow, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/doubleArrow.97a1814f.svg\";\nexport { ForwardRef as ReactComponent };","const { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport const legacyRoutes = {\r\n Home: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Home.aspx`,\r\n name: 'Home',\r\n },\r\n ConsultaLista: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConsultaLista.aspx`,\r\n name: 'Lista',\r\n },\r\n Segundavia: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConsultaSolicitacao.aspx`,\r\n name: 'Lista',\r\n },\r\n ConsultaBeneficiarios: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/PesquisaBeneficiario.aspx`,\r\n name: 'Lista',\r\n },\r\n CadastrarLista: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx`,\r\n name: 'Lista',\r\n },\r\n CadastrarListaTitularUSP: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?isRedirectUsp=1`,\r\n name: 'Lista',\r\n },\r\n CadastrarListaDependenteUSP: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?isRedirectUsp=2`,\r\n name: 'Lista',\r\n },\r\n ConfiguracaoLogin: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConfiguracaoLogin`,\r\n name: 'Lista',\r\n },\r\n ConsultarUsuarios: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Usuario`,\r\n name: 'ConsultarUsuarios',\r\n },\r\n CadastrarUsuarios: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Usuario/DetalheUsuario`,\r\n name: 'CadastrarUsuarios',\r\n },\r\n ConsultarFeriados: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Feriado.aspx`,\r\n name: 'ConsultarFeriados',\r\n },\r\n CadastrarFeriados: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarFeriado.aspx`,\r\n name: 'CadastrarFeriados',\r\n },\r\n MotivosCancelamento: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/MotivoCancelamento`,\r\n name: 'MotivosCancelamento',\r\n },\r\n ConsultarExcecoes: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ModalidadeTermoExcecao`,\r\n name: 'ConsultarExcecoes',\r\n },\r\n ConsultarEmail: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Email`,\r\n name: 'ConsultarEmail',\r\n },\r\n ConsultarLayoutEmail: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Email/ListaEmailLayout`,\r\n name: 'ConsultarLayoutEmail',\r\n },\r\n};\r\n","import styled from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ImageWrapper = styled.div``;\r\n\r\nexport const ContentTextWrapper = styled.div``;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal 600 17px 'unimed_slabsemibold';\r\n color: ${theme.grey};\r\n text-align: center;\r\n letter-spacing: 0px;\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: block;\r\n background-color: ${theme.grey210};\r\n height: 160px;\r\n width: 160px;\r\n text-align: -webkit-center;\r\n padding: 25px;\r\n margin: 12px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n opacity: 1;\r\n\r\n &:hover {\r\n background-color: ${lighten(0.68, theme.greenDefault)};\r\n div {\r\n cursor: pointer;\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n fill: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\nimport { Card } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled(Card).attrs((props) => ({\r\n background: props.background,\r\n}))`\r\n margin: 0px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 8px;\r\n padding: 0px;\r\n\r\n border-radius: ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n ${borderRadius}px;\r\n `\r\n : css`8px`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : 'height: 135px'}\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : 'width: 250px'}\r\n\r\n ${({ disabled }) =>\r\n !disabled\r\n ? css`\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ translucent }) =>\r\n translucent\r\n ? css`\r\n opacity: 0.5;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n color: red;\r\n margin-bottom: ${marginBottom}px;\r\n `\r\n : ''}\r\n\r\n${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : ''}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : 'background-color: inherit'}\r\n\r\n\r\n img {\r\n height: 100%;\r\n width: 100%;\r\n object-fit: contain;\r\n margin: auto;\r\n }\r\n\r\n @media (max-width: 768px) {\r\n height: 72px;\r\n width: 156px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Image } from '@unimed-fesp/components';\r\nimport imgPlaceholder from '../../../assets/images/login/unimed-fesp.png';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ImageCard = ({\r\n imageUrl,\r\n name,\r\n disabled,\r\n translucent,\r\n marginBottom,\r\n onClick = (_) => _,\r\n width,\r\n height,\r\n borderRadius,\r\n children,\r\n ...props\r\n}) => (\r\n {\r\n e.stopPropagation();\r\n !disabled && onClick();\r\n }}\r\n width={width}\r\n height={height}\r\n borderRadius={borderRadius}\r\n >\r\n {imageUrl ? (\r\n {name}\r\n ) : (\r\n children\r\n )}\r\n \r\n);\r\n\r\nexport default ImageCard;\r\n","import React from 'react';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentTextWrapper,\r\n ImageWrapper,\r\n} from './styles';\r\nimport ImageCard from '../ImageCard';\r\n\r\nconst Card = ({ text, onClick, children }) => (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n {text}\r\n {/* */}\r\n \r\n \r\n \r\n);\r\n\r\nexport default Card;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const ContainerInativos = styled.div`\r\n &:hover {\r\n svg {\r\n fill: ${theme.grey210};\r\n stroke: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\n// #region Assets\r\nimport { ReactComponent as Upload } from '../../../assets/icons/upload.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\n\r\nimport Card from '../../molecules/Card';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText } from './styles';\r\n\r\nfunction ModalInclusaoUspLista({ isOpen, onClick, handleClick }) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const lista = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n Inclusão}\r\n >\r\n \r\n \r\n Selecione entre Titular ou Dependente\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalInclusaoUspLista;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\n// #region Assets\r\nimport { ReactComponent as Replay } from '../../../assets/icons/replay.svg';\r\nimport { ReactComponent as Upload } from '../../../assets/icons/upload.svg';\r\nimport { ReactComponent as Cancel } from '../../../assets/icons/cancel-24px.svg';\r\nimport { ReactComponent as DoubleArrow } from '../../../assets/icons/doubleArrow.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { MovimentacaoListaEnum } from '../../../enums';\r\nimport history from '../../../services/history';\r\n\r\nimport Card from '../../molecules/Card';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText, ContainerInativos } from './styles';\r\nimport ModalInclusaoUspLista from '../ModalInclusaoUspLista';\r\n\r\nfunction ModalAcaoLista({ isOpen, onClick, handleClick }) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const lista = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n const [isInclusaoUspOpen, setIsInclusaoUspOpen] = useState(false);\r\n\r\n function handleCreate() {\r\n dispatch(ListaActions.postListaInativasRequest(usuario));\r\n }\r\n\r\n function toggleModalInclusaoUspLista() {\r\n setIsInclusaoUspOpen(!isInclusaoUspOpen);\r\n }\r\n\r\n useEffect(() => {\r\n if (!lista?.loading && lista?.success && lista?.create) {\r\n history.push(`/novo/listainativo/${lista?.response?.idLista}`);\r\n }\r\n }, [lista]);\r\n\r\n return (\r\n nova lista manual de movimentação}\r\n >\r\n \r\n \r\n Que tipo de lista de movimentação você deseja incluir?\r\n \r\n \r\n {usuario.codigoContratante == \"76811\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleClick(MovimentacaoListaEnum.returnIdForName.Transferencia)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalAcaoLista;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","export default {\r\n delete:\r\n 'M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z',\r\n pencil:\r\n 'M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z',\r\n briefcase:\r\n 'M50,17.5H40v-5l-5-5H25l-5,5v5H10a5.015,5.015,0,0,0-5,5V35a4.96,4.96,0,0,0,2.5,4.325V47.5a4.983,4.983,0,0,0,5,5h35a4.983,4.983,0,0,0,5-5V39.3A5.033,5.033,0,0,0,55,35V22.5A5.015,5.015,0,0,0,50,17.5Zm-25-5H35v5H25Zm-15,10H50V35H37.5V27.5h-15V35H10Zm22.5,15h-5v-5h5Zm15,10h-35V40h10v2.5h15V40h10Z',\r\n deleteOutline:\r\n 'M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v10zM9 9h6c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H9c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm6.5-5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1h-2.5z',\r\n cancelOutline:\r\n 'M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z',\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.svg`\r\n ${({ marginLeft }) =>\r\n marginLeft &&\r\n css`\r\n margin-left: ${marginLeft};\r\n `}\r\n ${({ cursor }) =>\r\n cursor &&\r\n css`\r\n cursor: ${cursor};\r\n `}\r\n\r\n${({ margin }) =>\r\n margin &&\r\n css`\r\n margin: ${margin};\r\n `}\r\n`;\r\n","import React from 'react';\r\n\r\nimport iconPath from '../../../assets/icons/iconsLib';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Icon = ({\r\n size,\r\n color,\r\n icon,\r\n style,\r\n marginLeft,\r\n onClick,\r\n cursor,\r\n margin,\r\n}) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default Icon;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n\r\n ${({ animation, duration = '0.2s' }) =>\r\n (animation, duration)\r\n ? css`\r\n animation: ${duration} ${keyframes`${animation}`};\r\n `\r\n : ''}\r\n\r\n ${({ input }) =>\r\n input\r\n ? css`\r\n position: relative;\r\n\r\n span {\r\n position: absolute;\r\n bottom: -9px;\r\n left: 0px;\r\n font-size: 10px;\r\n color: ${theme.movRed90};\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ flex }) =>\r\n typeof flex === 'number'\r\n ? css`\r\n flex: ${flex};\r\n `\r\n : flex\r\n ? css`\r\n flex: 1;\r\n `\r\n : ''}\r\n\r\n ${({ column }) =>\r\n column\r\n ? css`\r\n flex-direction: column;\r\n `\r\n : ''};\r\n\r\n ${({ wrap }) =>\r\n wrap\r\n ? css`\r\n flex-wrap: wrap;\r\n `\r\n : ''};\r\n\r\n ${({ overflowHidden }) =>\r\n overflowHidden\r\n ? css`\r\n overflow: hidden;\r\n `\r\n : ''};\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: 25px;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 25px;\r\n `\r\n : ''};\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''};\r\n\r\n ${({ marginSides }) =>\r\n typeof marginSides === 'number'\r\n ? css`\r\n margin-left: ${marginSides}px;\r\n margin-right: ${marginSides}px;\r\n `\r\n : marginSides\r\n ? css`\r\n margin-left: 8px;\r\n margin-right: 8px;\r\n `\r\n : ''}\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 55px;\r\n `\r\n : ''}\r\n\r\n ${({ paddingSides }) =>\r\n typeof paddingSides === 'number'\r\n ? css`\r\n padding-left: ${paddingSides}px;\r\n padding-right: ${paddingSides}px;\r\n `\r\n : paddingSides\r\n ? css`\r\n padding-left: 55px;\r\n padding-right: 55px;\r\n `\r\n : ''}\r\n\r\n${({ paddingLeft }) =>\r\n typeof paddingSides === 'number'\r\n ? css`\r\n padding-left: ${paddingLeft}px;\r\n `\r\n : paddingLeft\r\n ? css`\r\n padding-left: 55px;\r\n `\r\n : ''}\r\n\r\n ${({ onClick }) =>\r\n onClick\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : ''}\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n\r\n ${({ fullWidth, halfWidth }) =>\r\n fullWidth\r\n ? css`\r\n width: 100%;\r\n `\r\n : halfWidth\r\n ? css`\r\n width: 50%;\r\n `\r\n : ''};\r\n\r\n ${({ percentage }) =>\r\n percentage\r\n ? css`\r\n width: ${percentage}%;\r\n `\r\n : ''};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n @media (max-width: 768px) {\r\n ${({ desktopOnly }) =>\r\n desktopOnly\r\n ? css`\r\n display: none;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 17px;\r\n `\r\n : ''};\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 0;\r\n `\r\n : ''}\r\n\r\n ${({ paddingSides }) =>\r\n paddingSides && typeof paddingSides !== 'number'\r\n ? css`\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n `\r\n : ''}\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst WrapperFlex = ({\r\n children,\r\n desktopOnly,\r\n flex,\r\n column,\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n alignStart,\r\n alignCenter,\r\n alignEnd,\r\n marginTop,\r\n marginBottom,\r\n marginSides,\r\n padding,\r\n paddingSides,\r\n paddingLeft,\r\n halfWidth,\r\n fullWidth,\r\n height,\r\n width,\r\n percentage,\r\n wrap,\r\n overflowHidden,\r\n onClick = null,\r\n input,\r\n animation,\r\n duration,\r\n marginLeft,\r\n ...props\r\n}) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nexport default WrapperFlex;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst rotate360 = keyframes`\r\n from {\r\n transform: rotate(0deg)\r\n }\r\n to {\r\n transform: rotate(360deg)\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n svg {\r\n animation: ${rotate360} 2s linear infinite;\r\n }\r\n`;","import React from 'react';\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport WrapperFlex from '../WrapperFlex';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nexport default function LoadingSpinner({ height, size, color }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Alerts,\r\n Button,\r\n CanAccess,\r\n Checkbox,\r\n Dropdown,\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil } from 'react-icons/im';\r\nimport { MdAdb, MdFileDownload, MdInfo } from 'react-icons/md';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent, HoverActions } from './styles';\r\n\r\nimport { StatusListaAPIEnum, TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport Icon from '../../atoms/Icon';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport {\r\n isAdmin,\r\n isContratante,\r\n isContratanteNestle,\r\n} from '../../../utils/userRole';\r\n\r\nimport history from '../../../services/history';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction TabTableLista({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n handleAcaoListas,\r\n handleAcaoListaById,\r\n handleChangePage,\r\n reportsItems,\r\n setReportItems,\r\n handleCheckBoxAllPagesReport,\r\n isCheckedAllPages,\r\n handleDropdownItemClick,\r\n setIsCheckedAllPages,\r\n downloadFileOriginLot,\r\n}) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { statusLists, listas } = useSelector((state) => state.lista);\r\n const status = statusLists.response.actives;\r\n\r\n function isPendentStatusTable() {\r\n if (status.length === 1 && status[0].id === 10) {\r\n return 'Pendente';\r\n }\r\n return 'Todas';\r\n }\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n const tipoStatus = StatusListaAPIEnum.returnNameForTab[tabName];\r\n if (listas.loading) {\r\n return ;\r\n }\r\n\r\n if (!!listaStatus.data && listaStatus.data.length > 0) {\r\n return (\r\n \r\n handleChangePage(paramsPag, tipoStatus)\r\n }\r\n listasSize={listaStatus.totalCount}\r\n {...(tabName && { tabName })}\r\n usuario={usuario}\r\n reportsItems={reportsItems}\r\n setReportItems={setReportItems}\r\n handleCheckBoxAllPagesReport={handleCheckBoxAllPagesReport}\r\n isCheckedAllPages={isCheckedAllPages}\r\n handleDropdownItemClick={handleDropdownItemClick}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageSize = 10;\r\n draft.pageNumber = 1;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n setReportItems([]);\r\n setIsCheckedAllPages(false);\r\n }, [status]);\r\n\r\n return <>{handleRender(listas.response, isPendentStatusTable())};\r\n}\r\n\r\nconst TableListaHeader = ({\r\n tabName,\r\n usuario,\r\n checkAll,\r\n handleCheckAll,\r\n isCheckedAllPages,\r\n}) => {\r\n return (\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n ) : (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n )}\r\n\r\n \r\n Lista\r\n \r\n \r\n Contratante\r\n \r\n \r\n Movimentação\r\n \r\n \r\n Criação\r\n \r\n \r\n Envio\r\n \r\n \r\n Finalização\r\n \r\n \r\n Status\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n Status RPA\r\n \r\n ) : null}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n tabName,\r\n handleAcaoListas,\r\n listasSize,\r\n usuario,\r\n handleChangePage,\r\n reportsItems,\r\n setReportItems,\r\n handleCheckBoxAllPagesReport,\r\n isCheckedAllPages,\r\n handleDropdownItemClick,\r\n downloadFileOriginLot,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n const handleCheckAll = () => {\r\n if (isCheckedAllPages) {\r\n return;\r\n }\r\n const allItems = listas.slice(\r\n 0,\r\n Math.min(listas.length, pageData.pageSize * (0 + 1))\r\n );\r\n const filteredItems = allItems.filter(\r\n (item) =>\r\n !reportsItems.some(\r\n (selectedItem) => selectedItem.idLista === item.idLista\r\n )\r\n );\r\n setReportItems([...reportsItems, ...filteredItems]);\r\n setCheckAll(true);\r\n };\r\n\r\n const handleCheckAllChange = () => {\r\n if (checkAll) {\r\n handleUncheckAll();\r\n } else {\r\n handleCheckAll();\r\n }\r\n };\r\n\r\n const handleUncheckAll = () => {\r\n const startIndex = 0 * pageData.pageSize;\r\n const endIndex = startIndex + pageData.pageSize;\r\n const currentPageItems = listas.slice(startIndex, endIndex);\r\n\r\n const filteredItems = reportsItems.filter((selectedItem) => {\r\n return !currentPageItems.some(\r\n (item) => item.idLista === selectedItem.idLista\r\n );\r\n });\r\n\r\n setReportItems(filteredItems);\r\n setCheckAll(false);\r\n };\r\n\r\n const isAllPageItemsChecked = () => {\r\n const startIndex = 0 * pageData.pageSize;\r\n const endIndex = startIndex + pageData.pageSize;\r\n const currentPageItems = listas.slice(startIndex, endIndex);\r\n return currentPageItems.every((item) =>\r\n reportsItems.some((selectedItem) => selectedItem.idLista === item.idLista)\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n setCheckAll(isAllPageItemsChecked());\r\n }, [reportsItems]);\r\n\r\n const optionsButtonRPA = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório resumido'),\r\n text: 'Relatório resumido',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório detalhado'),\r\n text: 'Relatório detalhado',\r\n },\r\n ];\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = pageData.totalPages;\r\n\r\n return draft;\r\n });\r\n // setPaginationParams(newPaginationParams);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {reportsItems.length > 0 &&\r\n tabName === 'Pendente' &&\r\n isAdmin(usuario.role) && (\r\n \r\n \r\n \r\n )}\r\n {reportsItems.length > 0 ? (\r\n \r\n \r\n \r\n \r\n Você selecionou {reportsItems.length} de {pageData.totalCount}{' '}\r\n itens para Relatórios.\r\n \r\n \r\n {\r\n setReportItems([]);\r\n }}\r\n >\r\n Limpar Seleção\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleCheckBoxAllPagesReport(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n \r\n \r\n Gerar relatório\r\n \r\n \r\n {pageData.totalCount > 10 && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n lista,\r\n checkAll,\r\n setListaRowsChecked,\r\n listaRowsChecked = [],\r\n handleConfirmAction,\r\n tabName,\r\n usuario,\r\n reportsItems,\r\n setReportItems,\r\n paginationParams,\r\n isCheckedAllPages,\r\n downloadFileOriginLot,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function redirectToDetalheLista(listaArg) {\r\n const TIPO_ACAO_INATIVOS = 'Inativos';\r\n\r\n if (listaArg && listaArg?.dcTipoAcao === TIPO_ACAO_INATIVOS) {\r\n history.push(`/novo/listainativo/${listaArg?.idLista}/detalhe`);\r\n } else {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${listaArg.idLista}`\r\n );\r\n }\r\n }\r\n\r\n const handleItemCheck = (item) => {\r\n if (isCheckedAllPages) {\r\n return;\r\n }\r\n const isCheckeed = reportsItems.some(\r\n (selectedItem) => selectedItem.idLista === item.idLista\r\n );\r\n if (isCheckeed) {\r\n setReportItems(\r\n reportsItems.filter(\r\n (selectedItem) => selectedItem.idLista !== item.idLista\r\n )\r\n );\r\n } else {\r\n setReportItems([...reportsItems, item]);\r\n }\r\n };\r\n const movimentacoes = lista.dcMovimentacoes\r\n ? lista.dcMovimentacoes.split('/').join(' / ')\r\n : lista.dcMovimentacoes;\r\n\r\n const listaIsFake = lista?.nmLista.endsWith('_TESTE') || false;\r\n return (\r\n \r\n \r\n selectedItem.idLista === lista.idLista\r\n ) || isCheckedAllPages\r\n }\r\n onClick={(e) => handleItemCheck(lista)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n redirectToDetalheLista(lista)}\r\n activeAction\r\n minWidth={100}\r\n maxWidth={100}\r\n >\r\n {lista.nmLista}\r\n \r\n \r\n {lista.cdContratante} - {lista.nmContratante}\r\n \r\n \r\n {movimentacoes}\r\n \r\n \r\n {lista.dtInclusao\r\n ? format(new Date(lista.dtInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null}\r\n \r\n \r\n {lista.dtEnvio\r\n ? format(new Date(lista.dtEnvio), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {lista.dtVencimento\r\n ? format(new Date(lista.dtVencimento), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {(hoverAction && tabName !== 'Pendente') ||\r\n (hoverAction && isContratante(usuario.role)) ? (\r\n redirectToDetalheLista(lista)}\r\n idLista={lista.idLista}\r\n listaStatus={\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n }\r\n handleConfirmAction={(idLista, status) =>\r\n handleConfirmAction(idLista, status, listaIsFake)\r\n }\r\n nomeLista={lista.nmLista}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n ) : (\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n )}\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n {hoverAction &&\r\n lista.idStatusLista !== StatusListaAPIEnum.returnId.Registrada ? (\r\n redirectToDetalheLista(lista)}\r\n idLista={lista.idLista}\r\n listaStatus={\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n }\r\n listaStatusRPA={lista.btEnvioRpa}\r\n handleConfirmAction={(idLista, status) =>\r\n handleConfirmAction(idLista, status, listaIsFake)\r\n }\r\n tipoAcao={lista.dcTipoAcao}\r\n nomeLista={lista.nmLista}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n ) : (\r\n <>{lista.btEnvioRpa ? lista.dcStatusRpa : '-'}\r\n )}\r\n \r\n ) : null}\r\n \r\n {lista.possuiSinalizacao && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllLista = ({\r\n listaRowsChecked,\r\n handleConfirmAction,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n reportsItems,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n Você selecionou {reportsItems.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n \r\n handleConfirmAction(\r\n reportsItems,\r\n StatusListaAPIEnum.returnNameFormatted[10].replace(/\\s+/g, ''),\r\n reportsItems.some((cheked) => cheked?.nmLista.endsWith('_TESTE'))\r\n )\r\n }\r\n >\r\n \r\n enviar p/ RPA\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableListaActions = ({\r\n redirectToDetalheLista,\r\n idLista,\r\n listaStatus,\r\n handleConfirmAction,\r\n listaStatusRPA,\r\n tipoAcao = null,\r\n nomeLista,\r\n downloadFileOriginLot,\r\n}) => {\r\n const TIPO_INATIVOS = 'Inativos';\r\n const { usuario } = useSelector((state) => state.auth);\r\n const dispatch = useDispatch();\r\n return (\r\n \r\n \r\n redirectToDetalheLista()}>\r\n \r\n \r\n \r\n\r\n {usuario.role === TipoPerfilUsuarioEnum.returnNameForName.Adm &&\r\n (nomeLista?.endsWith('L_TESTE') || nomeLista?.endsWith('L')) ? (\r\n \r\n downloadFileOriginLot(nomeLista)}>\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {listaStatus === 'Pendente de Processamento' &&\r\n tipoAcao &&\r\n tipoAcao !== TIPO_INATIVOS ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst ActionPorStatus = ({\r\n listaStatus,\r\n idLista,\r\n handleConfirmAction,\r\n listaStatusRPA,\r\n}) => {\r\n const status = listaStatus.replace(/\\s+/g, '');\r\n const IconPorStatus = {\r\n PendentedeProcessamento: {\r\n Text: !listaStatusRPA ? 'enviar para RPA' : 'cancelar envio para RPA',\r\n Icon: !listaStatusRPA ? (\r\n \r\n ) : (\r\n \r\n ),\r\n onClick: !listaStatusRPA\r\n ? () => handleConfirmAction(idLista, status)\r\n : () => handleConfirmAction(idLista, 'Cancelar'),\r\n },\r\n };\r\n\r\n function handleIconsPorStatus() {\r\n return IconPorStatus[status].Icon;\r\n }\r\n\r\n function handleToolTipTextPorStatus() {\r\n return IconPorStatus[status].Text;\r\n }\r\n\r\n return (\r\n \r\n \r\n {handleIconsPorStatus()}\r\n \r\n \r\n );\r\n};\r\nexport default TabTableLista;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n margin: 10px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyEnviarListaRpa = ({ qtdListas = 1, hasFake = false }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n if (hasFake)\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Lista _TESTE criada por um Admin parametrizado! '\r\n : 'Existem listas _TESTE criadas por um Admin parametrizado! '}\r\n \r\n {SINGULAR\r\n ? 'O Robô RPA não conseguirá utilizá-la'\r\n : 'O Robô RPA não conseguirá utilizá-las'}\r\n \r\n .\r\n
\r\n {SINGULAR\r\n ? 'Deseja enviar a lista para o RPA?'\r\n : 'Deseja enviar as listas para o RPA?'}\r\n
\r\n );\r\n\r\n return (\r\n \r\n Apenas listas com status Pendente de Processamento serão\r\n enviadas.\r\n
\r\n Listas de inativos não serão enviadas.\r\n
\r\n {SINGULAR\r\n ? 'Deseja enviar a lista para o RPA?'\r\n : 'Deseja enviar as listas para o RPA?'}\r\n
\r\n );\r\n};\r\n\r\nconst FooterEnviarListaRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyEnviarListaRpa, FooterEnviarListaRpa };\r\n","import styled from 'styled-components';\r\n\r\nexport const ButtonContainer = styled.label`\r\n cursor: pointer;\r\n margin: 0;\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\nimport LoadingSpinner from '../LoadingSpinning';\r\nimport { ButtonContainer } from './styles';\r\n\r\nexport default function StatusList() {\r\n const dispatch = useDispatch();\r\n const { statusLists, listas } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const params = {\r\n page_number: 0,\r\n page_size: 10,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code:\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n show_fake_list: IsAdm.toLowerCase() === 'true',\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n if (usuario.codigoContratante && !isContratanteNestle(usuario)) {\r\n dispatch(\r\n ListaActions.getStatusListContratanteRequest(\r\n usuario.codigoContratante,\r\n IsAdm.toLowerCase() === 'true'\r\n )\r\n );\r\n } else if (isContratanteNestle(usuario)) {\r\n dispatch(\r\n ListaActions.getStatusListNestleRequest(IsAdm.toLowerCase() === 'true')\r\n );\r\n } else {\r\n dispatch(ListaActions.getStatusListAdminRequest());\r\n }\r\n }, []);\r\n\r\n function handleActiveSearches(index) {\r\n const active = statusLists.response.actives[index];\r\n const todosActive = statusLists.response.actives.find(\r\n (status, i) => status.description === 'Todos'\r\n );\r\n const availableTodos = statusLists.response.availables.filter(\r\n (status, i) => status.description !== 'Todos'\r\n );\r\n\r\n if (active.description === 'Todos') {\r\n const response = {\r\n availables: [\r\n ...statusLists.response.actives,\r\n ...statusLists.response.availables,\r\n ],\r\n actives: [],\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (todosActive && availableTodos) {\r\n const restTodos = statusLists.response.actives.filter(\r\n (status, i) =>\r\n status.description !== 'Todos' &&\r\n status.description !== active.description\r\n );\r\n const response = {\r\n availables: [todosActive, active, ...statusLists.response.availables],\r\n actives: restTodos,\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newActiveSearches = statusLists.response.actives.filter(\r\n (_, i) => i !== index\r\n );\r\n const response = {\r\n availables: [...statusLists.response.availables, active],\r\n actives: newActiveSearches,\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleAvailableSearches(index) {\r\n const available = statusLists.response.availables[index];\r\n const restTodos = statusLists.response.availables.filter(\r\n (status, i) => status.id !== 0 && status.count !== 0\r\n );\r\n\r\n const nonZeroItems = statusLists.response.availables.filter(\r\n (item) => item.count !== 0\r\n );\r\n const zeroItems = statusLists.response.availables.filter(\r\n (item) => item.count === 0\r\n );\r\n\r\n if (restTodos.length === 1) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (available.id === 0) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives.map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newAvailableSearches = statusLists.response.availables.filter(\r\n (_, i) => i !== index\r\n );\r\n\r\n const response = {\r\n availables: newAvailableSearches,\r\n actives: [...statusLists.response.actives, available],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleClickAvailable(index) {\r\n dispatch(handleAvailableSearches(index));\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n function handleClickActive(index) {\r\n const active = statusLists.response.actives[index];\r\n if (active.description === 'Todos') {\r\n dispatch(\r\n ListaActions.postSearchListResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n if (statusLists.response.actives.length <= 1) {\r\n dispatch(\r\n ListaActions.postSearchListResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n dispatch(handleActiveSearches(index));\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n if (listas.loading || statusLists.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {statusLists.response.availables.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickAvailable(index)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={`${description} (${count})`}\r\n showBtnRemove={count > 0}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n {statusLists.response.actives.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickActive(index)}\r\n text={`${description} (${count})`}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Form } from '@rocketseat/unform';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n CanAccess,\r\n Dropdown,\r\n LogsFileErrorStorage,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { MdFileUpload, MdFilterList, MdSearch } from 'react-icons/md';\r\nimport { batch, useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport modal from '../../context/TriggerModalContext';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\nimport { downloadFile as fileDownload } from '../../utils/base64';\r\n\r\nimport useMovimentacao from '../../hooks/useMovimentacao';\r\n\r\nimport {\r\n isAdmin,\r\n isContratante,\r\n isContratanteNestle,\r\n} from '../../utils/userRole';\r\nimport { hasChar } from '../../utils/validation';\r\n\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusListaAPIEnum,\r\n TipoListaEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtendsLista from '../../components/organisms/FilterExtends';\r\nimport ImportarListas from '../../components/organisms/ImportarListas';\r\nimport ModalAcaoLista from '../../components/organisms/ModalAcaoLista';\r\nimport TabTableLista from '../../components/organisms/TabTableLista';\r\n\r\nimport { ModalEnviarListaRpa } from '../../components/molecules/PartsModalConsultaListas';\r\n\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport StatusList from '../../components/molecules/StatusList';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\n\r\nfunction ConsultaListas() {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n patchListaEnvioRPA,\r\n postImportarLote,\r\n deleteLista,\r\n statusLists,\r\n getRelatorioLista,\r\n getArquivoOriginalLote,\r\n } = useSelector((state) => state.lista);\r\n const getListasRedux = useSelector((state) => state.lista.getListas);\r\n const logError = postImportarLote.logError || [\r\n {\r\n hasError: false,\r\n base64: null,\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success, response } = useSelector((state) => state.modalidade);\r\n\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n\r\n // #region State para Modal para acao de lista\r\n const [openImportarLote, setOpenImportarLote] = useState(false);\r\n const [openFileLoading, setOpenFileLoading] = useState(false);\r\n const [isAcaoOpen, setIsAcaoOpen] = useState(false); // State para o Modal de ações de Lista\r\n const [acaoAtual, setAcaoAtual] = useState(0); // Define qual ação será executada no Modal File Import\r\n // #endregion\r\n const status = statusLists.response.actives\r\n .filter(({ id }) => id !== 0)\r\n .map(({ id }) => id);\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const oldFilterExtendsParams = {\r\n nomeLista: null,\r\n codigoContratante:\r\n usuario.role !== 'Adm' ? usuario.codigoContratante : null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n vencida: null,\r\n rn412: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n nomeArquivoMovimentacao: null,\r\n nomeGrupoContratante: isContratanteNestle(usuario)\r\n ? usuario.GrupoContratante\r\n : null,\r\n };\r\n const filterExtendsParams = {\r\n page_number: 0,\r\n page_size: 10,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status,\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code:\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n show_fake_list: IsAdm.toLowerCase() === 'true',\r\n },\r\n };\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const optionsButtonDropdown = [\r\n {\r\n onClickOption: () =>\r\n getAcaoLista(MovimentacaoListaEnum.returnIdForName.Lote),\r\n text: 'ARQUIVO - TXT',\r\n },\r\n {\r\n onClickOption: () =>\r\n getAcaoLista(MovimentacaoListaEnum.returnIdForName['Lote-csv']),\r\n text: 'ARQUIVO - CSV',\r\n },\r\n ];\r\n // #region Hooks\r\n const { handleFiles, setErrors, handleDeleteFiles } =\r\n useMovimentacao(usuario);\r\n\r\n const [oldFilterParams, setOldFilterParams] = useState(\r\n oldFilterExtendsParams\r\n );\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [listaAction, setListaAction] = useState({\r\n listas: [],\r\n tipoAcao: '',\r\n });\r\n\r\n const [relatoriosLoading, setRelatoriosLoading] = useState({\r\n resumido: false,\r\n detalhado: false,\r\n });\r\n const [reportsItems, setReportItems] = useState([]);\r\n const [isCheckedAllPages, setIsCheckedAllPages] = useState(false);\r\n\r\n const reportExtendsParams = {\r\n is_administrator: usuario.role === 'Adm',\r\n is_detailed: true,\r\n list_ids: [],\r\n movement_list_filter: null,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n };\r\n const paginationRequest = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paginationParams.pageNumber - 1;\r\n draft.pageSize = paginationParams.pageSize;\r\n });\r\n\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const [reportParams, setReportParams] = useState(reportExtendsParams);\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n const boolPorTexto = {\r\n Sim: true,\r\n Não: false,\r\n };\r\n\r\n const contractorOrAdm =\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante;\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n draft.movement_list_filter.list_name =\r\n inputValue === '' ? null : inputValue;\r\n draft.movement_list_filter.beneficiary_name_or_number_card =\r\n data.nomeBeneficiarioCartao ? data.nomeBeneficiarioCartao : null;\r\n\r\n draft.movement_list_filter.type_list =\r\n data.tipo === 'Selecione o tipo'\r\n ? null\r\n : TipoListaEnum.returnId[data.tipo];\r\n\r\n draft.movement_list_filter.type_action =\r\n data.movimentacao === 'Selecione a movimentação'\r\n ? null\r\n : MovimentacaoListaEnum.returnIdForNameFormatted[data.movimentacao];\r\n\r\n draft.movement_list_filter.contractor_code = data.codigoContratante\r\n ? data.codigoContratante\r\n : contractorOrAdm;\r\n\r\n draft.movement_list_filter.modality_code =\r\n data.modalidade === 'Selecione a modalidade' ? null : data.modalidade;\r\n\r\n draft.movement_list_filter.term_code =\r\n data.termo === 'Selecione o termo' ? null : data.termo;\r\n\r\n draft.movement_list_filter.expired =\r\n data.vencida === 'Todas' ? false : boolPorTexto[data.vencida];\r\n\r\n draft.movement_list_filter.r_n412 =\r\n data.rn412 === 'Todas' ? false : boolPorTexto[data.rn412];\r\n draft.movement_list_filter.file_name_movement =\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? data.nomeArquivoMovimentacao\r\n : null;\r\n\r\n draft.movement_list_filter.start_created_date = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n\r\n draft.movement_list_filter.end_created_date = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n\r\n draft.movement_list_filter.start_update_date = data.dataAtualizacaoDe\r\n ? format(data.dataAtualizacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n\r\n draft.movement_list_filter.end_update_date = data.dataAtualizacaoAte\r\n ? format(data.dataAtualizacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n return params;\r\n }\r\n function handleCheckBoxAllPagesReport() {\r\n setReportItems([]);\r\n setIsCheckedAllPages(!isCheckedAllPages);\r\n }\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n setSearchBoxActive(true);\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleModalidadesTermos() {\r\n if (isContratante(usuario.role))\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: oldFilterParams.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n // 'enter' was pressed\r\n if (status.length >= 1) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n setPaginationParams(paginationTabParams);\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n const totalStatus = [13, 9, 16, 12, 11, 7, 2, 10, 14, 4, 5];\r\n\r\n if (e.target.value === '') {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = totalStatus;\r\n draft.movement_list_filter.list_name = null;\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n setSearchBoxActive(true);\r\n return dispatch(ListaActions.postSearchListRequest(newFilterParams));\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.list_name = e.target.value;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n setCancelFilterExtendsOpen(true);\r\n setSearchBoxActive(true);\r\n setFilterParams(newFilterParams);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n if (e.keyCode === 13) {\r\n if (status.length < 1) {\r\n const params = {\r\n ...paginationRequest,\r\n ...filterParams,\r\n };\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } = getListasRedux.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(paramsPag, tipoStatus) {\r\n const newPaginationParams = produce(paramsPag, (draft) => {\r\n draft.pageNumber = paramsPag.pageNumber - 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n\r\n if (status.length < 1) {\r\n const params = {\r\n ...filterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n function handleGetModalidadesByContratante(e, codigoContratante) {\r\n e.stopPropagation();\r\n if (e.keyCode === 13) e.preventDefault();\r\n\r\n if (\r\n codigoContratante &&\r\n oldFilterParams.codigoContratante !== codigoContratante\r\n ) {\r\n const newFilterParams = produce(oldFilterParams, (draft) => {\r\n draft.codigoContratante = codigoContratante;\r\n });\r\n\r\n setOldFilterParams(newFilterParams);\r\n if (isAdmin(usuario.role))\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: newFilterParams.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }\r\n\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n\r\n function handleConfirmAction(listas, tipoAcao, hasFake) {\r\n setListaAction({\r\n listas,\r\n tipoAcao,\r\n });\r\n\r\n const qtdListas = Array.isArray(listas) ? listas.length : 1;\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n\r\n function setAcaoLista(listas, tipoAcao) {\r\n return Array.isArray(listas)\r\n ? handleAcaoListas(listas, tipoAcao)\r\n : handleAcaoListaById(listas, tipoAcao);\r\n }\r\n\r\n function handleAcaoListas(listas, tipoAcao) {\r\n const TIPO_INATIVOS = 'Inativos';\r\n\r\n const listasPermitidas = listas.filter(\r\n (lista) =>\r\n lista.idStatusLista === 10 && lista.dcTipoAcao !== TIPO_INATIVOS\r\n );\r\n\r\n if (listasPermitidas.length > 0) {\r\n const params = listasPermitidas.map((l) => {\r\n return { idLista: l.idLista };\r\n });\r\n\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n }\r\n\r\n function handleAcaoListaById(listas, tipoAcao) {\r\n const params = [\r\n {\r\n idLista: listas,\r\n },\r\n ];\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n dispatch(actionLista);\r\n }\r\n\r\n function setListaActionToDispatch(action, params) {\r\n const actions = {\r\n PendentedeProcessamento: ListaActions.patchListaEnvioRPARequest(\r\n params,\r\n true\r\n ),\r\n Cancelar: ListaActions.patchListaEnvioRPARequest(params, false),\r\n };\r\n return actions[action];\r\n }\r\n\r\n function getListas() {\r\n const params = {\r\n ...paginationParams,\r\n nomeGrupoContratante: isContratanteNestle(usuario)\r\n ? usuario.GrupoContratante\r\n : null,\r\n };\r\n\r\n dispatch(\r\n ListaActions.getListasRequest(params, StatusListaAPIEnum.returnNameForTab)\r\n );\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchListaEnvioRPA.success) {\r\n dispatch(ListaActions.patchListaEnvioRPARenew());\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n // #region Funções para Acao de Lista\r\n function toggleModalAcaoLista() {\r\n setIsAcaoOpen(!isAcaoOpen);\r\n }\r\n\r\n const toogleModalFileLoading = useCallback(() => {\r\n setOpenFileLoading(!openFileLoading);\r\n }, [openFileLoading]);\r\n\r\n function toogleModalImportar() {\r\n setOpenImportarLote(!openImportarLote);\r\n }\r\n\r\n const handleModalCancelAction = useCallback(\r\n (newFile) => {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message:\r\n 'Ao cancelar a importação de listas você perderá os dados não salvos. Deseja continuar?',\r\n textHeader: 'cancelar',\r\n onClickOk: () => {\r\n if (MovimentacaoListaEnum.returnIdForName['Lote-csv'] === acaoAtual) {\r\n handleDeleteFiles(newFile);\r\n dispatch(ListaActions.deleteListaCsv(postImportarLote.files));\r\n } else {\r\n handleDeleteFiles(newFile);\r\n if (newFile.length === postImportarLote.files.length) {\r\n dispatch(ListaActions.importarLoteLogErrorRenew());\r\n }\r\n }\r\n },\r\n });\r\n },\r\n [handleDeleteFiles, openModalCancelAction.warning]\r\n );\r\n\r\n const getAcaoLista = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: () => {\r\n toggleModalAcaoLista();\r\n toogleModalImportar();\r\n },\r\n };\r\n setAcaoAtual(acao);\r\n return acoes[acao]();\r\n };\r\n\r\n // #region relatórios download\r\n\r\n function handleDropdownItemClick(item) {\r\n let tipoRelatorio;\r\n\r\n if (reportsItems.length === 0 && !isCheckedAllPages) {\r\n return toast.error(\r\n \r\n Nenhuma lista selecionada para geração do relatório\r\n \r\n );\r\n }\r\n if (item.includes('resumido')) {\r\n const filter = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = produce(reportParams, (draft) => {\r\n draft.list_ids = isCheckedAllPages\r\n ? []\r\n : reportsItems.map((l) => l.idLista);\r\n draft.is_detailed = false;\r\n draft.movement_list_filter = isCheckedAllPages\r\n ? filter.movement_list_filter\r\n : null;\r\n });\r\n\r\n dispatch(\r\n ListaActions.postRelatorioResumidoNovoRequest(params, 'resumido')\r\n );\r\n setIsCheckedAllPages(false);\r\n tipoRelatorio = 'resumido';\r\n } else if (item.includes('detalhado')) {\r\n const filter = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = produce(reportParams, (draft) => {\r\n draft.list_ids = isCheckedAllPages\r\n ? []\r\n : reportsItems.map((l) => l.idLista);\r\n draft.is_detailed = true;\r\n draft.movement_list_filter = isCheckedAllPages\r\n ? filter.movement_list_filter\r\n : null;\r\n });\r\n\r\n dispatch(\r\n ListaActions.postRelatorioDetalhadoNovoRequest(params, 'detalhado')\r\n );\r\n setIsCheckedAllPages(false);\r\n tipoRelatorio = 'detalhado';\r\n }\r\n\r\n const newLoading = produce(relatoriosLoading, (draft) => {\r\n draft[tipoRelatorio] = true;\r\n });\r\n\r\n setRelatoriosLoading(newLoading);\r\n }\r\n\r\n function downloadFileOriginLot(fileName) {\r\n dispatch(ListaActions.getDownloadArquivoLoteOriginal(fileName));\r\n }\r\n\r\n function downloadFile(base64, filename) {\r\n const temp = `data:application/vnd.ms-excel;base64,${encodeURIComponent(\r\n base64\r\n )}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n // #endregion\r\n useEffect(() => {\r\n if (!getArquivoOriginalLote.loading && getArquivoOriginalLote.success) {\r\n if (getArquivoOriginalLote.response.fileContents !== '') {\r\n const extension = {\r\n 'text/plain': 'txt',\r\n 'text/csv': 'csv',\r\n };\r\n\r\n fileDownload(\r\n getArquivoOriginalLote.response.fileContents,\r\n getArquivoOriginalLote.response.fileDownloadName,\r\n extension[getArquivoOriginalLote.response.contentType]\r\n );\r\n }\r\n }\r\n }, [getArquivoOriginalLote.loading, getArquivoOriginalLote.response]);\r\n\r\n useEffect(() => {\r\n if (!getRelatorioLista.loading && getRelatorioLista.success) {\r\n if (getRelatorioLista.response.fileContents !== '') {\r\n downloadFile(\r\n getRelatorioLista.response.fileContents,\r\n getRelatorioLista.response.fileDownloadName\r\n );\r\n }\r\n }\r\n\r\n if (!getRelatorioLista.loading) {\r\n setRelatoriosLoading({ resumido: false, detalhado: false });\r\n }\r\n }, [getRelatorioLista.loading, getRelatorioLista.response]);\r\n\r\n useEffect(() => {\r\n handleModalidadesTermos();\r\n batch(() => {\r\n dispatch(ListaActions.importarLoteRenew());\r\n dispatch(ListaActions.deleteListaRenew());\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (deleteLista.success) {\r\n if (postImportarLote.files.length > 0) {\r\n handleModalCancelAction();\r\n toogleModalFileLoading();\r\n } else {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }\r\n }\r\n dispatch(ListaActions.deleteListaRenew());\r\n }, [deleteLista.success]);\r\n\r\n useEffect(() => {\r\n if (patchListaEnvioRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message:\r\n listaAction.tipoAcao === 'Cancelar'\r\n ? 'Cancelamento de envio foi efetuado.'\r\n : 'Envio para o RPA com sucesso.',\r\n });\r\n }\r\n }, [patchListaEnvioRPA.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isContratanteNestle(usuario) ? (\r\n \r\n Importar Lote\r\n \r\n ) : (\r\n \r\n getAcaoLista(\r\n !isContratanteNestle(usuario)\r\n ? MovimentacaoListaEnum.returnIdForName.Lote\r\n : MovimentacaoListaEnum.returnIdForName.Nestle\r\n )\r\n }\r\n >\r\n \r\n importar lote\r\n \r\n )}\r\n\r\n {!isContratanteNestle(usuario) && (\r\n \r\n \r\n nova lista\r\n \r\n )}\r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n ]}\r\n />\r\n \r\n \r\n\r\n {status.length < 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {status.length < 1 && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n handleFiles(acaoAtual, newFiles, () => {\r\n toogleModalImportar();\r\n toogleModalFileLoading();\r\n })\r\n }\r\n isSuccess={\r\n postImportarLote.success || postImportarLote.isPartialSuccess\r\n }\r\n handleCancel={(file) => {\r\n toogleModalFileLoading();\r\n handleModalCancelAction(file);\r\n }}\r\n setAfterLoadingCallback={\r\n isContratanteNestle(usuario)\r\n ? () => {\r\n toogleModalFileLoading();\r\n getListas();\r\n }\r\n : (_) => _\r\n }\r\n loading={postImportarLote.loading}\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n isOpen={getRelatorioLista.loading}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }}\r\n isOpen={openModalCancelAction.warning}\r\n footer={\r\n {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }}\r\n onClickOk={openModalCancelAction.onClickOk}\r\n isLoading={deleteLista.loading}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, isLoading, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ConsultaListas;\r\n","import { useState } from 'react';\r\nimport produce from 'immer';\r\n\r\nconst useModal = (initialState, message, callback) => {\r\n const modalParams = {\r\n isOpen: initialState,\r\n message,\r\n onClick: callback,\r\n };\r\n\r\n const [modal, setModal] = useState(modalParams);\r\n\r\n const toogleModal = (callback) => {\r\n const newModalParams = produce(modal, (draft) => {\r\n draft.isOpen = !draft.isOpen;\r\n\r\n return draft;\r\n });\r\n\r\n setModal(newModalParams);\r\n callback();\r\n };\r\n\r\n const setParams = (initialState, message, callback) => {\r\n const newModalParams = produce(modal, (draft) => {\r\n draft.isOpen = initialState;\r\n draft.message = message;\r\n draft.onClick = callback;\r\n\r\n return draft;\r\n });\r\n\r\n setModal(newModalParams);\r\n };\r\n\r\n return { modal, toogleModal, setParams };\r\n};\r\n\r\nexport default useModal;\r\n","import React, { useState, useEffect } from 'react';\r\nimport produce from 'immer';\r\n\r\nconst useQueue = (queueLength) => {\r\n const [queue, setQueue] = useState(queueLength);\r\n const [hasFinish, setHasFinish] = useState(false);\r\n\r\n const add = (item) => {\r\n const newQueue = produce(queue, (draft) => {\r\n if (!draft.find((q) => q.id === item.id)) draft.push(item);\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n const update = (item) => {\r\n const newQueue = produce(queue, (draft) => {\r\n const updateQueue = draft.find((q) => q.id === item.id);\r\n\r\n updateQueue.trigger = item.trigger;\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n\r\n const reset = () => {\r\n setQueue([]);\r\n };\r\n const remove = (id) => {\r\n const newQueue = produce(queue, (draft) => {\r\n draft = draft.filter((q) => q.id !== id);\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n\r\n useEffect(() => {\r\n if (queue.length > 0 && queue.every((q) => !!q.trigger)) {\r\n setHasFinish(true);\r\n reset();\r\n }\r\n }, [queue]);\r\n\r\n return [add, remove, hasFinish, setHasFinish, update, reset];\r\n};\r\n\r\nexport default useQueue;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat\r\n padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Container } from './styles';\r\n\r\nconst Input = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleClick = (a) => a,\r\n onBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n className,\r\n}) => (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n onBlur(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n className={className}\r\n />\r\n);\r\n\r\nexport default Input;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { Input } from '@rocketseat/unform';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled(Input)`\r\npadding: 10px;\r\n\r\n${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 682px;`};\r\n }\r\n }\r\n\r\n${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 82px;`};\r\n }\r\n }\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.borderGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.bgWhite} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n borderradius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.dropdownColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n${({ letterSpacing }) =>\r\n letterSpacing\r\n ? css`\r\n letter-spacing: ${letterSpacing};\r\n `\r\n : `letter-spacing: 0.52px`};\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst TextArea = ({\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n letterSpacing,\r\n width,\r\n height,\r\n name,\r\n value,\r\n handleChange = (a) => a,\r\n}) => (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n letterSpacing={letterSpacing}\r\n width={width}\r\n height={height}\r\n name={name}\r\n value={value}\r\n multiline\r\n />\r\n);\r\n\r\nexport default TextArea;\r\n","import styled, { css } from 'styled-components'\r\n\r\nimport theme from '../../../styles/theme'\r\n\r\nexport const Container = styled.button`\r\ncolor: ${theme.grayDefault};\r\nborder: none;\r\nbackground: none;\r\n\r\nsvg {\r\n cursor: pointer;\r\n}\r\n`","import React from 'react';\r\n\r\nimport { BsTrash } from 'react-icons/bs';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ButtonRemove = ({ onClick }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonRemove;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n padding-left: 10px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n color: #808080;\r\n\r\n div {\r\n justify-content: flex-end;\r\n }\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid #c1bbbb`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n cursor: not-allowed;\r\n `\r\n : null};\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1\r\n ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const HiddenInput = styled.input`\r\n display: none;\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n width: 31px;\r\n border-left: 1px solid #c1bbbb;\r\n border-top: 1px solid #c1bbbb;\r\n height: 29px;\r\n align-items: center;\r\n text-align: center;\r\n padding-top: 3px;\r\n background-color: #fff;\r\n border-radius: 0px 5px 5px 0px;\r\n border-bottom: 1px solid #c1bbbb;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n align-items: center;\r\n`;\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport { uniqueId } from 'lodash';\r\n\r\nimport { MdFileUpload } from 'react-icons/md';\r\nimport { toast } from 'react-toastify';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport { getBase64 } from '../../../utils/array';\r\n\r\nimport { WarningToast } from '../Toast';\r\n\r\nimport { Container, IconContainer, HiddenInput } from './styles';\r\n\r\nfunction UploadBox({\r\n file,\r\n maxQuantityFiles,\r\n maxSizeFiles,\r\n validExtension,\r\n applyValidation,\r\n invalidCallback = () => {},\r\n setFiles,\r\n loading,\r\n}) {\r\n const [data, setData] = useState([]);\r\n const [uploadError, setUploadError] = useState(false);\r\n\r\n const fileInputRef = useRef(null);\r\n\r\n function openFileDialog() {\r\n fileInputRef.current.click();\r\n }\r\n\r\n function onFilesAdded(e) {\r\n setUploadError(false);\r\n setData([]);\r\n\r\n const { files } = e.target;\r\n handleFiles(files);\r\n }\r\n\r\n async function handleFiles(fileArray) {\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n let newFiles = await Promise.all(\r\n Object.values(fileArray).map(async (newFile) => {\r\n const base64 = await getBase64(newFile);\r\n return {\r\n newFile,\r\n name: newFile.name,\r\n readableSize: newFile.size,\r\n preview: URL.createObjectURL(newFile),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n base64,\r\n idFile: uuidv4(),\r\n idLista: file.idLista,\r\n TipoMovimentacao: null,\r\n codigoContratante: null,\r\n descricao: '',\r\n };\r\n })\r\n );\r\n\r\n if (applyValidation) {\r\n newFiles = newFiles.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (item.readableSize > maxSizeFiles) errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (newFiles.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n newFiles.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, name: item.name });\r\n });\r\n\r\n invalidCallback({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n }\r\n if (newFiles.length > 0) setFiles(newFiles);\r\n }\r\n\r\n function dragOver(e) {\r\n e.preventDefault();\r\n }\r\n function dragEnter(e) {\r\n e.preventDefault();\r\n }\r\n function dragLeave(e) {\r\n e.preventDefault();\r\n }\r\n function fileDrop(e) {\r\n e.preventDefault();\r\n const { files } = e.dataTransfer;\r\n\r\n if (files.length) {\r\n handleFiles(files);\r\n }\r\n }\r\n\r\n return (\r\n \r\n

{file.name}

\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UploadBox;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { BsCheckCircle } from 'react-icons/bs';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const UploadFileLoading = styled(AiOutlineLoading3Quarters)`\r\n ${({ isLoading }) =>\r\n isLoading\r\n ? css`\r\n animation: ${rotate} 1s infinite;\r\n color: ${theme.greenDefault};\r\n margin-left: 15px;\r\n `\r\n : css`\r\n display: none;\r\n `};\r\n`;\r\n\r\nexport const UploadFileWarning = styled(RiErrorWarningLine)`\r\n color: ${theme.yellowDefault};\r\n margin-left: 15px;\r\n`;\r\n\r\nexport const UploadFileSuccess = styled(BsCheckCircle)`\r\n color: ${theme.greenDefault};\r\n margin-left: 15px;\r\n`;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n WrapperFlex,\r\n Collapse,\r\n CollapseHeader,\r\n CollapseContent,\r\n} from '@unimed-fesp/components';\r\n\r\n// import {\r\n// Collapse,\r\n// CollapseHeader,\r\n// CollapseContent,\r\n// } from '../../molecules/Collapse';\r\n// TO-DO trocar por componente da lib\r\nimport Input from '../../atoms/Input';\r\n// TO-DO trocar pelo TextArea da lib\r\nimport TextArea from '../../atoms/TextArea';\r\n// TO-DO trocar por button da lib\r\nimport ButtonRemove from '../../atoms/ButtonRemove';\r\n\r\nimport UploadBox from '../../molecules/UploadBox';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport useMovimentacao from '../../../hooks/useMovimentacao';\r\n\r\nimport { MovimentacaoListaEnum } from '../../../enums';\r\n\r\nimport { UploadFileLoading } from './styles';\r\n\r\nfunction CollapseListaDetalhe({\r\n file,\r\n loading,\r\n uploadSuccess,\r\n onClickHandleCancelList,\r\n acao,\r\n handleFiles,\r\n}) {\r\n const MAX_QUANT_FILES = 1;\r\n const { setValidacao, setErrors } = useMovimentacao();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n return (\r\n \r\n \r\n \r\n {file.name}\r\n onClickHandleCancelList(file)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {acao !== MovimentacaoListaEnum.returnIdForName.Transferencia ? (\r\n \r\n \r\n {}} text=\"Arquivo\" />\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CollapseListaDetalhe;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentWarning = styled.div`\r\n font: 100 14px 'work_sans' !important;\r\n margin: 0 66px 23px 66px;\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso, ContentWarning } from './styles';\r\n\r\nfunction ModalSuccess({ isOpen, onClick, text, alert }) {\r\n let height = '345';\r\n let isModalWithWarning = false;\r\n if (alert) {\r\n isModalWithWarning = true;\r\n height = '436';\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {text}\r\n {alert}\r\n \r\n ok\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalSuccess;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch, batch } from 'react-redux';\r\nimport { Form } from '@rocketseat/unform';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { FaThumbsUp } from 'react-icons/fa';\r\nimport { IoMdCheckboxOutline } from 'react-icons/io';\r\nimport { set } from 'lodash';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n TipoListaEnum,\r\n StatusEnvioListaEnum,\r\n MovimentacaoListaEnum,\r\n} from '../../enums';\r\n\r\nimport useMovimentacao from '../../hooks/useMovimentacao';\r\nimport useModal from '../../hooks/useModal';\r\nimport useQueue from '../../hooks/useQueue';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport theme from '../../styles/theme';\r\nimport CollapseListaDetalhe from '../../components/organisms/CollapseListaDetalhe';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction DetalheListas() {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n loading,\r\n putListas,\r\n isPostArquivoImportacaoSuccess,\r\n postImportarLote,\r\n postArquivoImportacao,\r\n patchListaStatus,\r\n patchValidacaoListaTransferencia,\r\n } = useSelector((state) => state.lista);\r\n\r\n const REQ_PUT_ID = 1;\r\n const REQ_PATCH_ID = 2;\r\n\r\n const { setDescricao, setTipoEnvio, handleDeleteFiles } = useMovimentacao();\r\n const success = useModal(false, '', (_) => _);\r\n const error = useModal(false, '', (_) => _);\r\n const [\r\n addSuccess,\r\n removeSuccess,\r\n finishSuccess,\r\n setFinishSuccess,\r\n updateSuccess,\r\n resetSuccess,\r\n ] = useQueue([]);\r\n\r\n // const [\r\n // addError,\r\n // removeError,\r\n // finishError,\r\n // setFinishError,\r\n // updateError,\r\n // ] = useQueue([]);\r\n\r\n const [initialData, setInitialData] = useState();\r\n const [isOnlySave, setIsOnlySave] = useState(false);\r\n\r\n const handleInitialData = useCallback(() => {\r\n const initialDataObj = {\r\n descricao: [],\r\n };\r\n postImportarLote.files.map((files) => {\r\n set(initialDataObj.descricao, files.idLista, files.descricao);\r\n });\r\n\r\n setInitialData(initialDataObj);\r\n }, [postImportarLote.files]);\r\n\r\n function handleSubmit(data) {\r\n setDescricao(postImportarLote.files, data, () => {\r\n // addSuccess({ id: REQ_PUT_ID, trigger: putListas.success });\r\n // addError({ id: REQ_PUT_ID, trigger: putListas.isError });\r\n });\r\n }\r\n\r\n const isLoading = () => {\r\n return (\r\n putListas.loading ||\r\n postArquivoImportacao.loading ||\r\n patchListaStatus.loading\r\n );\r\n };\r\n\r\n const handleFiles = (file) => {\r\n dispatch(ListaActions.postArquivoImportacaoRequest(file));\r\n };\r\n // // #region UseEffect para lidar com sucesso\r\n // useEffect(() => {\r\n // if (putListas.success) {\r\n // updateSuccess({ id: REQ_PUT_ID, trigger: putListas.success });\r\n // // removeError(REQ_PUT_ID);\r\n // }\r\n // }, [putListas.success]);\r\n // useEffect(() => {\r\n // if (patchListaStatus.success) {\r\n // updateSuccess({ id: REQ_PATCH_ID, trigger: patchListaStatus.success });\r\n // // removeError(REQ_PATCH_ID);\r\n // }\r\n // }, [patchListaStatus.success]);\r\n // // #endregion\r\n\r\n // // #region UseEffect para lidar com error\r\n // useEffect(() => {\r\n // if (putListas.isError) {\r\n // // updateError({ id: REQ_PUT_ID, trigger: putListas.isError });\r\n // removeSuccess(REQ_PUT_ID);\r\n // setIsOnlySave(false);\r\n // // resetSuccess();\r\n // }\r\n // }, [putListas.isError]);\r\n // useEffect(() => {\r\n // if (patchListaStatus.isError) {\r\n // // updateError({ id: REQ_PATCH_ID, trigger: patchListaStatus.isError });\r\n // removeSuccess(REQ_PATCH_ID);\r\n // // resetSuccess();\r\n // }\r\n // }, [patchListaStatus.isError]);\r\n // // #endregion\r\n\r\n // useEffect(() => {\r\n // if (finishSuccess) {\r\n // success.setParams(true, 'Informações salvas com sucesso!');\r\n // setFinishSuccess(false);\r\n // }\r\n // }, [finishSuccess, dispatch]);\r\n // useEffect(() => {\r\n // if (finishError) {\r\n // error.setParams(true, 'Erro ao salvar informações!');\r\n // setFinishError(false);\r\n // }\r\n // }, [finishError, dispatch]);\r\n\r\n const renewActions = () => {\r\n batch(() => {\r\n dispatch(ListaActions.deleteListaRenew());\r\n dispatch(ListaActions.putListasRenew());\r\n dispatch(ListaActions.patchListaStatusRenew());\r\n });\r\n history.push('/novo/lista');\r\n };\r\n\r\n useEffect(() => {\r\n if (postImportarLote.files.length > 0) {\r\n handleInitialData();\r\n } else {\r\n renewActions();\r\n }\r\n }, [postImportarLote.files, handleInitialData]);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: 'importar lote',\r\n onNavigate: () => history.push('/novo/lista/importar-lote'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n {postImportarLote.files.map((file) => (\r\n \r\n ))}\r\n \r\n \r\n {TipoListaEnum.returnName[postImportarLote.tipoMovimentacao] !==\r\n TipoListaEnum.returnName.Transferencia ? (\r\n {\r\n setIsOnlySave(true);\r\n }}\r\n >\r\n salvar\r\n \r\n ) : null}\r\n \r\n {TipoListaEnum.returnName[postImportarLote.tipoMovimentacao] !==\r\n TipoListaEnum.returnName.Transferencia ? (\r\n {\r\n setTipoEnvio(\r\n StatusEnvioListaEnum.returnIdForName.Processamento,\r\n MovimentacaoListaEnum.returnIdForName[\r\n postImportarLote.tipoMovimentacao\r\n ],\r\n postImportarLote.files\r\n // () => {\r\n // addSuccess({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.success,\r\n // });\r\n // addError({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.isError,\r\n // });\r\n // }\r\n );\r\n }}\r\n >\r\n \r\n processar\r\n \r\n ) : null}\r\n {\r\n setTipoEnvio(\r\n StatusEnvioListaEnum.returnIdForName.Validacao,\r\n MovimentacaoListaEnum.returnIdForName[\r\n postImportarLote.tipoMovimentacao\r\n ],\r\n postImportarLote.files\r\n // () => {\r\n // addSuccess({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.success,\r\n // });\r\n // addError({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.isError,\r\n // });\r\n // }\r\n );\r\n }}\r\n >\r\n \r\n validar\r\n \r\n \r\n \r\n
\r\n \r\n success.toogleModal(\r\n !isOnlySave ? () => renewActions() : () => setIsOnlySave(false)\r\n )\r\n }\r\n isOpen={success.modal.isOpen}\r\n />\r\n {/* error.toogleModal(() => setIsOnlySave(false))}\r\n isOpen={error.modal.isOpen}\r\n /> */}\r\n
\r\n );\r\n}\r\n\r\nexport default DetalheListas;\r\n","import styled, { css } from 'styled-components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\nimport themes from '../../../styles/theme';\r\n\r\nexport const ButtonContainer = styled(Button).attrs((props) => ({\r\n type: props.type,\r\n}))`\r\n background-color: ${themes.grey100};\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid ${themes.grey100};\r\n opacity: 1;\r\n width: 130px;\r\n height: 70px;\r\n font-size: 14px;\r\n font-weight: 600;\r\n font-family: 'unimed_slabregular';\r\n text-align: center;\r\n color: #a1a1a1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n padding: 0 20px;\r\n\r\n &:hover {\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n }\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n ;\r\n `}\r\n\r\n ${({ active }) =>\r\n active &&\r\n css`\r\n background: #ffff 0% 0% no-repeat padding-box;\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n `}\r\n\r\n ${({ defaultActive, active }) =>\r\n defaultActive && !active\r\n ? css`\r\n background: #ffff 0% 0% no-repeat padding-box;\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n `\r\n : null}\r\n\r\n\r\n ${({ widthAuto }) =>\r\n widthAuto\r\n ? css`\r\n width: auto;\r\n `\r\n : css`\r\n width: 130px; ;\r\n `}\r\n`;\r\n\r\nexport const ActionWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: left;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css``\r\n : css`\r\n display: none;\r\n `}\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : css`\r\n max-height: 540px;\r\n `}\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : css`\r\n min-height: 540px;\r\n `}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n height: 540px;\r\n `}\r\n`;\r\n\r\nexport const ContentContainer = styled.div`\r\n display: inline-block;\r\n width: 65rem;\r\n`;\r\n","import { createContext } from 'react';\r\n\r\nconst ActionContext = createContext();\r\n\r\nexport default ActionContext;\r\n","import React, {\r\n cloneElement,\r\n isValidElement,\r\n useState,\r\n useContext,\r\n useMemo,\r\n useEffect,\r\n} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContentContainer,\r\n ButtonContainer,\r\n ActionWrapper,\r\n ContentWrapper,\r\n} from './styles';\r\n\r\nimport ActionContext from '../../../context/TabContext';\r\n\r\nconst TabButton = ({\r\n name,\r\n text,\r\n color,\r\n active,\r\n children,\r\n onClick,\r\n widthAuto,\r\n display,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst TabActionWrapper = ({ children }) => {\r\n const { nameButton } = useContext(ActionContext);\r\n\r\n function isArray(obj) {\r\n return !!obj && obj.length > 0 ? obj : Array(obj);\r\n }\r\n\r\n function setActive(child) {\r\n if (!nameButton) return child;\r\n if (child.props.name === nameButton) {\r\n return cloneElement(child, {\r\n active: true,\r\n });\r\n }\r\n return cloneElement(child, {\r\n active: false,\r\n });\r\n }\r\n\r\n function handleActiveEvent() {\r\n return isArray(children).map((child) => {\r\n if (isValidElement(child)) {\r\n return setActive(child);\r\n }\r\n });\r\n }\r\n\r\n return {handleActiveEvent()};\r\n};\r\n\r\nconst TabContentWrapper = ({\r\n children,\r\n contentFor,\r\n active,\r\n onClick,\r\n height,\r\n maxHeight,\r\n}) => {\r\n const { nameButton } = useContext(ActionContext);\r\n const [display, setDisplay] = useState(false);\r\n\r\n function displayTabContent() {\r\n if (nameButton === contentFor) return setDisplay(true);\r\n return setDisplay(false);\r\n }\r\n\r\n useEffect(() => {\r\n active && !nameButton ? setDisplay(true) : displayTabContent();\r\n }, [nameButton, display, active]);\r\n\r\n return display ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst TabContainer = ({ children }) => {\r\n const [nameButton, setName] = useState('');\r\n\r\n function handleActive(e) {\r\n const name =\r\n e.target.name !== undefined ? e.target.name : e.target.parentElement.name;\r\n if (name) {\r\n setName(name);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport { TabButton, TabActionWrapper, TabContentWrapper, TabContainer };\r\n// name, text, color, active\r\n\r\nTabButton.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n color: PropTypes.string,\r\n active: PropTypes.bool,\r\n};\r\n\r\nTabButton.defaultProps = {\r\n color: theme.grayDefault,\r\n active: false,\r\n};\r\n\r\nTabActionWrapper.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\nTabContentWrapper.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n contentFor: PropTypes.string.isRequired,\r\n};\r\nTabContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n align-self: center;\r\n text-align: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Message = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { VscError } from 'react-icons/vsc';\r\nimport {\r\n ModalContent,\r\n ModalHeader,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n} from '../../molecules/Modal';\r\n\r\nimport { Container, ContentText, Message } from './styles';\r\n\r\nfunction ModalError({ isOpen, onClick, text }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {text} \r\n \r\n ok\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalError;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n text-align: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: normal normal normal 16px/20px Calibri;\r\n color: #60656c;\r\n margin-top: 25px;\r\n margin-bottom: 31px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 16px Calibri;\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 16px Calibri;\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n margin-top: 0px !important;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 121px;\r\n height: 40px;\r\n display block;\r\n`;\r\n","import { Button, Modal } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n ModalHeader,\r\n} from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalCancelAction({\r\n isOpen,\r\n onClick,\r\n onClickOk,\r\n text,\r\n textHeader,\r\n isLoading,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst Footer = ({ onClick, isLoading, onClickOk }) => (\r\n \r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n);\r\n\r\nexport default ModalCancelAction;\r\n","import { createContext } from 'react';\r\n\r\nconst DropDownContext = createContext();\r\n\r\nexport default DropDownContext;\r\n","import { useEffect } from 'react';\r\n\r\nconst useOutsideClick = (ref, callback) => {\r\n const handleClick = (e) => {\r\n if (ref.current && !ref.current.contains(e.target)) {\r\n callback();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClick);\r\n\r\n return () => {\r\n document.removeEventListener('click', handleClick);\r\n };\r\n });\r\n};\r\n\r\nexport default useOutsideClick;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.ul`\r\n overflow: auto;\r\n list-style: none;\r\n\r\n ${({ invisibleScroll }) =>\r\n invisibleScroll\r\n ? css`\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n `\r\n : ``};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : ``};\r\n\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : `max-height: 200px;`};\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border} solid ${theme.greenDefault};\r\n `\r\n : `border: 2px solid ${theme.greenDefault}`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.dropdownColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ letterSpacing }) =>\r\n letterSpacing\r\n ? css`\r\n letter-spacing: ${letterSpacing};\r\n `\r\n : `letter-spacing: 0.52px`};\r\n`;\r\n\r\nexport const SelectOption = styled.li`\r\n list-style-position: inside;\r\n overflow-wrap: break-word;\r\n text-overflow: ellipsis;\r\n padding: 10px;\r\n cursor: pointer;\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : ``};\r\n\r\n &:hover,\r\n &:focus {\r\n color: ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n font-weight: bold;\r\n }\r\n\r\n &:active {\r\n border: 1px solid ${theme.greenDefault};\r\n background-color: ${theme.greenDefault};\r\n color: ${theme.white};\r\n border-radius: 0px;\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n`;\r\n\r\nexport const DropdownHeader = styled.div`\r\n &:active:not([disabled='disabled']) {\r\n ${({ cancelActive }) =>\r\n cancelActive\r\n ? css`\r\n border: 2px solid ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n color: ${theme.greenDefault}; ;\r\n `\r\n : ``};\r\n }\r\n\r\n background: ${theme.whiteBackground} 0% 0% no-repeat padding-box;\r\n color: #a1a1a1;\r\n\r\n font-size: 15px;\r\n font-family: 'Calibri';\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n text-align: left;\r\n\r\n min-height: 2.875rem;\r\n padding: 6px;\r\n align-content: baseline;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n /* svg {\r\n margin-left: 10px;\r\n } */\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ``};\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : css`\r\n border: 1px solid ${theme.grayDefault};\r\n `};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : css`\r\n color: ${theme.grey};\r\n `};\r\n\r\n ${({ disable }) =>\r\n !disable\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : css`\r\n &:active:not([disabled='disabled']) {\r\n background: ${theme.greyDisable} 0% 0% no-repeat padding-box;\r\n border: 1px solid ${theme.grayDefault};\r\n color: ${theme.grayDefault};\r\n }\r\n cursor: not-allowed;\r\n `};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 2.875rem;`};\r\n\r\n ${({ whiteSpace }) =>\r\n whiteSpace\r\n ? css`\r\n white-space: ${whiteSpace};\r\n `\r\n : ``};\r\n\r\n ${({ active }) =>\r\n active\r\n ? css`\r\n border: 2px solid ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n`;\r\n\r\nexport const OptionContainer = styled.div`\r\n min-height: 1.875rem;\r\n padding: 0;\r\n margin: 0;\r\n font-size: 1.3rem;\r\n font-weight: 500;\r\n position: absolute;\r\n z-index: 10;\r\n margin-top: 3px;\r\n\r\n &:first-child {\r\n padding-top: 0.8em;\r\n }\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 1.875rem`};\r\n\r\n ${({ minWidth }) =>\r\n minWidth\r\n ? css`\r\n min-width: ${minWidth};\r\n `\r\n : ''}\r\n`;\r\nexport const DropDownWrapper = styled.div`\r\n min-height: 2.875rem;\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin};\r\n `\r\n : ``};\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n min-height: ${height};\r\n height: ${height};\r\n `\r\n : `height: 1.875rem;`};\r\n\r\n ${({ backgroundColor }) =>\r\n backgroundColor\r\n ? css`\r\n background-color: ${backgroundColor};\r\n `\r\n : `background-color: ${theme.white}`};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ``};\r\n\r\n ${({ disable }) =>\r\n !disable\r\n ? css``\r\n : css`\r\n cursor: not-allowed;\r\n background: ${theme.greyDisable} 0% 0% no-repeat padding-box;\r\n `};\r\n`;\r\n","import React, { useState, useContext, useRef, useEffect } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MdKeyboardArrowDown } from 'react-icons/md';\r\nimport DropDownContext from '../../../context/DropDownContext';\r\n\r\nimport useOutsideClick from '../../../utils/useOutsideClick';\r\n\r\nimport {\r\n Container,\r\n DropDownWrapper,\r\n SelectOption,\r\n OptionContainer,\r\n DropdownHeader,\r\n} from './styles';\r\n\r\nconst Dropdown = ({\r\n text,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n letterSpacing,\r\n children,\r\n onClick,\r\n maxHeight,\r\n width,\r\n invisibleScroll,\r\n}) => {\r\n const { isOpen } = useContext(DropDownContext);\r\n return isOpen ? (\r\n \r\n {children}\r\n \r\n ) : null;\r\n};\r\n\r\nconst Option = ({ name, children, onClick, text, borderRadius, color }) => {\r\n return (\r\n \r\n {' '}\r\n {children} {text}{' '}\r\n \r\n );\r\n};\r\n\r\nconst DropDownListContainer = ({\r\n children,\r\n width,\r\n borderRadius,\r\n display,\r\n minWidth,\r\n}) => {\r\n const { isOpen } = useContext(DropDownContext);\r\n return (\r\n \r\n {children}{' '}\r\n \r\n );\r\n};\r\nconst DropDownHeader = ({\r\n children,\r\n name,\r\n width,\r\n borderRadius,\r\n disable,\r\n color,\r\n whiteSpace,\r\n minHeight,\r\n height,\r\n cancelActive,\r\n className,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField } = useField(name);\r\n const { isOpen } = useContext(DropDownContext);\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'textContent',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\nconst DropDownContainer = ({\r\n children,\r\n disable,\r\n backgroundColor,\r\n width,\r\n borderRadius,\r\n display,\r\n marginRight,\r\n marginLeft,\r\n marginTop,\r\n border,\r\n margin,\r\n className,\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const ref = useRef();\r\n\r\n const toggling = (e) => {\r\n if (!disable) {\r\n if (e.target) setIsOpen(!isOpen);\r\n }\r\n };\r\n useOutsideClick(ref, () => setIsOpen(false));\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport {\r\n Dropdown,\r\n Option,\r\n DropDownListContainer,\r\n DropDownHeader,\r\n DropDownContainer,\r\n};\r\n// text,background,border,borderRadius,opacity,color,font,textAlign,letterSpacing,children,onClick,\r\nDropdown.propTypes = {\r\n text: PropTypes.string,\r\n background: PropTypes.string,\r\n border: PropTypes.bool,\r\n borderRadius: PropTypes.bool,\r\n opacity: PropTypes.bool,\r\n color: PropTypes.bool,\r\n font: PropTypes.bool,\r\n textAlign: PropTypes.bool,\r\n letterSpacing: PropTypes.bool,\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nDropdown.defaultProps = {\r\n text: '',\r\n background: null,\r\n border: null,\r\n borderRadius: null,\r\n opacity: null,\r\n color: null,\r\n font: null,\r\n textAlign: null,\r\n letterSpacing: null,\r\n onClick: (a) => a,\r\n};\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n};\r\n\r\nOption.defaultProps = {\r\n children: null,\r\n};\r\n\r\nDropDownListContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nDropDownHeader.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\nDropDownContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n","import React from 'react';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Dropdown,\r\n DropDownContainer,\r\n DropDownHeader,\r\n DropDownListContainer,\r\n Option,\r\n} from '../../molecules/Dropdown';\r\n\r\nconst DropDown = ({\r\n disable,\r\n name,\r\n headerText,\r\n maxHeight,\r\n options,\r\n onClick = (_) => _,\r\n overrideClick = false,\r\n params,\r\n setParams,\r\n className,\r\n width,\r\n height,\r\n minHeight,\r\n}) => {\r\n const handleClick = (e) => {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name || e.target.getAttribute('name')] =\r\n e.target.dataset.text;\r\n\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n };\r\n\r\n return (\r\n \r\n \r\n {headerText}\r\n \r\n \r\n \r\n {Object.values(options).map((option, index) => (\r\n {\r\n onClick(e);\r\n }\r\n : (e) => handleClick(e)\r\n }\r\n text={option}\r\n />\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DropDown;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n// TO-DO trocar por componente da lib\r\nimport Input from '../../atoms/Input';\r\n\r\nimport DropDown from '../DropDown';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ''}\r\n`;\r\nexport const SearchIconContainer = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 40px;\r\n width: 49px;\r\n border: 1px solid ${theme.grayDefault};\r\n border-bottom-right-radius: 5px;\r\n border-top-right-radius: 5px;\r\n\r\n cursor: pointer;\r\n`;\r\n\r\nexport const InputSearch = styled(Input).attrs((props) => ({\r\n value: props.value,\r\n handleChange: props.onChange,\r\n onBlur: props.onBlur,\r\n handleInputKeyDown: props.handleInputKeyDown,\r\n}))`\r\n border-bottom-left-radius: 0;\r\n border-top-left-radius: 0;\r\n border-bottom-right-radius: 0;\r\n border-top-right-radius: 0;\r\n`;\r\nexport const DropDownSearch = styled(DropDown).attrs((props) => ({\r\n height: props.height,\r\n minHeight: props.height,\r\n width: props.width,\r\n name: props.name,\r\n onClick: props.onClick,\r\n}))`\r\n div {\r\n border-bottom-right-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n height: ${(props) => props.height && `${props.height}px`};\r\n min-height: ${(props) => props.height && `${props.height}px`};\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n`;\r\n","import React, { useState } from 'react';\r\nimport produce from 'immer';\r\nimport { MdSearch } from 'react-icons/md';\r\n\r\nimport {\r\n Container,\r\n InputSearch,\r\n DropDownSearch,\r\n SearchIconContainer,\r\n} from './styles';\r\n\r\nfunction DropDownSearchBox({\r\n dropdownName,\r\n inputName,\r\n params,\r\n setParams,\r\n options,\r\n inputWidth,\r\n width,\r\n placeholder,\r\n marginRight,\r\n handleInputKeyDown = (_) => _,\r\n onClick = (_) => _,\r\n}) {\r\n function handleChange(e) {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n }\r\n\r\n const handleClick = (e) => {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name || e.target.getAttribute('name')] =\r\n e.target.dataset.text;\r\n draft[inputName] = '';\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.keyCode === 13) e.preventDefault();\r\n handleInputKeyDown(e);\r\n }}\r\n onChange={(e) => {\r\n handleChange(e);\r\n }}\r\n placeholder={placeholder}\r\n width={inputWidth}\r\n height=\"40\"\r\n />\r\n onClick(e)}>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DropDownSearchBox;\r\n","import React, { Component } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\nimport css from 'dom-css';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst trackStyle = {\r\n position: 'absolute',\r\n transition: 'opacity 200ms ease 0s',\r\n right: 2,\r\n bottom: 2,\r\n zIndex: 1,\r\n // borderRadius: 3\r\n // backgroundColor: theme.yellowTranslucid\r\n};\r\n\r\nconst CustomScrollBars = (props) => {\r\n const thumbStyle = () => ({\r\n cursor: 'pointer',\r\n borderRadius: 3,\r\n backgroundColor: theme.grey,\r\n overflowX: 'auto',\r\n overflowY: 'hidden',\r\n height: props.height,\r\n });\r\n\r\n const handleUpdate = (values) => {\r\n const { scrollTop, scrollHeight, clientHeight } = values;\r\n\r\n const bottomScrollTop = scrollHeight - clientHeight;\r\n };\r\n\r\n return (\r\n props.getRef && props.getRef(e)}\r\n onUpdate={handleUpdate}\r\n renderTrackHorizontal={({ style, ...props }) => (\r\n \r\n )}\r\n renderTrackVertical={({ style, ...props }) => (\r\n \r\n )}\r\n renderThumbHorizontal={({ style, ...props }) => (\r\n \r\n )}\r\n renderThumbVertical={({ style, ...props }) => (\r\n \r\n )}\r\n renderView={({ style, ...props }) => (\r\n
\r\n )}\r\n {...props}\r\n >\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default CustomScrollBars;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 600 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: ${theme.colorGray};\r\n background-color: ${theme.bgWhite};\r\n width: 100%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n`;\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n color: ${theme.colorGray};\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 90px;\r\n background-color: ${theme.grey100};\r\n margin-bottom: 16px;\r\n`;\r\nexport const EmptyRow = styled.div`\r\n margin: 10px 0px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 40px;\r\n\r\n background-color: ${theme.grey100};\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n background: linear-gradient(-90deg, #e5e5e5 0%, #f8f8f8 50%, #f8f8f8 100%);\r\n background-size: 350% 400%;\r\n animation: pulse 1.2s ease-in-out infinite;\r\n\r\n height: ${({ height }) => height || `100%`};\r\n width: ${({ width }) => width || `100%`};\r\n\r\n ${({ marginSides }) =>\r\n marginSides &&\r\n css`\r\n margin-left: ${marginSides}px;\r\n margin-right: ${marginSides}px;\r\n `};\r\n ${({ marginUpDown }) =>\r\n marginUpDown &&\r\n css`\r\n margin-top: ${marginUpDown}px;\r\n margin-bottom: ${marginUpDown}px;\r\n `};\r\n ${({ marginBottom }) =>\r\n marginBottom &&\r\n css`\r\n margin-bottom: ${marginBottom}px;\r\n `};\r\n\r\n @keyframes pulse {\r\n 0% {\r\n background-position: 0% 0%;\r\n }\r\n 100% {\r\n background-position: -135% 0%;\r\n }\r\n }\r\n`;\r\n\r\nexport const LoadingContent = styled.div``;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction Skeleton({ marginUpDown, marginSides, width, height, marginBottom }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Skeleton;\r\n","import React from 'react';\r\n\r\nimport { ContainerEmptyContent, EmptyRow, EmptyContentText } from './styles';\r\n\r\nimport Skeleton from '../../atoms/Skeleton';\r\n\r\nfunction EmptyContent({\r\n children,\r\n text = 'Nenhum registro localizado',\r\n display,\r\n marginTop,\r\n isLoading,\r\n}) {\r\n return !isLoading ? (\r\n \r\n {children ? (\r\n {children}\r\n ) : (\r\n {text}\r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EmptyContent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, uniqueId } from 'lodash';\r\n\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Table,\r\n Checkbox,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n TableHeader,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { TipoConsultaParametrizacaoEnum } from '../../../enums';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nfunction TableContratantes({\r\n grupoComplementosParams,\r\n contratanteParams,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n initialParams,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) {\r\n useEffect(() => {\r\n if (!isEmpty(grupoComplementosParams.response.data)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = grupoComplementosParams.response.data.pageNumber;\r\n draft.pageSize = grupoComplementosParams.response.data.pageSize;\r\n draft.totalPages = Math.ceil(\r\n grupoComplementosParams.response.size /\r\n grupoComplementosParams.response.data.pageSize\r\n );\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n // setNewPageAtual(pageData.pageNumber);\r\n // setPageSize(pageData.pageSize);\r\n }\r\n }, [grupoComplementosParams]);\r\n\r\n if (\r\n initialParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return (\r\n <>\r\n {grupoComplementosParams.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n return (\r\n <>\r\n {contratanteParams.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nconst TableComplementoHeader = ({\r\n isCheckedAllComplemento,\r\n setIsCheckedAllComplemento,\r\n}) => {\r\n return (\r\n \r\n \r\n setIsCheckedAllComplemento(!isCheckedAllComplemento)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Código\r\n \r\n \r\n Nome\r\n \r\n \r\n Complemento\r\n \r\n \r\n Qtd. Contratantes\r\n \r\n \r\n Qtd. Modalidades\r\n \r\n \r\n Qtd. Termos\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableComplemento = ({\r\n grupoComplementosParams,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) => {\r\n const [isCheckedAllComplemento, setIsCheckedAllComplemento] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(pageData)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [grupoComplementosParams]);\r\n\r\n return (\r\n \r\n \r\n }\r\n >\r\n {grupoComplementosParams &&\r\n grupoComplementosParams[0]?.codigoComplemento !== '' ? (\r\n grupoComplementosParams.map((complemento, index) => (\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {grupoComplementosParams && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContentComplemento = ({\r\n complemento,\r\n checkAll,\r\n setRowsChecked,\r\n index,\r\n rowsChecked,\r\n}) => {\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [complementoState, setComplementoState] = useState({\r\n complemento,\r\n checked: !isChecked,\r\n });\r\n\r\n function handleCheckedComplemento(e, check, codigoComplemento) {\r\n const newComplemento = produce(complementoState, (draft) => {\r\n if (draft.complemento.codigoComplemento === codigoComplemento) {\r\n draft.listaContratantes = draft.complemento.listaContratantes;\r\n draft.checked = !check;\r\n draft.tipoParametrizacao = TipoConsultaParametrizacaoEnum.returnName[1];\r\n draft.id = codigoComplemento;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n }\r\n\r\n return draft;\r\n });\r\n\r\n const newComplementoRowChecked = produce(rowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return u.checked === true;\r\n });\r\n\r\n if (newComplemento.checked) newDraft.push(newComplemento);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setComplementoState(newComplemento);\r\n setRowsChecked(newComplementoRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newComplemento = produce(complementoState, (draft) => {\r\n draft.checked = checkAll;\r\n draft.tipoParametrizacao = TipoConsultaParametrizacaoEnum.returnName[1];\r\n draft.listaContratantes = draft.complemento.listaContratantes;\r\n draft.id = draft.complemento.codigoComplemento;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n\r\n return draft;\r\n });\r\n\r\n setComplementoState(newComplemento);\r\n if (checkAll) {\r\n if (\r\n !rowsChecked\r\n .map(\r\n (complementoRowChecked) =>\r\n complementoRowChecked.complemento.codigoComplemento\r\n )\r\n .includes(newComplemento.complemento.codigoComplemento)\r\n )\r\n setRowsChecked((oldArray) => [...oldArray, newComplemento]);\r\n } else setRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n handleCheckedComplemento(\r\n e,\r\n complementoState.checked,\r\n complemento.codigoComplemento\r\n )\r\n }\r\n isClickable\r\n >\r\n \r\n \r\n handleCheckedComplemento(\r\n e,\r\n complementoState.checked,\r\n complemento.codigoComplemento\r\n )\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n {complemento.codigoGrupo ? complemento.codigoGrupo : '-'}\r\n \r\n \r\n {complemento.nomeGrupo ? complemento.nomeGrupo : '-'}\r\n \r\n \r\n {complemento.codigoComplemento ? complemento.codigoComplemento : '-'}\r\n \r\n \r\n {complemento.contratantes}\r\n \r\n \r\n {complemento.modalidades}\r\n \r\n \r\n {complemento.termos}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContratanteHeader = ({\r\n isCheckedAllContratante,\r\n setIsCheckedAllContratante,\r\n}) => {\r\n return (\r\n \r\n \r\n setIsCheckedAllContratante(!isCheckedAllContratante)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Código\r\n \r\n \r\n Nome\r\n \r\n \r\n Inscrição\r\n \r\n \r\n Qtd. Modalidades\r\n \r\n \r\n Qtd. Termos\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContratante = ({\r\n contratanteParams,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) => {\r\n const [isCheckedAllContratante, setIsCheckedAllContratante] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(pageData)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [contratanteParams]);\r\n\r\n return (\r\n \r\n \r\n }\r\n >\r\n {contratanteParams && contratanteParams[0]?.nomeContratante !== '' ? (\r\n contratanteParams.map((contratante, index) => (\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {contratanteParams && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContentContratante = ({\r\n contratante,\r\n checkAll,\r\n index,\r\n rowsChecked,\r\n setRowsChecked,\r\n}) => {\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [contratanteState, setContratanteState] = useState({\r\n contratante,\r\n checked: !isChecked,\r\n });\r\n\r\n function handleCheckedContratante(e, check, codigoContratante) {\r\n const newContratante = produce(contratanteState, (draft) => {\r\n if (draft.contratante.codigoContratante === codigoContratante) {\r\n draft.checked = !check;\r\n draft.listaContratantes = [draft.contratante.codigoContratante];\r\n draft.tipoParametrizacao = 'Contratante';\r\n draft.id = codigoContratante;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n }\r\n\r\n return draft;\r\n });\r\n\r\n const newContratanteRowChecked = produce(rowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return (\r\n u.contratante.codigoContratante !==\r\n newContratante.contratante.codigoContratante && u.checked === true\r\n );\r\n });\r\n\r\n if (newContratante.checked) newDraft.push(newContratante);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setContratanteState(newContratante);\r\n setRowsChecked(newContratanteRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newContratante = produce(contratanteState, (draft) => {\r\n draft.checked = checkAll;\r\n draft.tipoParametrizacao = 'Contratante';\r\n draft.listaContratantes = [draft.contratante.codigoContratante];\r\n draft.id = draft.contratante.codigoContratante;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n\r\n return draft;\r\n });\r\n setContratanteState(newContratante);\r\n if (checkAll) {\r\n if (\r\n !rowsChecked\r\n .map(\r\n (contratanteRowChecked) =>\r\n contratanteRowChecked.contratante.codigoContratante\r\n )\r\n .includes(newContratante.contratante.codigoContratante)\r\n )\r\n setRowsChecked((oldArray) => [...oldArray, newContratante]);\r\n } else setRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n handleCheckedContratante(\r\n e,\r\n contratanteState.checked,\r\n contratante.codigoContratante\r\n )\r\n }\r\n isClickable\r\n >\r\n \r\n \r\n handleCheckedContratante(\r\n e,\r\n contratanteState.checked,\r\n contratante.codigoContratante\r\n )\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n {contratante.codigoContratante ? contratante.codigoContratante : '-'}\r\n \r\n \r\n {contratante.nomeContratante ? contratante.nomeContratante : '-'}\r\n \r\n \r\n {contratante.numeroInscricao ? contratante.numeroInscricao : '-'}\r\n \r\n \r\n {contratante.modalidades}\r\n \r\n \r\n {contratante.termos}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableContratantes;\r\n","import React from 'react';\r\n\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableUsuarioHeader = () => {\r\n return (\r\n \r\n \r\n \r\n Nome\r\n \r\n \r\n Email\r\n \r\n \r\n Tipo Perfil\r\n \r\n \r\n Status\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableUsuarioHeader;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Checkbox, TableRow, TableCell } from '@unimed-fesp/components';\r\n\r\nimport TipoStatusEnum from '../../../enums/TipoStatusEnum';\r\nimport TipoPerfilUsuarioEnum from '../../../enums/TipoPerfilUsuarioEnum';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableBody = ({ selectedUser, handleCheckUser }) => {\r\n const { responseUsuarioEspelho: response } = useSelector(\r\n (state) => state.usuario\r\n );\r\n\r\n return (\r\n <>\r\n {!(response && response.data && response.data.length > 0) ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {response.data.map((user) => (\r\n handleCheckUser(user)}>\r\n \r\n handleCheckUser(user)}\r\n checked={user.idUsuario === selectedUser?.idUsuario}\r\n />\r\n \r\n \r\n {user.nome ? user.nome : '-'}\r\n \r\n \r\n {user.email ? user.email : '-'}\r\n \r\n \r\n {user.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n user.tipoPerfil\r\n ]\r\n : '-'}\r\n \r\n \r\n {user.tipoStatus\r\n ? TipoStatusEnum.returnNameFormattedForName[user.tipoStatus]\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default TableBody;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport TableUsuarioHeader from './TableUsuarioHeader';\r\nimport TableUsuarioEspelhoBody from './TableUsuarioEspelhoBody';\r\n\r\nconst TableUsariosEspelho = ({\r\n selectedUser,\r\n handleCheckUser,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) => {\r\n const {\r\n loading,\r\n success,\r\n responseUsuarioEspelho: { total },\r\n } = useSelector((state) => state.usuario);\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n \r\n }\r\n foot={\r\n success && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableUsariosEspelho;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n Modal,\r\n WrapperFlex,\r\n Text,\r\n ScrollBar,\r\n} from '@unimed-fesp/components';\r\n\r\nimport DropDownSearchBox from '../DropDownSearchBox';\r\nimport TableContratantes from '../TableContratantes';\r\nimport TableUsariosEspelho from '../TableUsariosEspelho';\r\n\r\nimport { TipoConsultaParametrizacaoEnum } from '../../../enums';\r\n\r\nfunction ModalConsultaContratantes({\r\n isOpen,\r\n onClick,\r\n params,\r\n setParams,\r\n grupoComplementosParams,\r\n contratanteParams,\r\n rowsChecked,\r\n setRowsChecked,\r\n paginationParams,\r\n setPaginationParams,\r\n handleSearchTable,\r\n setTipoBusca,\r\n handleAdicionarModal,\r\n handleCheckUser,\r\n selectedUser,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n function handleChangePage(paramsPgs) {\r\n dispatch(setTipoBusca(params.tipoParametrizacao, paramsPgs));\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n dispatch(setTipoBusca(params.tipoParametrizacao));\r\n }\r\n }\r\n\r\n return (\r\n onClick(e)}\r\n width={916}\r\n height={544}\r\n top={43}\r\n justifyContentFooter=\"flex-end\"\r\n header={<>consultar}\r\n footer={\r\n handleAdicionarModal()}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n handleSearchTable(e, true)}\r\n />\r\n \r\n \r\n \r\n \r\n {params.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[3] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, handleAdicionarModal }) => {\r\n return (\r\n <>\r\n onClick(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onClick(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalConsultaContratantes;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n width: 832px;\r\n min-height: 140px;\r\n height: auto;\r\n background: ${theme.grey100} 0% 0% no-repeat padding-box;\r\n border: 1px solid ${theme.grey300};\r\n border-radius: 8px;\r\n opacity: 1;\r\n padding-bottom: 5px;\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const IconWrapper = styled.div`\r\n height: 40px;\r\n width: 40px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''}\r\n &:hover {\r\n background: ${theme.greenDefault} 0% 0% no-repeat padding-box;\r\n svg {\r\n color: ${theme.bgWhite} !important;\r\n\r\n path {\r\n fill: ${theme.bgWhite} !important;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const WrapperFlex = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n transition: transform 1s;\r\n`;\r\n\r\nexport const HeaderIconsContainer = styled.div`\r\n display: flex;\r\n`;\r\n\r\nexport const CardContratantesContentContainer = styled.div`\r\n margin-left: 16px;\r\n transition: transform 1s;\r\n`;\r\n\r\nexport const CardContratantesHeaderContainer = styled.div`\r\n transition: transform 1s;\r\n display: block;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 10px 0px 10px 0px;\r\n letter-spacing: 0.32px;\r\n font: 15px unimed_slabsemibold;\r\n color: ${theme.grey410};\r\n border-bottom: solid;\r\n border-width: thin;\r\n border-color: ${theme.grey210};\r\n margin: 0px 16px 0px 16px;\r\n`;\r\n","/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport { FiCheck } from 'react-icons/fi';\r\n\r\nimport { WrapperFlex, Tooltip, Text } from '@unimed-fesp/components';\r\n\r\nimport Icon from '../../atoms/Icon';\r\nimport {\r\n Container,\r\n CardContratantesContentContainer,\r\n CardContratantesHeaderContainer,\r\n HeaderIconsContainer,\r\n IconWrapper,\r\n IconContainer,\r\n} from './styles';\r\nimport LoadingSpinning from '../LoadingSpinning';\r\n\r\nimport { isContratante } from '../../../utils/userRole';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction CardContratantes({\r\n children,\r\n contratanteHeader,\r\n cardType,\r\n marginLeft,\r\n marginTop,\r\n display,\r\n width,\r\n onClickEditar,\r\n onClickSalvar,\r\n onClickExcluir,\r\n isEditar,\r\n usuarioDadosGerais,\r\n idUsuario,\r\n idParametrizacao,\r\n loading,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {contratanteHeader}\r\n \r\n {!isEditar ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : loading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CardContratantes;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.button`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n border: none;\r\n background: ${theme.transparent};\r\n transition: all 0.3s ease;\r\n cursor: pointer;\r\n\r\n height: ${({ Size }) => (Size ? `${Size}px` : `36px`)};\r\n width: ${({ Size }) => (Size ? `${Size}px` : `36px`)};\r\n\r\n ${({ menu }) =>\r\n menu &&\r\n css`\r\n transform: rotate(360deg);\r\n `}\r\n\r\n ${({ isCollapsed }) =>\r\n isCollapsed &&\r\n css`\r\n transform: rotate(180deg);\r\n `}\r\n\r\n img {\r\n height: 10px;\r\n width: 12px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { BsPlusSquare, BsDashSquare } from 'react-icons/bs';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst ButtonCollapse = ({\r\n isCollapsed,\r\n onClick = (a) => a,\r\n menu,\r\n From,\r\n To,\r\n Size,\r\n}) => {\r\n if (isCollapsed) {\r\n return (\r\n \r\n {From ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {To ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ButtonCollapse;\r\n","import { createContext } from 'react';\r\n\r\nconst CollapseContext = createContext();\r\n\r\nexport default CollapseContext;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 2px;\r\n margin: 1rem;\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: ${theme.white};\r\n width: 100%;\r\n`;\r\n\r\nexport const CardHeaderContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n color: ${theme.grayDefault};\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n justify-content: ${({ justifyContent }) => justifyContent || `start`};\r\n align-items: ${({ alignItems }) => alignItems || `baseline`};\r\n`;\r\nexport const CardContentWrapperContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 300px;\r\n min-width: 300px;\r\n max-height: 300px;\r\n overflow: auto;\r\n`;\r\n\r\nexport const CardFooterContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n justify-content: center;\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport {\r\n Container,\r\n CardFooterContainer,\r\n CardContentWrapperContainer,\r\n} from '../../atoms/Card/styles';\r\n\r\nexport const ContainerCollapse = styled(Container)`\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n background-color: #f8f8f8;\r\n margin: 10px 0px;\r\n\r\n ${({ isCollapsed }) =>\r\n isCollapsed\r\n ? css`\r\n height: auto;\r\n `\r\n : css`\r\n height: auto;\r\n `}\r\n`;\r\nexport const CollapseHeaderContainer = styled.div`\r\n width: 100%;\r\n border-bottom: 1px solid #0000001a;\r\n padding-bottom: 20px;\r\n margin: 0px 30px;\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : css`\r\n justify-content: center;\r\n `}\r\n\r\n ${({ alignItems }) =>\r\n alignItems\r\n ? css`\r\n align-items: ${alignItems};\r\n `\r\n : css`\r\n align-items: center;\r\n `}\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: flex;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n\r\n button {\r\n margin: 0 30px;\r\n }\r\n`;\r\nexport const CollapseFooterContainer = styled(CardFooterContainer)`\r\n -webkit-transition: all 0.9s ease-in;\r\n -moz-transition: all 0.9s ease-in;\r\n -o-transition: all 0.9s ease-in;\r\n transition: all 0.9s ease-in;\r\n`;\r\nexport const CollapseContentContainer = styled(CardContentWrapperContainer)`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin-left: 20px;\r\n overflow: unset;\r\n\r\n min-height: auto;\r\n min-width: auto;\r\n max-height: unset;\r\n\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : css`\r\n justify-content: center;\r\n `}\r\n\r\n ${({ alignItems }) =>\r\n alignItems\r\n ? css`\r\n align-items: ${alignItems};\r\n `\r\n : css`\r\n align-items: center;\r\n `}\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: flex;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n\r\n -webkit-transition: all 0.9s ease-in;\r\n -moz-transition: all 0.9s ease-in;\r\n -o-transition: all 0.9s ease-in;\r\n transition: all 0.9s ease-in;\r\n`;\r\n","import React, { useState, useContext } from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { MdKeyboardArrowDown, MdKeyboardArrowUp } from 'react-icons/md';\r\n\r\nimport ButtonCollapse from '../../atoms/ButtonCollapse';\r\nimport LoadingSpinning from '../LoadingSpinning';\r\n\r\nimport CollapseContext from '../../../context/CollapseContext';\r\n\r\nimport {\r\n ContainerCollapse,\r\n CollapseContentContainer,\r\n CollapseFooterContainer,\r\n CollapseHeaderContainer,\r\n} from './styles';\r\n\r\nfunction CollapseItem({ children, className }) {\r\n const [open, setOpen] = useState(false);\r\n\r\n function handleCollapse() {\r\n setOpen(!open);\r\n }\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction CollapseHeaderItem({\r\n children,\r\n className,\r\n handleClick = (_) => _,\r\n handlePath = (_) => _,\r\n isDisabled = false,\r\n loading = false,\r\n isCollapsed = false,\r\n}) {\r\n const { open, handleCollapse } = useContext(CollapseContext);\r\n return (\r\n \r\n \r\n {children}\r\n {loading ? (\r\n \r\n ) : !isDisabled ? (\r\n {\r\n e.stopPropagation();\r\n handlePath();\r\n handleClick();\r\n handleCollapse();\r\n }}\r\n />\r\n ) : null}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction CollapseFooterItem({ children }) {\r\n const { open } = useContext(CollapseContext);\r\n return open ? (\r\n {children}\r\n ) : null;\r\n}\r\n\r\nfunction CollapseContentItem({ children, alignItems, justifyContent }) {\r\n const { open } = useContext(CollapseContext);\r\n return open ? (\r\n \r\n {children}\r\n \r\n ) : null;\r\n}\r\nexport {\r\n CollapseItem,\r\n CollapseHeaderItem,\r\n CollapseFooterItem,\r\n CollapseContentItem,\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const OptionContainer = styled.ul`\r\n margin-top: 10px;\r\n margin-right: 30px;\r\n transform: translate(13px);\r\n width: calc(100% - 13px);\r\n\r\n /* ${(props) =>\r\n props.isFirst &&\r\n css`\r\n transform: translateX(-90px) !important;\r\n `} */\r\n`;\r\nexport const CheckboxWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n /* transform: translate(60px); */\r\n\r\n div {\r\n margin-right: 10px;\r\n }\r\n`;\r\nexport const Container = styled.div`\r\n width: 100%;\r\n border: 1px solid #d7d7d7;\r\n background-color: #f8f8f8;\r\n border-radius: 10px;\r\n`;\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\n\r\nimport { Checkbox, Tooltip, Text } from '@unimed-fesp/components';\r\nimport { Creators as ContratanteActions } from '../../../store/ducks/contratante';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n CollapseItem,\r\n CollapseHeaderItem,\r\n CollapseContentItem,\r\n} from '../../molecules/CollapseItem';\r\n\r\nimport { OptionContainer, CheckboxWrapper } from './styles';\r\n\r\nfunction CollapseNestedList({ selectedCard, contagem, options, idUsuario }) {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n \r\n dispatch(\r\n ContratanteActions.parametrizacaoSetSelectedOption(\r\n optionId,\r\n selectedCard.idCard\r\n )\r\n )\r\n }\r\n selectedOptions={selectedCard.selectedOptions}\r\n isFirst\r\n selectedCard={selectedCard}\r\n idUsuario={idUsuario}\r\n contagem={contagem}\r\n />\r\n );\r\n}\r\n\r\nconst OptionsList = ({\r\n options,\r\n selectedOptions,\r\n onChange,\r\n isFirst,\r\n selectedCard,\r\n idUsuario,\r\n contagem,\r\n}) => {\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n const BASE_PATH = [0, 'subOptions'];\r\n const dispatch = useDispatch();\r\n const handleCheckboxClicked = (option) => {\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetSelectedOption(\r\n option.currentPath,\r\n selectedCard.idCard,\r\n !option.check,\r\n option.isHeader,\r\n option.id,\r\n option.previousPath\r\n )\r\n );\r\n };\r\n\r\n const setTipoNodeRequest = (option, parametrizacao, idCard) => {\r\n const tipoNodes = {\r\n Contratante: ContratanteActions.getGrupoContratantesRequest({\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n idCard,\r\n path: BASE_PATH,\r\n currentPath: option.currentPath,\r\n }),\r\n Modalidade: ContratanteActions.getContratanteModalidadesRequest({\r\n codigoContratante: option.codigoContratante,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n }),\r\n Termo: ContratanteActions.getModalidadeTermosRequest({\r\n codigoContratante: option.codigoContratante,\r\n codigoModalidade: option.codigoModalidade,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n }),\r\n };\r\n\r\n return tipoNodes[option.nextRequest];\r\n };\r\n const setTipoNodeRequestById = (option, parametrizacao, idCard, idUser) => {\r\n const tipoNodes = {\r\n Contratante: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n idCard,\r\n path: BASE_PATH,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'contratante'\r\n ),\r\n Modalidade: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoContratante: option.codigoContratante,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'modalidade'\r\n ),\r\n Termo: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoContratante: option.codigoContratante,\r\n codigoModalidade: option.codigoModalidade,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'termo'\r\n ),\r\n };\r\n\r\n return tipoNodes[option.nextRequest];\r\n };\r\n\r\n function handlePath(pathName, idCard) {\r\n dispatch(ContratanteActions.parametrizacaoSetPath(pathName, idCard));\r\n }\r\n function handleHeaderRequest(option, idUser) {\r\n if (selectedCard.idParametrizacao === 0)\r\n dispatch(setTipoNodeRequest(option, selectedCard, selectedCard.idCard));\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetLoading(true, selectedCard.idCard)\r\n );\r\n }\r\n return (\r\n <>\r\n {options.map(\r\n (option) =>\r\n option && (\r\n \r\n \r\n handleHeaderRequest(option, idUsuario)\r\n : (_) => _\r\n }\r\n handlePath={() =>\r\n handlePath(option.nextPath, selectedCard.idCard)\r\n }\r\n isDisabled={!option.hasSubOptions || option?.isLast}\r\n >\r\n {\r\n handleCheckboxClicked(option);\r\n }}\r\n />\r\n \r\n \r\n {option.subOptions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst CheckboxContainer = ({\r\n selected,\r\n label,\r\n onClick,\r\n count,\r\n isHeader,\r\n novo,\r\n inativado,\r\n removeCheck = false,\r\n}) => {\r\n return (\r\n \r\n {inativado && (\r\n <>\r\n onClick(!selected)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {novo && (\r\n <>\r\n onClick(!selected)} />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!novo && !inativado && (\r\n <>\r\n {!removeCheck ? (\r\n onClick(!selected)} />\r\n ) : null}\r\n \r\n \r\n )}\r\n\r\n {isHeader && !removeCheck && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CollapseNestedList;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const ParametrosContainer = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n align-items: end;\r\n width: 100%;\r\n`;\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ModalidadesSelecionadasContainer = styled.div`\r\n margin-top: 10px;\r\n margin-bottom: 10px;\r\n display: flex;\r\n`;\r\n\r\nexport const TermosSelecionadosContainer = styled.div`\r\n margin-top: 13px;\r\n display: flex;\r\n\r\n &:last-child {\r\n margin-bottom: 5px;\r\n }\r\n`;\r\n\r\nexport const AlertList = styled.ul`\r\n list-style: none;\r\n margin: 0;\r\n\r\n li {\r\n margin: 0;\r\n font-size: 12px;\r\n font-weight: 500;\r\n margin-top: 4px;\r\n margin-bottom: 4px;\r\n\r\n b {\r\n font-size: 12px;\r\n }\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport Skeleton from '../../atoms/Skeleton';\r\n// #endregion\r\n\r\nimport { ModalidadesSelecionadasContainer } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst CounterContainer = ({ response, loading }) => {\r\n return !loading ? (\r\n Object.keys(response).map((resp) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CounterContainer;\r\n","import React from 'react';\r\n\r\n// #region import componentes\r\nimport Skeleton from '../../atoms/Skeleton';\r\nimport CardContratantes from '../../molecules/CardContratantes';\r\nimport CollapseNestedList from '../CollapseNestedList';\r\nimport CounterContainer from './CounterContainer';\r\n// #endregion\r\n\r\nimport { setParametrizacaoNivel } from '../../../utils/treeViewBuilder';\r\n\r\nconst ParametrizacaoCards = ({\r\n selectedCard,\r\n handleOnClickEditar,\r\n handleOnClickSalvar,\r\n idUsuario,\r\n handleToogleCard,\r\n handleModalCancelAction,\r\n}) => {\r\n return (\r\n \r\n ) : (\r\n setParametrizacaoNivel(selectedCard.tipoParametrizacao, selectedCard)\r\n .nome\r\n )\r\n }\r\n cardType={\r\n selectedCard.cardLoading ? (\r\n \r\n ) : (\r\n selectedCard.tipoParametrizacao\r\n )\r\n }\r\n display=\"\"\r\n width=\"100%\"\r\n onClickEditar={() => handleOnClickEditar(selectedCard.idCard)}\r\n onClickExcluir={() =>\r\n handleModalCancelAction(\r\n selectedCard.idCard,\r\n selectedCard.idParametrizacao\r\n )\r\n }\r\n onClickSalvar={\r\n idUsuario > 0\r\n ? () => handleOnClickSalvar(selectedCard)\r\n : () => handleToogleCard(selectedCard.idCard)\r\n }\r\n isEditar={selectedCard.isEditar}\r\n idUsuario={idUsuario}\r\n idParametrizacao={selectedCard.idParametrizacao}\r\n loading={selectedCard.nodeLoading}\r\n >\r\n {!selectedCard.isEditar ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ParametrizacaoCards;\r\n","import React from 'react';\r\n\r\n// #region import componentes molecules\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n// #endregion\r\n\r\nimport { ButtonLink, EmptyContentText } from './styles';\r\n\r\nconst EmptyContentContainer = ({ display, marginTop, onClick, loading }) => {\r\n return (\r\n \r\n \r\n Nenhuma contratante cadastrada\r\n \r\n Para adicionar, clique no botão{' '}\r\n \r\n + parâmetros\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyContentContainer;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n margin: 10px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst MessageInvalidCard = ({ inValidCards, getName }) => {\r\n if (inValidCards.length < 1)\r\n throw new Error('A propriedade \"inValidCards\" deve ter pelo menos um item');\r\n\r\n const novasParametrizacoes = Array.from(\r\n new Set(inValidCards.map((c) => getName(c.tipoParametrizacao, c)))\r\n );\r\n\r\n const parametrizacoesVinculadas = Array.from(\r\n new Set(\r\n inValidCards.map((c) => getName(c.vinculo.tipoParametrizacao, c.vinculo))\r\n )\r\n );\r\n\r\n const qtdInvalidCards = novasParametrizacoes.length;\r\n const SINGULAR = qtdInvalidCards === 1;\r\n\r\n return (\r\n \r\n {SINGULAR ? 'A parametrização: ' : 'As parametrizações: '}\r\n {novasParametrizacoes.map((nameParametrizacao, index) => (\r\n \r\n {SINGULAR || index + 1 === qtdInvalidCards\r\n ? nameParametrizacao\r\n : `${nameParametrizacao}${\r\n index + 2 === qtdInvalidCards ? ' e ' : ', '\r\n }`}\r\n \r\n ))}\r\n {SINGULAR\r\n ? `, não foi adicionada pois já está parametrizada. Para realizar a nova\r\n parametrização é necessário remover a parametrização `\r\n : `, não foram adicionadas pois já estão parametrizadas. Para realizar as\r\n novas parametrizações é necessário remover a parametrização `}\r\n {parametrizacoesVinculadas.map((nomeVinculo, index) => (\r\n \r\n {parametrizacoesVinculadas.length === 1 ||\r\n index + 1 === parametrizacoesVinculadas.length\r\n ? nomeVinculo\r\n : `${nomeVinculo}${\r\n index + 2 === parametrizacoesVinculadas.length ? ' e ' : ', '\r\n }`}\r\n \r\n ))}{' '}\r\n com a qual possui vínculo.\r\n \r\n );\r\n};\r\n\r\nexport default MessageInvalidCard;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyCopyUsuarioEspelho = ({ userName = '' }) => {\r\n return (\r\n \r\n Deseja realmente copiar a parametrização do usuário\r\n {` ${userName}`}?\r\n
A parametrização atual e o perfil serão alterados.\r\n
\r\n );\r\n};\r\n\r\nconst FooterCopyUsuarioEspelho = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyCopyUsuarioEspelho, FooterCopyUsuarioEspelho };\r\n","import React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyMesclarNestle = () => {\r\n return (\r\n \r\n Não é permitido realizar parametrização mesclando os grupos contratante\r\n Nestlé com outras contratantes!\r\n \r\n );\r\n};\r\n\r\nexport default { BodyMesclarNestle };\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport TipoPerfilUsuarioEnum from '../../../enums/TipoPerfilUsuarioEnum';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodySelectedTipoPerfil = () => {\r\n return (\r\n \r\n Qual tipo de permissão de contratante deseja parametrizar?\r\n \r\n );\r\n};\r\n\r\nconst FooterSelectedTipoPerfil = ({ handleSelectedTipoPerfil }) => {\r\n return (\r\n \r\n \r\n handleSelectedTipoPerfil(\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta\r\n )\r\n }\r\n justifyCenter\r\n >\r\n consulta\r\n \r\n \r\n handleSelectedTipoPerfil(\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao\r\n )\r\n }\r\n justifyCenter\r\n >\r\n alteração\r\n \r\n \r\n );\r\n};\r\n\r\nexport default {\r\n BodySelectedTipoPerfil,\r\n FooterSelectedTipoPerfil,\r\n};\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyRemoveAllParametrizacao = () => {\r\n return (\r\n \r\n Ao remover o perfil, também será removida a parametrização atual.\r\n
\r\n Deseja realmente remover?\r\n
\r\n );\r\n};\r\n\r\nconst FooterRemoveAllParametrizacao = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyRemoveAllParametrizacao, FooterRemoveAllParametrizacao };\r\n","import React, { useCallback, useEffect, useState, useMemo } from 'react';\r\nimport { useDispatch, useSelector, batch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\n\r\nimport {\r\n TipoCardRoot,\r\n TipoPerfilUsuarioEnum,\r\n TipoConsultaParametrizacaoEnum,\r\n} from '../enums';\r\n\r\nimport { getParametrizacaoRoot } from '../utils/treeViewBuilder';\r\nimport { getDifferenceBetween } from '../utils/array';\r\nimport { isNumber } from '../utils/validation';\r\n\r\nimport modal from '../context/TriggerModalContext';\r\n\r\nimport { Creators as UsuarioActions } from '../store/ducks/usuario';\r\nimport { Creators as ContratanteActions } from '../store/ducks/contratante';\r\n\r\n// #region Componentes\r\nimport MessageInvalidCard from '../components/molecules/MessageInvalidCard';\r\nimport {\r\n ModalCopyEspelho,\r\n ModalMesclarNestle,\r\n ModalSelectedTipoPerfil,\r\n ModalRemoveAllParametrizacao,\r\n} from '../components/molecules/PartsModalParametrizacao';\r\n// #endregion\r\n\r\nconst useParametrizacao = (idUsuario = null, role = null) => {\r\n const dispatch = useDispatch();\r\n const {\r\n getContratantes,\r\n parametrizacaoRoot,\r\n getGrupoComplementos,\r\n } = useSelector((state) => state.contratante);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { patchParametrizacaoInativar, saveParametrizacaoCards } = useSelector(\r\n (state) => state.usuario\r\n );\r\n\r\n const paginationModalParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n };\r\n\r\n // #region estados (states)\r\n const [selectedUser, setSelectedUsuarioEspelho] = useState(null);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationModalParams\r\n );\r\n const [rowsChecked, setRowsChecked] = useState([]);\r\n const [tableFilterparams, setTableFilterParams] = useState({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[1],\r\n buscaParametrizacao: 6,\r\n });\r\n const [parametrizacaoFilterParams, setParametrizacaoFilterParams] = useState({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[0],\r\n buscaParametrizacao: '',\r\n });\r\n\r\n const [selectedTipoPerfil, setSelectedTipoPerfil] = useState('');\r\n // #endregion\r\n\r\n // #region functions privadas\r\n const hasGrupoNestle = useMemo(() => {\r\n return parametrizacaoRoot?.some(\r\n (parametro) =>\r\n parametro?.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1] &&\r\n parametro.id === 'NESTLE'\r\n );\r\n }, [parametrizacaoRoot]);\r\n\r\n const getName = useCallback((type, selectedCard) => {\r\n const types = {\r\n 'Grupo ou Complemento': `${selectedCard?.complemento?.codigoComplemento}`,\r\n Contratante: `${selectedCard?.contratante?.nomeContratante}`,\r\n };\r\n\r\n return types[type];\r\n }, []);\r\n\r\n const setParamsBusca = useCallback(\r\n (tipoBusca, newPageParams) => {\r\n const { buscaParametrizacao } = tableFilterparams;\r\n\r\n const tipoParamsBusca = {\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n codigoGrupo: isNumber(buscaParametrizacao)\r\n ? buscaParametrizacao\r\n : null,\r\n codigoComplemento: isNumber(buscaParametrizacao)\r\n ? null\r\n : buscaParametrizacao,\r\n ...(newPageParams || paginationParams),\r\n },\r\n Contratante: {\r\n nomeContratante: isNumber(buscaParametrizacao)\r\n ? null\r\n : buscaParametrizacao,\r\n codigoContratante: isNumber(buscaParametrizacao)\r\n ? buscaParametrizacao\r\n : null,\r\n ...(newPageParams || paginationParams),\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[3]]: {\r\n nome: !/@/gim.test(buscaParametrizacao) ? buscaParametrizacao : null,\r\n email: /@/gim.test(buscaParametrizacao) ? buscaParametrizacao : null,\r\n ...(newPageParams || paginationParams),\r\n has_parametrizacao: true,\r\n },\r\n };\r\n\r\n return tipoParamsBusca[tipoBusca];\r\n },\r\n [paginationParams, tableFilterparams]\r\n );\r\n\r\n const getValidsCard = useCallback(() => {\r\n const POSSUI_PARAMETRIZACAO = parametrizacaoRoot.length > 0;\r\n\r\n // #region Filtrando novos cards\r\n let cards = rowsChecked.filter(({ id, complemento }) => {\r\n const IS_CARD_GRUPO = typeof id === 'string';\r\n\r\n if (IS_CARD_GRUPO)\r\n return !parametrizacaoRoot.some(\r\n ({ complemento: complemento2 }) =>\r\n complemento2?.codigoGrupo === complemento?.codigoGrupo\r\n );\r\n\r\n return !parametrizacaoRoot.some(({ id: id2 }) => id2 === id);\r\n });\r\n // #endregion\r\n\r\n const inValidCards = [];\r\n if (POSSUI_PARAMETRIZACAO)\r\n cards.forEach((novo) => {\r\n parametrizacaoRoot.forEach((parametrizado) => {\r\n parametrizado.listaContratantes.forEach((p) => {\r\n if (novo.listaContratantes.includes(p)) {\r\n const invalid = {\r\n ...novo,\r\n vinculo: parametrizado,\r\n };\r\n inValidCards.push(invalid);\r\n }\r\n });\r\n });\r\n });\r\n\r\n cards = getDifferenceBetween(cards, 'id', inValidCards, 'id');\r\n\r\n if (inValidCards.length > 0) {\r\n modal.warning(\r\n \r\n );\r\n }\r\n\r\n // #region Mesclar Nestle com outras contratantes\r\n const POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE =\r\n hasGrupoNestle &&\r\n POSSUI_PARAMETRIZACAO &&\r\n cards.some((card) => card?.id !== 'NESTLE');\r\n const POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE =\r\n !hasGrupoNestle &&\r\n POSSUI_PARAMETRIZACAO &&\r\n cards.some((card) => card?.id === 'NESTLE');\r\n\r\n if (\r\n POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE ||\r\n POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE\r\n ) {\r\n modal.warning();\r\n return [];\r\n }\r\n // #endregion\r\n\r\n return cards;\r\n }, [getName, hasGrupoNestle, parametrizacaoRoot, rowsChecked]);\r\n\r\n const getAndBuildParametrizacaoCardsUsuarioEspelho = useCallback(() => {\r\n const params = {\r\n idUsuario: selectedUser?.idUsuario,\r\n isParametrizacaoEspelho: true,\r\n };\r\n\r\n dispatch(UsuarioActions.usuarioEspelhoSet(selectedUser));\r\n dispatch(UsuarioActions.getAndBuildParametrizacaoCardsRequest(params));\r\n }, [dispatch, selectedUser]);\r\n\r\n const cloneUsuarioEspelho = useCallback(() => {\r\n dispatch(\r\n UsuarioActions.postClonarUsuarioEspelhoRequest(\r\n idUsuario,\r\n selectedUser.idUsuario\r\n )\r\n );\r\n }, [dispatch, idUsuario, selectedUser]);\r\n\r\n const handleAddUsuarioEspelho = useCallback(() => {\r\n const handleClickSimModal = (closeModal) => {\r\n if (idUsuario === 0) {\r\n getAndBuildParametrizacaoCardsUsuarioEspelho();\r\n } else {\r\n cloneUsuarioEspelho();\r\n }\r\n setSelectedUsuarioEspelho(null);\r\n closeModal();\r\n };\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n handleClickSimModal(closeModal);\r\n }}\r\n />\r\n )\r\n );\r\n }, [\r\n idUsuario,\r\n selectedUser,\r\n cloneUsuarioEspelho,\r\n getAndBuildParametrizacaoCardsUsuarioEspelho,\r\n ]);\r\n\r\n const dispatchPatchPerfil = useCallback(\r\n (newPerfils) => {\r\n dispatch(\r\n UsuarioActions.patchAtualizarTipoPerfilRequest(idUsuario, [\r\n ...newPerfils,\r\n ])\r\n );\r\n },\r\n [dispatch, idUsuario]\r\n );\r\n\r\n const showModalSelectedTipoPerfil = useCallback(\r\n (callbackDispathSaveParametrizacao) => {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setSelectedTipoPerfil(tipoPerfil);\r\n callbackDispathSaveParametrizacao();\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n },\r\n []\r\n );\r\n\r\n const returnPostAndPutCards = useCallback(() => {\r\n const postCards = [];\r\n const putCards = [];\r\n\r\n if (parametrizacaoRoot.length > 0) {\r\n parametrizacaoRoot.forEach((card) => {\r\n const parametros = getParametrizacaoRoot(card);\r\n const parametrizacaoRootCard = parametros.parametrizacaoRoot;\r\n\r\n if (card.idParametrizacao === 0) {\r\n postCards.push({\r\n name: getName(card.tipoParametrizacao, card),\r\n idParametrizacao: 0,\r\n idCard: card.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootCard,\r\n });\r\n } else {\r\n putCards.push({\r\n name: getName(card.tipoParametrizacao, card),\r\n idParametrizacao: card.idParametrizacao,\r\n idCard: card.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootCard,\r\n });\r\n }\r\n });\r\n }\r\n\r\n return { postCards, putCards };\r\n }, [getName, parametrizacaoRoot, usuario]);\r\n // #endregion\r\n\r\n // #region functions publicas\r\n const handleRemoveAllCards = useCallback(() => {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n dispatch(\r\n UsuarioActions.patchParametrizacaoAdmInativarRequest(idUsuario)\r\n );\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }, [dispatch, idUsuario]);\r\n\r\n const handleRemoveCard = useCallback(\r\n (idCard, idParametrizacao) => {\r\n const ULTIMO_CARD = parametrizacaoRoot.length === 1;\r\n const IS_ADM = role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n if (idParametrizacao > 0) {\r\n dispatch(\r\n UsuarioActions.patchParametrizacaoInativarRequest(\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n )\r\n );\r\n if (ULTIMO_CARD && IS_ADM) {\r\n // Removendo perfil de contratante quando remover todas as parametrizações do adm\r\n dispatchPatchPerfil([TipoPerfilUsuarioEnum.returnNameForName.Adm]);\r\n }\r\n } else {\r\n dispatch(ContratanteActions.parametrizacaoDeleteCard(idCard));\r\n }\r\n },\r\n [role, dispatch, idUsuario, dispatchPatchPerfil, parametrizacaoRoot.length]\r\n );\r\n\r\n const hasAlteracao = useMemo(() => {\r\n const { postCards } = returnPostAndPutCards();\r\n return postCards.length > 0;\r\n }, [returnPostAndPutCards]);\r\n\r\n const handleAdicionarModal = useCallback(() => {\r\n // #region Parametrização de usuario espelho\r\n const ESTA_NA_ABA_USUARIO_ESPELHO =\r\n tableFilterparams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[3];\r\n\r\n if (selectedUser && selectedUser.idUsuario && ESTA_NA_ABA_USUARIO_ESPELHO) {\r\n handleAddUsuarioEspelho();\r\n return;\r\n }\r\n // #endregion\r\n\r\n // #region Parametrização normal (contratante/grupo)\r\n const contratanteRoot = [];\r\n const grupoRoot = [];\r\n\r\n const cards = getValidsCard();\r\n\r\n if (!isEmpty(cards)) {\r\n const newCards = cards.map((card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[0]) {\r\n contratanteRoot.push(card);\r\n }\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[1]) {\r\n grupoRoot.push(card);\r\n }\r\n\r\n const newCard = { ...card };\r\n\r\n return newCard;\r\n });\r\n\r\n batch(() => {\r\n dispatch(ContratanteActions.parametrizacaoSetCards(newCards));\r\n if (contratanteRoot.length > 0)\r\n dispatch(\r\n ContratanteActions.getParametrizacaoContratanteCompletoRequest(\r\n contratanteRoot\r\n )\r\n );\r\n if (grupoRoot.length > 0) {\r\n dispatch(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoRequest(\r\n grupoRoot\r\n )\r\n );\r\n }\r\n });\r\n }\r\n // #endregion\r\n }, [\r\n dispatch,\r\n selectedUser,\r\n getValidsCard,\r\n tableFilterparams,\r\n handleAddUsuarioEspelho,\r\n ]);\r\n\r\n const cleanFilterParams = useCallback(() => {\r\n setTableFilterParams({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[1],\r\n buscaParametrizacao: '',\r\n });\r\n setRowsChecked([]);\r\n }, []);\r\n\r\n const setTipoBusca = useCallback(\r\n (tipoBusca, newPageParams) => {\r\n const paramsDispatch = setParamsBusca(tipoBusca, newPageParams);\r\n\r\n const tiposBusca = {\r\n [TipoConsultaParametrizacaoEnum\r\n .returnName[1]]: ContratanteActions.getGrupoComplementosRequest(\r\n paramsDispatch\r\n ),\r\n Contratante: ContratanteActions.getContratanteRequest(paramsDispatch),\r\n [TipoConsultaParametrizacaoEnum\r\n .returnName[3]]: UsuarioActions.getUsuarioEspelhoRequest(\r\n paramsDispatch\r\n ),\r\n };\r\n\r\n return tiposBusca[tipoBusca];\r\n },\r\n [setParamsBusca]\r\n );\r\n\r\n const salvarParametrizacao = useCallback(() => {\r\n const { postCards, putCards } = returnPostAndPutCards();\r\n\r\n if (hasAlteracao) {\r\n const callbackDispathSaveParametrizacao = () => {\r\n dispatch(\r\n UsuarioActions.saveParametrizacaoCardsRequest(\r\n idUsuario,\r\n postCards,\r\n putCards,\r\n true\r\n )\r\n );\r\n };\r\n\r\n if (role === TipoPerfilUsuarioEnum.returnNameForName.Adm) {\r\n showModalSelectedTipoPerfil(callbackDispathSaveParametrizacao);\r\n return;\r\n }\r\n\r\n callbackDispathSaveParametrizacao();\r\n }\r\n }, [\r\n role,\r\n dispatch,\r\n idUsuario,\r\n hasAlteracao,\r\n returnPostAndPutCards,\r\n showModalSelectedTipoPerfil,\r\n ]);\r\n\r\n const handleCheckUser = useCallback(\r\n (newUser) => {\r\n setSelectedUsuarioEspelho((oldUser) =>\r\n oldUser?.idUsuario === newUser?.idUsuario ? null : newUser\r\n );\r\n },\r\n [setSelectedUsuarioEspelho]\r\n );\r\n\r\n const handleOnClickSalvarCard = useCallback(\r\n (selectedCard) => {\r\n const postCard = [];\r\n const putCard = [];\r\n if (selectedCard.idParametrizacao === 0) {\r\n const {\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n } = getParametrizacaoRoot(selectedCard);\r\n\r\n postCard.push({\r\n name: getName(selectedCard.tipoParametrizacao, selectedCard),\r\n idParametrizacao: 0,\r\n idCard: selectedCard.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[selectedCard.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n });\r\n } else {\r\n const {\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n } = getParametrizacaoRoot(selectedCard);\r\n putCard.push({\r\n name: getName(selectedCard),\r\n idParametrizacao: selectedCard.idParametrizacao,\r\n idCard: selectedCard.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[selectedCard.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n });\r\n }\r\n\r\n const callbackDispathSaveParametrizacao = () => {\r\n batch(() => {\r\n dispatch(\r\n UsuarioActions.saveParametrizacaoCardsRequest(\r\n idUsuario,\r\n postCard,\r\n putCard,\r\n false\r\n )\r\n );\r\n dispatch(\r\n ContratanteActions.parametrizacaoToogleCard([\r\n { idCard: selectedCard.idCard },\r\n ])\r\n );\r\n });\r\n };\r\n\r\n if (role === TipoPerfilUsuarioEnum.returnNameForName.Adm) {\r\n showModalSelectedTipoPerfil(callbackDispathSaveParametrizacao);\r\n return;\r\n }\r\n\r\n callbackDispathSaveParametrizacao();\r\n },\r\n [dispatch, getName, idUsuario, role, showModalSelectedTipoPerfil, usuario]\r\n );\r\n // #endregion\r\n\r\n // #region ciclo de vida\r\n useEffect(() => {\r\n const USUARIO_PARAMETRIZACAO_E_USUARIO_LOGADO =\r\n idUsuario === usuario?.idUsuarioLogado;\r\n\r\n if (\r\n USUARIO_PARAMETRIZACAO_E_USUARIO_LOGADO &&\r\n patchParametrizacaoInativar?.success\r\n ) {\r\n // Caso a parametrização seja do usuario logado, deve-se atualizar o drop de contratantes\r\n dispatch(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }\r\n }, [\r\n dispatch,\r\n idUsuario,\r\n usuario.idUsuarioLogado,\r\n patchParametrizacaoInativar,\r\n ]);\r\n\r\n useEffect(() => {\r\n const IS_ADM = role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n if (IS_ADM && saveParametrizacaoCards?.success && selectedTipoPerfil) {\r\n dispatchPatchPerfil([\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm,\r\n selectedTipoPerfil,\r\n ]);\r\n setSelectedTipoPerfil('');\r\n }\r\n }, [\r\n role,\r\n selectedTipoPerfil,\r\n dispatchPatchPerfil,\r\n saveParametrizacaoCards?.success,\r\n ]);\r\n // #endregion\r\n\r\n return {\r\n selectedUser,\r\n handleCheckUser,\r\n parametrizacaoRoot,\r\n handleAdicionarModal,\r\n handleOnClickSalvarCard,\r\n\r\n handleRemoveAllCards,\r\n handleRemoveCard,\r\n rowsChecked,\r\n hasAlteracao,\r\n setTipoBusca,\r\n setRowsChecked,\r\n getContratantes,\r\n paginationParams,\r\n cleanFilterParams,\r\n tableFilterparams,\r\n setPaginationParams,\r\n getGrupoComplementos,\r\n setTableFilterParams,\r\n salvarParametrizacao,\r\n paginationModalParams,\r\n parametrizacaoFilterParams,\r\n setParametrizacaoFilterParams,\r\n };\r\n};\r\n\r\nexport default useParametrizacao;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\nimport { BsPlus } from 'react-icons/bs';\r\n\r\nimport { Text, Alerts, Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport ModalError from '../ModalError';\r\nimport ModalSuccess from '../ModalSuccess';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport DropDownSearchBox from '../DropDownSearchBox';\r\nimport CustomScrollBars from '../../molecules/CustomScrollBars';\r\nimport ModalConsultaContratantes from '../ModalConsultaContratantes';\r\n\r\nimport ParametrizacaoCards from './ParametrizacaoCards';\r\nimport EmptyContentContainer from './EmptyContentContainer';\r\n// #endregion\r\n\r\nimport { AlertList } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { setParametrizacaoNivel } from '../../../utils/treeViewBuilder';\r\nimport { TipoConsultaParametrizacaoEnum, TipoCardRoot } from '../../../enums';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\nimport { Creators as ContratanteActions } from '../../../store/ducks/contratante';\r\n\r\nimport useParametrizacao from '../../../hooks/useParametrizazao';\r\n\r\nconst ParametrizacaoContratantes = ({\r\n idUsuario,\r\n dropDownWidth,\r\n roleUsuario = null,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n handleAdicionarModal,\r\n parametrizacaoRoot,\r\n selectedUser,\r\n handleCheckUser,\r\n handleOnClickSalvarCard,\r\n\r\n handleRemoveCard,\r\n paginationModalParams,\r\n rowsChecked,\r\n setTipoBusca,\r\n setRowsChecked,\r\n getContratantes,\r\n cleanFilterParams,\r\n tableFilterparams,\r\n getGrupoComplementos,\r\n setTableFilterParams,\r\n paginationParams,\r\n setPaginationParams,\r\n parametrizacaoFilterParams,\r\n setParametrizacaoFilterParams,\r\n } = useParametrizacao(idUsuario, roleUsuario);\r\n\r\n const {\r\n saveParametrizacaoCards,\r\n getAndBuildParametrizacaoCards,\r\n } = useSelector((state) => state.usuario);\r\n\r\n const [blockUseEffect, setBlockUseEffect] = useState(false);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [isSuccess, setIsSuccess] = useState({\r\n success: false,\r\n message: '',\r\n alert: false,\r\n });\r\n const [isError, setIsError] = useState({ error: false, message: '' });\r\n const [isWarning, setIsWarning] = useState({\r\n warning: false,\r\n message: '',\r\n action: (_) => _,\r\n });\r\n\r\n const handleModalSuccess = () => {\r\n setBlockUseEffect(false);\r\n setIsSuccess({ success: false, message: '' });\r\n dispatch(UsuarioActions.parametrizacaoNodeRenew());\r\n };\r\n\r\n const handleModalError = () => {\r\n setIsError({ error: false, message: '' });\r\n dispatch(UsuarioActions.parametrizacaoNodeRenew());\r\n };\r\n\r\n const handleModalCancelAction = (idCard, idParametrizacao) => {\r\n setIsWarning({\r\n warning: !isWarning.warning,\r\n message: 'Deseja realmente excluir esta parametrização?',\r\n action: () => {\r\n handleRemoveCard(idCard, idParametrizacao);\r\n setIsWarning({\r\n warning: false,\r\n message: '',\r\n action: (_) => _,\r\n });\r\n },\r\n });\r\n };\r\n\r\n const handleToogleModal = (e) => {\r\n if (e.keyCode !== 13) {\r\n cleanFilterParams();\r\n setIsOpen(!isOpen);\r\n }\r\n };\r\n\r\n function handleOnClickEditar(idCard) {\r\n const card = parametrizacaoRoot.find(\r\n (cardItem) => cardItem.idCard === idCard\r\n );\r\n if (isEmpty(card.options) && card.idParametrizacao === 0) {\r\n if (\r\n card.tipoParametrizacao === TipoConsultaParametrizacaoEnum.returnName[1]\r\n ) {\r\n dispatch(\r\n ContratanteActions.getGrupoContratantesRequest({\r\n codigoGrupo: card?.complemento?.codigoGrupo,\r\n codigoComplemento: card?.complemento?.codigoComplemento,\r\n idCard,\r\n path: [0],\r\n })\r\n );\r\n } else {\r\n dispatch(\r\n ContratanteActions.getContratanteModalidadesRequest({\r\n codigoContratante: card.contratante?.codigoContratante,\r\n idCard,\r\n path: [0],\r\n })\r\n );\r\n }\r\n }\r\n\r\n if (card.idParametrizacao !== 0 && !card?.fullTree) {\r\n dispatch(\r\n UsuarioActions.getParametrizacaoCardsCompletoRequest(\r\n idUsuario,\r\n idCard,\r\n card.idParametrizacao\r\n )\r\n );\r\n }\r\n\r\n handleToogleCard(idCard);\r\n }\r\n\r\n function handleToogleCard(idCard) {\r\n dispatch(ContratanteActions.parametrizacaoToogleCard([{ idCard }]));\r\n }\r\n\r\n function handleSearchTable(e, isOnClick = false) {\r\n if (e.keyCode === 13 || isOnClick) {\r\n setPaginationParams(paginationModalParams);\r\n handleCheckUser(null);\r\n dispatch(\r\n setTipoBusca(\r\n tableFilterparams.tipoParametrizacao,\r\n paginationModalParams\r\n )\r\n );\r\n }\r\n }\r\n\r\n const setTipoContagemRequest = (tipoNode, parametrizacao) => {\r\n const tipoNodes = {\r\n Contratante: {\r\n contratante: {\r\n codigoContratante: parametrizacao?.contratante?.codigoContratante,\r\n },\r\n idCard: parametrizacao.idCard,\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n complemento: {\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n },\r\n idCard: parametrizacao.idCard,\r\n },\r\n };\r\n\r\n return tipoNodes[tipoNode];\r\n };\r\n\r\n const handleFilterParametrizacaoRoot = (selCard) => {\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[0]\r\n )\r\n return (\r\n setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) ||\r\n !!selCard.options[0]?.subOptions?.find((c) =>\r\n c.name.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n )\r\n )\r\n );\r\n\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1]\r\n )\r\n return (\r\n selCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1] &&\r\n (setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) ||\r\n !!selCard.options[0]?.subOptions?.find((c) =>\r\n c.name.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n )\r\n ))\r\n );\r\n\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[2]\r\n )\r\n return (\r\n setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) &&\r\n selCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[2]\r\n );\r\n return false;\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(ContratanteActions.parametrizacaoRootRenew());\r\n if (idUsuario) {\r\n const params = { idUsuario };\r\n\r\n dispatch(UsuarioActions.getAndBuildParametrizacaoCardsRequest(params));\r\n }\r\n }, [dispatch, idUsuario]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0) {\r\n if (\r\n saveParametrizacaoCards.success &&\r\n !saveParametrizacaoCards.hasValidationErrors &&\r\n roleUsuario?.toLocaleUpperCase() !== 'ADM'\r\n ) {\r\n setIsSuccess({\r\n success: true,\r\n message: { title: 'Parametrização salva com sucesso!', subtitle: '' },\r\n alert: false,\r\n });\r\n } else if (\r\n saveParametrizacaoCards.success &&\r\n saveParametrizacaoCards.hasValidationErrors\r\n ) {\r\n setIsSuccess({\r\n success: true,\r\n message: {\r\n title: 'Parametrização salva com sucesso!',\r\n subtitle: saveParametrizacaoCards.error,\r\n },\r\n alert: true,\r\n });\r\n }\r\n }\r\n }, [\r\n idUsuario,\r\n roleUsuario,\r\n saveParametrizacaoCards.error,\r\n saveParametrizacaoCards.hasValidationErrors,\r\n saveParametrizacaoCards.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0 && saveParametrizacaoCards.isError) {\r\n setIsError({\r\n error: true,\r\n message:\r\n saveParametrizacaoCards.error[0] || 'Erro ao salvar a parametrização',\r\n });\r\n }\r\n }, [\r\n idUsuario,\r\n saveParametrizacaoCards.error,\r\n saveParametrizacaoCards.isError,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0 && saveParametrizacaoCards.success && !blockUseEffect) {\r\n const grupoContagem = [];\r\n const contratanteContagem = [];\r\n const cardParametrizado = [];\r\n saveParametrizacaoCards.response.forEach((p) => {\r\n const newCard = parametrizacaoRoot.find((c) => c.idCard === p.idCard);\r\n if (newCard) cardParametrizado.push(newCard);\r\n });\r\n\r\n cardParametrizado.forEach((card) => {\r\n if (TipoCardRoot.returnName[0] === card.tipoParametrizacao)\r\n contratanteContagem.push(\r\n setTipoContagemRequest(card.tipoParametrizacao, card)\r\n );\r\n if (TipoCardRoot.returnName[1] === card.tipoParametrizacao)\r\n grupoContagem.push(\r\n setTipoContagemRequest(card.tipoParametrizacao, card)\r\n );\r\n });\r\n dispatch(\r\n UsuarioActions.getParametrizacaoCardsRequest({ idUsuario }, [\r\n ...grupoContagem,\r\n ...contratanteContagem,\r\n ])\r\n );\r\n\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetLoadingCards(true, [\r\n ...grupoContagem,\r\n ...contratanteContagem,\r\n ])\r\n );\r\n setBlockUseEffect(true);\r\n }\r\n }, [\r\n dispatch,\r\n idUsuario,\r\n blockUseEffect,\r\n parametrizacaoRoot,\r\n saveParametrizacaoCards.response,\r\n saveParametrizacaoCards.success,\r\n ]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n resultados de consulta\r\n \r\n \r\n {\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[0]\r\n )\r\n return 'Digite o código do grupo, complemento ou nome da contratante';\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return 'Digite o código do grupo ou complemento';\r\n return 'Digite o código ou nome de contratante';\r\n })()}\r\n marginRight=\"30\"\r\n />\r\n handleToogleModal(e)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n parâmetros\r\n \r\n \r\n {isEmpty(parametrizacaoRoot) ? (\r\n handleToogleModal(e)}\r\n loading={getAndBuildParametrizacaoCards.loading}\r\n />\r\n ) : (\r\n Object.values(parametrizacaoRoot)\r\n .filter((selCard) => handleFilterParametrizacaoRoot(selCard))\r\n .map((selectedCard) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Atenção!\r\n Erro ao salvar parametrização: \r\n \r\n \r\n {isSuccess.message.subtitle.map((sub) => (\r\n
  • \r\n {sub.name} - {sub.errorMessage}\r\n
  • \r\n ))}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ) : (\r\n false\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParametrizacaoContratantes;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalBodyContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n\r\n display: flex;\r\n\r\n background: ${theme.white};\r\n\r\n padding: 1px 20px 0px 20px;\r\n flex: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalBodyContainer } from '../../molecules/ModalConsultaStructure/styles';\r\n\r\nfunction ModalEventosWebhook({\r\n isOpen,\r\n onCloseModal,\r\n titleModal,\r\n HeaderModal,\r\n BodyModal,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalEventosWebhook;\r\n","import React from 'react';\r\n\r\nimport { TableHeader, TableRow } from '@unimed-fesp/components';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React from 'react';\r\n\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhook = ({ headers, body }) => {\r\n return (\r\n \r\n }>\r\n {body}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhook;\r\n","import { Button } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\n","import {\r\n Checkbox,\r\n TableCell,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React from 'react';\r\n\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { MdDelete, MdListAlt } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport { ButtonActions, HoverActions } from './styles';\r\n\r\nconst TableCadastroWebHookBody = ({\r\n deletarWebhook,\r\n toggleWebhook,\r\n openModalEventos,\r\n}) => {\r\n const { getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const dados = getWebhookConfiguration.data;\r\n\r\n if (dados && dados.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n {dados.contractorCode}\r\n \r\n {dados.createdAt\r\n ? format(new Date(dados.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {dados.createdUser}\r\n {dados.updatedAt && (\r\n \r\n {dados.updatedAt\r\n ? format(new Date(dados.updatedAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n )}\r\n {dados.updatedBy && (\r\n {dados.updatedUser}\r\n )}\r\n {IsAdm.toLowerCase() === 'true' && (\r\n \r\n \r\n \r\n \r\n toggleWebhook({\r\n entity_id: dados.id,\r\n isActive: !dados.isActive,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n deletarWebhook(dados.id)}\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookBody;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport {\r\n Button,\r\n Dropdown,\r\n Modal,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { TipoEventoWebhookEnum } from '../../../enums';\r\nimport { Creators as WebhookEventIntegrationActions } from '../../../store/ducks/webhookEventIntegration';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nfunction ModalCadastarWebhookEvent({\r\n isOpen,\r\n onClick,\r\n isEditar,\r\n setIsEditarModal,\r\n}) {\r\n const dispatch = useDispatch();\r\n const { getWebhookListEvents, getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const eventsCode = getWebhookListEvents.data;\r\n\r\n const [selectEventCode, setSelectEventCode] = useState(1);\r\n const [url, setUrl] = useState();\r\n\r\n const handleInputUrl = (event) => {\r\n setUrl(event.target.value);\r\n };\r\n\r\n const optionsEventCode = eventsCode.map((eventCode) => {\r\n return {\r\n onClickOption: () => {\r\n setSelectEventCode(eventCode.value);\r\n },\r\n text: eventCode.description,\r\n };\r\n });\r\n\r\n const cadastrarEvento = () => {\r\n if (!url || !selectEventCode) {\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n }\r\n\r\n const params = {\r\n url,\r\n webhookId: getWebhookConfiguration.data.id,\r\n eventCode: selectEventCode,\r\n };\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.postWebhookEventIntegrationRequest(params)\r\n );\r\n\r\n onClick();\r\n limparInputs();\r\n };\r\n\r\n const limparInputs = () => {\r\n setSelectEventCode(1);\r\n setUrl('');\r\n setIsEditarModal(false);\r\n };\r\n\r\n const editarEvento = () => {\r\n const params = {\r\n url,\r\n webhookId: getWebhookConfiguration.data.id,\r\n eventCode: selectEventCode,\r\n entityId: isEditar.id,\r\n };\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.putWebhookEventIntegrationRequest(params)\r\n );\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(\r\n getWebhookConfiguration.data.id\r\n )\r\n );\r\n onClick();\r\n limparInputs();\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditar) {\r\n setSelectEventCode(\r\n TipoEventoWebhookEnum.returnIdForName[isEditar.eventCode]\r\n );\r\n setUrl(isEditar.url);\r\n }\r\n }, [isEditar]);\r\n\r\n return (\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n height={345}\r\n width={600}\r\n header={isEditar ? 'Editar Evento' : 'Cadastro de Eventos'}\r\n footer={\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n cadastrarEvento={cadastrarEvento}\r\n editarEvento={editarEvento}\r\n />\r\n }\r\n >\r\n \r\n {\r\n handleInputUrl(e);\r\n }}\r\n />\r\n \r\n {TipoEventoWebhookEnum.returnDescriptionPorId[selectEventCode] ||\r\n (isEditar &&\r\n TipoEventoWebhookEnum.returnDescricao[isEditar.eventCode])}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ isEditar, onClick, cadastrarEvento, editarEvento }) => {\r\n return (\r\n <>\r\n \r\n Cancelar\r\n \r\n \r\n Salvar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCadastarWebhookEvent;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalBodyContainer } from '../../molecules/ModalConsultaStructure/styles';\r\n\r\nfunction ModalWebhookEventosHeaders({\r\n isOpen,\r\n onCloseModal,\r\n titleModal,\r\n HeaderModal,\r\n BodyModal,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalWebhookEventosHeaders;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, Modal, TextField, WrapperFlex } from '@unimed-fesp/components';\r\nimport { useDispatch } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as WebhookEventHeaderIntegrationActions } from '../../../store/ducks/webhookEventHeaderIntegration';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nfunction ModalCadastarWebhookEventHeader({\r\n isOpen,\r\n onClick,\r\n isEditar,\r\n webhookEventId,\r\n setIsEditarModal,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const [inputNome, setInputNome] = useState('');\r\n const [inputValor, setInputValor] = useState('');\r\n\r\n const handleInputValor = (event) => {\r\n setInputValor(event.target.value);\r\n };\r\n const handleInputNome = (event) => {\r\n setInputNome(event.target.value);\r\n };\r\n\r\n const validarCamposHeaders = (nome, valor) => {\r\n const regexNome = /^[A-Za-z\\-]+$/;\r\n const regexValor = /^[^\\u00C0-\\u017Fç]+$/;\r\n\r\n const nomeValido = regexNome.test(nome);\r\n const valorValido = regexValor.test(valor);\r\n return nomeValido && valorValido;\r\n };\r\n\r\n const limparInputs = () => {\r\n setInputValor('');\r\n setInputNome('');\r\n };\r\n\r\n const cadastrarHeader = () => {\r\n if (!inputValor || !inputNome)\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n\r\n if (!validarCamposHeaders(inputNome, inputValor))\r\n return toast.error(\r\n \r\n O cabeçalho HTTP fornecido é inválido. Certifique-se de que o nome e\r\n valor do cabeçalho está em conformidade com as especificações HTTP e\r\n que o valor é válido.\r\n \r\n );\r\n\r\n const params = {\r\n name: inputNome,\r\n webhookEventId,\r\n value: inputValor,\r\n };\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.postWebhookEventHeaderRequest(params)\r\n );\r\n limparInputs();\r\n onClick();\r\n };\r\n\r\n const editarHeader = () => {\r\n if (!inputValor || !inputNome)\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n\r\n if (!validarCamposHeaders(inputNome, inputValor))\r\n return toast.error(\r\n \r\n O cabeçalho HTTP fornecido é inválido. Certifique-se de que o nome e\r\n valor do cabeçalho está em conformidade com as especificações HTTP e\r\n que o valor é válido.\r\n \r\n );\r\n\r\n const params = {\r\n name: inputNome,\r\n webhookEventId,\r\n value: inputValor,\r\n entityId: isEditar.id,\r\n };\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.putWebhookEventHeaderRequest(params)\r\n );\r\n\r\n onClick();\r\n setIsEditarModal(false);\r\n limparInputs();\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditar) {\r\n setInputValor(isEditar.value);\r\n setInputNome(isEditar.name);\r\n }\r\n }, [isEditar]);\r\n\r\n return (\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n height={345}\r\n width={600}\r\n header={isEditar ? 'Editar Header' : 'Cadastro de Header'}\r\n footer={\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n cadastrarHeader={cadastrarHeader}\r\n editarHeader={editarHeader}\r\n />\r\n }\r\n >\r\n \r\n {\r\n handleInputNome(e);\r\n }}\r\n />\r\n {\r\n handleInputValor(e);\r\n }}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ isEditar, onClick, cadastrarHeader, editarHeader }) => {\r\n return (\r\n <>\r\n \r\n Cancelar\r\n \r\n \r\n Salvar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCadastarWebhookEventHeader;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n","import {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React, { useState } from 'react';\r\n\r\nimport { MdDelete, MdEdit, MdRemoveRedEye } from 'react-icons/md';\r\nimport { IoMdEyeOff } from 'react-icons/io';\r\nimport theme from '../../../styles/theme';\r\nimport { ButtonActions, HoverActions } from './styles';\r\n\r\nconst TableCadastroWebHookEventHeaderBodyRow = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarHeader,\r\n setOpenModalDeletarHeader,\r\n header,\r\n}) => {\r\n const [mostrarValor, setMostarValor] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n {header.name}\r\n \r\n {mostrarValor ? header.value : '*******'}\r\n \r\n \r\n {header.createdAt\r\n ? format(new Date(header.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {header.createdUser}\r\n \r\n \r\n \r\n \r\n {\r\n setMostarValor(!mostrarValor);\r\n }}\r\n background={theme.greenDefault}\r\n >\r\n {mostrarValor ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setIsEditarModal(header);\r\n setOpenModalCadastrarHeader(true);\r\n }}\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalDeletarHeader({\r\n isOpen: true,\r\n eventId: header.id,\r\n })\r\n }\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookEventHeaderBodyRow;\r\n","import { TableCell, TableRow } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport TableCadastroWebHookEventHeaderBodyRow from './TableCadastroWebHookEventHeaderBodyRow';\r\n\r\nconst TableCadastroWebHookEventHeaderBody = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarHeader,\r\n setOpenModalDeletarHeader,\r\n}) => {\r\n const { getWebhookEventHeaderList } = useSelector(\r\n (state) => state.webhookEventHeaderIntegration\r\n );\r\n\r\n const headers = getWebhookEventHeaderList.data;\r\n\r\n if (headers && headers.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getWebhookEventHeaderList.loading) {\r\n return ;\r\n }\r\n\r\n return headers.map((header) => (\r\n \r\n ));\r\n};\r\n\r\nexport default TableCadastroWebHookEventHeaderBody;\r\n","import React from 'react';\r\n\r\nimport { TableRow } from '@unimed-fesp/components';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, ScrollBar, Table, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookEventHeaderIntegrationActions } from '../../../store/ducks/webhookEventHeaderIntegration';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport ModalCadastarWebhookEventHeader from '../ModalCadastarWebhookEventHeader';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport TableCadastroWebHookEventHeaderBody from './TableCadastroWebHookEventHeaderBody';\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhookEventsHeader = ({ webhookEventId }) => {\r\n const dispatch = useDispatch();\r\n\r\n const [isEditarModal, setIsEditarModal] = useState(false);\r\n\r\n const [openModalCadastrarEvento, setOpenModalCadastrarEvento] =\r\n useState(false);\r\n\r\n const [openModalDeletarEvento, setOpenModalDeletarEvento] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n\r\n const {\r\n postWebhookEventHeader,\r\n putWebhookEventHeader,\r\n deleteWebhookEventHeader,\r\n getWebhookEventHeaderList,\r\n } = useSelector((state) => state.webhookEventHeaderIntegration);\r\n const headers = [\r\n {\r\n id: 2,\r\n title: 'Nome',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 3,\r\n title: 'Valor',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 4,\r\n title: 'Data de criação',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 5,\r\n title: 'Criado por',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n ];\r\n\r\n const deletarWebhookEventHeader = (webhookEventHeaderId) => {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.deleteWebhookEventHeaderRequest(\r\n webhookEventHeaderId\r\n )\r\n );\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n (!postWebhookEventHeader.loading && postWebhookEventHeader.success) ||\r\n (!putWebhookEventHeader.loading && putWebhookEventHeader.success) ||\r\n (!deleteWebhookEventHeader.loading && deleteWebhookEventHeader.success)\r\n ) {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.getWebhookEventHeadersListRequest(\r\n webhookEventId\r\n )\r\n );\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.postWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.putWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.deleteWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n }\r\n }, [\r\n postWebhookEventHeader.success,\r\n putWebhookEventHeader.success,\r\n deleteWebhookEventHeader.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.getWebhookEventHeadersListRequest(\r\n webhookEventId\r\n )\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n setOpenModalCadastrarEvento(true)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n Novo Header\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n setOpenModalCadastrarEvento(false)}\r\n webhookEventId={webhookEventId}\r\n setIsEditarModal={setIsEditarModal}\r\n />\r\n \r\n deletarWebhookEventHeader(openModalDeletarEvento.eventId)\r\n }\r\n onClick={() =>\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n text=\"O Header será excluído.\"\r\n textHeader=\"Excluir Header\"\r\n loading={getWebhookEventHeaderList.loading}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhookEventsHeader;\r\n","import {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React from 'react';\r\n\r\nimport { MdDelete, MdEdit, MdListAlt } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { TipoEventoWebhookEnum } from '../../../enums';\r\nimport theme from '../../../styles/theme';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { ButtonActions, HoverActions } from '../TableCadastroWebhook/styles';\r\n\r\nconst TableCadastroWebHookEventBody = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarEvento,\r\n setOpenModalDeletarEvento,\r\n openModalHeaders,\r\n}) => {\r\n const { getWebhookEventList } = useSelector(\r\n (state) => state.webhookEventIntegration\r\n );\r\n\r\n const events = getWebhookEventList.data;\r\n\r\n if (events && events.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getWebhookEventList.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n {events?.map((event) => (\r\n \r\n {event.url}\r\n \r\n {TipoEventoWebhookEnum.returnDescricao[event.eventCode]}\r\n \r\n \r\n {event.createdAt\r\n ? format(new Date(event.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {event.createdUser}\r\n \r\n \r\n \r\n \r\n {\r\n setIsEditarModal(event);\r\n setOpenModalCadastrarEvento(true);\r\n }}\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n openModalHeaders({\r\n isOpen: true,\r\n eventId: event.id,\r\n })\r\n }\r\n background={theme.greenDefault}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalDeletarEvento({\r\n isOpen: true,\r\n eventId: event.id,\r\n })\r\n }\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookEventBody;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n z-index: 1;\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { TableRow } from '@unimed-fesp/components';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, ScrollBar, Table, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookEventIntegrationActions } from '../../../store/ducks/webhookEventIntegration';\r\nimport { Creators as WebhookIntegrationActions } from '../../../store/ducks/webhookIntegration';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport ModalCadastarWebhookEvent from '../ModalCadastarWebhookEvent';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport ModalWebhookEventosHeaders from '../ModalWebhookEventosHeaders';\r\nimport TableCadastroWebhookEventsHeader from '../TableCadastroWebhookEventsHeader';\r\nimport TableCadastroWebHookEventBody from './TableCadastroWebHookEventBody';\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhookEvents = ({ webhookId }) => {\r\n const dispatch = useDispatch();\r\n\r\n const [isEditarModal, setIsEditarModal] = useState(false);\r\n const [openModalCadastrarEvento, setOpenModalCadastrarEvento] =\r\n useState(false);\r\n const [openModalEventoHeader, setOpenModalEventoHeader] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n const [openModalDeletarEvento, setOpenModalDeletarEvento] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n\r\n const {\r\n getWebhookEventList,\r\n putWebhookEventIntegration,\r\n postWebhookEvent,\r\n deleteWebhookEventIntegration,\r\n } = useSelector((state) => state.webhookEventIntegration);\r\n const headers = [\r\n {\r\n id: 2,\r\n title: 'URL',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 3,\r\n title: 'Evento',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 4,\r\n title: 'Data Criação',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 5,\r\n title: 'Criado por',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n ];\r\n\r\n const deletarWebhookEvent = (webhookEventId) => {\r\n dispatch(\r\n WebhookEventIntegrationActions.deleteWebhookEventIntegrationRequest(\r\n webhookEventId\r\n )\r\n );\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n (!postWebhookEvent.loading && postWebhookEvent.success) ||\r\n (!putWebhookEventIntegration.loading &&\r\n putWebhookEventIntegration.success) ||\r\n (!deleteWebhookEventIntegration.loading &&\r\n deleteWebhookEventIntegration.success)\r\n ) {\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(webhookId)\r\n );\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.postWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventIntegrationActions.putWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventIntegrationActions.deleteWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n }\r\n }, [\r\n postWebhookEvent.success,\r\n putWebhookEventIntegration.success,\r\n deleteWebhookEventIntegration.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (openModalCadastrarEvento) {\r\n dispatch(WebhookIntegrationActions.getWebhookListEventsRequest());\r\n }\r\n }, [openModalCadastrarEvento]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(webhookId)\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n setOpenModalCadastrarEvento(true)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n Novo Evento\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n setOpenModalCadastrarEvento(false)}\r\n setIsEditarModal={setIsEditarModal}\r\n />\r\n deletarWebhookEvent(openModalDeletarEvento.eventId)}\r\n onClick={() =>\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n text=\"O Evento será excluído.\"\r\n textHeader=\"Excluir Evento\"\r\n loading={getWebhookEventList.loading}\r\n />\r\n \r\n setOpenModalEventoHeader({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n titleModal=\"Headers eventos\"\r\n BodyModal={\r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhookEvents;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookIntegrationActions } from '../../../store/ducks/webhookIntegration';\r\nimport theme from '../../../styles/theme';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport ModalEventosWebhook from '../ModalEventosWebhook';\r\nimport TableCadastroWebhook from '../TableCadastroWebhook';\r\nimport TableCadastroWebHookBody from '../TableCadastroWebhook/TableCadastroWebHookBody';\r\nimport TableCadastroWebhookEvents from '../TableCadastroWebhookEvents';\r\n\r\nconst CadastroWebhook = () => {\r\n const dispatch = useDispatch();\r\n const { getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const [openModalDeletarConfiguracao, setOpenModalDeletarConfiguracao] =\r\n useState(false);\r\n\r\n const [openModalEventos, setOpenModalEventos] = useState(false);\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const dados = getWebhookConfiguration.data;\r\n\r\n const headers = [\r\n {\r\n id: 1,\r\n title: 'Código da Contratante',\r\n maxWidth: '100',\r\n minWidth: '50',\r\n },\r\n {\r\n id: 2,\r\n title: 'Data de criação',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n {\r\n id: 3,\r\n title: 'Criado por',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n dados?.updatedAt\r\n ? {\r\n id: 4,\r\n title: 'Data de atualização',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n }\r\n : null,\r\n dados?.updatedBy\r\n ? {\r\n id: 5,\r\n title: 'Atualizado por',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n }\r\n : null,\r\n IsAdm.toLowerCase() === 'true'\r\n ? {\r\n id: 6,\r\n title: 'Ativo',\r\n maxWidth: '50',\r\n minWidth: '50',\r\n }\r\n : null,\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '100',\r\n minWidth: '100',\r\n },\r\n ].filter(Boolean);\r\n\r\n useEffect(() => {\r\n dispatch(WebhookIntegrationActions.getWebhookConfigurationRequest());\r\n }, []);\r\n\r\n const deletarWebhook = (idWebhook) => {\r\n dispatch(\r\n WebhookIntegrationActions.deleteWebhookIntegrationRequest(idWebhook)\r\n );\r\n setOpenModalDeletarConfiguracao(false);\r\n };\r\n\r\n const toggleWebhook = (params) =>\r\n dispatch(WebhookIntegrationActions.putWebhookIntegrationRequest(params));\r\n\r\n const adicionarNovaConfiguracao = () =>\r\n dispatch(WebhookIntegrationActions.postWebhookIntegrationRequest());\r\n\r\n if (getWebhookConfiguration.loading) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n\r\n {dados ? (\r\n \r\n setOpenModalDeletarConfiguracao(true)}\r\n toggleWebhook={toggleWebhook}\r\n openModalEventos={() => setOpenModalEventos(true)}\r\n />\r\n }\r\n />\r\n {IsAdm.toLowerCase() === 'false' && !dados.isActive && (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n \r\n adicionarNovaConfiguracao()}\r\n >\r\n \r\n Nova configuração\r\n \r\n \r\n \r\n )}\r\n deletarWebhook(dados.id)}\r\n onClick={() => setOpenModalDeletarConfiguracao(false)}\r\n text=\"Ao excluir a configuração, todos os cabeçalhos e valores serão permanentemente removidos.\"\r\n textHeader=\"Excluir configuração\"\r\n loading={getWebhookConfiguration.loading}\r\n />\r\n setOpenModalEventos(false)}\r\n titleModal=\"Eventos Webhook\"\r\n BodyModal={}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CadastroWebhook;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n\r\n${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import produce from 'immer';\r\nimport React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport { Container } from './styles';\r\n\r\nconst InputForm = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n marginLeft,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n />\r\n );\r\n};\r\n\r\nexport default InputForm;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n ${({ errorUsuario }) =>\r\n errorUsuario\r\n ? css`\r\n background-color: ${theme.white} !important;\r\n border: 1px solid ${theme.redLight} !important;\r\n `\r\n : ''}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.grey}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.div`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n`;\r\n\r\nexport const IconValidation = styled.span`\r\n cursor: pointer;\r\n margin: 16px 16px;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n margin-bottom: 0;\r\n width: 100%;\r\n position: absolute;\r\n\r\n svg {\r\n ${({ showIconError }) =>\r\n showIconError\r\n ? css`\r\n fill: ${theme.redLight};\r\n `\r\n : css`\r\n fill: ${theme.greenDefault};\r\n `}\r\n }\r\n`;\r\n","/* eslint-disable no-nested-ternary */\r\nimport produce from 'immer';\r\nimport React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { Container, ErrorMessage, IconValidation } from './styles';\r\n\r\nconst InputFormLogin = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n errorUsuario,\r\n showOnBlur,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n errorUsuario={errorUsuario}\r\n />\r\n {error ? (\r\n <>\r\n \r\n \r\n \r\n {error}\r\n \r\n ) : showOnBlur ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default InputFormLogin;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n margin-top: 9px;\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n }\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n background-color: ${theme.white} !important;\r\n border: 1px solid ${theme.redLight} !important;\r\n `\r\n : ''}\r\n\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.grey}`};\r\n }\r\n }\r\n\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const IconEye = styled.span`\r\n cursor: pointer;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n ${({ isLogin }) =>\r\n isLogin\r\n ? css`\r\n margin: 20px -37px;\r\n `\r\n : css`\r\n margin: 9px -37px;\r\n `}\r\n margin-bottom: 0;\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 100%;\r\n `}\r\n\r\n position: absolute;\r\n\r\n svg {\r\n fill: ${theme.grey};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n ;\r\n `}\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.div`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight}px;\r\n `\r\n : css`\r\n padding-right: 465px;\r\n `}\r\n`;\r\n\r\nexport const IconValidation = styled.span`\r\n margin: 16px 16px;\r\n visibility: hidden;\r\n cursor: pointer;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n margin-bottom: 0;\r\n position: absolute;\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 100%;\r\n `}\r\n\r\n svg {\r\n ${({ showIconError }) =>\r\n showIconError\r\n ? css`\r\n fill: ${theme.redLight};\r\n visibility: visible;\r\n `\r\n : css`\r\n fill: ${theme.greenDefault};\r\n `}\r\n }\r\n`;\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisibility24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6c3.79 0 7.17 2.13 8.82 5.5C19.17 14.87 15.79 17 12 17s-7.17-2.13-8.82-5.5C4.83 8.13 8.21 6 12 6m0-2C7 4 2.73 7.11 1 11.5 2.73 15.89 7 19 12 19s9.27-3.11 11-7.5C21.27 7.11 17 4 12 4zm0 5c1.38 0 2.5 1.12 2.5 2.5S13.38 14 12 14s-2.5-1.12-2.5-2.5S10.62 9 12 9m0-2c-2.48 0-4.5 2.02-4.5 4.5S9.52 16 12 16s4.5-2.02 4.5-4.5S14.48 7 12 7z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisibility24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visibility-24px.a7ef89e8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisibilityOff24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisibilityOff24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visibility_off-24px.5c8bb2d7.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { IconEye, Container, ErrorMessage, IconValidation } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ReactComponent as Eye } from '../../../assets/icons/visibility-24px.svg';\r\nimport { ReactComponent as EyeOff } from '../../../assets/icons/visibility_off-24px.svg';\r\n\r\nimport LabelContainer from '../LabelContainer';\r\n\r\nexport default function InputPassword({\r\n name,\r\n value,\r\n placeholder,\r\n onClick,\r\n labelName,\r\n disabled,\r\n marginTop,\r\n marginLeft,\r\n marginBottom,\r\n width,\r\n height,\r\n isLogin,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n type,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n margin,\r\n errorSenha,\r\n display,\r\n paddingRight,\r\n eyeWidth,\r\n ...rest\r\n}) {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n\r\n const [values, setValues] = useState({\r\n password: '',\r\n showPassword: false,\r\n });\r\n\r\n const handleClickShowPassword = () => {\r\n setValues({ ...values, showPassword: !values.showPassword });\r\n };\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n \r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={values.showPassword ? 'text' : 'password'}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n errorSenha={errorSenha}\r\n />\r\n \r\n {values.showPassword ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {error ? (\r\n <>\r\n \r\n \r\n \r\n {error}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const ChangePasswordContainer = styled.div`\r\n padding: 12px 0 0 5px;\r\n width: 130px;\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { ImPencil } from 'react-icons/im';\r\nimport produce from 'immer';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport InputPassword from '../../molecules/InputPassword';\r\n\r\nimport { Container, ChangePasswordContainer } from './styles';\r\n\r\nfunction SenhaBox({\r\n params,\r\n setParams,\r\n errorSenha,\r\n errorNovaSenha,\r\n errorConfirmacaoSenha,\r\n paddingRight,\r\n eyeWidth,\r\n}) {\r\n const [newPassword, setNewPassword] = useState(false);\r\n const handleChangePassword = () => {\r\n setNewPassword(!newPassword);\r\n };\r\n function handleInput(e) {\r\n const { name, value } = e.target;\r\n\r\n const newParams = produce(params, (draft) => {\r\n draft[name] = value;\r\n });\r\n\r\n setParams(newParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n handleInput(e)}\r\n marginTop=\"9\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"senha\"\r\n labelName=\"Senha\"\r\n value={params.senha}\r\n isLogin\r\n errorSenha={errorSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n {newPassword ? (\r\n <>\r\n handleInput(e)}\r\n placeholder=\"Insira a nova senha\"\r\n name=\"novaSenha\"\r\n value={params.novaSenha}\r\n isLogin\r\n width=\"400\"\r\n height=\"40\"\r\n errorSenha={errorNovaSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n handleInput(e)}\r\n placeholder=\"Insira a confirmação da nova senha\"\r\n name=\"confirmacaoSenha\"\r\n value={params.confirmacaoSenha}\r\n isLogin\r\n width=\"400\"\r\n height=\"40\"\r\n errorSenha={errorConfirmacaoSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default SenhaBox;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Text, CanAccess, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\n// #region Importação Componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport InputForm from '../../atoms/InputForm';\r\nimport InputFormLogin from '../../atoms/InputFormLogin';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport SenhaBox from '../SenhaBox';\r\n// #endregion\r\n\r\nconst DadosAcesso = ({\r\n usuarioParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n errorSenha,\r\n errorNovaSenha,\r\n errorConfirmacaoSenha,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n function handleInput(e, status) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleInput(e, 'nome')}\r\n disabled\r\n marginTop=\"9\"\r\n width=\"633\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n />\r\n \r\n \r\n \r\n handleInput(e, 'email')}\r\n disabled\r\n marginTop=\"9\"\r\n width=\"458\"\r\n height=\"40\"\r\n placeholder=\"Informe o e-mail do usuário\"\r\n name=\"email\"\r\n value={dadosAcessoParams.email}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { IoIosCheckmarkCircleOutline } from 'react-icons/io';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Hr = styled.hr`\r\n border-color: #f2f2f2;\r\n opacity: 0.1;\r\n width: 100%;\r\n`;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n ${({ type }) =>\r\n type === 'PendenteLiberacao'\r\n ? css`\r\n color: ${theme.yellowDefault};\r\n `\r\n : type === 'Ativo'\r\n ? css`\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const UnlockWarning = styled(RiErrorWarningLine)`\r\n color: ${theme.yellowDefault};\r\n width: 25px;\r\n height: 25px;\r\n`;\r\n\r\nexport const CheckWarning = styled(IoIosCheckmarkCircleOutline)`\r\n color: ${theme.greenDefault};\r\n width: 25px;\r\n height: 25px;\r\n`;\r\n\r\nexport const ReSendContainer = styled.div`\r\n margin: 30px 0 0 5px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n`;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Text,\r\n Badge,\r\n Dropdown,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Hr } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { isAdmin } from '../../../utils/userRole';\r\nimport useParametrizazao from '../../../hooks/useParametrizazao';\r\n\r\n// #region Importação Componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport InputFormLogin from '../../atoms/InputFormLogin';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n// #endregion\r\n\r\nconst DadosGerais = ({\r\n usuarioParams,\r\n setUsuarioParams,\r\n usuarioDadosGerais,\r\n contatoParams,\r\n setContatoParams,\r\n disableNameInput,\r\n useField,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerPerfil = useField('perfil').registerField;\r\n\r\n const { handleRemoveAllCards } = useParametrizazao(\r\n usuarioDadosGerais?.idUsuario\r\n );\r\n\r\n function handleSelectedPerfil(e) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.permissao !== e.target.dataset.text)\r\n draft.permissao = e.target.dataset.text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"623\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n disabled={disableNameInput}\r\n />\r\n \r\n {isAdmin(usuario?.role) && (\r\n <>\r\n \r\n {\r\n TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n usuarioDadosGerais.tipoPerfil\r\n ]\r\n }\r\n \r\n \r\n {usuarioDadosGerais?.roles?.map((role) => {\r\n const IS_ADM =\r\n role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n return (\r\n !IS_ADM && handleRemoveAllCards()}\r\n />\r\n );\r\n })}\r\n \r\n \r\n )}\r\n
    \r\n \r\n \r\n setContatoParams({\r\n contatos,\r\n })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nexport default EmptyContent;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { isContratante, isOldAdmin } from '../../../utils/userRole';\r\n\r\n// #region Importação Componentes\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\nimport {\r\n TabActionWrapper,\r\n TabButton,\r\n TabContainer,\r\n TabContentWrapper,\r\n} from '../../molecules/Tab';\r\nimport ParametrizacaoContratantes from '../ParametrizacaoContratantes';\r\nimport CadastroWebhook from './CadastroWebhook';\r\nimport DadosAcesso from './DadosAcesso';\r\nimport DadosGerais from './DadosGerais';\r\nimport EmptyContent from './EmptyContent';\r\n// #endregion\r\n\r\nfunction TabsFormConfiguracoes({\r\n usuarioParams,\r\n setUsuarioParams,\r\n contatoParams,\r\n setContatoParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosGerais,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n handleActiveTab,\r\n disableNameInput,\r\n useField,\r\n}) {\r\n const {\r\n accessToken,\r\n usuario: { idUsuarioLogado, role },\r\n } = useSelector((state) => state.auth);\r\n\r\n const errorSenha = useField('senha').error;\r\n const errorNovaSenha = useField('novaSenha').error;\r\n const errorConfirmacaoSenha = useField('confirmacaoSenha').error;\r\n\r\n function handleRenderTable(tabName = null) {\r\n if (usuarioDadosGerais.loading) {\r\n return ;\r\n }\r\n if (usuarioDadosGerais.response) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n handleActiveTab('dadosGerais')}\r\n />\r\n handleActiveTab('dadosAcesso')}\r\n />\r\n {!isOldAdmin(accessToken) && !isContratante(role) && (\r\n handleActiveTab('parametros')}\r\n />\r\n )}\r\n handleActiveTab('cadastroWebhook')}\r\n />\r\n \r\n \r\n {handleRenderTable()}\r\n \r\n \r\n \r\n \r\n {!isOldAdmin(accessToken) && !isContratante(role) && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TabsFormConfiguracoes;\r\n","export const senhaPattern = {\r\n pattern:\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n message:\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos',\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\r\nimport { useDispatch, useSelector, batch } from 'react-redux';\r\nimport { Form } from '@unform/web';\r\nimport { useField } from '@unform/core';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport { isEqual } from 'lodash';\r\nimport * as Yup from 'yup';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n isValidMesmoTelefone,\r\n isValidMesmoCelular,\r\n validationPattern,\r\n} from '../../utils/validation';\r\nimport { isContratante } from '../../utils/userRole';\r\n\r\nimport {\r\n TipoTelefoneEnum,\r\n PermissaoContratanteEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport TabsFormConfiguracoes from '../../components/organisms/TabsFormConfiguracoes';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\nimport ModalError from '../../components/organisms/ModalError';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\nimport { senhaPattern } from '../../utils/patterns';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nimport useParametrizacao from '../../hooks/useParametrizazao';\r\n\r\nfunction Configuracoes() {\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const { idUsuarioLogado, role } = useSelector((state) => state.auth.usuario);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const {\r\n getUsuarioById,\r\n getContatoById,\r\n getDadosAcessoById,\r\n patchDadosGerais,\r\n patchDadosAcesso,\r\n patchSenha,\r\n } = useSelector((state) => state.usuario);\r\n const { salvarParametrizacao, hasAlteracao } = useParametrizacao(\r\n idUsuarioLogado,\r\n role\r\n );\r\n\r\n const passwordSchema = Yup.object().shape({\r\n senha: Yup.string().trim().required('Necessário preencher a senha atual.'),\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n validationPattern.password.regexValidate,\r\n 'A nova senha não atende as especificações.'\r\n )\r\n .matches(\r\n validationPattern.password.symbolValidate,\r\n 'É necessário ao menos um símbolo para a nova senha.'\r\n )\r\n .trim()\r\n .matches(senhaPattern.pattern, senhaPattern.message)\r\n .notOneOf([Yup.ref('senha')], 'A nova senha deve ser diferente da atual')\r\n .required('Necessário preencher a nova senha.'),\r\n confirmacaoSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n validationPattern.password.regexValidate,\r\n 'A confirmação de senha não atende as especificações.'\r\n )\r\n .matches(\r\n validationPattern.password.symbolValidate,\r\n 'É necessário ao menos um símbolo para a nova senha.'\r\n )\r\n .matches(senhaPattern.pattern, senhaPattern.message)\r\n .oneOf(\r\n [Yup.ref('novaSenha')],\r\n 'A confirmação de senha deve ser igual a nova senha'\r\n )\r\n .notOneOf(\r\n [Yup.ref('senha')],\r\n 'A confirmação de senha deve ser diferente da atual'\r\n )\r\n .required('Necessário preencher a confirmação senha.'),\r\n });\r\n\r\n const editarUsuarioParam = {\r\n idUsuario: parseInt(idUsuarioLogado, 10),\r\n nome: getUsuarioById.response.nome || '',\r\n matricula: getUsuarioById.response.matricula || '',\r\n tipoPerfil: getUsuarioById.response.tipoPerfil || '',\r\n permissao:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n getUsuarioById.response.tipoPerfil\r\n ] || '',\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const editarDadosAcessoParams = {\r\n nome: getDadosAcessoById.response.nome || '',\r\n email: getDadosAcessoById.response.email || '',\r\n senha: '',\r\n novaSenha: '',\r\n confirmacaoSenha: '',\r\n };\r\n\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [passwordParams, setPasswordParams] = useState();\r\n const [originalContatoParams, setOriginalContatoParams] = useState(\r\n editarContatosParams\r\n );\r\n const [dadosAcessoParams, setDadosAcessoParams] = useState(\r\n editarDadosAcessoParams\r\n );\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [modalError, setModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [activeTab, setActiveTab] = useState('dadosGerais');\r\n const [disableNameInput, setDisableNameInput] = useState(true);\r\n function IsStateChangeFromOriginal(prevState, newState) {\r\n return !isEqual(prevState, newState);\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.role === 'Adm') {\r\n setDisableNameInput(false);\r\n }\r\n batch(() => {\r\n dispatch(UsuarioActions.getUsuarioByIdRequest(idUsuarioLogado));\r\n dispatch(UsuarioActions.getContatoByIdRequest(idUsuarioLogado));\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuarioLogado));\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (getUsuarioById.response) setUsuarioParams(editarUsuarioParam);\r\n }, [getUsuarioById.response]);\r\n\r\n useEffect(() => {\r\n if (getContatoById.response.length > 0) {\r\n const contatos = [];\r\n getContatoById.response.map((contato) => {\r\n contatos.push({\r\n tipo: contato.tipoContato,\r\n numero: contato.nrDdd.toString().concat(contato.nrNumero),\r\n });\r\n });\r\n\r\n setOriginalContatoParams({ contatos });\r\n setContatoParams({ contatos });\r\n } else {\r\n setContatoParams(editarContatosParams);\r\n }\r\n }, [getContatoById.response]);\r\n\r\n useEffect(() => {\r\n if (getDadosAcessoById.response)\r\n setDadosAcessoParams(editarDadosAcessoParams);\r\n }, [getDadosAcessoById.response]);\r\n\r\n function IsSubmitDadosGerais() {\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n !IsStateChangeFromOriginal(originalContatoParams, contatoParams)\r\n ) {\r\n return IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams);\r\n }\r\n if (\r\n !IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n }\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) ||\r\n (IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n }\r\n\r\n function IsSubmitDadosAcesso() {\r\n return IsStateChangeFromOriginal(\r\n editarDadosAcessoParams,\r\n dadosAcessoParams\r\n );\r\n }\r\n\r\n const setButtonDisabledForTab = useCallback(\r\n (tabActive) => {\r\n const tabs = {\r\n dadosGerais: IsSubmitDadosGerais(),\r\n dadosAcesso: IsSubmitDadosAcesso(),\r\n parametros: hasAlteracao,\r\n };\r\n\r\n return tabs[tabActive];\r\n },\r\n [IsSubmitDadosAcesso, IsSubmitDadosGerais, hasAlteracao]\r\n );\r\n\r\n useEffect(() => {\r\n if (setButtonDisabledForTab(activeTab)) setIsButtonDisabled(false);\r\n else setIsButtonDisabled(true);\r\n }, [\r\n activeTab,\r\n usuarioParams,\r\n contatoParams,\r\n dadosAcessoParams,\r\n setButtonDisabledForTab,\r\n ]);\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function preparaDadosGerais(data) {\r\n const formUsuarioParams = {\r\n idUsuario: parseInt(idUsuarioLogado, 10),\r\n nome: data.nome,\r\n matricula: data.matricula ? data.matricula : '',\r\n tipoPerfil: TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil],\r\n permissao: data.permissao ? data.permissao : '',\r\n };\r\n\r\n const formContatoParams = {\r\n contatos: [],\r\n };\r\n\r\n if (data.contato?.length > 0)\r\n data.contato.map((c) => {\r\n formContatoParams.contatos.push({\r\n numero: c.numero,\r\n tipo: c.tipo,\r\n });\r\n });\r\n\r\n return { formUsuarioParams, formContatoParams };\r\n }\r\n\r\n function bindPermissaoToPerfil(data) {\r\n return TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil] !==\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm\r\n ? PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.permissao\r\n ]\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n }\r\n\r\n function dadosGeraisSubmit(data) {\r\n const { formUsuarioParams } = preparaDadosGerais(data);\r\n const formContatoParams = { contatos: [] };\r\n if (\r\n IsStateChangeFromOriginal(formUsuarioParams, editarUsuarioParam) ||\r\n (IsStateChangeFromOriginal(contatoParams, editarContatosParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n ) {\r\n formContatoParams.contatos = contatoParams.contatos.map((c) => {\r\n return {\r\n ddd: c.numero.substring(0, 2),\r\n numero: c.numero.substring(2),\r\n tipo: c.tipo,\r\n };\r\n });\r\n\r\n formUsuarioParams.tipoPerfil = bindPermissaoToPerfil(data);\r\n\r\n const { role } = usuario;\r\n if (isContratante(role)) {\r\n dispatch(\r\n UsuarioActions.patchRegistrarContatoRequest(\r\n formContatoParams,\r\n formUsuarioParams.idUsuario\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n UsuarioActions.patchDadosGeraisRequest(\r\n formUsuarioParams,\r\n formContatoParams\r\n )\r\n );\r\n }\r\n }\r\n\r\n // if (\r\n // IsStateChangeFromOriginal(\r\n // formContatoParams,\r\n // editarContatosParams\r\n // ) &&\r\n // formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n // formContatoParams.contatos.every((c) =>\r\n // isValidContato(c.numero, c.tipo)\r\n // )\r\n // ) {\r\n // formContatoParams.contatos.map((c) => {\r\n // c.ddd = c.numero.substring(0, 2);\r\n // c.numero = c.numero.substring(2);\r\n // });\r\n\r\n // dispatch(\r\n // UsuarioActions.patchRegistrarContatoRequest(\r\n // formContatoParams,\r\n // idUsuarioLogado\r\n // )\r\n // );\r\n // }\r\n }\r\n\r\n async function dadosAcessoSubmit(data) {\r\n try {\r\n // if (isAdmin(usuario.role) && data.email !== '') {\r\n // await schema.validate(data, {\r\n // abortEarly: false,\r\n // });\r\n\r\n // const params = {\r\n // email: data.email,\r\n // idUsuario: idUsuarioLogado,\r\n // };\r\n // console.log(params);\r\n // // dispatch(UsuarioActions.patchDadosAcessoRequest(params));\r\n // }\r\n\r\n await passwordSchema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n setPasswordParams({ senha: data.novaSenha });\r\n dispatch(\r\n UsuarioActions.patchSenhaRequest(\r\n idUsuarioLogado,\r\n data.senha,\r\n data.novaSenha,\r\n data.confirmacaoSenha\r\n )\r\n );\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n function handleSubmit(data) {\r\n switch (activeTab) {\r\n case 'dadosGerais':\r\n dadosGeraisSubmit(data);\r\n break;\r\n case 'dadosAcesso':\r\n dadosAcessoSubmit(data);\r\n break;\r\n case 'parametros':\r\n salvarParametrizacao();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById(idUsuario, tipoAcao) {\r\n const params = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n const actionUsuario = setUsuarioActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n if (patchDadosGerais.success)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n if (patchSenha.success) dispatch(UsuarioActions.patchSenhaRenew());\r\n if (patchDadosAcesso.success)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n }\r\n\r\n function handleModalError() {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n\r\n if (patchDadosGerais.isError)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n if (patchSenha.isError) dispatch(UsuarioActions.patchSenhaRenew());\r\n if (patchDadosAcesso.isError)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n }\r\n\r\n function redirectTo() {\r\n history.push('/novo/lista');\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n setActiveTab(tab);\r\n }\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n }, [patchDadosGerais.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados gerais realizada.',\r\n });\r\n }, [patchDadosGerais.success]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.isError) {\r\n const OLD_USER_MESSAGE =\r\n 'Usuário no padrão antigo, entre em contato com o setor de Cadastro para criar um novo usuário.';\r\n\r\n const message =\r\n patchSenha.error[0] === OLD_USER_MESSAGE\r\n ? OLD_USER_MESSAGE\r\n : 'erro ao alterar a senha.';\r\n\r\n setModalError({\r\n error: !modalError.error,\r\n message,\r\n });\r\n }\r\n }, [patchSenha.isError]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de senha realizada.',\r\n });\r\n\r\n const renewSessionParams = {\r\n userId: usuario.login,\r\n password: passwordParams.senha,\r\n // userType: usuario.role,\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(renewSessionParams));\r\n }\r\n }, [patchSenha.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.isError) {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao alterar os dados de acesso.',\r\n });\r\n }\r\n }, [patchDadosAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados de acesso realizada.',\r\n });\r\n }, [patchDadosAcesso.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/configuracoes'),\r\n },\r\n ]}\r\n />\r\n
    \r\n \r\n \r\n \r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Configuracoes;\r\n","import styled, { css, keyframes } from 'styled-components';\r\nimport {\r\n MdError,\r\n MdCheckCircle,\r\n MdCancel,\r\n MdHelp,\r\n MdNotInterested,\r\n} from 'react-icons/md';\r\n\r\nimport themes from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const TableContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n width: 100%;\r\n\r\n max-height: ${({ maxHeight }) => maxHeight || '540px'};\r\n min-height: ${({ minHeight }) => minHeight || '280px'};\r\n\r\n height: ${({ height }) => height || '100%'};\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n overflow-x: scroll;\r\n\r\n ::-webkit-scrollbar {\r\n border-radius: 3px;\r\n height: 6px;\r\n width: 800px;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n border-radius: 4px;\r\n }\r\n\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background: ${themes.grey};\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 500 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: ${themes.titleGray};\r\n opacity: 1;\r\n align-items: center;\r\n justify-content: center;\r\n display: flex;\r\n margin-top: 80px;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const IconWarning = styled(MdError)`\r\n height: 22.52px;\r\n width: 22.52px;\r\n fill: ${themes.yellowDefault};\r\n margin-right: 7px;\r\n`;\r\n\r\nexport const IconAccepted = styled(MdCheckCircle)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n fill: ${themes.greenDefault};\r\n margin-right: 8px;\r\n`;\r\nexport const IconError = styled(MdCancel)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n fill: ${themes.red};\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const IconOptional = styled(MdHelp)`\r\n height: 22.3px;\r\n width: 22.3px;\r\n fill: ${themes.blueDefault};\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const IconNotSend = styled(MdNotInterested)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const Text = styled.span`\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''}\r\n\r\n ${({ cursorPointer }) =>\r\n cursorPointer\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : css`\r\n cursor: not-allowed;\r\n `}\r\n`;\r\n\r\nexport const WrapperContentTable = styled.div`\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width} !important;\r\n `\r\n : ''}\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { TableContentWrapper, ContainerEmptyContent } from './styles';\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nexport default EmptyContent;\r\n","import React from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { TableRow, WrapperFlex, TableHeader } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst TableDocumentosHeader = ({ header }) => {\r\n return (\r\n \r\n \r\n Beneficiário\r\n \r\n {header.map((doc) => (\r\n \r\n \r\n {doc.tipoDocumento}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableDocumentosHeader;\r\n","import React from 'react';\r\n\r\nimport {\r\n Text,\r\n IconError,\r\n IconWarning,\r\n IconNotSend,\r\n IconAccepted,\r\n IconOptional,\r\n WrapperContentTable,\r\n} from './styles';\r\n\r\nconst ConteudoPorStatus = ({\r\n idLista,\r\n idArquivo,\r\n statusDocumento,\r\n handleModalDetalheDocumento,\r\n beneficiario,\r\n tipoDocumento,\r\n}) => {\r\n const ContentStatus = {\r\n EmValidacao: {\r\n Icon: ,\r\n Text: (\r\n \r\n Pendente de validação\r\n \r\n ),\r\n },\r\n Aceito: {\r\n Icon: ,\r\n Text: (\r\n \r\n Aceito\r\n \r\n ),\r\n },\r\n Recusado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Recusado\r\n \r\n ),\r\n },\r\n NaoEnviado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Não Enviado\r\n \r\n ),\r\n },\r\n EnvioOpcional: {\r\n Icon: ,\r\n Text: (\r\n \r\n Envio Opcional\r\n \r\n ),\r\n },\r\n 'Envio Obrigatório': {\r\n Icon: ,\r\n Text: (\r\n \r\n Não Enviado\r\n \r\n ),\r\n },\r\n 'Envio Opcional': {\r\n Icon: ,\r\n Text: (\r\n \r\n Envio Opcional\r\n \r\n ),\r\n },\r\n Aprovado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Aceito\r\n \r\n ),\r\n },\r\n Reprovado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Recusado\r\n \r\n ),\r\n },\r\n };\r\n\r\n function handleIconPorStatus() {\r\n return ContentStatus[statusDocumento].Icon;\r\n }\r\n function handleTextPorStatus() {\r\n return ContentStatus[statusDocumento].Text;\r\n }\r\n\r\n return (\r\n \r\n handleModalDetalheDocumento(\r\n idArquivo,\r\n idLista,\r\n beneficiario.id,\r\n beneficiario?.idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n )\r\n }\r\n >\r\n {handleIconPorStatus()}\r\n {handleTextPorStatus()}\r\n \r\n );\r\n};\r\n\r\nexport default ConteudoPorStatus;\r\n","import React from 'react';\r\nimport { TableCell } from '@unimed-fesp/components';\r\n\r\nimport ConteudoPorStatus from './ConteudoPorStatus';\r\n\r\nconst TableContent = ({\r\n idLista,\r\n headers,\r\n handleModalDetalheDocumento,\r\n beneficiario,\r\n}) => {\r\n return (\r\n <>\r\n {headers.map((header) => {\r\n const actualDocument = beneficiario?.documentos.find(\r\n (documento) => documento.tipoDocumento === header.tipoDocumento\r\n );\r\n if (actualDocument) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return -;\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableContent;\r\n","import React, { useEffect } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TableContentWrapper, ContentWrapper } from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableDocumentosHeader from './TableDocumentosHeader';\r\nimport TableContent from './TableContent';\r\n\r\nconst DocumentosBeneficiarios = ({\r\n idLista,\r\n headers,\r\n filteredBeneficiarios,\r\n handleModalDetalheDocumento,\r\n\r\n pageData,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n hasPagination,\r\n}) => {\r\n useEffect(() => {\r\n if (hasPagination) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = pageData.total;\r\n\r\n return draft;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [hasPagination, pageData, paginationParams, setPaginationParams]);\r\n\r\n return (\r\n \r\n \r\n \r\n }>\r\n {filteredBeneficiarios.map((beneficiario) => (\r\n \r\n {beneficiario?.nome}\r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {hasPagination && pageData.size > 10 && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default DocumentosBeneficiarios;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport { stringify } from 'qs';\r\nimport { TableContentWrapper } from './styles';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport EmptyContent from './EmptyContent';\r\nimport DocumentosBeneficiarios from './DocumentosBeneficiarios';\r\n\r\nfunction TableDocumentos({\r\n idLista,\r\n headers,\r\n beneficiarios,\r\n loading,\r\n handleModalDetalheDocumento,\r\n\r\n pageData,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n hasPagination = true,\r\n}) {\r\n if (loading) {\r\n return (\r\n \r\n ;\r\n \r\n );\r\n }\r\n\r\n if (!headers || headers.length <= 0) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default TableDocumentos;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ContentWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\r\n`;\r\nexport const FileWrapper = styled.div`\r\n width: 896px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin: 10px;\r\n padding: 20px;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const FileHeader = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n width: 100%;\r\n margin: 20px 0 20px 0;\r\n`;\r\nexport const FileContent = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const FileContentWrapper = styled.div`\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const BadgesContainer = styled.div`\r\n display: flex;\r\n font-size: 12px;\r\n color: #ffff;\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n text-align: left;\r\n align-items: center;\r\n align-content: baseline;\r\n justify-content: space-between;\r\n padding: 5px;\r\n min-height: 30px;\r\n max-width: 200px;\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n ${({ margin }) =>\r\n margin &&\r\n css`\r\n margin: ${margin}px;\r\n `};\r\n\r\n ${({ cursorPointer }) =>\r\n cursorPointer &&\r\n css`\r\n cursor: pointer;\r\n `};\r\n`;\r\n\r\nexport const BadgesHeaderContainer = styled.span`\r\n font-family: 'unimed_slabbold';\r\n padding-right: 4%;\r\n text-align: center;\r\n`;\r\n\r\nexport const BadgesContentContainer = styled.span`\r\n float: right;\r\n font-size: 13px;\r\n max-width: 80px;\r\n word-break: break-word;\r\n\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { AiOutlineClose } from 'react-icons/ai';\r\n\r\nimport {\r\n BadgesContainer,\r\n BadgesHeaderContainer,\r\n BadgesContentContainer,\r\n} from './styles';\r\n\r\nfunction Badges({ children, margin, remove, onClick, cursorPointer }) {\r\n return (\r\n \r\n {children}\r\n {remove && }\r\n \r\n );\r\n}\r\n\r\nfunction BadgesHeader({ children }) {\r\n return {children};\r\n}\r\n\r\nfunction BadgesContent({ children }) {\r\n return {children};\r\n}\r\n\r\nexport { Badges, BadgesHeader, BadgesContent };\r\n","export function downloadFile(base64, filename) {\r\n // const temp = `${encodeURIComponent(base64)}`;\r\n const download = document.createElement('a');\r\n download.href = base64;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n}\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgReplyAll24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 8V5l-7 7 7 7v-3l-4-4 4-4zm6 1V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgReplyAll24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/reply_all-24px.f864c1a5.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { MdCancel } from 'react-icons/md';\r\nimport { IoIosCheckmarkCircle } from 'react-icons/io';\r\n\r\nimport { ReactComponent as ReplyAll } from '../../../assets/icons/reply_all-24px.svg';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { isContratante } from '../../../utils/userRole';\r\n\r\nconst ModalFooter = ({\r\n idStatusLista,\r\n onAceitar,\r\n onRecusar,\r\n onCancelar,\r\n reenviarDocumento,\r\n esconderBtnReenviar,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n {isContratante(usuario.role) && !esconderBtnReenviar && (\r\n reenviarDocumento()}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n \r\n reenviar documento\r\n \r\n )}\r\n {!isContratante(usuario.role) && idStatusLista === 16 && (\r\n <>\r\n \r\n \r\n recusar\r\n \r\n \r\n \r\n aceitar\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport {\r\n Text,\r\n Modal,\r\n Button,\r\n WrapperFlex,\r\n FilePreview,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdFileDownload } from 'react-icons/md';\r\n\r\nimport {\r\n ContentWrapper,\r\n FileWrapper,\r\n FileHeader,\r\n FileContent,\r\n FileContentWrapper,\r\n} from './styles';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport CustomScrollbars from '../../molecules/CustomScrollBars';\r\n\r\nimport { Badges } from '../../atoms/Badges';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { downloadFile } from '../../../utils/base64Picture';\r\n\r\nimport { TipoDocumentoEnum } from '../../../enums';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nfunction ModalDetalheDocumento({\r\n isOpen,\r\n onAceitar,\r\n onRecusar,\r\n onCloseModal,\r\n documentoPreview,\r\n reenviarDocumento,\r\n\r\n tipoDocumento,\r\n statusDocumento,\r\n idStatusLista,\r\n\r\n esconderBtnReenviar = false,\r\n}) {\r\n const prepareBase64File = useCallback((extension, base64File) => {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n };\r\n\r\n if (extension) {\r\n if (extension.includes('.'))\r\n return types[extension.split('.')[1]?.toUpperCase()];\r\n\r\n if (Object.keys(types).includes(extension?.toUpperCase()))\r\n return types[extension?.toUpperCase()];\r\n }\r\n return null;\r\n }, []);\r\n\r\n return (\r\n \r\n {TipoDocumentoEnum.returnNameFormattedPorSigla[tipoDocumento]}:{' '}\r\n {documentoPreview.response?.nome}\r\n \r\n }\r\n footer={\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {statusDocumento === 'Recusado' ||\r\n (statusDocumento === 'Reprovado' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {documentoPreview.response?.arquivoConferencia && (\r\n \r\n \r\n \r\n downloadFile(\r\n prepareBase64File(\r\n documentoPreview.response?.documentoExtensao,\r\n documentoPreview.response?.arquivoConferencia\r\n ),\r\n `${documentoPreview.response?.arquivoConferenciaNome}`\r\n )\r\n }\r\n >\r\n Download\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n downloadFile(\r\n prepareBase64File(\r\n documentoPreview.response?.documentoExtensao,\r\n documentoPreview.response?.documento\r\n ),\r\n `${documentoPreview.response?.cpf}_${tipoDocumento}`\r\n )\r\n }\r\n font=\"16px unimed_slabregular\"\r\n background=\"rgba(242,242,242,1)\"\r\n >\r\n \r\n download\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalDetalheDocumento;\r\n","import React, { useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport produce from 'immer';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport {\r\n Modal,\r\n Button,\r\n TextArea,\r\n InputFile,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { WarningToast } from '../../molecules/Toast';\r\n\r\nimport { Badges } from '../../atoms/Badges';\r\n\r\nimport { getBase64 } from '../../../utils/array';\r\n\r\nfunction ModalMotivoRecusa({\r\n isOpen,\r\n onClick,\r\n onClickEnviar,\r\n idArquivo,\r\n hasObrigatoriedadeFile,\r\n}) {\r\n const motivoRecusaParams = {\r\n motivoRecusa: null,\r\n };\r\n\r\n const [files, setFiles] = useState([]);\r\n const [motivoRecusa, setMotivoRecusa] = useState(motivoRecusaParams);\r\n\r\n function handlerInputError(errors) {\r\n if (errors.fileErrors.length > 0) {\r\n if (errors.fileErrors[0].error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo ultrapassou o limite máximo de 5mb\r\n \r\n );\r\n } else if (errors.fileErrors[0].error.hasNoContent) {\r\n toast.error(O arquivo não possui conteúdo);\r\n } else if (errors.fileErrors[0].error.hasValidExtension) {\r\n toast.error(\r\n \r\n O arquivo enviado não possui uma extensão válida\r\n \r\n );\r\n } else if (errors.hasMaxQuantity) {\r\n toast.error(\r\n Deve-se enviar apenas 1 arquivo\r\n );\r\n }\r\n }\r\n }\r\n\r\n function removeFile(idFile) {\r\n const newFiles = produce(files, (draft) => {\r\n draft = draft.filter((file) => file.idFile !== idFile);\r\n\r\n return draft;\r\n });\r\n setFiles(newFiles);\r\n }\r\n\r\n function handleInputChange(e, status) {\r\n const newMotivoRecusaParams = produce(motivoRecusaParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n setMotivoRecusa(newMotivoRecusaParams);\r\n }\r\n\r\n async function handleFile(file) {\r\n const base64 = await getBase64(file);\r\n return {\r\n file,\r\n name: file.name,\r\n readableSize: file.size,\r\n preview: URL.createObjectURL(file),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n url: null,\r\n base64,\r\n idFile: uuidv4(),\r\n };\r\n }\r\n\r\n function handleValidations(filesInput) {\r\n const maxSizeFiles = 5242880;\r\n const maxQuantityFiles = 1;\r\n\r\n const validExtension = [\r\n 'txt',\r\n 'doc',\r\n 'docx',\r\n 'xls',\r\n 'xlsx',\r\n 'jpg',\r\n 'jpeg',\r\n 'png',\r\n 'tiff',\r\n 'pdf',\r\n ];\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n const filteredFiles = filesInput.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (item.readableSize > maxSizeFiles) errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (filesInput.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n filesInput.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, item });\r\n });\r\n\r\n handlerInputError({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n\r\n return filteredFiles;\r\n }\r\n\r\n return (\r\n motivo de recusa de documentos}\r\n footer={\r\n {\r\n const params = {\r\n idArquivo,\r\n statusConferencia: 'Recusado',\r\n mensagemConferencia: motivoRecusa.motivoRecusa,\r\n arquivoConferencia: files[0]?.base64,\r\n extensaoArquivoConferencia: files[0]?.name.split('.')[1],\r\n };\r\n\r\n onClickEnviar(params);\r\n setFiles([]);\r\n setMotivoRecusa(motivoRecusaParams);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n {\r\n handleInputChange(e, 'motivoRecusa');\r\n }}\r\n name=\"motivoRecusa\"\r\n width={860}\r\n height={170}\r\n value={motivoRecusa.motivoRecusa}\r\n />\r\n \r\n \r\n {files.map((file) => (\r\n removeFile(file.idFile)}>\r\n {file.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({\r\n onClick,\r\n isDisabledBtnEnviar,\r\n handleRecusarArquivo,\r\n}) => {\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n handleRecusarArquivo()}\r\n >\r\n enviar\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalMotivoRecusa;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport produce from 'immer';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { MdSearch, MdFilterList, MdArrowBack } from 'react-icons/md';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport TableDocumentos from '../../components/organisms/TableDocumentos';\r\nimport ModalDetalheDocumento from '../../components/organisms/ModalDetalheDocumento';\r\nimport ModalMotivoRecusa from '../../components/organisms/ModalMotivoRecusa';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport { Creators as BeneficiarioActions } from '../../store/ducks/beneficiario';\r\n\r\nimport theme from '../../styles/theme';\r\nimport history from '../../services/history';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction DetalheDocumentos({ match }) {\r\n const {\r\n patchDocumentoConferencia,\r\n getDocumentosStatus,\r\n getDocumentoDetalhe,\r\n } = useSelector((state) => state.beneficiario);\r\n\r\n const dispatch = useDispatch();\r\n const { idLista } = match.params;\r\n\r\n const paginationPageParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n };\r\n\r\n const filterPageParams = {\r\n idLista,\r\n nomeBeneficiario: null,\r\n };\r\n\r\n const [openModalDetalheDocumento, setOpenModalDetalheDocumento] = useState({\r\n isOpen: false,\r\n paramsRequest: null,\r\n idBeneficiario: null,\r\n tipoDocumento: null,\r\n statusDocumento: null,\r\n });\r\n const [openModalMotivoRecusa, setOpenModalMotivoRecusa] = useState({\r\n isOpen: false,\r\n idArquivo: null,\r\n });\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationPageParams\r\n );\r\n const [filterParams, setFilterParams] = useState(filterPageParams);\r\n const [inputValue, setInputValue] = useState('');\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.nomeBeneficiario = inputValue;\r\n });\r\n\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = 10;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n setPaginationParams(newPaginationParams);\r\n return params;\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...filterParams,\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n }\r\n\r\n function handleSelectedPageSize(e) {\r\n const newPageSize = produce(paginationParams, (draft) => {\r\n draft.pageSize = e.target.dataset.text;\r\n draft.pageNumber = 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageSize,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageSize);\r\n }\r\n\r\n function handlePageChange(e) {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n draft.pageNumber = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n if (\r\n newPageAtual.totalPages >= newPageAtual.pageNumber &&\r\n newPageAtual.pageNumber !== '0'\r\n )\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleNextPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.totalPages !== draft.pageNumber) draft.pageNumber += 1;\r\n\r\n return draft;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n if (paginationParams.totalPages !== paginationParams.pageNumber)\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handlePreviousPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.pageNumber > 1) draft.pageNumber -= 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n\r\n if (paginationParams.pageNumber !== 1)\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleChangePage(paramsPag) {\r\n const params = {\r\n ...filterParams,\r\n ...paramsPag,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleModalDetalheDocumento(\r\n idArquivo,\r\n idListaAtual,\r\n idBeneficiario,\r\n idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n ) {\r\n dispatch(BeneficiarioActions.getDocumentoDetalheRenew());\r\n\r\n const paramsRequest = {\r\n idLista: idListaAtual,\r\n idMovimentacao,\r\n idArquivo,\r\n };\r\n\r\n setOpenModalDetalheDocumento({\r\n isOpen: !openModalDetalheDocumento.isOpen,\r\n paramsRequest,\r\n idBeneficiario,\r\n tipoDocumento,\r\n statusDocumento,\r\n });\r\n }\r\n\r\n function handleOpenModalDetalheDocumento() {\r\n setOpenModalDetalheDocumento({\r\n isOpen: !openModalDetalheDocumento.isOpen,\r\n });\r\n }\r\n\r\n function handleModalMotivoRecusa() {\r\n handleOpenModalDetalheDocumento();\r\n\r\n setOpenModalMotivoRecusa({\r\n isOpen: !openModalMotivoRecusa.isOpen,\r\n idArquivo: openModalDetalheDocumento?.paramsRequest?.idArquivo,\r\n });\r\n }\r\n\r\n function handleOpenModalMotivoRecusa() {\r\n setOpenModalMotivoRecusa({\r\n isOpen: !openModalMotivoRecusa.isOpen,\r\n });\r\n }\r\n\r\n function redirectToDetalheLista() {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${idLista}`\r\n );\r\n }\r\n\r\n function handleAceitarDocumento() {\r\n const params = {\r\n idArquivo: openModalDetalheDocumento?.paramsRequest?.idArquivo,\r\n statusConferencia: 'Aceito',\r\n };\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRequest(params));\r\n }\r\n\r\n function handleAceitarRecusarDoc(params) {\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRequest(params));\r\n }\r\n\r\n function getDocumentos() {\r\n const params = {\r\n idLista,\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchDocumentoConferencia.success) {\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRenew());\r\n }\r\n\r\n getDocumentos();\r\n }\r\n\r\n const filterBeneficiarios = useCallback((beneficiarios) => {\r\n if (!beneficiarios || beneficiarios.length <= 0) return [];\r\n\r\n const beneficiariosFiltrados = beneficiarios\r\n .map((beneficiario) => beneficiario.beneficiario)\r\n .filter((beneficiario) => {\r\n return beneficiario.documentos.length > 0;\r\n });\r\n\r\n return beneficiariosFiltrados;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const params = {\r\n idLista,\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (patchDocumentoConferencia.success) {\r\n setOpenModalDetalheDocumento({\r\n isOpen: false,\r\n });\r\n setOpenModalMotivoRecusa({\r\n isOpen: false,\r\n });\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: openModalDetalheDocumento.isOpen\r\n ? 'Documento aceito com sucesso.'\r\n : 'Documento recusado com sucesso.',\r\n });\r\n }\r\n }, [patchDocumentoConferencia.success]);\r\n\r\n useEffect(() => {\r\n if (openModalDetalheDocumento.paramsRequest)\r\n dispatch(\r\n BeneficiarioActions.getDocumentoDetalheRequest(\r\n openModalDetalheDocumento.paramsRequest,\r\n openModalDetalheDocumento.idBeneficiario\r\n )\r\n );\r\n }, [\r\n dispatch,\r\n openModalDetalheDocumento.idBeneficiario,\r\n openModalDetalheDocumento.paramsRequest,\r\n ]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n redirectToDetalheLista(idLista)}\r\n >\r\n \r\n voltar para lista\r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: 'detalhe documentos',\r\n onNavigate: () =>\r\n history.push(`/novo/lista/${idLista}/detalhe-documentos`),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default DetalheDocumentos;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { useDispatch } from 'react-redux';\r\nimport ModalFileImport from '../ModalFileImport';\r\nimport ModalFileLoading from '../ModalFileLoading';\r\nimport { WarningToast } from '../../molecules/Toast';\r\n\r\nimport { Creators as DocumentoActions } from '../../../store/ducks/documento';\r\n\r\nimport orientacoesDocumentos from '../../../assets/modelos/orientacoes_documentos.txt';\r\n\r\nconst ImportarDocumentos = ({\r\n isOpen,\r\n idLista,\r\n onCloseModal,\r\n documentosImportacao,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const [files, setFiles] = useState([]);\r\n\r\n const maxSizeFiles = 5242880;\r\n const maxQuantityFiles = 100000000000000000;\r\n const validExtension = ['jpg', 'jpeg', 'pdf', 'png', 'tiff'];\r\n\r\n const getErrors = ({ fileErrors, hasMaxQuantity }) => {\r\n if (hasMaxQuantity) {\r\n toast.error(\r\n \r\n Somente podem ser enviados {maxQuantityFiles} arquivos por lote.\r\n \r\n );\r\n }\r\n\r\n if (fileErrors.length > 0) {\r\n fileErrors.forEach((error) => {\r\n if (error.error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo {error.name} é maior que o tamanho\r\n permitido.\r\n \r\n );\r\n }\r\n if (error.error.hasValidExtension) {\r\n toast.error(\r\n \r\n O arquivo {error.name} não possui extensão\r\n válida.\r\n \r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (files && files.length > 0) {\r\n dispatch(\r\n DocumentoActions.postDocumentosImportacaoRequest(files, idLista)\r\n );\r\n }\r\n }, [dispatch, files, idLista]);\r\n\r\n return (\r\n <>\r\n \r\n Realize o envio dos\r\n documentos dos beneficiarios \r\n através de arquivos com extensão\r\n (jpg, jpeg, pdf, png e tiff)\r\n
    \r\n Tamanho máximo de 10mb por arquivo.\r\n \r\n }\r\n contentModeloPadrao={\r\n <>\r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n documento com as orientações{' '}\r\n \r\n demonstrando como os arquivos devem ser enviados.\r\n \r\n }\r\n setListaFiles={(newFiles) => setFiles(newFiles)}\r\n applyValidation\r\n maxQuantityFiles={maxQuantityFiles}\r\n maxSizeFiles={maxSizeFiles}\r\n validExtension={validExtension}\r\n invalidCallback={(errors) => getErrors(errors)}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImportarDocumentos;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { MdFileUpload, MdArrowBack } from 'react-icons/md';\r\n\r\nimport {\r\n Title,\r\n Button,\r\n Breadcrumbs,\r\n WrapperFlex,\r\n LogsFileErrorStorage,\r\n} from '@unimed-fesp/components';\r\n\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport TableDocumentos from '../../components/organisms/TableDocumentos';\r\nimport ModalMotivoRecusa from '../../components/organisms/ModalMotivoRecusa';\r\nimport ImportarDocumentos from '../../components/organisms/ImportarDocumentos';\r\nimport ModalDetalheDocumento from '../../components/organisms/ModalDetalheDocumento';\r\n// #endregion\r\n\r\nimport { toBase64 } from '../../utils/array';\r\nimport { isAdmin } from '../../utils/userRole';\r\nimport StatusListaAPIEnum from '../../enums/StatusListaAPIEnum';\r\n\r\nimport { Creators as DocumentoActions } from '../../store/ducks/documento';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nfunction DetalheDocumentosInativos({ match }) {\r\n const dispatch = useDispatch();\r\n const { idLista } = match.params;\r\n const {\r\n documentoPreview,\r\n documentosImportacao,\r\n documentosBeneficiarios,\r\n } = useSelector((state) => state.documento);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const [isOpenModalImportDocs, setIsOpenModalImportDocs] = useState(false);\r\n const [isOpenModalPreviewDoc, setIsOpenModalPreviewDoc] = useState(false);\r\n const [isOpenModalMotivoRecusa, setIsOpenModalMotivoRecusa] = useState(false);\r\n\r\n const [tipoDocumentoSelected, setTipoDocumentoSelected] = useState('');\r\n const [statusDocumentoSelected, setStatusDocumentoSelected] = useState('');\r\n const [idDocumentoSelected, setIdDocumentoSelected] = useState(0);\r\n\r\n const handleAceitarRecusarDoc = useCallback(\r\n (params) => {\r\n dispatch(\r\n DocumentoActions.postAtualizarDocumentoConferenciaRequest(\r\n idLista,\r\n params,\r\n () =>\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista))\r\n )\r\n );\r\n setIsOpenModalMotivoRecusa(false);\r\n setIsOpenModalPreviewDoc(false);\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const handleAceiteRecusaAdm = useCallback(\r\n (aceito) => {\r\n if (aceito) {\r\n handleAceitarRecusarDoc({\r\n idArquivo: idDocumentoSelected,\r\n statusConferencia: 'Aceito',\r\n });\r\n } else {\r\n setIsOpenModalPreviewDoc(false);\r\n setIsOpenModalMotivoRecusa(true);\r\n }\r\n },\r\n [handleAceitarRecusarDoc, idDocumentoSelected]\r\n );\r\n\r\n const handleModalDetalheDocumento = useCallback(\r\n (\r\n idDocumento,\r\n _idLista,\r\n _id,\r\n _idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n ) => {\r\n dispatch(\r\n DocumentoActions.getDocumentoPreviewRequest(idLista, idDocumento)\r\n );\r\n setIsOpenModalPreviewDoc(true);\r\n setIdDocumentoSelected(idDocumento);\r\n setTipoDocumentoSelected(tipoDocumento);\r\n setStatusDocumentoSelected(statusDocumento);\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const onCloseModalPreviewDoc = useCallback(() => {\r\n setIsOpenModalPreviewDoc((oldValue) => !oldValue);\r\n }, []);\r\n\r\n const redirectToDetalheLista = useCallback((id) => {\r\n history.push(`/novo/listainativo/${id}/detalhe`);\r\n }, []);\r\n\r\n const onCancelarImport = useCallback(() => {\r\n setIsOpenModalImportDocs(false);\r\n dispatch(DocumentoActions.postDocumentosImportacaoRenew());\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n const logError = [\r\n ...documentosImportacao.files\r\n .filter((file) => file.error)\r\n .map((file) => ({\r\n hasError: true,\r\n fileName: file.name,\r\n base64: toBase64(file.message),\r\n })),\r\n ];\r\n\r\n useEffect(() => {\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n const IS_ADM = isAdmin(usuario.role) || false;\r\n const AGUARDANDO_DOCUMENTOS =\r\n documentosBeneficiarios.response.lista?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.AguardandoDocumentos;\r\n const ERRO_DE_PROCESSAMENTO =\r\n documentosBeneficiarios.response.lista?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n redirectToDetalheLista(idLista)}\r\n >\r\n \r\n voltar\r\n \r\n\r\n {(AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO) && !IS_ADM && (\r\n setIsOpenModalImportDocs(true)}\r\n >\r\n \r\n importar docs\r\n \r\n )}\r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: documentosBeneficiarios?.response?.lista?.nmLista || '',\r\n onNavigate: () => redirectToDetalheLista(idLista),\r\n },\r\n {\r\n path: 'documentos',\r\n onNavigate: () =>\r\n history.push(`/novo/lista/${idLista}/documentos`),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAceiteRecusaAdm(false)}\r\n onAceitar={() => handleAceiteRecusaAdm(true)}\r\n idStatusLista={documentosBeneficiarios.response.lista?.idStatusLista}\r\n onCloseModal={onCloseModalPreviewDoc}\r\n reenviarDocumento={() => {\r\n onCloseModalPreviewDoc();\r\n setIsOpenModalImportDocs(true);\r\n }}\r\n esconderBtnReenviar={\r\n !((AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO) && !IS_ADM)\r\n }\r\n />\r\n {\r\n setIsOpenModalMotivoRecusa(false);\r\n setIsOpenModalPreviewDoc(true);\r\n }}\r\n onClickEnviar={handleAceitarRecusarDoc}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default DetalheDocumentosInativos;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n margin-top: 8px;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React from 'react';\r\n\r\nimport { Button, TextField, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nfunction FilterExtendsMassaInicial({\r\n isOpen,\r\n handleLimparFiltros,\r\n filters,\r\n setFilters,\r\n}) {\r\n const registerCnpj = useField('cnpj').registerField;\r\n const registerResponsavel = useField('nomeResponsavel').registerField;\r\n const registerEmail = useField('email').registerField;\r\n\r\n function handleChange({ target }) {\r\n const { name, value } = target;\r\n setFilters((oldFilters) => ({ ...oldFilters, [name]: value }));\r\n }\r\n function handleData(value, name) {\r\n if (value.target) return;\r\n setFilters((oldFilters) => ({\r\n ...oldFilters,\r\n [name]: value,\r\n }));\r\n }\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n {\r\n handleChange(e);\r\n }}\r\n masked=\"cnpj\"\r\n register={registerCnpj}\r\n />\r\n {\r\n handleChange(e);\r\n }}\r\n register={registerResponsavel}\r\n />\r\n {\r\n handleChange(e);\r\n }}\r\n register={registerEmail}\r\n />\r\n \r\n \r\n handleData(e, 'dataRegistroDe')}\r\n value={filters.dataRegistroDe}\r\n />\r\n

    à

    \r\n handleData(e, 'dataRegistroAte')}\r\n value={filters.dataRegistroAte}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FilterExtendsMassaInicial;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n path {\r\n fill: #fff !important;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DownloadMassaInicial = styled.button`\r\n border: none;\r\n background: none;\r\n`;\r\n\r\nexport const ContainerTabContent = styled.div`\r\n overflow-x: scroll;\r\n\r\n ::-webkit-scrollbar {\r\n border-radius: 3px;\r\n height: 6px;\r\n width: 800px;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n border-radius: 4px;\r\n }\r\n\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background: ${theme.grey};\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport format from 'date-fns/format';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport {\r\n Tab,\r\n Table,\r\n TableRow,\r\n TableCell,\r\n TabContent,\r\n Pagination,\r\n TableHeader,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdFileDownload } from 'react-icons/md';\r\nimport { FaFileDownload } from 'react-icons/fa';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n HoverActions,\r\n DownloadMassaInicial,\r\n ContainerTabContent,\r\n} from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst headers = [\r\n {\r\n name: 'Envio',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Empresa',\r\n minWidth: 300,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'CNPJ',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Responsável',\r\n minWidth: 200,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'E-mail',\r\n minWidth: 250,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Telefone',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Ações',\r\n minWidth: 100,\r\n maxWidth: 120,\r\n },\r\n];\r\n\r\nfunction TabTableListasMassaInicial({\r\n setPaginationParams,\r\n paginationParams,\r\n handleDropdownItem,\r\n handleDownloadFile,\r\n handleGetListaMassaInicial,\r\n}) {\r\n const { getListaMassaInicial } = useSelector((state) => state.lista);\r\n\r\n const tabs = [\r\n {\r\n children: (\r\n <>\r\n {getListaMassaInicial.response.Todas.size}todas\r\n \r\n ),\r\n color: '#00995D',\r\n name: 'todas',\r\n },\r\n ];\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n handleGetListaMassaInicial();\r\n }\r\n }\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n if (getListaMassaInicial.loading) {\r\n return ;\r\n }\r\n if (listaStatus.data && listaStatus.data.length > 0) {\r\n const { data, ...pagination } = getListaMassaInicial.response[tabName];\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRender(getListaMassaInicial.response.Todas, 'Todas')}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n listNameHeaders,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleDownloadFile,\r\n tabName,\r\n handleDropdownItem,\r\n}) => {\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n }>\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {paginationParams.size > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({ lista, handleDownloadFile }) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function formatarCNPJ(cnpj) {\r\n const part1 = cnpj.substr(0, 2);\r\n const part2 = cnpj.substr(2, 3);\r\n const part3 = cnpj.substr(5, 3);\r\n const part4 = cnpj.substr(8, 4);\r\n const part5 = cnpj.substr(12, 2);\r\n\r\n return `${part1}.${part2}.${part3}/${part4}-${part5}`;\r\n }\r\n\r\n const dataInclusao = lista.dataInclusao\r\n ? format(new Date(lista.dataInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null;\r\n return (\r\n \r\n {dataInclusao}\r\n {lista.nmEmpresa}\r\n {formatarCNPJ(lista.cnpj)}\r\n {lista.nomeResponsavel}\r\n {lista.email}\r\n \r\n {lista.numero === 0 ? '-' : `(${lista.ddd}) ${lista.numero}`}\r\n \r\n \r\n {\r\n handleDownloadFile(\r\n tipoAcao,\r\n lista.idListaMassaInicial,\r\n lista.idArquivo,\r\n `${tipoAcao}_${lista.cnpj}_${dataInclusao}`\r\n );\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst TableListaActions = ({ handleDownloadFile }) => {\r\n return (\r\n \r\n handleDownloadFile('termo_responsabilidade')}\r\n >\r\n \r\n \r\n \r\n \r\n handleDownloadFile('massa_inicial')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabTableListasMassaInicial;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { MdSearch, MdFilterList } from 'react-icons/md';\r\nimport {\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../styles/theme';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport history from '../../services/history';\r\nimport FilterExtendsMassaInicial from '../../components/organisms/FilterExtendsMassaInicial';\r\nimport TabTableListasMassaInicial from '../../components/organisms/TabTableListasMassaInicial';\r\nimport ModalCancelAction from '../../components/organisms/ModalCancelAction';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport prepareBase64File from '../../utils/prepareBase64File';\r\n\r\nconst modelFilters = {\r\n cnpj: '',\r\n nomeEmpresa: '',\r\n nomeResponsavel: '',\r\n email: '',\r\n dataRegistroDe: null,\r\n dataRegistroAte: null,\r\n};\r\n\r\nconst paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n};\r\n\r\nfunction ListasMassaInicial() {\r\n const dispatch = useDispatch();\r\n const { getArquivoMassaInicial } = useSelector((state) => state.lista);\r\n\r\n const [filters, setFilters] = React.useState(modelFilters);\r\n\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [filtersParams, setFiltersParams] = React.useState(modelFilters);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n onClickOk: null,\r\n });\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleSubmit() {\r\n setFiltersParams({ ...filters });\r\n setPaginationParams({ ...paginationParams, pageNumber: 1, pageSize: 10 });\r\n }\r\n\r\n const handleGetListaMassaInicial = useCallback(() => {\r\n const { pageNumber, pageSize } = paginationParams;\r\n let { cnpj, dataRegistroAte, dataRegistroDe } = filtersParams;\r\n\r\n if (cnpj) {\r\n cnpj = cnpj.replaceAll(/[^\\d]/g, '');\r\n }\r\n if (dataRegistroAte) {\r\n dataRegistroAte = dataRegistroAte.toJSON();\r\n }\r\n if (dataRegistroDe) {\r\n dataRegistroDe = dataRegistroDe.toJSON();\r\n }\r\n\r\n dispatch(\r\n ListaActions.getListasMassaInicialRequest({\r\n ...filtersParams,\r\n cnpj,\r\n dataRegistroAte,\r\n dataRegistroDe,\r\n pageNumber,\r\n pageSize,\r\n })\r\n );\r\n }, [dispatch, paginationParams, filtersParams]);\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n }\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction,\r\n });\r\n }\r\n\r\n function downloadMassaInicial(idLista, idArquivo, nomeArquivoDownload) {\r\n dispatch(\r\n ListaActions.getArquivoMassaInicialRequest(\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n\r\n function downloadTermoResponsabilidade(\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n ) {\r\n dispatch(\r\n ListaActions.getTermoResponsabilidadeMassaInicialRequest(\r\n idLista,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n\r\n function handleDownloadFile(\r\n tipoAcao,\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n ) {\r\n const onClickOKDownload =\r\n tipoAcao === 'massa_inicial'\r\n ? downloadMassaInicial\r\n : downloadTermoResponsabilidade;\r\n\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message:\r\n tipoAcao === 'massa_inicial'\r\n ? 'Deseja fazer o download da massa inicial?'\r\n : 'Deseja fazer o download do termo de responsabilidade?',\r\n textHeader: 'atenção!',\r\n onClickOk: () =>\r\n onClickOKDownload(idLista, idArquivo, nomeArquivoDownload),\r\n });\r\n }\r\n\r\n function downloadFile(base64, extension, nomeArquivoDownload) {\r\n const temp = prepareBase64File(extension, base64);\r\n\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = `${nomeArquivoDownload}.${extension}`;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setFilters(modelFilters);\r\n setFiltersParams(modelFilters);\r\n }\r\n\r\n useEffect(() => {\r\n if (!getArquivoMassaInicial.loading && getArquivoMassaInicial.success) {\r\n if (getArquivoMassaInicial.response.arquivo !== '') {\r\n downloadFile(\r\n getArquivoMassaInicial.response.arquivo,\r\n getArquivoMassaInicial.response.extensaoArquivo,\r\n getArquivoMassaInicial.response.nomeArquivoDownload\r\n );\r\n setOpenModalCancelAction((state) => ({ ...state, warning: false }));\r\n dispatch(ListaActions.getArquivoMassaInicialRenew());\r\n }\r\n }\r\n }, [getArquivoMassaInicial.loading, getArquivoMassaInicial.response]);\r\n\r\n useEffect(() => {\r\n handleGetListaMassaInicial();\r\n }, [handleGetListaMassaInicial]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/listas-massa-inicial'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n setFilters((filtersOld) => ({\r\n ...filtersOld,\r\n nomeEmpresa: target.value,\r\n }))\r\n }\r\n value={filters.nomeEmpresa}\r\n onKeyDown={handleInputKeyDown}\r\n cancelFilterExtendsOpen={cancelFilterExtendsOpen}\r\n IconFilter={MdFilterList}\r\n IconSearch={MdSearch}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default ListasMassaInicial;\r\n","export default function prepareBase64File(extension, base64File) {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n CSV: `data:application/csv;base64,${base64File}`,\r\n };\r\n\r\n if (extension) {\r\n const ext = extension.startsWith('.') ? extension.slice(1) : extension;\r\n return types[ext.toUpperCase()];\r\n}\r\n}","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyAlterarStatusRpa = ({ qtdListas }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Deseja alterar o status da lista de RPA?'\r\n : 'Deseja alterar o status das listas de RPA?'}\r\n \r\n );\r\n};\r\n\r\nconst FooterAlterarStatusRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyAlterarStatusRpa, FooterAlterarStatusRpa };\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyCancelarEnvioRpa = ({ qtdListas }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Deseja cancelar o envio da lista para o RPA?'\r\n : 'Deseja cancelar o envio das listas para o RPA?'}\r\n \r\n );\r\n};\r\n\r\nconst FooterCancelarEnvioRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyCancelarEnvioRpa, FooterCancelarEnvioRpa };\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\n// TO-DO trocar por button da lib\r\nimport Button from '../Button';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const PrimaryButton = styled(Button).attrs((props) => ({\r\n disabled: props.disabled,\r\n type: props.type,\r\n}))`\r\n font-size: 16px;\r\n height: 40px;\r\n border-radius: 0px !important;\r\n border-radius: 5px 0px 0px 5px !important;\r\n align-items: center;\r\n\r\n svg {\r\n margin-right: 8px;\r\n }\r\n\r\n ${({ fontFamily }) =>\r\n fontFamily\r\n ? css`\r\n font-family: ${fontFamily};\r\n `\r\n : `font-family: unimed_slabregular`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : `background-color: ${theme.greenDefault}`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.bgWhite}`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : css`\r\n width: 40px;\r\n `}\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : css`\r\n height: 40px;\r\n `}\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: 25px;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 25px;\r\n `\r\n : ''};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : 'opacity: 1'};\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 3px;\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const SecondaryButton = styled(Button).attrs((props) => ({\r\n disabled: props.disabled,\r\n type: props.type,\r\n}))`\r\n border-radius: 0px 5px 5px 0px !important;\r\n width: 40px;\r\n height: 40px;\r\n align-items: center;\r\n border-left: 1px solid #007245;\r\n opacity: 1;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : `background-color: ${theme.greenDefault}`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.bgWhite}`};\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n width: fit-content;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { PrimaryButton, SecondaryButton, Container } from './styles';\r\n\r\nfunction ButtonDropdown({\r\n text,\r\n onClick,\r\n marginBottom,\r\n color,\r\n padding,\r\n alignStart,\r\n alignCenter,\r\n alignEnd,\r\n display,\r\n width,\r\n height,\r\n marginTop,\r\n marginSides,\r\n disabled,\r\n opacity,\r\n type,\r\n borderRadius,\r\n background,\r\n border,\r\n fontFamily,\r\n marginRight,\r\n isLoading,\r\n disableHover,\r\n marginLeft,\r\n fontSize,\r\n primaryIcon,\r\n secondaryIcon,\r\n}) {\r\n return (\r\n \r\n \r\n {primaryIcon}\r\n \r\n \r\n {secondaryIcon}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ButtonDropdown;\r\n","import format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Alerts,\r\n Button,\r\n Checkbox,\r\n InputDropdown,\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdAdb, MdExpandMore, MdInfo } from 'react-icons/md';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent, HoverActions } from './styles';\r\n\r\nimport { StatusListaRPAEnum } from '../../../enums';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport Icon from '../../atoms/Icon';\r\n// TO-DO trocar por dropdown type button da lib\r\nimport ButtonDropdown from '../../atoms/ButtonDropdown';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction TabTableListasRPA({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n handleChangePage,\r\n handleChangeTab,\r\n}) {\r\n const { listasRpa, statusLists } = useSelector((state) => state.lista);\r\n const status = statusLists.response.actives;\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n const tipoStatus = StatusListaRPAEnum.returnNameForTab[tabName] || 0;\r\n if (listasRpa.loading) {\r\n return ;\r\n }\r\n if (listaStatus.data && listaStatus.data.length > 0) {\r\n return (\r\n handleChangePage(params, tipoStatus)}\r\n {...(tabName && { tabName })}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageSize = 10;\r\n draft.pageNumber = 1;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }, [status]);\r\n\r\n return <>{handleRender(listasRpa.response, 'Todas')};\r\n}\r\n\r\nconst TableListaHeader = ({ checkAll, handleCheckAll }) => {\r\n return (\r\n \r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Lista\r\n \r\n \r\n Contratante\r\n \r\n \r\n Movimentação\r\n \r\n \r\n Criação\r\n \r\n \r\n Envio\r\n \r\n \r\n Finalização\r\n \r\n \r\n Status\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n tabName,\r\n listasSize,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n handleChangePage,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n function handleCheckAll(e) {\r\n setCheckAll(!checkAll);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {listaRowsChecked.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n \r\n \r\n {pageData.totalCount > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n lista,\r\n checkAll,\r\n setListaRowsChecked,\r\n listaRowsChecked = [],\r\n handleConfirmAction,\r\n tabName,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [list, setList] = useState({ lista, checked: !isChecked });\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function redirectToDetalheLista(idLista) {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${idLista}`\r\n );\r\n }\r\n\r\n function handleCheckedLista(e, check, idLista) {\r\n const newLista = produce(list, (draft) => {\r\n if (draft.lista.idLista === idLista) draft.checked = !check;\r\n\r\n return draft;\r\n });\r\n\r\n const newListaRowChecked = produce(listaRowsChecked, (draft) => {\r\n const newDraft = draft.filter((l) => {\r\n return l.lista.idLista !== newLista.lista.idLista && l.checked === true;\r\n });\r\n\r\n if (newLista.checked) newDraft.push(newLista);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setList(newLista);\r\n setListaRowsChecked(newListaRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newLista = produce(list, (draft) => {\r\n draft.checked = checkAll;\r\n\r\n return draft;\r\n });\r\n setList(newLista);\r\n if (checkAll) {\r\n if (\r\n !listaRowsChecked\r\n .map((listaRowChecked) => listaRowChecked.lista.idLista)\r\n .includes(newLista.lista.idLista)\r\n )\r\n setListaRowsChecked((oldArray) => [...oldArray, newLista]);\r\n } else setListaRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n \r\n handleCheckedLista(e, list.checked, lista.idLista)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n redirectToDetalheLista(lista.idLista)}\r\n activeAction\r\n minWidth={100}\r\n maxWidth={100}\r\n >\r\n {lista.nmLista}\r\n \r\n \r\n {lista.cdContratante} - {lista.nmContratante}\r\n \r\n \r\n {lista.dcMovimentacoes.split('/').join(' / ')}\r\n \r\n \r\n {lista.dtInclusao\r\n ? format(new Date(lista.dtInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null}\r\n \r\n \r\n {lista.dtEnvio\r\n ? format(new Date(lista.dtEnvio), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {lista.dtVencimento\r\n ? format(new Date(lista.dtVencimento), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {hoverAction ? (\r\n redirectToDetalheLista(lista.idLista)}\r\n idLista={lista.idLista}\r\n listaStatus={lista.dcStatusRpa}\r\n handleConfirmAction={handleConfirmAction}\r\n dropdownOptions={dropdownOptions}\r\n handleDropdownItem={handleDropdownItem}\r\n />\r\n ) : (\r\n lista.dcStatusRpa\r\n )}\r\n \r\n \r\n {lista.possuiSinalizacao && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllLista = ({\r\n listaRowsChecked,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n dropdownOptions,\r\n handleConfirmAction,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n Você selecionou {listaRowsChecked.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n {/* \r\n \r\n download\r\n \r\n \r\n \r\n excluir\r\n */}\r\n handleConfirmAction(listaRowsChecked, 'cancelar')}\r\n >\r\n \r\n cancelar RPA\r\n \r\n {\r\n const indexOption = Object.values(dropdownOptions).indexOf(option);\r\n\r\n handleConfirmAction(listaRowsChecked, indexOption + 1);\r\n }}\r\n position=\"right-bottom\"\r\n >\r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableListaActions = ({\r\n idLista,\r\n listaStatus,\r\n handleConfirmAction,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n}) => {\r\n return (\r\n \r\n {\r\n const indexOption = Object.values(dropdownOptions).indexOf(option);\r\n\r\n handleConfirmAction(idLista, indexOption + 1);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* handleConfirmAction(idLista, listaStatus)}\r\n >\r\n \r\n */}\r\n \r\n handleConfirmAction(idLista, 'cancelar')}>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TabTableListasRPA;\r\n","import styled from 'styled-components';\r\n\r\nexport const ButtonContainer = styled.label`\r\n cursor: pointer;\r\n margin: 0;\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport LoadingSpinner from '../LoadingSpinning';\r\nimport { ButtonContainer } from './styles';\r\n\r\nexport default function StatusListRpa() {\r\n const dispatch = useDispatch();\r\n const { statusLists, listasRpa } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const params = {\r\n page_number: 0,\r\n page_size: 10,\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code: usuario.codigoContratante\r\n ? usuario.codigoContratante\r\n : null,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getStatusListRpaRequest());\r\n }, []);\r\n\r\n function handleActiveSearches(index) {\r\n const active = statusLists.response.actives[index];\r\n const todosActive = statusLists.response.actives.find(\r\n (status, i) => status.description === 'Todos'\r\n );\r\n const availableTodos = statusLists.response.availables.filter(\r\n (status, i) => status.description !== 'Todos'\r\n );\r\n\r\n if (active.description === 'Todos') {\r\n const response = {\r\n availables: [\r\n ...statusLists.response.actives,\r\n ...statusLists.response.availables,\r\n ],\r\n actives: [],\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (todosActive && availableTodos) {\r\n const restTodos = statusLists.response.actives.filter(\r\n (status, i) =>\r\n status.description !== 'Todos' &&\r\n status.description !== active.description\r\n );\r\n const response = {\r\n availables: [todosActive, active, ...statusLists.response.availables],\r\n actives: restTodos,\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newActiveSearches = statusLists.response.actives.filter(\r\n (_, i) => i !== index\r\n );\r\n const response = {\r\n availables: [...statusLists.response.availables, active],\r\n actives: newActiveSearches,\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleAvailableSearches(index) {\r\n const available = statusLists.response.availables[index];\r\n const restTodos = statusLists.response.availables.filter(\r\n (status, i) => status.id !== 0 && status.count !== 0\r\n );\r\n\r\n const nonZeroItems = statusLists.response.availables.filter(\r\n (item) => item.count !== 0\r\n );\r\n const zeroItems = statusLists.response.availables.filter(\r\n (item) => item.count === 0\r\n );\r\n\r\n if (restTodos.length === 1) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (available.id === 0) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives.map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newAvailableSearches = statusLists.response.availables.filter(\r\n (_, i) => i !== index\r\n );\r\n\r\n const response = {\r\n availables: newAvailableSearches,\r\n actives: [...statusLists.response.actives, available],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleClickAvailable(index) {\r\n dispatch(handleAvailableSearches(index));\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n function handleClickActive(index) {\r\n const active = statusLists.response.actives[index];\r\n if (active.description === 'Todos') {\r\n dispatch(\r\n ListaActions.postSearchListRpaResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n if (statusLists.response.actives.length <= 1) {\r\n dispatch(\r\n ListaActions.postSearchListRpaResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n dispatch(handleActiveSearches(index));\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n if (listasRpa.loading || statusLists.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {statusLists.response.availables.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickAvailable(index)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={`${description} (${count})`}\r\n showBtnRemove={count > 0}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n {statusLists.response.actives.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickActive(index)}\r\n text={`${description} (${count})`}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Form } from '@rocketseat/unform';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { MdFileDownload, MdFilterList, MdSearch } from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n Dropdown,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n\r\nimport {\r\n ModalAlterarStatusRpa,\r\n ModalCancelarEnvioRpa,\r\n} from '../../components/molecules/PartsModalListasRPA';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtends from '../../components/organisms/FilterExtends';\r\nimport TabTableListasRPA from '../../components/organisms/TabTableListasRPA';\r\n\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusListaRPAEnum,\r\n TipoListaEnum,\r\n} from '../../enums';\r\n\r\nimport StatusListRpa from '../../components/molecules/StatusListRpa';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\n\r\nfunction ListasRPA() {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success, response } = useSelector((state) => state.modalidade);\r\n const { patchStatusRPA, patchListaEnvioRPA, getRelatorioRPA } = useSelector(\r\n (state) => state.lista\r\n );\r\n const ListasRPARedux = useSelector((state) => state.lista.getListasRPA);\r\n const { statusLists } = useSelector((state) => state.lista);\r\n const filterExtendsParams = {\r\n nomeLista: null,\r\n codigoContratante: null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n vencida: null,\r\n rn412: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n };\r\n\r\n const [relatorioRPAParams, setRelatorioRPAParams] = useState({\r\n codigoContratante: null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n idStatus: 10,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n nomeLista: null,\r\n nomeContratante: null,\r\n vencida: null,\r\n rn412: null,\r\n statusEnvioRpa: true,\r\n idStatusRpa: null,\r\n });\r\n\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const optionsButtonRPA = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório resumido'),\r\n text: 'Relatório resumido',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório detalhado'),\r\n text: 'Relatório detalhado',\r\n },\r\n ];\r\n const queryParamsDefault = {\r\n page_number: 0,\r\n page_size: 10,\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code: null,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n },\r\n };\r\n const [tipoStatusActive, setTipoStatusActive] = useState(0);\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n const [relatoriosLoading, setRelatoriosLoading] = useState({\r\n resumido: false,\r\n detalhado: false,\r\n });\r\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\r\n\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const status = statusLists.response.actives\r\n .filter(({ id }) => id !== 0)\r\n .map(({ id }) => id);\r\n\r\n const paginationRequest = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paginationParams.pageNumber - 1;\r\n draft.pageSize = paginationParams.pageSize;\r\n });\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.list_name = inputValue;\r\n draft.movement_list_filter.status = status;\r\n draft.movement_list_filter.contractor_code = data.codigoContratante;\r\n draft.movement_list_filter.beneficiary_name_or_number_card = hasChar(\r\n data.nomeBeneficiarioCartao\r\n )\r\n ? data.nomeBeneficiarioCartao\r\n : null;\r\n draft.movement_list_filter.type_list =\r\n data.tipo === 'Selecione o tipo'\r\n ? null\r\n : TipoListaEnum.returnId[data.tipo];\r\n draft.movement_list_filter.type_action =\r\n data.movimentacao === 'Selecione a movimentacao'\r\n ? null\r\n : MovimentacaoListaEnum.returnIdForNameFormatted[data.movimentacao];\r\n draft.movement_list_filter.modality_code =\r\n data.modalidade === 'Selecione a modalidade' ? null : data.modalidade;\r\n draft.movement_list_filter.term_code =\r\n data.termo === 'Selecione o termo' ? null : data.termo;\r\n draft.movement_list_filter.expired =\r\n data.vencida === 'Todas' ? null : data.vencida === 'Sim';\r\n draft.movement_list_filter.r_n412 =\r\n data.rn412 === 'Todas' ? null : data.rn412 === 'Sim';\r\n draft.movement_list_filter.start_created_date = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.movement_list_filter.end_created_date = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.movement_list_filter.start_update_date = data.dataAtualizacaoDe\r\n ? format(data.dataAtualizacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.movement_list_filter.end_update_date = data.dataAtualizacaoAte\r\n ? format(data.dataAtualizacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n return params;\r\n }\r\n\r\n function handleRelatorioParams(filterParams) {\r\n const params = produce(filterParams, (draft) => {\r\n draft.pageNumber = null;\r\n draft.pageSize = null;\r\n draft.totalPages = null;\r\n draft.idStatusRpa =\r\n draft.tipoStatus === StatusListaRPAEnum.returnNameForTab.Todas\r\n ? null\r\n : draft.tipoStatus;\r\n draft.tipoStatus = null;\r\n draft.statusEnvioRpa = true;\r\n });\r\n\r\n return params;\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n const relatorioParams = handleRelatorioParams(params);\r\n\r\n // TODO trocar Action\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n\r\n /* setRelatorioRPAParams(relatorioParams); */\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleModalidadesTermos() {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: filterParams.codigoContratante,\r\n })\r\n );\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function hasChar(string) {\r\n const matches = string.match(/[a-zA-Z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+/);\r\n if (matches != null) return true;\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n if (status.length >= 1) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n setPaginationParams(paginationTabParams);\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n if (e.target.value === '') {\r\n const totalStatus = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = totalStatus;\r\n draft.movement_list_filter.list_name = null;\r\n });\r\n setQueryParams(newFilterParams);\r\n setSearchBoxActive(true);\r\n return dispatch(ListaActions.postSearchListRpaRequest(newFilterParams));\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.list_name = e.target.value;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n setCancelFilterExtendsOpen(true);\r\n setSearchBoxActive(true);\r\n setQueryParams(newFilterParams);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n if (e.keyCode === 13) {\r\n if (status.length < 1) {\r\n const params = {\r\n ...paginationRequest,\r\n ...queryParams,\r\n };\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } = ListasRPARedux.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(pagParams, tipoStatus) {\r\n const newPaginationParams = produce(pagParams, (draft) => {\r\n draft.pageNumber = pagParams.pageNumber - 1;\r\n draft.pageSize = pagParams.pageSize;\r\n });\r\n\r\n if (status.length < 1) {\r\n const params = {\r\n ...queryParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n /* \r\n const params = {\r\n ...filterParams,\r\n ...pagParams,\r\n tipoStatus,\r\n };\r\n\r\n if (tipoStatusActive !== tipoStatus) {\r\n setTipoStatusActive(tipoStatus);\r\n }\r\n\r\n dispatch(ListaActions.getListasRPAPorStatusRequest(params)); */\r\n }\r\n\r\n function handleGetModalidadesByContratante(e, codigoContratante) {\r\n e.stopPropagation();\r\n if (e.keyCode === 13) e.preventDefault();\r\n\r\n if (\r\n codigoContratante &&\r\n filterParams.codigoContratante !== codigoContratante\r\n ) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.codigoContratante = codigoContratante;\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: newFilterParams.codigoContratante,\r\n })\r\n );\r\n }\r\n\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n\r\n function setListaActionToDispatch(action, params) {\r\n if (action === 'cancelar') {\r\n return ListaActions.patchListaEnvioRPARequest(params, false);\r\n }\r\n\r\n return ListaActions.patchStatusRPARequest(params, action);\r\n }\r\n\r\n function handleAcaoListas(listas, tipoAcao) {\r\n if (listas.length > 0) {\r\n const params = listas.map((l) => {\r\n return { idLista: l.lista.idLista };\r\n });\r\n\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n }\r\n\r\n function handleAcaoListaById(listas, tipoAcao) {\r\n const params = [\r\n {\r\n idLista: listas,\r\n },\r\n ];\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n\r\n function setAcaoLista(listas, tipoAcao) {\r\n return Array.isArray(listas)\r\n ? handleAcaoListas(listas, tipoAcao)\r\n : handleAcaoListaById(listas, tipoAcao);\r\n }\r\n\r\n function handleDropdownItemClick(item) {\r\n let tipoRelatorio;\r\n if (item.includes('resumido')) {\r\n dispatch(\r\n ListaActions.getRelatorioRPARequest(relatorioRPAParams, 'resumido')\r\n );\r\n tipoRelatorio = 'resumido';\r\n } else if (item.includes('detalhado')) {\r\n dispatch(\r\n ListaActions.getRelatorioRPARequest(relatorioRPAParams, 'detalhado')\r\n );\r\n\r\n tipoRelatorio = 'detalhado';\r\n }\r\n\r\n const newLoading = produce(relatoriosLoading, (draft) => {\r\n draft[tipoRelatorio] = true;\r\n });\r\n\r\n setRelatoriosLoading(newLoading);\r\n }\r\n\r\n function handleConfirmAction(listas, tipoAcao) {\r\n const qtdListas = Array.isArray(listas) ? listas.length : 1;\r\n\r\n if (tipoAcao === 'cancelar') {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n } else {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n }\r\n\r\n function getListasRPA() {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(\r\n ListaActions.getListasRPARequest(\r\n params,\r\n StatusListaRPAEnum.returnNameForTab\r\n )\r\n );\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchStatusRPA.success) {\r\n dispatch(ListaActions.patchStatusRPARenew());\r\n }\r\n if (patchListaEnvioRPA.success) {\r\n dispatch(ListaActions.patchListaEnvioRPARenew());\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n dispatch(ListaActions.getStatusListRpaRequest());\r\n }\r\n\r\n function downloadFile(base64, filename) {\r\n const temp = `data:application/vnd.ms-excel;base64,${encodeURIComponent(\r\n base64\r\n )}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n\r\n useEffect(() => {\r\n handleModalidadesTermos();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (patchStatusRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: 'Status alterado com sucesso.',\r\n });\r\n }\r\n }, [patchStatusRPA.success]);\r\n\r\n useEffect(() => {\r\n if (patchListaEnvioRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: 'Cancelamento de envio foi efetuado.',\r\n });\r\n }\r\n }, [patchListaEnvioRPA.success]);\r\n\r\n useEffect(() => {\r\n if (!getRelatorioRPA.loading && getRelatorioRPA.success) {\r\n if (getRelatorioRPA.response.fileContents !== '') {\r\n downloadFile(\r\n getRelatorioRPA.response.fileContents,\r\n getRelatorioRPA.response.fileDownloadName\r\n );\r\n }\r\n }\r\n\r\n if (!getRelatorioRPA.loading) {\r\n setRelatoriosLoading({ resumido: false, detalhado: false });\r\n }\r\n }, [getRelatorioRPA.loading, getRelatorioRPA.response]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n baixar relatório\r\n \r\n \r\n \r\n history.push('/novo/listas-rpa'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n\r\n {status.length < 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n\r\n \r\n {status.length < 1 && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default ListasRPA;\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { EmptyContentText, ButtonLink } from './styles';\r\n\r\nconst EmptyRelatorios = ({ handleNovoRelatorio }) => {\r\n return (\r\n \r\n Nenhum relatório gerado\r\n \r\n Para gerar, clique no botão{' '}\r\n \r\n + novo relatório\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyRelatorios;\r\n","import React from 'react';\r\nimport format from 'date-fns/format';\r\nimport { RiDownloadLine } from 'react-icons/ri';\r\n\r\nimport { Button, TableRow, TableCell } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { ButtonLink } from './styles';\r\n\r\nconst TableBodyRelatorios = ({ relatorios }) => {\r\n return (\r\n <>\r\n {relatorios.map((relatorio) => {\r\n const EM_ANDAMENTO =\r\n relatorio.status?.toLocaleUpperCase() ===\r\n 'Em andamento'?.toLocaleUpperCase();\r\n\r\n return (\r\n \r\n \r\n {relatorio.nome ? (\r\n \r\n {relatorio.nome}\r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n {relatorio.status || '-'}\r\n \r\n {relatorio.dataInclusao\r\n ? format(new Date(relatorio.dataInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {relatorio.dataProcessamento\r\n ? format(\r\n new Date(relatorio.dataProcessamento),\r\n 'dd/MM/yyyy HH:mm',\r\n {\r\n timeZone: 'America/Sao_Paulo',\r\n }\r\n )\r\n : '-'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableBodyRelatorios;\r\n","import React from 'react';\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableHeaderRelatorios = () => {\r\n return (\r\n \r\n Nome arquivo\r\n Status\r\n Dt. requerimento\r\n Dt. finalização\r\n Download\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderRelatorios;\r\n","import React from 'react';\r\n\r\nimport { Card, Table } from '@unimed-fesp/components';\r\n\r\nimport EmptyRelatorios from './EmptyRelatorios';\r\nimport TableBodyRelatorios from './TableBodyRelatorios';\r\nimport TableHeaderRelatorios from './TableHeaderRelatorios';\r\n\r\nconst Relatorios = ({ relatorios, handleNovoRelatorio }) => {\r\n const propJustify = {\r\n justifyCenter: relatorios.length <= 0,\r\n justifyStart: relatorios.length > 0,\r\n };\r\n\r\n return (\r\n \r\n {relatorios.length <= 0 ? (\r\n \r\n ) : (\r\n }>\r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default Relatorios;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n line-height: 16px;\r\n margin: 15px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyConfimarRelatorio = () => {\r\n return (\r\n \r\n Caso já exista um relatório, o mesmo será excluído!\r\n
    \r\n A geração deste novo relatório pode demorar. Não há necessidade de\r\n permanecer na tela, pois será notificado por e-mail.\r\n
    \r\n Deseja continuar a geração do relatório?\r\n
    \r\n );\r\n};\r\n\r\nconst FooterConfimarRelatorio = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyConfimarRelatorio, FooterConfimarRelatorio };\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useCallback, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { FiPlus } from 'react-icons/fi';\r\nimport * as jwtDecode from 'jwt-decode';\r\n\r\nimport {\r\n Title,\r\n Button,\r\n WrapperFlex,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Creators as RelatorioActions } from '../../store/ducks/relatorio';\r\nimport history from '../../services/history';\r\n\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport Relatorios from '../../components/molecules/Relatorios';\r\nimport { ModalConfimarRelatorio } from '../../components/molecules/PartsModalRelatorioNestle';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport { legacyRoutes } from '../../routes/legacyRoutes';\r\n\r\nconst { REACT_APP_BASEURL } = process.env;\r\n\r\nconst RelatorioNestle = () => {\r\n const dispatch = useDispatch();\r\n const { data: relatorioAPI } = useSelector(\r\n (state) => state.relatorio.getUltimoRelatorioNestle\r\n );\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { GrupoContratante } = jwtDecode(accessToken);\r\n\r\n const EM_ANDAMENTO = 'Em andamento';\r\n const FINALIZADO = 'Finalizado';\r\n\r\n const downloadRelatorioNestle = useCallback((id) => {\r\n const a = document.createElement('a');\r\n a.href = `${REACT_APP_BASEURL}/relatorios/relatorio-beneficiario-nestle/${id}`;\r\n a.download = 'batatinha';\r\n a.setAttribute('target', '_blank');\r\n a.click();\r\n }, []);\r\n\r\n const relatorios = useMemo(\r\n () =>\r\n relatorioAPI\r\n ? [\r\n {\r\n ...relatorioAPI,\r\n status: relatorioAPI.finalizado ? FINALIZADO : EM_ANDAMENTO,\r\n urlDownload: () => {\r\n const id = (\r\n relatorioAPI.reportRequest || ''\r\n ).toLocaleUpperCase();\r\n\r\n downloadRelatorioNestle(id);\r\n },\r\n },\r\n ]\r\n : [],\r\n [downloadRelatorioNestle, relatorioAPI]\r\n );\r\n\r\n const handleNovoRelatorio = useCallback(() => {\r\n const hasRelatorioEmAndamento = relatorios.some(\r\n (r) => r.status.toLocaleUpperCase() === EM_ANDAMENTO.toLocaleUpperCase()\r\n );\r\n\r\n if (hasRelatorioEmAndamento) {\r\n modal.warning('Existe um processo em execução para este usuário!');\r\n } else {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n const SEND_EMAIL = true;\r\n dispatch(RelatorioActions.postRelatorioNestleRequest(SEND_EMAIL));\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n }, [dispatch, relatorios]);\r\n\r\n useEffect(() => {\r\n if (GrupoContratante !== 'NESTLE') history.push('/novo/lista');\r\n else dispatch(RelatorioActions.getUltimoRelatorioNestleRequest());\r\n }, [GrupoContratante, dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n novo relatório\r\n \r\n \r\n \r\n history.push('/novo/relatorio-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RelatorioNestle;\r\n","import React from 'react';\r\nimport { Error } from '@unimed-fesp/components';\r\n\r\nfunction NotFoundPage() {\r\n const errorNumber = '401';\r\n const errorTitle = 'oops! não autorizado';\r\n const errorMessage =\r\n 'Embora o padrão HTTP especifique \"não autorizado\", semanticamente, essa resposta significa \"não autenticado\". Ou seja, o cliente deve se autenticar para obter a resposta solicitada...';\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default NotFoundPage;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { IoIosCheckmarkCircleOutline } from 'react-icons/io';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Hr = styled.hr`\r\n border-color: #f2f2f2;\r\n opacity: 0.1;\r\n width: 100%;\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n ${({ type }) =>\r\n type === 'PendenteLiberacao'\r\n ? css`\r\n color: ${theme.yellowDefault};\r\n `\r\n : type === 'Ativo'\r\n ? css`\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const ReSendContainer = styled.div`\r\n margin: 30px 0 0 5px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n`;\r\n\r\nexport const SpanTextoAlert = styled.span`\r\n svg {\r\n line-height: 37px;\r\n }\r\n\r\n p {\r\n color: #5a5a5a;\r\n padding-left: 18px;\r\n font-weight: 100;\r\n font-size: 13px;\r\n word-break: break-word;\r\n width: 100%;\r\n }\r\n b {\r\n margin: 0;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\n\r\nimport { Text, WrapperFlex, Alerts, Button } from '@unimed-fesp/components';\r\n\r\nimport { MdErrorOutline } from 'react-icons/md';\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ReSendContainer, UnlockIConContainer, SpanTextoAlert } from './styles';\r\n\r\nimport InputForm from '../../atoms/InputForm';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nconst DadosAcesso = ({\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n}) => {\r\n function handleInput(e, status) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleInput(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"633\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={dadosAcessoParams.nome}\r\n disabled\r\n />\r\n \r\n \r\n handleInput(e, 'email')}\r\n marginTop=\"9\"\r\n width=\"458\"\r\n height=\"40\"\r\n placeholder=\"Informe o e-mail do usuário\"\r\n name=\"email\"\r\n value={dadosAcessoParams.email}\r\n disabled={dadosAcessoParams.tipoStatus === 'Inativo'}\r\n />\r\n \r\n \r\n {dadosAcessoParams.tipoStatus === 'Ativo' ? (\r\n \r\n \r\n \r\n handleAcaoUsuarioById(\r\n dadosAcessoParams.idUsuario,\r\n 'PendenteLiberacao'\r\n )\r\n }\r\n />\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AlertUnlock = ({ type, email, idUsuario, handleAcaoUsuarioById }) => {\r\n const ActionPorStatus = {\r\n Ativo: {\r\n Icon: ,\r\n Text: 'Liberação enviada',\r\n SubText: 'Solicitação de finalização de cadastro foi enviada para',\r\n Display: '',\r\n DisplayButton: 'none',\r\n tipo: 'success',\r\n },\r\n PendenteLiberacao: {\r\n Icon: ,\r\n Text: 'Liberação ainda não enviada',\r\n SubText: 'Deseja enviar a liberação para',\r\n Display: '',\r\n DisplayButton: '',\r\n tipo: 'warning',\r\n },\r\n Inativo: {\r\n Icon: null,\r\n Text: null,\r\n SubText: null,\r\n Display: 'none',\r\n DisplayButton: '',\r\n tipo: 'warning',\r\n },\r\n Bloqueado: {\r\n Icon: null,\r\n Text: null,\r\n SubText: null,\r\n Display: 'none',\r\n DisplayButton: '',\r\n tipo: 'warning',\r\n },\r\n };\r\n return (\r\n \r\n \r\n \r\n {ActionPorStatus[type].Icon} {ActionPorStatus[type].Text}\r\n
    \r\n

    \r\n {`${ActionPorStatus[type].SubText} `}\r\n \r\n {email}\r\n {type !== 'Ativo' ? '?' : ''}\r\n

    \r\n
    \r\n {type === 'Bloqueado' ? (\r\n \r\n \r\n Desbloquear\r\n \r\n ) : null}\r\n {type === 'PendenteLiberacao' ? (\r\n handleAcaoUsuarioById(idUsuario, type)}\r\n >\r\n \r\n liberar acesso\r\n \r\n ) : null}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Text,\r\n Badge,\r\n Dropdown,\r\n CanAccess,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n TipoPerfilUsuarioEnum,\r\n PermissaoContratanteEnum,\r\n} from '../../../enums';\r\n\r\nimport InputForm from '../../atoms/InputForm';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { isContratante, isAdmin } from '../../../utils/userRole';\r\nimport useParametrizazao from '../../../hooks/useParametrizazao';\r\n\r\nconst DadosGerais = ({\r\n usuarioParams,\r\n setUsuarioParams,\r\n usuarioDadosGerais,\r\n contatoParams,\r\n setContatoParams,\r\n useField,\r\n}) => {\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante'),\r\n text: 'Contratante',\r\n },\r\n ];\r\n\r\n const optionsPermissao = [\r\n {\r\n onClickOption: () => handleSelectedPermissao('Consulta'),\r\n text: 'Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPermissao('Alteração'),\r\n text: 'Alteração',\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerPerfil = useField('perfil').registerField;\r\n const registerPermissao = useField('permissao').registerField;\r\n const { handleRemoveAllCards } = useParametrizazao(usuarioParams?.idUsuario);\r\n\r\n function handleSelectedPerfil(text) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.tipoPerfil !== text) draft.tipoPerfil = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleSelectedPermissao(text) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.permissao !== text) draft.permissao = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"623\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n />\r\n \r\n {isContratante(usuarioDadosGerais.tipoPerfil) && (\r\n \r\n handleChange(e, 'matricula')}\r\n marginTop=\"9\"\r\n width=\"322\"\r\n height=\"40\"\r\n placeholder=\"Informe o número da matrícula\"\r\n name=\"matricula\"\r\n value={usuarioParams.matricula}\r\n />\r\n \r\n )}\r\n \r\n \r\n {usuarioParams.tipoPerfil === '' ||\r\n usuarioParams.tipoPerfil === null\r\n ? TipoPerfilUsuarioEnum.returnTipoPerfilAcessoForTipoPerfil\r\n .Selecione\r\n : TipoPerfilUsuarioEnum.returnTipoPerfilAcessoForTipoPerfil[\r\n usuarioParams.tipoPerfil\r\n ]}\r\n \r\n \r\n {isAdmin(usuarioParams.tipoPerfil) && (\r\n \r\n {usuarioParams.roles.map((role) => {\r\n const IS_ADM =\r\n role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n return (\r\n !IS_ADM && handleRemoveAllCards()}\r\n />\r\n );\r\n })}\r\n \r\n )}\r\n {isContratante(usuarioParams.tipoPerfil) ||\r\n usuarioParams.tipoPerfil === 'Contratante' ? (\r\n <>\r\n \r\n {usuarioParams.permissao == '' ||\r\n usuarioParams.permissao == null\r\n ? PermissaoContratanteEnum.returnName[0]\r\n : usuarioParams.permissao}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n setContatoParams({ contatos })\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React, { useEffect } from 'react';\r\nimport produce from 'immer';\r\nimport format from 'date-fns/format';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n TableHeader,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nimport CustomScrollbars from '../../molecules/CustomScrollBars';\r\n\r\nconst TableHeaderComponent = () => {\r\n return (\r\n \r\n Responsável\r\n Perfil\r\n Ação\r\n E-mail\r\n Data\r\n \r\n );\r\n};\r\n\r\nconst HistoricoMovimentacoes = ({\r\n usuarioHistoricoMovimentacao,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleChangePage,\r\n}) => {\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n // setNewPageAtual(pageData.pageNumber);\r\n // setPageSize(pageData.pageSize);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n {usuarioHistoricoMovimentacao.map((historico, index) => (\r\n \r\n \r\n {historico.nomeResponsavel ? historico.nomeResponsavel : '-'}\r\n \r\n \r\n {historico.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n historico.tipoPerfil\r\n ]\r\n : '-'}\r\n \r\n {historico.dcAcao ? historico.dcAcao : '-'}\r\n \r\n {historico.emailResponsavel ? historico.emailResponsavel : '-'}\r\n \r\n \r\n {historico.dtInclusaoHistorico\r\n ? format(\r\n new Date(historico.dtInclusaoHistorico),\r\n 'dd/MM/yyyy HH:mm',\r\n {\r\n timeZone: 'America/Sao_Paulo',\r\n }\r\n )\r\n : '-'}\r\n \r\n \r\n ))}\r\n
    \r\n \r\n {pageData.total > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default HistoricoMovimentacoes;\r\n","import React, { useMemo } from 'react';\r\n\r\nimport { Tab, TabContent } from '@unimed-fesp/components';\r\n\r\n// #region Componentes\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport ParametrizacaoContratantes from '../ParametrizacaoContratantes';\r\n\r\nimport DadosAcesso from './DadosAcesso';\r\nimport DadosGerais from './DadosGerais';\r\nimport HistoricoMovimentacoes from './HistoricoMovimentacoes';\r\n// #endregion\r\n\r\nfunction TabFormUsuario({\r\n usuarioParams,\r\n setUsuarioParams,\r\n contatoParams,\r\n setContatoParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosGerais,\r\n usuarioDadosAcesso,\r\n usuarioHistoricoMovimentacao,\r\n handleAcaoUsuarioById,\r\n handleActiveTab,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n idUsuario,\r\n useField,\r\n handleChangePage,\r\n}) {\r\n const tabs = useMemo(() => {\r\n const tabsMemo = [\r\n {\r\n children: <>dados gerais,\r\n color: '#00995D',\r\n name: 'dadosGerais',\r\n },\r\n {\r\n children: <>dados de acesso,\r\n color: '#00995D',\r\n name: 'dadosAcesso',\r\n },\r\n {\r\n children: <>parâmetros,\r\n color: '#00995D',\r\n name: 'parametros',\r\n },\r\n {\r\n children: <>histórico de movimentações,\r\n color: '#00995D',\r\n name: 'historicoMovimentacao',\r\n width: 'min-content',\r\n },\r\n ];\r\n\r\n return tabsMemo;\r\n }, []);\r\n\r\n function handleRenderTable(tabName = null) {\r\n if (usuarioDadosGerais.loading) {\r\n return ;\r\n }\r\n if (usuarioDadosGerais.response) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n function handleRenderTableHistorico() {\r\n if (usuarioHistoricoMovimentacao.loading) {\r\n return ;\r\n }\r\n\r\n if (usuarioHistoricoMovimentacao.response.size > 0) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRenderTable()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {handleRenderTableHistorico()}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TabFormUsuario;\r\n","import React from 'react';\r\n\r\nimport { Modal, Button, Text } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction ModalLiberarAcesso({\r\n isOpen,\r\n onClick,\r\n liberarAcesso,\r\n naoLiberarAcesso,\r\n isEditar,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ naoLiberarAcesso, isEditar, liberarAcesso }) => {\r\n return (\r\n <>\r\n \r\n agora não\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalLiberarAcesso;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCancelActionFooter;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form, useField } from '@rocketseat/unform';\r\n\r\nimport {\r\n Modal,\r\n Text,\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport { isEqual } from 'lodash';\r\nimport produce from 'immer';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport {\r\n isValidMesmoTelefone,\r\n isValidMesmoCelular,\r\n} from '../../utils/validation';\r\n\r\nimport { excludeData } from '../../services/auth';\r\n\r\nimport {\r\n TipoTelefoneEnum,\r\n PermissaoContratanteEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport TabFormUsuario from '../../components/organisms/TabFormUsuario';\r\nimport ModalLiberarAcesso from '../../components/organisms/ModalLiberarAcesso';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport useParametrizacao from '../../hooks/useParametrizazao';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n\r\nfunction UsuarioDetalhe({ match }) {\r\n const { idUsuario } = match.params;\r\n\r\n const { idUsuarioLogado } = useSelector((state) => state.auth.usuario);\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n getUsuarioById,\r\n getContatoById,\r\n getDadosAcessoById,\r\n getHistoricoMovimentacoes,\r\n patchLiberarAcesso,\r\n patchStatusUsuario,\r\n patchDadosGerais,\r\n patchDadosAcesso,\r\n patchBloquearDesbloquearUsuario,\r\n } = useSelector((state) => state.usuario);\r\n\r\n const { salvarParametrizacao, hasAlteracao } = useParametrizacao(\r\n idUsuario,\r\n getUsuarioById.response.tipoPerfil\r\n );\r\n\r\n const editarUsuarioParam = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: getUsuarioById.response.nome || '',\r\n matricula: getUsuarioById.response.matricula || '',\r\n tipoPerfil: getUsuarioById.response.tipoPerfil || '',\r\n permissao:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n getUsuarioById.response.tipoPerfil\r\n ] || '',\r\n roles: getUsuarioById.response.roles,\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const editarDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: getDadosAcessoById.response.nome,\r\n email: getDadosAcessoById.response.email,\r\n tipoStatus: getDadosAcessoById.response.tipoStatus,\r\n };\r\n\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n isOpen: false,\r\n text: '',\r\n textHeader: '',\r\n onClick: (_) => _,\r\n onClickOk: (_) => _,\r\n });\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [dadosAcessoParams, setDadosAcessoParams] = useState(\r\n editarDadosAcessoParams\r\n );\r\n const [originalContatoParams, setOriginalContatoParams] =\r\n useState(editarContatosParams);\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [modalError, setModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [activeTab, setActiveTab] = useState('dadosGerais');\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalLiberarAcesso, setOpenModalLiberarAcesso] = useState(false);\r\n const [liberarAcesso, setLiberarAcesso] = useState(false);\r\n\r\n function IsStateChangeFromOriginal(prevState, newState) {\r\n return !isEqual(prevState, newState);\r\n }\r\n\r\n useEffect(() => {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n dispatch(UsuarioActions.getUsuarioByIdRequest(idUsuario));\r\n dispatch(UsuarioActions.getContatoByIdRequest(idUsuario));\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (getUsuarioById.response) setUsuarioParams(editarUsuarioParam);\r\n }, [getUsuarioById.response]);\r\n\r\n useEffect(() => {\r\n if (getContatoById.response.length > 0) {\r\n const contatos = getContatoById.response.map((contato) => ({\r\n tipo: contato.tipoContato,\r\n numero: contato.nrDdd.toString().concat(contato.nrNumero),\r\n }));\r\n setOriginalContatoParams({ contatos });\r\n setContatoParams({ contatos });\r\n } else {\r\n setContatoParams(editarContatosParams);\r\n }\r\n }, [getContatoById.response]);\r\n\r\n useEffect(() => {\r\n if (getDadosAcessoById.response) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n draft.idUsuario = parseInt(idUsuario, 10);\r\n draft.nome = getDadosAcessoById.response.nome;\r\n draft.email = getDadosAcessoById.response.email;\r\n draft.tipoStatus = getDadosAcessoById.response.tipoStatus;\r\n\r\n return draft;\r\n });\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n }, [getDadosAcessoById.response]);\r\n\r\n function IsSubmitDadosGerais() {\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n !IsStateChangeFromOriginal(originalContatoParams, contatoParams)\r\n ) {\r\n return IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams);\r\n }\r\n if (\r\n !IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n (contatoParams.contatos.every((c) => c.numero === '') ||\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n (contatoParams.contatos.every((c) => c.numero === '') ||\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) ||\r\n (IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n }\r\n function IsSubmitDadosAcesso() {\r\n return IsStateChangeFromOriginal(\r\n editarDadosAcessoParams,\r\n dadosAcessoParams\r\n );\r\n }\r\n\r\n const setButtonDisabledForTab = useCallback(\r\n (tabActive) => {\r\n const tabs = {\r\n dadosGerais: IsSubmitDadosGerais,\r\n dadosAcesso: IsSubmitDadosAcesso,\r\n parametros: () => hasAlteracao,\r\n historicoMovimentacao: (_) => _,\r\n };\r\n\r\n return tabs[tabActive]();\r\n },\r\n [IsSubmitDadosAcesso, IsSubmitDadosGerais, hasAlteracao]\r\n );\r\n\r\n useEffect(() => {\r\n const isDisabledButtonInActiveTab = setButtonDisabledForTab(activeTab);\r\n\r\n setIsButtonDisabled(!isDisabledButtonInActiveTab);\r\n }, [\r\n activeTab,\r\n usuarioParams,\r\n contatoParams,\r\n dadosAcessoParams,\r\n parametrizacaoRoot,\r\n setButtonDisabledForTab,\r\n ]);\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function preparaDadosGerais(data) {\r\n const formUsuarioParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: data.nome,\r\n matricula: data.matricula ? data.matricula : '',\r\n tipoPerfil: TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil],\r\n permissao: data.permissao ? data.permissao : '',\r\n };\r\n\r\n const formContatoParams = {\r\n contatos: [],\r\n };\r\n if (contatoParams.contatos?.length > 0)\r\n formContatoParams.contatos = contatoParams.contatos.map((c) => ({\r\n numero: c.numero,\r\n tipo: c.tipo,\r\n }));\r\n\r\n return { formUsuarioParams, formContatoParams };\r\n }\r\n\r\n function bindPermissaoToPerfil(data) {\r\n return TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil] !==\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm\r\n ? PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.permissao\r\n ]\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n }\r\n\r\n function dadosGeraisSubmit(data) {\r\n const { formUsuarioParams, formContatoParams } = preparaDadosGerais(data);\r\n if (\r\n IsStateChangeFromOriginal(formUsuarioParams, editarUsuarioParam) ||\r\n IsStateChangeFromOriginal(formContatoParams, originalContatoParams)\r\n ) {\r\n if (\r\n formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n formContatoParams.contatos.every((c) =>\r\n isValidContato(c.numero, c.tipo)\r\n )\r\n ) {\r\n formContatoParams.contatos.map((c) => {\r\n c.ddd = c.numero.substring(0, 2);\r\n c.numero = c.numero.substring(2);\r\n });\r\n } else {\r\n formContatoParams.contatos = [];\r\n }\r\n\r\n formUsuarioParams.tipoPerfil = bindPermissaoToPerfil(data);\r\n dispatch(\r\n UsuarioActions.patchDadosGeraisRequest(\r\n formUsuarioParams,\r\n formContatoParams\r\n )\r\n );\r\n }\r\n\r\n // if (\r\n // IsStateChangeFromOriginal(\r\n // formContatoParams,\r\n // editarContatosParams\r\n // ) &&\r\n // formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n // formContatoParams.contatos.every((c) =>\r\n // isValidContato(c.numero, c.tipo)\r\n // )\r\n // ) {\r\n // formContatoParams.contatos.map((c) => {\r\n // c.ddd = c.numero.substring(0, 2);\r\n // c.numero = c.numero.substring(2);\r\n // });\r\n\r\n // dispatch(\r\n // UsuarioActions.patchRegistrarContatoRequest(\r\n // formContatoParams,\r\n // idUsuario\r\n // )\r\n // );\r\n // }\r\n }\r\n\r\n function dadosAcessoSubmit(data) {\r\n if (idUsuarioLogado !== idUsuario) setOpenModalLiberarAcesso(true);\r\n else if (idUsuarioLogado === idUsuario) handleAlterarProprioEmail(false);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: data.email,\r\n };\r\n\r\n // dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n function handleSubmit(data) {\r\n switch (activeTab) {\r\n case 'dadosGerais':\r\n dadosGeraisSubmit(data);\r\n break;\r\n case 'dadosAcesso':\r\n dadosAcessoSubmit(data);\r\n break;\r\n case 'parametros':\r\n salvarParametrizacao();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById(idUsuario, tipoAcao) {\r\n const params = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n const actionUsuario = setUsuarioActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n\r\n if (patchLiberarAcesso.success) {\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (idUsuarioLogado === idUsuario) {\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n }\r\n }\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n if (patchDadosGerais.success) {\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n }\r\n if (patchDadosAcesso.success) {\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n if (idUsuarioLogado === idUsuario) signOut();\r\n }\r\n }\r\n\r\n function handleModalError() {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n\r\n if (patchDadosAcesso.isError)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n if (patchDadosGerais.isError)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n setActiveTab(tab);\r\n }\r\n\r\n const handleAlterarProprioEmail = (isOpen) => {\r\n const newCancelAction = produce(openModalCancelAction, (draft) => {\r\n draft.isOpen = !isOpen;\r\n draft.text =\r\n 'Ao alterar seu email perderá a sessão atual e qualquer dado não salvo. Deseja continuar?';\r\n draft.textHeader = 'cancelar';\r\n draft.onClick = (open) => handleAlterarProprioEmail(open);\r\n draft.onClickOk = () => {\r\n handleAlterarProprioEmail(true);\r\n handlePatchDadosAcesso();\r\n };\r\n\r\n return draft;\r\n });\r\n setOpenModalCancelAction(newCancelAction);\r\n };\r\n\r\n function handleModalCancelAction(isOpen) {\r\n const newCancelAction = produce(openModalCancelAction, (draft) => {\r\n draft.isOpen = !isOpen;\r\n draft.text =\r\n 'Ao cancelar a edição do usuário, você perderá os dados não salvos. Deseja continuar?';\r\n draft.textHeader = 'cancelar';\r\n draft.onClick = (open) => handleModalCancelAction(open);\r\n draft.onClickOk = handleCancelar;\r\n\r\n return draft;\r\n });\r\n setOpenModalCancelAction(newCancelAction);\r\n }\r\n\r\n function handleModalLiberarAcesso() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n }\r\n\r\n function handleLiberarAcesso() {\r\n setOpenModalLiberarAcesso(false);\r\n setLiberarAcesso(true);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n const handlePatchDadosAcesso = () => {\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n };\r\n\r\n function handleNaoLiberarAcesso() {\r\n setOpenModalLiberarAcesso(false);\r\n setLiberarAcesso(false);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n function handleChangePage(paramsPgs) {\r\n const params = {\r\n ...paramsPgs,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }\r\n }\r\n\r\n const handleCancelar = useCallback(() => {\r\n history.push(`/novo/gestao`);\r\n }, []);\r\n\r\n const signOut = () => {\r\n dispatch(AuthActions.signOut());\r\n excludeData('@movcad');\r\n history.push('/novo/login');\r\n };\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.success && liberarAcesso) {\r\n setOpenModalAcaoUsuario({\r\n success: true,\r\n message: 'alterações de dados realizada e liberação enviada.',\r\n });\r\n } else if (patchLiberarAcesso.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n }\r\n }, [patchLiberarAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.isError)\r\n setOpenModalAcaoUsuario({\r\n error: !modalError.error,\r\n message: 'erro ao enviar solicitação de liberação.',\r\n });\r\n }, [patchLiberarAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n }, [patchDadosGerais.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados gerais realizada.',\r\n });\r\n }, [patchDadosGerais.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message:\r\n patchDadosAcesso.error[0] || 'erro ao salvar os dados de acesso.',\r\n });\r\n }, [patchDadosAcesso.isError]);\r\n // useEffect(() => {\r\n // if (patchDadosAcesso.success)\r\n // setOpenModalAcaoUsuario({\r\n // success: !openModalAcaoUsuario.success,\r\n // message: 'alteração de dados de acesso realizada.',\r\n // });\r\n // }, [patchDadosAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.success && liberarAcesso) {\r\n const paramsLiberarAcesso = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n dispatch(UsuarioActions.patchLiberarAcessoRequest(paramsLiberarAcesso));\r\n } else if (patchDadosAcesso.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'Usuário alterado com sucesso!',\r\n });\r\n }\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n }, [patchDadosAcesso.success]);\r\n\r\n return (\r\n \r\n \r\n history.push('/novo/gestao') },\r\n {\r\n path: `${getUsuarioById.response.nome}`,\r\n onNavigate: () =>\r\n history.push(`/novo/gestao/detalhe-usuario/${idUsuario}`),\r\n },\r\n ]}\r\n />\r\n
    \r\n \r\n \r\n \r\n handleModalCancelAction(openModalCancelAction.isOpen)\r\n }\r\n >\r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n {\r\n openModalCancelAction.onClick(openModalCancelAction.isOpen);\r\n }}\r\n isOpen={openModalCancelAction.isOpen}\r\n footer={\r\n {\r\n openModalCancelAction.onClick(openModalCancelAction.isOpen);\r\n }}\r\n onClickOk={openModalCancelAction.onClickOk}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default UsuarioDetalhe;\r\n","import { Text } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\nexport const Message = styled(Text)`\r\n text-align: left;\r\n font: 28px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n padding: 0 30px;\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n\r\n align-self: center;\r\n text-align: left;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nconst animate = keyframes`\r\n 100%{\r\n transform: initial;\r\n }\r\n 90%{\r\n opacity: initial;\r\n }\r\n 0%{\r\n opacity: 0;\r\n transform: translateY(-40px);\r\n }`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n animation: ${animate} 0.5s forwards ease;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, Dropdown, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\n\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nfunction FilterExtendsUsuarios({ isOpen, setInputValue }) {\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante Consulta'),\r\n text: 'Contratante Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante Alteração'),\r\n text: 'Contratante Alteração',\r\n },\r\n ];\r\n\r\n const { loading } = useSelector((state) => state.usuario.getConsultaUsuarios);\r\n\r\n const registerPerfil = useField('perfil').registerField;\r\n\r\n const [selectedPerfil, setSelectedPerfil] = useState('');\r\n const [clearField, setClearField] = useState(false);\r\n const [dates, setDates] = useState({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataLiberacaoDe: null,\r\n dataLiberacaoAte: null,\r\n dataInativacaoDe: null,\r\n dataInativacaoAte: null,\r\n dataBloqueioDe: null,\r\n dataBloqueioAte: null,\r\n });\r\n const [disableImportarCriacao, setDisableImportarCriacao] = useState(false);\r\n const [disableImportarLiberacao, setDisableImportarLiberacao] =\r\n useState(false);\r\n const [disableImportarInativacao, setDisableImportarInativacao] =\r\n useState(false);\r\n\r\n function handleDataCriacaoDe(e) {\r\n if (e.target) return;\r\n const dataCriacaoAte = e > dates.dataCriacaoAte ? e : dates.dataCriacaoAte;\r\n setDates({\r\n dataCriacaoDe: e,\r\n dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataCriacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: e,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataLiberacaoDe(e) {\r\n if (e.target) return;\r\n const dataLiberacaoAte =\r\n e > dates.dataLiberacaoAte ? e : dates.dataLiberacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: e,\r\n dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataLiberacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: e,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataInativacaoDe(e) {\r\n if (e.target) return;\r\n const dataInativacaoAte =\r\n e > dates.dataInativacaoAte ? e : dates.dataInativacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: e,\r\n dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataInativacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: e,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: dates.dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataBloqueioDe(e) {\r\n if (e.target) return;\r\n const dataBloqueioAte =\r\n e > dates.dataBloqueioAte ? e : dates.dataInativacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: e,\r\n dataBloqueioAte,\r\n });\r\n }\r\n\r\n function handleDataBloqueioAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n dataBloqueioDe: dates.dataBloqueioDe,\r\n dataBloqueioAte: e,\r\n });\r\n }\r\n\r\n function handleSelectedPerfil(text) {\r\n setSelectedPerfil(text);\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setSelectedPerfil('');\r\n setDates({\r\n dataCriacaoDe: '',\r\n dataCriacaoAte: '',\r\n dataLiberacaoDe: '',\r\n dataLiberacaoAte: '',\r\n dataInativacaoDe: '',\r\n dataInativacaoAte: '',\r\n dataBloqueioDe: '',\r\n dataBloqueioAte: '',\r\n });\r\n setInputValue('');\r\n setClearField(true);\r\n }\r\n\r\n useEffect(() => {\r\n setClearField(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n function handleDisableImportar() {\r\n if (\r\n (dates.dataCriacaoDe && dates.dataCriacaoAte) ||\r\n (!dates.dataCriacaoDe && !dates.dataCriacaoAte)\r\n ) {\r\n setDisableImportarCriacao(false);\r\n } else {\r\n setDisableImportarCriacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataLiberacaoDe && dates.dataLiberacaoAte) ||\r\n (!dates.dataLiberacaoDe && !dates.dataLiberacaoAte)\r\n ) {\r\n setDisableImportarLiberacao(false);\r\n } else {\r\n setDisableImportarLiberacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataInativacaoDe && dates.dataInativacaoAte) ||\r\n (!dates.dataInativacaoDe && !dates.dataInativacaoAte)\r\n ) {\r\n setDisableImportarInativacao(false);\r\n } else {\r\n setDisableImportarInativacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataBloqueioDe && dates.dataBloqueioAte) ||\r\n (!dates.dataBloqueioDe && !dates.dataBloqueioAte)\r\n ) {\r\n setDisableImportarInativacao(false);\r\n } else {\r\n setDisableImportarInativacao(true);\r\n }\r\n }\r\n\r\n handleDisableImportar();\r\n }, [dates]);\r\n\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n \r\n {selectedPerfil || 'Selecione o perfil'}\r\n \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FilterExtendsUsuarios;\r\n","import styled, { keyframes, css } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { FcCancel } from 'react-icons/fc';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const CancelIConContainer = styled(FcCancel).attrs((props) => ({\r\n color: props.color,\r\n}))`\r\n path {\r\n fill: ${(props) => props.color} !important;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\nexport const ContentAction = styled.div`\r\n margin-left: -20px;\r\n display: flex;\r\n justify-content: flex-end;\r\n`;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Button,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tab,\r\n TabContent,\r\n Checkbox,\r\n WrapperFlex,\r\n Tooltip,\r\n Alerts,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil, ImUnlocked } from 'react-icons/im';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { MdLockOpen } from 'react-icons/md';\r\nimport { HiLockClosed, HiLockOpen } from 'react-icons/hi2';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport history from '../../../services/history';\r\n\r\nimport { TipoStatusEnum, TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n HoverActions,\r\n CancelIConContainer,\r\n ContentAction,\r\n} from './styles';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nfunction TabTableUsuarios({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleAcaoUsuarioById,\r\n handleAcaoUsuarios,\r\n handleConfirmAction,\r\n handleChangeTab,\r\n handleChangePage,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const { getConsultaUsuarios } = useSelector((state) => state.usuario);\r\n\r\n const tabs = [\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Todas.size}todas\r\n \r\n ),\r\n color: '#00995D',\r\n name: 'todas',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Ativo.size}ativos\r\n \r\n ),\r\n color: '#B1D34B',\r\n name: 'ativo',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.PendenteLiberacao.size}\r\n pendentes\r\n \r\n ),\r\n color: '#F1C104',\r\n name: 'pendenteLiberacao',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Inativo.size}inativos\r\n \r\n ),\r\n color: '#ED1651',\r\n name: 'inativo',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Bloqueado.size}bloqueados\r\n \r\n ),\r\n color: '#ED1651',\r\n name: 'bloqueado',\r\n },\r\n ];\r\n\r\n function handleRenderTable(usuarios, tabName = null) {\r\n if (getConsultaUsuarios.loading) {\r\n return ;\r\n }\r\n if (!!usuarios.data && usuarios.data.length > 0) {\r\n return (\r\n handleChangePage(paramsPg, tabName)}\r\n {...(tabName && { tabName })}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRenderTable(getConsultaUsuarios.response.Todas, 'Todas')}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.Ativo,\r\n TipoStatusEnum.returnNameForTab.Ativo\r\n )}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.PendenteLiberacao,\r\n TipoStatusEnum.returnNameForTab.PendenteLiberacao\r\n )}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.Inativo,\r\n TipoStatusEnum.returnNameForTab.Inativo\r\n )}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.Bloqueado,\r\n TipoStatusEnum.returnNameForTab.Bloqueado\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ tabName, checkAll, handleCheckAll }) => {\r\n return (\r\n \r\n {tabName !== 'Todas' && tabName !== 'Bloqueado' && (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n )}\r\n \r\n Usuário\r\n \r\n \r\n E-mail\r\n \r\n \r\n Perfil\r\n \r\n \r\n Criação\r\n \r\n \r\n Liberação\r\n \r\n \r\n Inativação\r\n \r\n \r\n Bloqueio\r\n \r\n \r\n Status\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n usuarios,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleAcaoUsuarioById,\r\n handleAcaoUsuarios,\r\n tabName,\r\n handleConfirmAction,\r\n usuariosSize,\r\n handleChangePage,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [userRowsChecked, setUserRowsChecked] = useState([]);\r\n\r\n function handleCheckAll(e) {\r\n setCheckAll(!checkAll);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {userRowsChecked.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {usuarios.map((user, index) => (\r\n \r\n ))}\r\n \r\n {pageData.size > 10 && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n user,\r\n checkAll,\r\n setUserRowsChecked,\r\n userRowsChecked = [],\r\n tabName,\r\n handleAcaoUsuarioById,\r\n index,\r\n handleConfirmAction,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [usuario, setUsuario] = useState({ user, checked: !isChecked });\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleEditarUsuario(IdUsuario) {\r\n history.push(`/novo/gestao/detalhe-usuario/${IdUsuario}`);\r\n }\r\n\r\n function handleCheckedUsuario(e, check, idUsuario) {\r\n const newUsuario = produce(usuario, (draft) => {\r\n if (draft.user.idUsuario === idUsuario) draft.checked = !check;\r\n\r\n return draft;\r\n });\r\n\r\n const newUserRowChecked = produce(userRowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return (\r\n u.user.idUsuario !== newUsuario.user.idUsuario && u.checked === true\r\n );\r\n });\r\n\r\n if (newUsuario.checked) newDraft.push(newUsuario);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuario(newUsuario);\r\n setUserRowsChecked(newUserRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newUsuario = produce(usuario, (draft) => {\r\n draft.checked = checkAll;\r\n\r\n return draft;\r\n });\r\n setUsuario(newUsuario);\r\n if (checkAll) {\r\n if (\r\n !userRowsChecked\r\n .map((userRowChecked) => userRowChecked.user.idUsuario)\r\n .includes(newUsuario.user.idUsuario)\r\n )\r\n setUserRowsChecked((oldArray) => [...oldArray, newUsuario]);\r\n } else setUserRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n {tabName !== 'Todas' && tabName !== 'Bloqueado' && (\r\n \r\n \r\n handleCheckedUsuario(e, usuario.checked, user.idUsuario)\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n )}\r\n \r\n {user.nome ? user.nome : '-'}\r\n \r\n \r\n {user.email ? user.email : '-'}\r\n \r\n \r\n {user.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[user.tipoPerfil]\r\n : '-'}\r\n \r\n \r\n {user.dtCriacao\r\n ? format(new Date(user.dtCriacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {user.dtLiberacao\r\n ? format(new Date(user.dtLiberacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {user.dtInativacao\r\n ? format(new Date(user.dtInativacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {user.dtBloqueio\r\n ? format(new Date(user.dtBloqueio), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {hoverAction ? (\r\n \r\n ) : (\r\n <>\r\n {user?.tipoStatus\r\n ? TipoStatusEnum.returnNameFormattedForName[user.tipoStatus]\r\n : '-'}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllUsuario = ({\r\n tabName,\r\n userRowsChecked,\r\n handleAcaoUsuarios,\r\n handleConfirmAction,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n}) => {\r\n const IconPorStatus = {\r\n Ativo: {\r\n Button: (\r\n handleConfirmAction(userRowsChecked, tabName)}\r\n >\r\n \r\n inativar\r\n \r\n ),\r\n },\r\n Inativo: {\r\n Button: (\r\n handleConfirmAction(userRowsChecked, tabName)}\r\n >\r\n \r\n ativar\r\n \r\n ),\r\n },\r\n PendenteLiberacao: {\r\n Button: (\r\n \r\n \r\n liberar acesso\r\n \r\n ),\r\n },\r\n };\r\n\r\n function handleButtonPorStatus() {\r\n return IconPorStatus[tabName]?.Button;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Você selecionou {userRowsChecked.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n {handleButtonPorStatus()}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableUsuarioActions = ({\r\n handleAcaoUsuarioById,\r\n handleUsuario,\r\n tabName,\r\n usuarioStatus,\r\n IdUsuario,\r\n handleConfirmAction,\r\n}) => {\r\n return (\r\n \r\n \r\n handleUsuario(IdUsuario)}>\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst ActionPorStatus = ({\r\n tabName,\r\n usuarioStatus,\r\n IdUsuario,\r\n handleAcaoUsuarioById,\r\n handleConfirmAction,\r\n}) => {\r\n const IconPorStatus = {\r\n Ativo: [\r\n {\r\n Text: 'inativar',\r\n Icon: ,\r\n onClick: () => handleConfirmAction(IdUsuario, usuarioStatus),\r\n },\r\n {\r\n Text: 'bloquear',\r\n Icon: ,\r\n onClick: () => handleConfirmAction(IdUsuario, 'Bloqueado', true),\r\n },\r\n ],\r\n Inativo: [\r\n {\r\n Text: 'ativar',\r\n Icon: ,\r\n onClick: () => handleConfirmAction(IdUsuario, usuarioStatus),\r\n },\r\n ],\r\n PendenteLiberacao: [\r\n {\r\n Text: 'liberar acesso',\r\n Icon: ,\r\n onClick: () => handleConfirmAction(IdUsuario, usuarioStatus),\r\n },\r\n ],\r\n Bloqueado: [\r\n {\r\n Text: 'desbloquear',\r\n Icon: ,\r\n onClick: () => handleConfirmAction(IdUsuario, 'Bloqueado', false),\r\n },\r\n ],\r\n };\r\n\r\n return IconPorStatus[usuarioStatus].map(({ Icon, Text, onClick }) => (\r\n \r\n {Icon}\r\n \r\n ));\r\n};\r\n\r\nexport default TabTableUsuarios;\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgBusinessCenter = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 60,\n viewBox: \"0 0 24 24\",\n width: 60,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 7h-4V5l-2-2h-4L8 5v2H4c-1.1 0-2 .9-2 2v5c0 .75.4 1.38 1 1.73V19c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2v-3.28c.59-.35 1-.99 1-1.72V9c0-1.1-.9-2-2-2zM10 5h4v2h-4V5zM4 9h16v5h-5v-3H9v3H4V9zm9 6h-2v-2h2v2zm6 4H5v-3h4v1h6v-1h4v3z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBusinessCenter, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/business_center.481072a9.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgSettings = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgSettings, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/settings.f8959a31.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ImageWrapper = styled.div``;\r\n\r\nexport const ContentTextWrapper = styled.div``;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal 600 17px 'unimed_slabsemibold';\r\n color: ${theme.grey};\r\n text-align: center;\r\n letter-spacing: 0px;\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: block;\r\n background-color: ${theme.grey210};\r\n height: 160px;\r\n width: 160px;\r\n text-align: -webkit-center;\r\n padding: 25px;\r\n margin: 12px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n opacity: 1;\r\n\r\n &:hover {\r\n background-color: ${lighten(0.68, theme.greenDefault)};\r\n div {\r\n cursor: pointer;\r\n color: ${theme.greenDefault};\r\n background: ${lighten(0.68, theme.greenDefault)};\r\n }\r\n\r\n svg {\r\n fill: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentTextWrapper,\r\n ImageWrapper,\r\n} from './styles';\r\nimport ImageCard from '../ImageCard';\r\n\r\nconst CardTipoPerfil = ({ text, onClick, children }) => (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n {text}\r\n {/* */}\r\n \r\n \r\n \r\n);\r\n\r\nexport default CardTipoPerfil;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 15px;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\nimport { ReactComponent as CaseIcon } from '../../../assets/icons/business_center.svg';\r\nimport { ReactComponent as GearIcon } from '../../../assets/icons/settings.svg';\r\n\r\nimport CardTipoPerfil from '../../molecules/CardTipoPerfil';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport PerfilEnum from '../../../enums/PerfilEnum';\r\n\r\nimport { Container, ContentText } from './styles';\r\nimport theme from '../../../styles/theme';\r\nimport history from '../../../services/history';\r\n\r\nfunction ModalNovoUsuario({ isOpen, onClick }) {\r\n const paginaNovoUsarioAdministrador = useCallback((perfilNovoUsuario) => {\r\n history.push(`/novo/gestao/novo-usuario/${PerfilEnum.returnName[1]}`);\r\n }, []);\r\n\r\n const paginaNovoUsarioContratante = useCallback((perfilNovoUsuario) => {\r\n history.push(`/novo/gestao/novo-usuario/${PerfilEnum.returnName[2]}`);\r\n }, []);\r\n\r\n return (\r\n novo usuário}\r\n >\r\n \r\n Que tipo de perfil deseja cadastrar?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalNovoUsuario;\r\n","import React, { useState, useEffect, useMemo, useCallback } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport { MdSearch, MdFilterList, MdFileDownload } from 'react-icons/md';\r\nimport { VscFile } from 'react-icons/vsc';\r\n\r\nimport {\r\n Modal,\r\n Text,\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport { isPartialEmail } from '../../utils/validation';\r\n\r\nimport theme from '../../styles/theme';\r\nimport history from '../../services/history';\r\nimport { Container, ContentText, Message } from './styles';\r\n\r\nimport { TipoStatusEnum, TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtendsUsuarios from '../../components/organisms/FilterExtendsUsuarios';\r\nimport TabTableUsuarios from '../../components/organisms/TabTableUsuarios';\r\nimport ModalNovoUsuario from '../../components/organisms/ModalNovoUsuario';\r\nimport { downloadFile } from '../../utils/base64';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n} from '../../components/molecules/Modal';\r\n\r\nfunction UsuarioGestao() {\r\n const dispatch = useDispatch();\r\n\r\n const { success } = useSelector((state) => state.modalidade);\r\n const {\r\n patchLiberarAcesso,\r\n patchStatusUsuario,\r\n getConsultaUsuarios,\r\n getRelatorioUsuariosDownload,\r\n patchBloquearDesbloquearUsuario,\r\n } = useSelector((state) => state.usuario);\r\n\r\n const desabilitarBotaoDownloadRelatorio = useMemo(() => {\r\n const { Todas, PendenteLiberacao, Inativo, Ativo, Bloqueado } =\r\n getConsultaUsuarios.response;\r\n\r\n const todosStatusVazios =\r\n Todas.size === 0 &&\r\n PendenteLiberacao.size === 0 &&\r\n Ativo.size === 0 &&\r\n Inativo.size === 0 &&\r\n Bloqueado.size === 0;\r\n\r\n return getConsultaUsuarios.loading || todosStatusVazios;\r\n }, [getConsultaUsuarios.loading, getConsultaUsuarios.response]);\r\n\r\n const [tabActive, setTabActive] = useState(\r\n TipoStatusEnum.returnNameForTab.Todas\r\n );\r\n const [usuarioAction, setUsuarioAction] = useState({\r\n usuarios: [],\r\n tipoAcao: '',\r\n bloqueio: false,\r\n });\r\n const [openModalNovoUsuario, setModalNovoUsuario] = useState(false);\r\n const [openModalError, setModalError] = useState({\r\n error: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n });\r\n const [openModalDownloadRelatorio, setOpenModalDownloadRelatorio] =\r\n useState(false);\r\n\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n\r\n const filterExtendsParams = {\r\n nome: null,\r\n email: null,\r\n tipoPerfil: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataLiberacaoDe: null,\r\n dataLiberacaoAte: null,\r\n dataInativacaoDe: null,\r\n dataInativacaoAte: null,\r\n dataBloqueioDe: null,\r\n dataBloqueioAte: null,\r\n };\r\n\r\n const paginationTabParams = {\r\n tipoStatus: TipoStatusEnum.returnNameForTab.Todas,\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n };\r\n\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n });\r\n }\r\n\r\n const handleCancelarCadastro = () => {\r\n history.push(`/novo/gestao`);\r\n };\r\n\r\n function handleModalNovoUsuario() {\r\n setModalNovoUsuario(!openModalNovoUsuario);\r\n }\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.nome =\r\n !inputValue || isPartialEmail(inputValue) ? null : inputValue;\r\n draft.email = isPartialEmail(inputValue) ? inputValue : null;\r\n draft.tipoPerfil =\r\n data.perfil === 'Selecione o perfil'\r\n ? null\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n draft.dataCriacaoDe = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataCriacaoAte = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.dataLiberacaoDe = data.dataLiberacaoDe\r\n ? format(data.dataLiberacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataLiberacaoAte = data.dataLiberacaoAte\r\n ? format(data.dataLiberacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.dataInativacaoDe = data.dataInativacaoDe\r\n ? format(data.dataInativacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataInativacaoAte = data.dataInativacaoAte\r\n ? format(data.dataInativacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n\r\n draft.dataBloqueioDe = data.dataBloqueioDe\r\n ? format(data.dataBloqueioDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataBloqueioAte = data.dataBloqueioAte\r\n ? format(data.dataBloqueioAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n\r\n return draft;\r\n });\r\n\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = 10;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n setPaginationParams(newPaginationParams);\r\n return params;\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n // 'enter' was pressed\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...filterParams,\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n }\r\n }\r\n\r\n function handleActiveTab(status) {\r\n const newPaginationTab = produce(paginationParams, (draft) => {\r\n draft.tipoStatus = status;\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationTab);\r\n }\r\n\r\n function handleSelectedPageSize(e) {\r\n const newPageSize = produce(paginationParams, (draft) => {\r\n draft.pageSize = e.target.dataset.text;\r\n draft.pageNumber = 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageSize,\r\n };\r\n\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n\r\n setPaginationParams(newPageSize);\r\n }\r\n\r\n function handlePageChange(e) {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n draft.pageNumber = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n if (\r\n newPageAtual.totalPages >= newPageAtual.pageNumber &&\r\n newPageAtual.pageNumber !== '0'\r\n )\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleNextPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.totalPages !== draft.pageNumber) draft.pageNumber += 1;\r\n\r\n return draft;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n if (paginationParams.totalPages !== paginationParams.pageNumber)\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n setTabActive(nameTab);\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } =\r\n getConsultaUsuarios.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(paramsPag, tipoStatus) {\r\n const params = {\r\n ...filterParams,\r\n ...paramsPag,\r\n tipoStatus,\r\n };\r\n\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const [{ idUsuario, bloqueio }] = params;\r\n\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n Bloqueado: UsuarioActions.patchBloquearDesbloquearUsuarioRequest(\r\n idUsuario,\r\n bloqueio\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById() {\r\n const params = [\r\n {\r\n idUsuario: usuarioAction.usuarios,\r\n bloqueio: usuarioAction.bloqueio,\r\n },\r\n ];\r\n\r\n const actionUsuario = setUsuarioActionToDispatch(\r\n usuarioAction.tipoAcao,\r\n params\r\n );\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleAcaoUsuarios() {\r\n const params = usuarioAction.usuarios.map((u) => {\r\n return { idUsuario: u.user.idUsuario };\r\n });\r\n\r\n const actionUsuario = setUsuarioActionToDispatch(\r\n usuarioAction.tipoAcao,\r\n params\r\n );\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function setAcaoUsuario() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n });\r\n\r\n return Array.isArray(usuarioAction.usuarios)\r\n ? handleAcaoUsuarios()\r\n : handleAcaoUsuarioById();\r\n }\r\n\r\n function handleConfirmAction(usuarios, tipoAcao, bloqueio) {\r\n setUsuarioAction({ usuarios, tipoAcao, bloqueio });\r\n\r\n const messagesPerAction = {\r\n Ativo: 'Deseja realmente inativar este usuário?',\r\n Inativo: 'Deseja realmente ativar este usuário?',\r\n PendenteLiberacao: 'Deseja realmente liberar acesso a este usuário?',\r\n Bloqueado: `Deseja realmente ${\r\n bloqueio ? 'bloquear' : 'desbloquear'\r\n } o acesso deste usuário?`,\r\n };\r\n\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message: messagesPerAction[tipoAcao],\r\n });\r\n }\r\n\r\n function getUsuariosGestao() {\r\n const params = {\r\n ...paginationParams,\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n\r\n if (patchBloquearDesbloquearUsuario.success) {\r\n dispatch(\r\n UsuarioActions.patchBloquearDesbloquearUsuarioSuccess({}, false)\r\n );\r\n }\r\n\r\n if (patchLiberarAcesso.success)\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n\r\n getUsuariosGestao();\r\n }\r\n\r\n function handleModalError() {\r\n setModalError({\r\n error: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n if (patchLiberarAcesso.success)\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n }\r\n\r\n function gerarRelatorioListaUsuarios() {\r\n const nameTabCapitalize = `${tabActive\r\n .charAt(0)\r\n .toUpperCase()}${tabActive.slice(1)}`;\r\n\r\n const params = {\r\n ...filterParams,\r\n tipoStatus:\r\n TipoStatusEnum.returnNameForTab.Todas === nameTabCapitalize\r\n ? null\r\n : TipoStatusEnum.returnNameForTab[nameTabCapitalize],\r\n };\r\n\r\n dispatch(UsuarioActions.getDownloadRelatorioUsuariosRequest(params));\r\n setOpenModalDownloadRelatorio(true);\r\n }\r\n\r\n function downloadRelatorio() {\r\n const { response } = getRelatorioUsuariosDownload;\r\n const { fileContents, fileDownloadName } = response;\r\n const fileExtension = fileDownloadName.split('.').pop();\r\n\r\n downloadFile(fileContents, fileDownloadName, fileExtension);\r\n dispatch(UsuarioActions.getDownloadRelatorioUsuariosSuccess({}, false));\r\n }\r\n\r\n useEffect(() => {\r\n if (patchBloquearDesbloquearUsuario.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de alteração de status enviada.',\r\n });\r\n }, [patchBloquearDesbloquearUsuario.success]);\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n }, [patchLiberarAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.isError)\r\n setModalError({\r\n error: !openModalError.error,\r\n message: 'Erro ao liberar acesso!',\r\n });\r\n }, [patchLiberarAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchStatusUsuario.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de alteração de status enviada.',\r\n });\r\n }, [patchStatusUsuario.success]);\r\n\r\n useEffect(() => {\r\n if (patchStatusUsuario.isError)\r\n setModalError({\r\n error: !openModalError.error,\r\n message: 'Erro ao alterar o status!',\r\n });\r\n }, [patchStatusUsuario.isError]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Novo Usuário\r\n \r\n \r\n \r\n Relatório Usuário\r\n \r\n \r\n \r\n history.push('/novo/gestao'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n handleModalCancelAction();\r\n }}\r\n isOpen={openModalCancelAction.warning}\r\n footer={\r\n {\r\n handleModalCancelAction();\r\n }}\r\n onClickOk={setAcaoUsuario}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n setOpenModalDownloadRelatorio(false);\r\n }}\r\n isOpen={openModalDownloadRelatorio}\r\n height={400}\r\n width={460}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {getRelatorioUsuariosDownload.loading ? (\r\n \r\n \r\n Seu relatório ficará pronto em breve, o arquivo está\r\n sendo montado.\r\n \r\n \r\n \r\n ) : (\r\n Seu relatório está pronto.\r\n )}\r\n\r\n {getRelatorioUsuariosDownload.success &&\r\n getRelatorioUsuariosDownload.response.arquivo !== '' && (\r\n {\r\n downloadRelatorio();\r\n setOpenModalDownloadRelatorio(false);\r\n }}\r\n >\r\n Download\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UsuarioGestao;\r\n","import styled, { css } from 'styled-components';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const HeaderWrapper = styled.div`\r\n width: 1038px;\r\n height: 70px;\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n border-radius: 5px;\r\n opacity: 1;\r\n margin-bottom: 6px;\r\n`;\r\n\r\nexport const StepsWrapper = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n padding: 25px 35px 25px 35px;\r\n`;\r\n\r\nexport const BodyWrapper = styled.div`\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n border-radius: 5px;\r\n opacity: 1;\r\n margin-bottom: 28px;\r\n padding: 30px 175px 0px 175px;\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight};\r\n `\r\n : ``};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n\r\n ${({ paddingBottom }) =>\r\n paddingBottom\r\n ? css`\r\n padding-bottom: ${paddingBottom};\r\n `\r\n : ``};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 550px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 1038px;`};\r\n`;\r\n\r\nexport const UsuarioWrapper = styled.div`\r\n ${({ borderBottom }) =>\r\n borderBottom\r\n ? css`\r\n border-bottom: ${borderBottom};\r\n `\r\n : `border-bottom:none`};\r\n\r\n color: ${theme.grey410};\r\n display: table-caption;\r\n padding-bottom: 30px;\r\n margin-bottom: 30px;\r\n`;\r\n\r\nexport const ContatoWrapper = styled.div`\r\n color: ${theme.grey410};\r\n`;\r\n\r\nexport const FooterWrapper = styled.div`\r\n max-width: 1038px;\r\n width: 100%;\r\n height: 70px;\r\n border-radius: 5px;\r\n opacity: 1;\r\n display: flex;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const SaveButtonsWrapper = styled.div`\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const IconSalvar = styled(ImFloppyDisk)`\r\n margin-right: 9px;\r\n`;\r\n\r\nexport const ContentWarning = styled.div`\r\n font: 100 14px 'work_sans' !important;\r\n margin-top: 13px;\r\n display: flex;\r\n justify-content: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCancelActionFooter;\r\n","import React from 'react';\r\n\r\nimport { Text, Modal, Button } from '@unimed-fesp/components';\r\n\r\nimport ParametrizacaoContratantes from '../../components/organisms/ParametrizacaoContratantes';\r\n\r\nimport { ContentWrapper, FooterWrapper, BodyWrapper } from './styles';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n\r\nconst Parametros = ({\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n display,\r\n isButtonDisabled,\r\n handlePreviousTab,\r\n handleActiveTab,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handlePreviousTab('parametrizacao')}\r\n >\r\n voltar\r\n \r\n handleActiveTab('dadosAcesso')}\r\n >\r\n avançar\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Parametros;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport {\r\n Text,\r\n Modal,\r\n Button,\r\n Dropdown,\r\n TextField,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n ContentWrapper,\r\n FooterWrapper,\r\n BodyWrapper,\r\n UsuarioWrapper,\r\n ContatoWrapper,\r\n} from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\n// #region Componentes\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n// #endregion\r\n\r\nconst DadosGerais = ({\r\n perfilNovoUsuario,\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n setUsuarioParams,\r\n usuarioParams,\r\n display,\r\n handleAvancarTab,\r\n contatoParams,\r\n setContatoParams,\r\n isButtonDisabled,\r\n}) => {\r\n const optionsPermissao = [\r\n {\r\n onClickOption: () => handleSelected('Consulta', 'tipoPermissaoUsuario'),\r\n text: 'Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelected('Alteração', 'tipoPermissaoUsuario'),\r\n text: 'Alteração',\r\n },\r\n ];\r\n\r\n const registerNome = useField('nome').registerField;\r\n const registerMatricula = useField('matricula').registerField;\r\n const registerPerfilUsuario = useField('tipoPerfilUsuario').registerField;\r\n const registerPermissao = useField('tipoPermissaoUsuario').registerField;\r\n\r\n function handleSelected(text, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== text) draft[status] = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n register={registerNome}\r\n />\r\n {perfilNovoUsuario === 'Contratante' && (\r\n handleChange(e, 'matricula')}\r\n register={registerMatricula}\r\n />\r\n )}\r\n \r\n {perfilNovoUsuario}\r\n \r\n {perfilNovoUsuario === 'Contratante' && (\r\n \r\n {usuarioParams.tipoPermissaoUsuario || 'Selecione a permissão'}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n setContatoParams({ contatos })\r\n }\r\n useField={useField}\r\n />\r\n \r\n \r\n \r\n \r\n cancelar\r\n \r\n \r\n avançar\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React from 'react';\r\nimport { Alerts } from '@unimed-fesp/components';\r\n\r\nconst AlertLiberarAcessoModal = () => {\r\n return (\r\n \r\n \r\n

    \r\n Atenção!É necessário realizar a liberação de acesso para que o\r\n usuário consiga acessar ao sistema.\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AlertLiberarAcessoModal;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport { Text, Modal, Button, TextField } from '@unimed-fesp/components';\r\n\r\nimport {\r\n IconSalvar,\r\n BodyWrapper,\r\n FooterWrapper,\r\n ContentWarning,\r\n ContentWrapper,\r\n UsuarioWrapper,\r\n SaveButtonsWrapper,\r\n} from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\n// #region Componentes\r\nimport ModalLiberarAcesso from '../../components/organisms/ModalLiberarAcesso';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\nimport AlertLiberarAcessoModal from './AlertLiberarAcessoModal';\r\n// #endregion\r\n\r\nconst DadosAcesso = ({\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n setUsuarioParams,\r\n usuarioParams,\r\n display,\r\n handleLiberarAcesso,\r\n handleModalLiberarAcesso,\r\n openModalLiberarAcesso,\r\n handleNaoLiberarAcesso,\r\n isButtonSaveDisabled,\r\n openModalSuccess,\r\n handleModalSuccess,\r\n openModalError,\r\n handleModalError,\r\n handleModalLiberarAcessoNewUser,\r\n handlePreviousTab,\r\n}) => {\r\n const registerEmail = useField('email').registerField;\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'email')}\r\n register={registerEmail}\r\n />\r\n \r\n \r\n \r\n handlePreviousTab('dadosAcesso')}\r\n >\r\n voltar\r\n \r\n \r\n \r\n salvar e adicionar novo\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import React, { useState, useCallback, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form } from '@rocketseat/unform';\r\nimport produce from 'immer';\r\n\r\nimport { Title, Stepper, Breadcrumbs } from '@unimed-fesp/components';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport history from '../../services/history';\r\n\r\n// #region Enums\r\nimport { TipoCardRoot } from '../../enums';\r\nimport TipoTelefoneEnum from '../../enums/TipoTelefoneEnum';\r\nimport PermissaoContratanteEnum from '../../enums/PermissaoContratanteEnum';\r\n// #endregion\r\n\r\nimport {\r\n isEmail,\r\n isValidMesmoCelular,\r\n isValidMesmoTelefone,\r\n} from '../../utils/validation';\r\nimport { getParametrizacaoRoot } from '../../utils/treeViewBuilder';\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container, HeaderWrapper } from './styles';\r\n\r\n// #region Componentes\r\nimport Parametros from './Parametros';\r\nimport DadosGerais from './DadosGerais';\r\nimport DadosAcesso from './DadosAcesso';\r\n// #endregion\r\n\r\nfunction UsuarioNovo({ match }) {\r\n const dispatch = useDispatch();\r\n const { perfilNovoUsuario } = match.params;\r\n\r\n const { newUsuario, error, usuarioEspelho } = useSelector(\r\n (state) => state.usuario\r\n );\r\n const { idUsuarioLogado } = useSelector((state) => state.auth.usuario);\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n\r\n const [selectedPermissao, setSelectedPermissao] = useState(\r\n 'Selecione a permissão'\r\n );\r\n const [selectedTipoInfo, setSelectedTipoInfo] = useState({\r\n tipo: '',\r\n mask: [],\r\n placeholder: 'Selecione o tipo',\r\n });\r\n const [secondSelectedTipoInfo, setSecondSelectedTipoInfo] = useState({\r\n tipo: '',\r\n mask: [],\r\n placeholder: 'Selecione o tipo',\r\n });\r\n const editarUsuarioParam = {\r\n nome: '',\r\n matricula: '',\r\n codigoContratante: '',\r\n tipoPerfilUsuario: '',\r\n tipoPermissaoUsuario: '',\r\n tipoStatusUsuario: '',\r\n email: '',\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [camposPreenchidos, setCamposPreenchidos] = useState({\r\n nome: false,\r\n contato: false,\r\n });\r\n const [activeTab, setActiveTab] = useState({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n const [liberarAcesso, setLiberarAcesso] = useState(false);\r\n const [openModalLiberarAcesso, setOpenModalLiberarAcesso] = useState(false);\r\n const [isButtonSaveDisabled, setIsButtonSaveDisabled] = useState(true);\r\n const [addNewUser, setAddNewUser] = useState(false);\r\n const [openModalSuccess, setOpenModalSuccess] = useState(false);\r\n const [openModalError, setOpenModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [dadosGeraisCompleted, setDadosGeraisCompleted] = useState(false);\r\n const [parametrizacaoCompleted, setParametrizacaoCompleted] = useState(false);\r\n const [dadosAcessoCompleted, setDadosAcessoCompleted] = useState(false);\r\n\r\n function handleAvancarTab() {\r\n if (perfilNovoUsuario === 'Administrador') {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n } else if (activeTab.dadosGerais) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: false,\r\n parametrizacao: true,\r\n });\r\n } else {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n }\r\n }\r\n\r\n function handleChangeTipo(e) {\r\n const newSelectedTipo = produce(selectedTipoInfo, (draft) => {\r\n draft.tipo = e.target.dataset.text;\r\n return draft;\r\n });\r\n\r\n setSelectedTipoInfo(newSelectedTipo);\r\n }\r\n\r\n function handleChangeNome(e) {\r\n const newCamposPreenchidos = produce(camposPreenchidos, (draft) => {\r\n draft.nome = usuarioParams.nome !== '';\r\n return draft;\r\n });\r\n\r\n setCamposPreenchidos(newCamposPreenchidos);\r\n }\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction(!openModalCancelAction);\r\n }\r\n\r\n function handleSelectedPermissao(e) {\r\n setSelectedPermissao(e.target.dataset.text);\r\n }\r\n\r\n const handleCancelarCadastro = useCallback(() => {\r\n history.push(`/novo/gestao`);\r\n }, []);\r\n\r\n function handleSubmit(data) {\r\n setOpenModalLiberarAcesso(false);\r\n if (liberarAcesso) data.tipoStatusUsuario = 'Ativo';\r\n else data.tipoStatusUsuario = 'PendenteLiberacao';\r\n\r\n if (data.tipoPerfilUsuario === 'Administrador')\r\n data.tipoPerfilUsuario = 'Adm';\r\n else {\r\n data.tipoPerfilUsuario =\r\n PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.tipoPermissaoUsuario\r\n ];\r\n\r\n const newCards = [];\r\n parametrizacaoRoot.map((card) => {\r\n const { contagem, parametrizacaoRoot } = getParametrizacaoRoot(card);\r\n if (card.idParametrizacao === 0) {\r\n newCards.push({\r\n idParametrizacao: 0,\r\n idUsuarioInclusao: idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot,\r\n });\r\n }\r\n });\r\n\r\n data.cards = newCards;\r\n }\r\n\r\n data.contato.map((c) => {\r\n const numero = c.numero.replace(/\\D/gi, '');\r\n c.ddd = numero.substring(0, 2);\r\n c.numero = numero.substring(2);\r\n });\r\n\r\n dispatch(UsuarioActions.criarUsuarioRequest(data));\r\n }\r\n\r\n function handleLiberarAcesso() {\r\n setLiberarAcesso(true);\r\n }\r\n\r\n function handleModalLiberarAcesso() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n }\r\n\r\n function handleModalLiberarAcessoNewUser() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n setAddNewUser(true);\r\n }\r\n\r\n function handleNaoLiberarAcesso() {\r\n setLiberarAcesso(false);\r\n }\r\n\r\n function handleModalSuccess() {\r\n dispatch(UsuarioActions.criarUsuarioRenew());\r\n setOpenModalSuccess(false);\r\n\r\n if (addNewUser) {\r\n setUsuarioParams(editarUsuarioParam);\r\n setContatoParams(editarContatosParams);\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n });\r\n setAddNewUser(false);\r\n } else {\r\n history.push(`/novo/gestao`);\r\n }\r\n }\r\n function handleModalError() {\r\n dispatch(UsuarioActions.criarUsuarioRenew());\r\n setOpenModalError({ error: false, message: '' });\r\n }\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function isValidEmail(email) {\r\n const validEmail = isEmail(email);\r\n\r\n return validEmail;\r\n }\r\n\r\n function requiredFields(role) {\r\n if (role !== 'Administrador') {\r\n if (\r\n contatoParams.contatos.some((c) => c.numero !== '') &&\r\n !contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n )\r\n return (\r\n !!usuarioParams.nome &&\r\n //! !usuarioParams.codigoContratante &&\r\n !!usuarioParams.tipoPermissaoUsuario &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n return (\r\n !!usuarioParams.nome &&\r\n //! !usuarioParams.codigoContratante &&\r\n !!usuarioParams.tipoPermissaoUsuario\r\n );\r\n }\r\n if (\r\n contatoParams.contatos.some((c) => c.numero !== '') &&\r\n !contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n !!usuarioParams.nome &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n }\r\n\r\n return !!usuarioParams.nome;\r\n }\r\n\r\n function requiredFieldsSave() {\r\n return !!usuarioParams.email && isValidEmail(usuarioParams.email);\r\n }\r\n\r\n function isRequiredFieldsSet(activeTab) {\r\n if (activeTab.dadosGerais) return requiredFields(perfilNovoUsuario);\r\n if (activeTab.dadosAcesso) return requiredFieldsSave();\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n if (tab === 'dadosGerais') {\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n } else if (tab === 'dadosAcesso' && requiredFields(perfilNovoUsuario)) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n setParametrizacaoCompleted(true);\r\n } else if (tab === 'parametrizacao' && requiredFields(perfilNovoUsuario)) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: false,\r\n parametrizacao: true,\r\n });\r\n }\r\n }\r\n\r\n function handlePreviousTab(tab) {\r\n if (tab === 'parametrizacao') {\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n } else if (tab === 'dadosAcesso') {\r\n setActiveTab({\r\n dadosGerais: perfilNovoUsuario === 'Administrador',\r\n dadosAcesso: false,\r\n parametrizacao: perfilNovoUsuario !== 'Administrador',\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (requiredFields(perfilNovoUsuario)) {\r\n setIsButtonDisabled(false);\r\n setDadosGeraisCompleted(true);\r\n } else {\r\n setIsButtonDisabled(true);\r\n setDadosGeraisCompleted(false);\r\n }\r\n }, [usuarioParams, contatoParams]);\r\n\r\n useEffect(() => {\r\n if (isRequiredFieldsSet(activeTab)) setIsButtonSaveDisabled(false);\r\n else setIsButtonSaveDisabled(true);\r\n }, [usuarioParams]);\r\n\r\n useEffect(() => {\r\n if (newUsuario.success) setOpenModalSuccess(true);\r\n else if (newUsuario.isError) {\r\n setOpenModalError({\r\n error: true,\r\n message: newUsuario.error,\r\n });\r\n }\r\n }, [newUsuario.success, newUsuario.isError]);\r\n\r\n useEffect(() => {\r\n if (!usuarioParams.email && activeTab.dadosAcesso)\r\n setIsButtonSaveDisabled(true);\r\n }, [activeTab]);\r\n\r\n useEffect(() => {\r\n if (requiredFieldsSave()) setDadosAcessoCompleted(true);\r\n else setDadosAcessoCompleted(false);\r\n }, [usuarioParams.email]);\r\n\r\n useEffect(() => {\r\n if (usuarioEspelho?.tipoPerfil && usuarioEspelho.tipoPerfil !== 'Adm') {\r\n setUsuarioParams((oldState) => ({\r\n ...oldState,\r\n tipoPermissaoUsuario:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n usuarioEspelho?.tipoPerfil\r\n ],\r\n }));\r\n }\r\n }, [usuarioEspelho]);\r\n\r\n const CrumbsOptions = [\r\n { path: 'novo' },\r\n {\r\n path: 'gestão de usuários',\r\n onNavigate: () => history.push('/novo/gestao'),\r\n },\r\n {\r\n path: `cadastrar usuário ${perfilNovoUsuario}`,\r\n onNavigate: () =>\r\n history.push(`/novo/gestao/novo-usuario/${perfilNovoUsuario}`),\r\n },\r\n ];\r\n const StepperOptions = [\r\n {\r\n completed: dadosGeraisCompleted,\r\n onClick: () => handleActiveTab('dadosGerais'),\r\n text: 'dados gerais',\r\n perfil: ['Contratante', 'Administrador'],\r\n },\r\n {\r\n completed: parametrizacaoCompleted,\r\n onClick: () => handleActiveTab('parametrizacao'),\r\n text: 'parametrização',\r\n disabled: activeTab.dadosGerais && !parametrizacaoCompleted,\r\n perfil: ['Contratante'],\r\n },\r\n {\r\n completed: dadosAcessoCompleted,\r\n onClick: () => handleActiveTab('dadosAcesso'),\r\n text: 'dados de acesso',\r\n disabled:\r\n (activeTab.dadosGerais || activeTab.parametrizacao) &&\r\n !dadosAcessoCompleted,\r\n perfil: ['Contratante', 'Administrador'],\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n step.perfil.includes(perfilNovoUsuario)\r\n )}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default UsuarioNovo;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n p {\r\n font-size: 13px;\r\n }\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const CardFilter = styled.div`\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 200px;`};\r\n`;\r\nexport const CardFilterContent = styled.div`\r\n min-width: 300px;\r\n margin: 10px 20px;\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeader = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooter = styled.div`\r\n display: flex;\r\n padding: 0px 20px 10px 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport {\r\n Button,\r\n Checkbox,\r\n Dropdown,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport React, { useCallback, useState } from 'react';\r\n\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n Container,\r\n} from './styles';\r\n\r\nfunction FilterExtendsBeneficiarios({ errorMessages, cleanErrors }) {\r\n const [selectedFilter, setSelectedFilter] = useState(\r\n 'Modalidade + Termo + Nome'\r\n );\r\n\r\n const [selectedOption, setSelectedOption] = useState(0);\r\n const [typeBeneficiary, setTypeBeneficiary] = useState('');\r\n const [inputModality, setModality] = useState('');\r\n const [beneficiaryName, setBeneficiaryName] = useState('');\r\n const [term, setTerm] = useState('');\r\n const [cpf, setCpf] = useState('');\r\n const [codeCard, setCodeCard] = useState('');\r\n const [beneficiaryBirthday, setBeneficiaryBirthday] = useState('');\r\n const registerModality = useField('modality').registerField;\r\n const registerTypeForm = useField('typeForm').registerField;\r\n const registerBeneficiaryName = useField('nameBeneficiary').registerField;\r\n const registerTerm = useField('termo').registerField;\r\n const registerTypeBeneficiary = useField('typeBeneficiary').registerField;\r\n const registerCPF = useField('cpf').registerField;\r\n const registerCodeCard = useField('codeCard').registerField;\r\n\r\n const optionsFilters = [\r\n {\r\n onClickOption: () => handleOptions('Modalidade + Termo + Nome', 0),\r\n text: 'Modalidade + Termo + Nome',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Codigo do Cartao', 1),\r\n text: 'Codigo do Cartão',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Nome + Tipo Beneficiario', 2),\r\n text: 'Nome + Tipo Beneficiario',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Nome + Data Nascimento', 3),\r\n text: 'Nome + Data Nascimento',\r\n },\r\n {\r\n onClickOption: () => handleOptions('CPF', 4),\r\n text: 'CPF',\r\n },\r\n ];\r\n\r\n const optionsTypeBeneficiary = [\r\n {\r\n onClickOption: () => handleTypeBeneficiario('Titular'),\r\n text: 'Titular',\r\n },\r\n {\r\n onClickOption: () => handleTypeBeneficiario('Dependente'),\r\n text: 'Dependente',\r\n },\r\n ];\r\n\r\n const handleModality = (e) => {\r\n setModality(e.target.value);\r\n };\r\n const handleBeneficiaryName = (e) => {\r\n setBeneficiaryName(e.target.value);\r\n };\r\n const handleTerm = (e) => {\r\n setTerm(e.target.value);\r\n };\r\n const handleCpf = (e) => {\r\n setCpf(e.target.value);\r\n };\r\n const handleCodeCard = (e) => {\r\n setCodeCard(e.target.value);\r\n };\r\n const limparFiltros = () => {\r\n cleanErrors();\r\n setTypeBeneficiary('');\r\n setModality('');\r\n setBeneficiaryName('');\r\n setTerm('');\r\n setCpf('');\r\n setCodeCard('');\r\n setBeneficiaryBirthday('');\r\n };\r\n const handleOptions = (value, id) => {\r\n setSelectedFilter(value);\r\n setSelectedOption(id);\r\n cleanErrors();\r\n limparFiltros();\r\n };\r\n const handleTypeBeneficiario = (type) => {\r\n setTypeBeneficiary(type);\r\n };\r\n\r\n const handleBeneficiaryBirthday = useCallback((data) => {\r\n if (data.target) return;\r\n setBeneficiaryBirthday(data);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n Tipo Consulta\r\n \r\n \r\n \r\n {selectedFilter}\r\n \r\n {selectedOption === 0 && (\r\n \r\n {\r\n handleModality(e);\r\n }}\r\n value={inputModality}\r\n errorMessage={errorMessages.modality}\r\n error={errorMessages.modality}\r\n />\r\n\r\n {\r\n handleTerm(e);\r\n }}\r\n value={term}\r\n errorMessage={errorMessages.term}\r\n error={errorMessages.term}\r\n />\r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n type=\"text\"\r\n />\r\n \r\n )}\r\n {selectedOption === 1 && (\r\n \r\n \r\n {\r\n handleCodeCard(e);\r\n }}\r\n type=\"number\"\r\n errorMessage={errorMessages.codeCard}\r\n error={errorMessages.codeCard}\r\n />\r\n \r\n )}\r\n {selectedOption === 2 && (\r\n \r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n value={beneficiaryName}\r\n errorMessage={errorMessages.beneficiaryName}\r\n error={errorMessages.beneficiaryName}\r\n />\r\n \r\n {typeBeneficiary || 'Titular'}\r\n \r\n \r\n )}\r\n {selectedOption === 3 && (\r\n \r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n value={beneficiaryName}\r\n type=\"text\"\r\n errorMessage={errorMessages.beneficiaryName}\r\n error={errorMessages.beneficiaryName}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {selectedOption === 4 && (\r\n \r\n {\r\n handleCpf(e);\r\n }}\r\n errorMessage={errorMessages.cpf}\r\n error={errorMessages.cpf}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FilterExtendsBeneficiarios;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import {\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React, { useState } from 'react';\r\nimport { MdOutlineManageSearch } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n ContainerTabContent,\r\n HoverActions,\r\n} from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport history from '../../../services/history';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst headers = [\r\n {\r\n name: 'Contratante',\r\n },\r\n {\r\n name: 'Nome Beneficiário',\r\n },\r\n {\r\n name: 'Grau Parentesco',\r\n },\r\n {\r\n name: 'Modalidade',\r\n },\r\n {\r\n name: 'Termo',\r\n },\r\n {\r\n name: 'Código Beneficiário',\r\n },\r\n {\r\n name: 'Cartão',\r\n },\r\n {\r\n name: 'Data de Nascimento',\r\n },\r\n {\r\n name: 'Data de Exclusão',\r\n },\r\n { name: '' },\r\n];\r\n\r\nfunction TabTableBeneficiarios({\r\n setPaginationParams,\r\n paginationParams,\r\n handleChangePage,\r\n}) {\r\n const { getBeneficiariesNestle } = useSelector((state) => state.beneficiario);\r\n\r\n function handleRender() {\r\n if (getBeneficiariesNestle.loading) {\r\n return ;\r\n }\r\n if (\r\n getBeneficiariesNestle.response.data &&\r\n getBeneficiariesNestle.response.data.length > 0\r\n ) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (\r\n getBeneficiariesNestle.success &&\r\n getBeneficiariesNestle.response.data.length === 0\r\n ) {\r\n return ;\r\n }\r\n return null;\r\n }\r\n\r\n return handleRender();\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n listNameHeaders,\r\n setPaginationParams,\r\n paginationParams,\r\n handleDownloadFile,\r\n tabName,\r\n handleDropdownItem,\r\n handleChangePage,\r\n}) => {\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n {listas.data.map((lista) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n {listas.totalCount > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({ lista }) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n const formatDate = (date) => {\r\n const dataFormated = date\r\n ? format(new Date(date), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '';\r\n return dataFormated;\r\n };\r\n\r\n const formatDegreeOfKinship = (degreeOfKinship) => {\r\n const replacements = {\r\n '5 - FilhoUniversitario': '5 - Filho\\nUniversitario',\r\n '88 - FilhoTutelaCURAT': '88 - Filho\\nTutela Curatela',\r\n '17 - OutrosDependentes': '17 - Outros\\nDependentes',\r\n '20 - FilhoAdotivoUniv': '20 - Filho\\nAdotivo Univ',\r\n '89 - FilhoTutelaUNIV': '89 - Filho\\nTutela Univ',\r\n };\r\n\r\n return replacements[degreeOfKinship] || degreeOfKinship;\r\n };\r\n\r\n return (\r\n \r\n {`${lista.contractorCode} - ${lista.contractorName}`}\r\n {lista.beneficiaryName}\r\n \r\n {formatDegreeOfKinship(lista.degreeOfKinship)}\r\n \r\n {lista.modality}\r\n {lista.term}\r\n {lista.codeTotvs}\r\n {lista.codeCard}\r\n {formatDate(lista.beneficiaryBirthday)}\r\n \r\n {formatDate(lista.beneficiaryExcludeDate)}\r\n \r\n \r\n \r\n \r\n \r\n history.push(`/novo/beneficiarios-nestle/${lista.codeCard}`)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n console.log(lista.codeCard)}>\r\n \r\n \r\n \r\n */}\r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\n/* const TableListaActions = ({ handleDownloadFile }) => {\r\n return (\r\n \r\n handleDownloadFile('termo_responsabilidade')}\r\n >\r\n \r\n \r\n \r\n \r\n handleDownloadFile('massa_inicial')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}; */\r\n\r\nexport default TabTableBeneficiarios;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n\r\n form {\r\n width: 100%;\r\n }\r\n`;\r\n","import { Form } from '@rocketseat/unform';\r\nimport React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport * as Yup from 'yup';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport history from '../../services/history';\r\n\r\nimport FilterExtendsBeneficiarios from '../../components/organisms/FilterExtendsBeneficiarios';\r\nimport TabTableBeneficiarios from '../../components/organisms/TabTableBeneficiarios';\r\nimport { Creators as BeneficiaryActions } from '../../store/ducks/beneficiario';\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nconst ConsultaBeneficiariosNestle = () => {\r\n const dispatch = useDispatch();\r\n const filterExtendsParams = {\r\n query_type: 0,\r\n page: 1,\r\n count_per_page: 10,\r\n modality: 0,\r\n term: 0,\r\n beneficiary_wallet_number: 0,\r\n beneficiary_name: '',\r\n beneficiary_birthday: null,\r\n beneficiary_document_number: null,\r\n only_dependents: false,\r\n };\r\n const paginationDefaultParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationDefaultParams\r\n );\r\n const [formErrors, setFormErrors] = useState({\r\n modality: '',\r\n cpf: '',\r\n term: '',\r\n beneficiaryName: '',\r\n codeCard: '',\r\n });\r\n const TYPE_FORMS = {\r\n 'Modalidade + Termo + Nome': 1,\r\n 'Codigo do Cartao': 2,\r\n 'Nome + Tipo Beneficiario': 3,\r\n 'Nome + Data Nascimento': 4,\r\n CPF: 5,\r\n };\r\n const cleanErrors = () => {\r\n setFormErrors({\r\n modality: '',\r\n cpf: '',\r\n term: '',\r\n beneficiaryName: '',\r\n codeCard: '',\r\n });\r\n };\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n const typeForm = TYPE_FORMS[data.typeForm];\r\n draft.query_type = typeForm;\r\n draft.page = 0;\r\n\r\n switch (typeForm) {\r\n case 1:\r\n draft.modality = data.modality;\r\n draft.term = data.term;\r\n draft.beneficiary_name = data.beneficiaryName;\r\n break;\r\n case 2:\r\n draft.beneficiary_wallet_number = Number(data.codeCard);\r\n break;\r\n case 3:\r\n draft.beneficiary_name = data.beneficiaryName;\r\n draft.only_dependents = data.typeBeneficiary === 'Dependente';\r\n break;\r\n case 4:\r\n draft.beneficiary_name = data.beneficiaryName;\r\n draft.beneficiary_birthday = format(\r\n data.beneficiaryBirthday,\r\n 'MM-dd-yyyy 00:00:00'\r\n );\r\n break;\r\n case 5:\r\n draft.beneficiary_document_number = data.cpf.replace(/[^\\d]/g, '');\r\n break;\r\n default:\r\n throw new Error('Tipo de formulario inválido.');\r\n }\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n return newFilterParams;\r\n }\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.count_per_page = paramsPag.pageSize;\r\n });\r\n\r\n dispatch(\r\n BeneficiaryActions.postDataBeneficiariesNestleRequest(newFilterParams)\r\n );\r\n };\r\n\r\n const handleSubmit = async (data) => {\r\n const typeForm = TYPE_FORMS[data.typeForm];\r\n let validationSchema;\r\n switch (typeForm) {\r\n case 1:\r\n validationSchema = Yup.object().shape({\r\n modality: Yup.string().required('Campo Obrigatório'),\r\n term: Yup.string().required('Campo Obrigatório'),\r\n });\r\n break;\r\n case 2:\r\n validationSchema = Yup.object().shape({\r\n codeCard: Yup.string()\r\n .min(13, 'O Cod. Cartão deve conter 13 dígitos')\r\n .max(13, 'O Cod. Cartão deve conter 13 dígitos')\r\n .required('O Cod. Cartão é Obrigatório'),\r\n });\r\n break;\r\n case 3:\r\n validationSchema = Yup.object().shape({\r\n beneficiaryName: Yup.string().required(\r\n 'O Nome do beneficiário é Obrigatório'\r\n ),\r\n });\r\n break;\r\n case 4:\r\n validationSchema = Yup.object().shape({\r\n beneficiaryName: Yup.string().required(\r\n 'O Nome do beneficiário é Obrigatório'\r\n ),\r\n beneficiaryBirthday: Yup.string().required('Obrigatório'),\r\n });\r\n break;\r\n case 5:\r\n validationSchema = Yup.object().shape({\r\n cpf: Yup.string()\r\n .min(11, 'O CPF deve ter no mínimo 11 dígitos')\r\n .max(11, 'O CPF deve ter no máximo 11 dígitos')\r\n .required('O CPF é Obrigatório'),\r\n });\r\n break;\r\n default:\r\n throw new Error('Invalid form type');\r\n }\r\n\r\n try {\r\n await validationSchema.validate(data, {\r\n abortEarly: false,\r\n });\r\n setFormErrors({});\r\n\r\n const params = handleData(data);\r\n dispatch(BeneficiaryActions.postDataBeneficiariesNestleRequest(params));\r\n setPaginationParams(paginationDefaultParams);\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n setFormErrors(errorMessages);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/beneficiarios-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ConsultaBeneficiariosNestle;\r\n","import { Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport function InfoDisplayItem({ title, content }) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Text,\r\n Title,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { format } from 'date-fns';\r\nimport { MdOutlineManageSearch } from 'react-icons/md';\r\nimport history from '../../../services/history';\r\nimport theme from '../../../styles/theme';\r\nimport { InfoDisplayItem } from '../../atoms/InfoDisplayItem';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { CardPersonalInformation, HoverActions } from './styles';\r\n\r\nfunction DadoBeneficiarios({ loading, success, data }) {\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (success && data.length > 0) {\r\n return ;\r\n }\r\n\r\n if (success && data.length === 0) {\r\n return ;\r\n }\r\n\r\n return null;\r\n}\r\nfunction InfoBeneficiary({ data }) {\r\n const otherDataSerialized = JSON.parse(data.otherDataSerialized);\r\n const dependentsSerialized = data.hasDependents\r\n ? { dependents: JSON.parse(data.dependentsSerialized) }\r\n : '';\r\n\r\n const beneficiary = {\r\n ...data,\r\n ...otherDataSerialized,\r\n ...dependentsSerialized,\r\n };\r\n\r\n const sexo = {\r\n M: 'Masculino',\r\n F: 'Feminino',\r\n };\r\n const formatDate = (date) => {\r\n const dataFormated = date\r\n ? format(new Date(date), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '';\r\n return dataFormated;\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n >\r\n {\r\n beneficiary.hasDependents &&\r\n beneficiary.dependents.length >= 1 &&\r\n beneficiary.dependents.filter(\r\n (dependents) => !dependents.dtExclusaoPlano\r\n ).length >= 1 &&\r\n beneficiary.dependents\r\n .filter((dependents) => !dependents.dtExclusaoPlano)\r\n .map((dependent) => {\r\n return (\r\n \r\n {dependent.nmUsuario}\r\n {dependent.tpUsuarioDesc}\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/beneficiarios-nestle/0970${dependent.cdCarteiraUsuario}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }) /* : (\r\n \r\n \r\n {beneficiary.holderBeneficiaryName}\r\n \r\n 1 - Titular\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/beneficiarios-nestle/${beneficiary.codeCardHolder}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) */\r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\nexport default DadoBeneficiarios;\r\n","import styled from 'styled-components';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport DadoBeneficiarios from '../../components/organisms/DadosBeneficiarios';\r\nimport history from '../../services/history';\r\nimport { Creators as BeneficiaryActions } from '../../store/ducks/beneficiario';\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nconst DetalheBeneficiariosNestle = ({ match }) => {\r\n const dispatch = useDispatch();\r\n const { codigoCartao } = match.params;\r\n const { loading, success, response } = useSelector(\r\n (state) => state.beneficiario.getBeneficiariesNestle\r\n );\r\n const filterParams = {\r\n query_type: 2,\r\n page: 0,\r\n count_per_page: 10,\r\n modality: 0,\r\n term: 0,\r\n beneficiary_wallet_number: codigoCartao.replace('0970', ''),\r\n beneficiary_name: '',\r\n beneficiary_birthday: null,\r\n beneficiary_document_number: null,\r\n only_dependents: false,\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(\r\n BeneficiaryActions.postDataBeneficiariesNestleRequest(filterParams)\r\n );\r\n }, [codigoCartao]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/beneficiarios-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DetalheBeneficiariosNestle;\r\n","import React, { useState } from 'react';\r\nimport { useField } from '@unform/core';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Card,\r\n Button,\r\n TextArea,\r\n Dropdown,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../../services/history';\r\n\r\nfunction FormEditParametro({ parametro, onBlurValidateInputs }) {\r\n const { loading } = useSelector((state) => state.parametro);\r\n\r\n const [statusParametrizacao, setStatusParemetrizacao] = useState(\r\n parametro.ativo ? 'ativo' : 'inativo'\r\n );\r\n const [valueParametrizacao, setValueParametrizacao] = useState(\r\n parametro.valueParametrizacao\r\n );\r\n const [descricaoParametrizacao, setDescricaoParametrizacao] = useState(\r\n parametro.descricao\r\n );\r\n\r\n const optionsAtividade = [\r\n { text: 'ativo', onClickOption: () => setStatusParemetrizacao('ativo') },\r\n {\r\n text: 'inativo',\r\n onClickOption: () => setStatusParemetrizacao('inativo'),\r\n },\r\n ];\r\n\r\n const onBlurValidation = ({ target }) => {\r\n const data = {\r\n valueParametrizacao,\r\n ativo: statusParametrizacao === 'ativo',\r\n descricao: descricaoParametrizacao,\r\n };\r\n onBlurValidateInputs({\r\n ...data,\r\n [target.name]: target.value,\r\n });\r\n };\r\n // #region registrar campos unform\r\n const {\r\n registerField: registerFieldValueParametrizacao,\r\n error: errorValueParametrizacao,\r\n } = useField('valueParametrizacao');\r\n const { registerField: registerFieldStatusParametrizacao } = useField(\r\n 'ativo'\r\n );\r\n const {\r\n registerField: registerFieldDescricaoParametrizacao,\r\n error: errorDescricaoParametrizacao,\r\n } = useField('descricao');\r\n // #endregion\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n setValueParametrizacao(target.value)}\r\n width={640}\r\n register={registerFieldValueParametrizacao}\r\n error={!!errorValueParametrizacao}\r\n errorMessage={errorValueParametrizacao}\r\n onBlur={onBlurValidation}\r\n />\r\n \r\n {statusParametrizacao}\r\n \r\n setDescricaoParametrizacao(target.value)}\r\n error={!!errorDescricaoParametrizacao}\r\n errorMessage={errorDescricaoParametrizacao}\r\n onBlur={onBlurValidation}\r\n />\r\n \r\n \r\n \r\n history.push('/novo/parametros')}\r\n tipo=\"tertiary\"\r\n width={121}\r\n >\r\n cancelar\r\n \r\n \r\n atualizar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormEditParametro;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useRef } from 'react';\r\nimport { Form } from '@unform/web';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Title, Breadcrumbs, WrapperFlex } from '@unimed-fesp/components';\r\nimport * as Yup from 'yup';\r\n\r\nimport { Creators as ParametroActions } from '../../store/ducks/parametro';\r\nimport FormEditParametro from '../../components/organisms/FormEditParametro';\r\nimport history from '../../services/history';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst EditParametros = ({ match }) => {\r\n const formRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const { state } = useLocation();\r\n\r\n if (!state || !state?.parametro) {\r\n history.push('/novo/parametros');\r\n return <>;\r\n }\r\n\r\n const { parametro } = state;\r\n const { nomeParametrizacao } = match.params;\r\n const schema = Yup.object().shape({\r\n ativo: Yup.boolean().required('O status do parametro é obrigatório'),\r\n descricao: Yup.string().required('A descrição do parametro é obrigatório'),\r\n valueParametrizacao: Yup.string().required(\r\n 'O value do parametro é obrigatório'\r\n ),\r\n });\r\n\r\n async function handleSubmit(data) {\r\n const bodyRequest = {\r\n ...data,\r\n ativo: data.ativo === 'ativo',\r\n };\r\n\r\n const isValid = await validateData(bodyRequest);\r\n\r\n if (isValid)\r\n dispatch(\r\n ParametroActions.patchParametroRequest(\r\n parametro.idParametrizacao,\r\n bodyRequest\r\n )\r\n );\r\n }\r\n\r\n async function validateData(data) {\r\n try {\r\n const bodyRequest = {\r\n ...data,\r\n ativo: data.ativo === 'ativo',\r\n };\r\n\r\n await schema.validate(bodyRequest, {\r\n abortEarly: false,\r\n });\r\n formRef.current.setErrors({});\r\n return true;\r\n } catch (err) {\r\n const validationErrors = {};\r\n if (err instanceof Yup.ValidationError) {\r\n err.inner.forEach((error) => {\r\n validationErrors[error.path] = error.message;\r\n });\r\n formRef.current.setErrors(validationErrors);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/parametros'),\r\n },\r\n {\r\n path: nomeParametrizacao,\r\n onNavigate: () =>\r\n history.push(`/novo/parametros/editar/${nomeParametrizacao}`),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default EditParametros;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport {\r\n Button,\r\n Dropdown,\r\n TextArea,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { useField } from '@rocketseat/unform';\r\nimport history from '../../services/history';\r\n\r\nconst FormListaInativos = ({ lista }) => {\r\n const { registerField: registerModalidades } = useField('modalidade');\r\n const { registerField: registerDescricao } = useField('descricao');\r\n\r\n const [selectedTipo, setSelectedTipo] = useState('');\r\n\r\n const optionsTipoModalidade = [\r\n {\r\n onClickOption: () => handleSelectedTipo('36 - Demitidos'),\r\n text: '36 - Demitidos',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('38 - Aposentados'),\r\n text: '38 - Aposentados',\r\n },\r\n ];\r\n\r\n function handleSelectedTipo(texto) {\r\n setSelectedTipo(texto);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n Inativos\r\n \r\n \r\n {selectedTipo || 'Selecione a Modalidade'}\r\n \r\n \r\n \r\n history.push('/novo/lista')}\r\n >\r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FormListaInativos;\r\n","import React, { useEffect } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport LoadingSpinning from '../../components/molecules/LoadingSpinning';\r\nimport FormListaInativos from './FormListaInativos';\r\n\r\nfunction ListaInativo() {\r\n const { idLista } = useParams();\r\n\r\n const {\r\n loading,\r\n success,\r\n details,\r\n response: { listaInativos },\r\n } = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n useEffect(() => {\r\n const HAS_MODALIDADE = !!listaInativos?.nrCodigoModalidade;\r\n\r\n if (HAS_MODALIDADE || (!loading && success && details))\r\n history.push(`/novo/listainativo/${idLista}/detalhe`);\r\n }, [details, idLista, listaInativos?.nrCodigoModalidade, loading, success]);\r\n\r\n function handleSubmit(data) {\r\n const request = {\r\n idLista: listaInativos?.nmLista,\r\n modalidade: data.modalidade,\r\n descricao: data.descricao,\r\n };\r\n dispatch(ListaActions.putListaInativasRequest(request));\r\n }\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ListaInativo;\r\n","import React from 'react';\r\n\r\nimport { Text, Card, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalidadeEnum from '../../../enums/ModalidadeEnum';\r\nimport StatusListaAPIEnum from '../../../enums/StatusListaAPIEnum';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction DadosLista({ lista }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DadosLista;\r\n","import React from 'react';\r\n\r\nimport { Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region Import Icons\r\nimport { MdSend, MdDelete, MdDone, MdErrorOutline } from 'react-icons/md';\r\nimport { BiListCheck } from 'react-icons/bi';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst FooterListaInativosAcoes = ({\r\n excluir,\r\n salvar,\r\n enviarDocumentos,\r\n erroProcessamento,\r\n processadaSucesso,\r\n conferirDocumentos,\r\n enviarProcessamento,\r\n enviarRevisaoDocumentos,\r\n disabledButtons,\r\n}) => {\r\n return (\r\n \r\n {(excluir?.isRender || false) && (\r\n \r\n \r\n excluir\r\n \r\n )}\r\n \r\n {(enviarProcessamento?.isRender || false) && (\r\n \r\n \r\n enviar para processamento\r\n \r\n )}\r\n {(enviarRevisaoDocumentos?.isRender || false) && (\r\n \r\n \r\n enviar revisão de documentos\r\n \r\n )}\r\n {(conferirDocumentos?.isRender || false) && (\r\n \r\n \r\n conferir documentos\r\n \r\n )}\r\n {(erroProcessamento?.isRender || false) && (\r\n \r\n \r\n erro de processamento\r\n \r\n )}\r\n {(processadaSucesso?.isRender || false) && (\r\n \r\n \r\n processada c/ sucesso\r\n \r\n )}\r\n\r\n {(enviarDocumentos?.isRender || false) && (\r\n \r\n \r\n enviar documentos\r\n \r\n )}\r\n {(salvar?.isRender || false) && (\r\n \r\n \r\n salvar\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FooterListaInativosAcoes;\r\n","export default {\r\n returnFormatName: {\r\n ContratanteModalidadeTermo: 'Contratante + Modalidade + Termo',\r\n ContratanteCodigoUnimedCartao: 'Contratante + Cod. da Unimed + Cartao',\r\n ContratanteNomeTipoBeneficiario: 'Contratante + Nome + Tipo Beneficiário',\r\n ContratanteNomeDataNascimento: 'Contratante + Nome + Data Nascimento',\r\n },\r\n returnPropName: {\r\n ContratanteModalidadeTermo: 'ContratanteModalidadeTermo',\r\n ContratanteCodigoUnimedCartao: 'ContratanteCodigoUnimedCartao',\r\n ContratanteNomeTipoBeneficiario: 'ContratanteNomeTipoBeneficiario',\r\n ContratanteNomeDataNascimento: 'ContratanteNomeDataNascimento',\r\n },\r\n returnPropId: {\r\n ContratanteModalidadeTermo: 1,\r\n ContratanteCodigoUnimedCartao: 2,\r\n ContratanteNomeTipoBeneficiario: 3,\r\n ContratanteNomeDataNascimento: 4,\r\n },\r\n};\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nexport const Container = styled.div`\r\n //display: flex;\r\n margin-top: 10px !important;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n margin-left: -5px;\r\n\r\n > label {\r\n margin-bottom: 0px;\r\n }\r\n`;\r\n\r\nexport const FootlineContainer = styled.div`\r\n display: flex;\r\n padding-left: 5%;\r\n margin-top: 10px !important;\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n padding-top: 3%;\r\n padding-left: 5px;\r\n display: 'none';\r\n`;\r\n\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import React, { useState, useCallback } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport { useSelector } from 'react-redux';\r\nimport { GoSearch } from 'react-icons/go';\r\n\r\nimport {\r\n Text,\r\n Button,\r\n Dropdown,\r\n TextField,\r\n ComboModalidadeTermo,\r\n} from '@unimed-fesp/components';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../molecules/DatePicker';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { InlineContainer, ContButton, LabelDate } from './styles';\r\n\r\nfunction FormPesquisaBeneficiario({\r\n formParams,\r\n setFormParams,\r\n handlePesquisar,\r\n desabilitarBtnPesquisar = false,\r\n resetarPagination,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoConsulta = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteModalidadeTermo,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteCodigoUnimedCartao,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeTipoBeneficiario,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeDataNascimento,\r\n },\r\n ];\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n TipoPesquisaEnum.returnFormatName[\r\n formParams?.tipoConsulta || 'ContratanteModalidadeTermo'\r\n ]\r\n }\r\n \r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n \r\n \r\n handleChangeKeyValue('dataNascimento', e)}\r\n />\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n \r\n Titular\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo && (\r\n // Contratante + Modalidade + Termo\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={shapeModalidades(modalidades)}\r\n margin={11}\r\n />\r\n )}\r\n\r\n \r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormPesquisaBeneficiario;\r\n","import React from 'react';\r\nimport format from 'date-fns/format';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n TableRow,\r\n Checkbox,\r\n TableCell,\r\n Pagination,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableBeneficiarioBody = ({\r\n selectedBeneficiario,\r\n handleCheckBeneficiario,\r\n\r\n handleChangePage,\r\n paginationParams,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) => {\r\n const { data: beneficiarios, loading, total } = useSelector(\r\n (state) => state.lista.postPesquisaBeneficiario\r\n );\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (beneficiarios.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n {beneficiarios.map((beneficiario) => (\r\n {\r\n if (beneficiario?.cpf === selectedBeneficiario?.cpf)\r\n handleCheckBeneficiario(null);\r\n else handleCheckBeneficiario(beneficiario);\r\n }}\r\n isClickable\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {beneficiario.nome ? beneficiario.nome : '-'}\r\n \r\n {beneficiario.cpf\r\n ? beneficiario?.cpf.replace(\r\n /(\\d{3})(\\d{3})(\\d{3})(\\d{2})/,\r\n '$1.$2.$3-$4'\r\n )\r\n : '-'}\r\n \r\n \r\n {beneficiario.codigo ? beneficiario.codigo : '-'}\r\n \r\n \r\n {`${\r\n beneficiario.codigoUnimed\r\n ? beneficiario.codigoUnimed.padStart(4, '0')\r\n : '-'\r\n } ${\r\n beneficiario.carteira\r\n ? beneficiario.carteira.padStart(13, '0')\r\n : '-'\r\n }`}\r\n \r\n \r\n {beneficiario.nascimento\r\n ? format(new Date(beneficiario.nascimento), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBeneficiarioBody;\r\n","import React from 'react';\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableBeneficiarioHeader = () => {\r\n return (\r\n \r\n \r\n \r\n Nome\r\n \r\n \r\n CPF\r\n \r\n \r\n Código\r\n \r\n \r\n Carteira\r\n \r\n \r\n Dt. Nascimento\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBeneficiarioHeader;\r\n","import React from 'react';\r\nimport { Table, ScrollBar } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport TableBeneficiarioBody from './TableBeneficiarioBody';\r\nimport TableBeneficiarioHeader from './TableBeneficiarioHeader';\r\n\r\nfunction TabelaPesquisaBeneficiario({\r\n selectedBeneficiario,\r\n handleCheckBeneficiario,\r\n\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) {\r\n return (\r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TabelaPesquisaBeneficiario;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalFooter = ({\r\n onCloseModal,\r\n handleAdicionarModal,\r\n isDisabledBtnAdicionar,\r\n}) => {\r\n return (\r\n <>\r\n onCloseModal(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onCloseModal(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n disabled={isDisabledBtnAdicionar}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nimport { ModalBodyContainer } from './styles';\r\n\r\nfunction ModalConsultaStructure({\r\n isOpen,\r\n BodyModal,\r\n titleModal,\r\n HeaderModal,\r\n onCloseModal,\r\n handleAdicionarModal,\r\n\r\n isDisabledBtnAdicionar,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalConsultaStructure;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../../store/ducks/modalidade';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\nimport FormPesquisaBeneficiario from '../FormPesquisaBeneficiario';\r\nimport TabelaPesquisaBeneficiario from '../TablePesquisaBeneficiario';\r\n\r\nimport ModalConsultaStructure from '../../molecules/ModalConsultaStructure';\r\n\r\nfunction ModalPesquisaBeneficiario({ isOpen, onCloseModal }) {\r\n const dispatch = useDispatch();\r\n\r\n const { listaInativos } = useSelector((state) => state.lista.response);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const paginationInitialParams = useMemo(\r\n () => ({\r\n pageNumber: 1,\r\n pageSize: 10,\r\n }),\r\n []\r\n );\r\n\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n titular: 'Titular',\r\n\r\n modalidade: '',\r\n termo: '',\r\n cartao: '',\r\n codDaUnimed: '',\r\n nomeBenefTpBeneficiario: '',\r\n nomeBeneficiarioI: '',\r\n dataNascimento: '',\r\n }),\r\n []\r\n );\r\n\r\n const [selectedBeneficiario, setSelectedBeneficiario] = useState(null);\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInitialParams\r\n );\r\n\r\n const handlePesquisar = useCallback(() => {\r\n if (isOpen && formParams !== null) {\r\n // Executa request sempre que os parametros mudam ou a paginação muda\r\n const request = {\r\n ...paginationParams,\r\n ...formParams,\r\n idLista: listaInativos?.idLista,\r\n nmLista: listaInativos?.nmLista,\r\n codigoContratante: usuario.codigoContratante,\r\n };\r\n\r\n dispatch(ListaActions.getListaBeneficiarioRequest(request));\r\n }\r\n }, [\r\n dispatch,\r\n formParams,\r\n isOpen,\r\n listaInativos?.idLista,\r\n listaInativos?.nmLista,\r\n paginationParams,\r\n usuario.codigoContratante,\r\n ]);\r\n\r\n const handleAdicionarBeneficiario = useCallback(() => {\r\n const request = {\r\n idLista: listaInativos?.idLista,\r\n nmLista: listaInativos?.nmLista,\r\n beneficiario: {\r\n ...selectedBeneficiario,\r\n },\r\n filtro: {\r\n idLista: listaInativos?.idLista,\r\n ...formParams,\r\n },\r\n };\r\n dispatch(ListaActions.postSalvarBeneficiarioInativosRequest(request));\r\n }, [dispatch, formParams, listaInativos, selectedBeneficiario]);\r\n\r\n const handleChangePage = useCallback((paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n }, []);\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams]\r\n );\r\n\r\n useEffect(() => {\r\n if (isOpen === false) {\r\n setFormParams(formInitialParams);\r\n setPaginationParams(paginationInitialParams);\r\n setSelectedBeneficiario(null);\r\n dispatch(ListaActions.getListaBeneficiarioRenew());\r\n }\r\n }, [dispatch, formInitialParams, isOpen, paginationInitialParams]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n })\r\n );\r\n }, [dispatch, usuario?.codigoContratante]);\r\n\r\n useEffect(() => {\r\n const pagination = JSON.stringify(paginationParams);\r\n const initialPagination = JSON.stringify(paginationInitialParams);\r\n\r\n if (pagination !== initialPagination) {\r\n handlePesquisar();\r\n }\r\n }, [isOpen, paginationInitialParams, paginationParams]);\r\n\r\n const desabilitarBtnPesquisar = useMemo(() => {\r\n const validacaoValues = {\r\n ContratanteModalidadeTermo:\r\n !!formParams?.modalidade && !!formParams?.termo,\r\n ContratanteCodigoUnimedCartao:\r\n !!formParams?.cartao && !!formParams?.codDaUnimed,\r\n ContratanteNomeTipoBeneficiario:\r\n !!formParams?.nomeBenefTpBeneficiario && !!formParams?.titular,\r\n ContratanteNomeDataNascimento:\r\n !!formParams?.nomeBeneficiarioI && !!formParams?.dataNascimento,\r\n };\r\n\r\n return !validacaoValues[formParams.tipoConsulta];\r\n }, [formParams]);\r\n\r\n return (\r\n consultar beneficiario}\r\n onCloseModal={onCloseModal}\r\n BodyModal={\r\n \r\n }\r\n HeaderModal={\r\n setPaginationParams(paginationInitialParams)}\r\n />\r\n }\r\n handleAdicionarModal={handleAdicionarBeneficiario}\r\n isDisabledBtnAdicionar={!selectedBeneficiario}\r\n />\r\n );\r\n}\r\n\r\nexport default ModalPesquisaBeneficiario;\r\n","import React, { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n TableRow,\r\n Checkbox,\r\n TableCell,\r\n Pagination,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nimport Skeleton from '../../atoms/Skeleton';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nimport TipoBeneficiarioEnum from '../../../enums/TipoBeneficiarioEnum';\r\n\r\nconst TableBodyBeneficiario = ({\r\n readOnly,\r\n paginationParams,\r\n setPaginationParams,\r\n loadingSalvarBeneficiario,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const lista = useSelector((state) => state.lista);\r\n const { listaGrupoFamiliar, listaInativos } = useSelector(\r\n (state) => state.lista.response\r\n );\r\n\r\n const checkBeneficiario = useCallback(\r\n (beneficiario) => {\r\n dispatch(\r\n ListaActions.checkBenefiarioInativos(beneficiario.idBeneficiario)\r\n );\r\n },\r\n [dispatch]\r\n );\r\n\r\n const handleChangePage = useCallback(\r\n (paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n },\r\n [setPaginationParams]\r\n );\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams, setPaginationParams]\r\n );\r\n\r\n // #region Loading\r\n if (loadingSalvarBeneficiario || lista.loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n // #endregion\r\n\r\n // #region EmptyContent\r\n if (!listaGrupoFamiliar || listaGrupoFamiliar.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n // #endregion\r\n\r\n const listaGrupoFamiliarPag = [...listaGrupoFamiliar].splice(\r\n (paginationParams.pageNumber - 1) * paginationParams.pageSize,\r\n paginationParams.pageSize\r\n );\r\n\r\n return (\r\n <>\r\n {listaGrupoFamiliarPag.map((beneficiario) => (\r\n {\r\n if (readOnly) return;\r\n\r\n if (\r\n beneficiario.grau ===\r\n TipoBeneficiarioEnum.returnNameForNameFormatted.Dependente\r\n ) {\r\n checkBeneficiario(beneficiario);\r\n }\r\n }}\r\n isClickable={\r\n readOnly\r\n ? false\r\n : beneficiario.grau ===\r\n TipoBeneficiarioEnum.returnNameForNameFormatted.Dependente\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {beneficiario.nome ? beneficiario.nome : '-'}\r\n \r\n \r\n {beneficiario.grau ? beneficiario.grau : '-'}\r\n \r\n \r\n {beneficiario.modalidadeEntrada\r\n ? beneficiario.modalidadeEntrada\r\n : '-'}\r\n \r\n \r\n {beneficiario.termo ? beneficiario.termo : '-'}\r\n \r\n \r\n {listaInativos?.nrCodigoModalidade}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBodyBeneficiario;\r\n","import React from 'react';\r\nimport { TableRow, Text, TableHeader } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst TableHeaderBeneficiario = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderBeneficiario;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport TableBodyBeneficiario from './TableBodyBeneficiario';\r\nimport TableHeaderBeneficiario from './TableHeaderBeneficiario';\r\n\r\nfunction FormSelecionaBeneficiario({ readOnly }) {\r\n const paginationInicialParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n };\r\n\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInicialParams\r\n );\r\n\r\n const { loading: loadingSalvarBeneficiario } = useSelector(\r\n (state) => state.lista.postSalvarBeneficiarioInativos\r\n );\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default FormSelecionaBeneficiario;\r\n","import React, { useCallback } from 'react';\r\nimport format from 'date-fns/format';\r\nimport { TableRow, TableCell, Pagination } from '@unimed-fesp/components';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableHistoricoHeader = ({\r\n paginationParams,\r\n historicoAlteracoes,\r\n setPaginationParams,\r\n}) => {\r\n const handleChangePage = useCallback(\r\n (paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n },\r\n [setPaginationParams]\r\n );\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams, setPaginationParams]\r\n );\r\n\r\n if (historicoAlteracoes && historicoAlteracoes.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const historicoAlteracoesPag = [...historicoAlteracoes].splice(\r\n (paginationParams.pageNumber - 1) * paginationParams.pageSize,\r\n paginationParams.pageSize\r\n );\r\n\r\n return (\r\n <>\r\n {historicoAlteracoesPag.map((alteracao) => (\r\n \r\n \r\n {alteracao.nome || '-'}\r\n \r\n \r\n {alteracao.descricao || '-'}\r\n \r\n \r\n {alteracao.statusDescricao || '-'}\r\n \r\n \r\n {alteracao.dtAlteracao\r\n ? format(new Date(alteracao.dtAlteracao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React from 'react';\r\n\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableHistoricoHeader = () => (\r\n \r\n \r\n Usuário\r\n \r\n \r\n Ação\r\n \r\n \r\n Status da Lista\r\n \r\n \r\n Data\r\n \r\n \r\n);\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useState } from 'react';\r\n\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableHistoricoBody from './TableHistoricoBody';\r\nimport TableHistoricoHeader from './TableHistoricoHeader';\r\n\r\nconst TableHistoricoAlteracoesLista = ({ historicoAlteracoes }) => {\r\n const paginationInicialParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n };\r\n\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInicialParams\r\n );\r\n return (\r\n \r\n }>\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TableHistoricoAlteracoesLista;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport themes from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 3% auto 0px;\r\n max-width: 1038px;\r\n width: 100%;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n display: 'none';\r\n max-height: 350px;\r\n min-height: 450px;\r\n height: 350px;\r\n`;\r\nexport const ContButton = styled.div`\r\n padding-left: 87%;\r\n display: 'none';\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n`;\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { HiOutlineDocumentText } from 'react-icons/hi';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport {\r\n Tab,\r\n Title,\r\n Button,\r\n TabContent,\r\n WrapperFlex,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../services/history';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ListaInativosActions } from '../../store/ducks/listaInativos';\r\nimport { Creators as DocumentoActions } from '../../store/ducks/documento';\r\nimport { isAdmin } from '../../utils/userRole';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport DadosLista from '../../components/molecules/DadosLista';\r\nimport LoadingSpinning from '../../components/molecules/LoadingSpinning';\r\nimport FooterListaInativosAcoes from '../../components/molecules/FooterListaInativosAcoes';\r\nimport ModalPesquisaBeneficiario from '../../components/organisms/ModalPesquisaBeneficiario';\r\nimport FormSelecionaBeneficiario from '../../components/organisms/FormSelecionaBeneficiario';\r\nimport TableHistoricoAlteracoesLista from '../../components/organisms/TableHistoricoAlteracoesLista';\r\n// #endregion\r\n\r\nimport StatusListaAPIEnum from '../../enums/StatusListaAPIEnum';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nfunction ListaDetalheInativo() {\r\n const { idLista } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n listaInativos,\r\n listaGrupoFamiliar,\r\n listaHistoricoInativos,\r\n } = useSelector((state) => state.lista.response);\r\n const { loading } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success: successSalvarBeneficiario } = useSelector(\r\n (state) => state.lista.postSalvarBeneficiarioInativos\r\n );\r\n const { success: successAtualizarStatusLista } = useSelector(\r\n (state) => state.listaInativos.putListaInativosAtualizarStatus\r\n );\r\n\r\n // #region Condições\r\n const IS_ADM = isAdmin(usuario.role) || false;\r\n const LISTA_SEM_DOCUMENTOS =\r\n listaInativos?.documentosEnviados && !listaInativos?.hasDocumentos;\r\n\r\n const LISTA_COM_DOCUMENTOS = listaInativos?.hasDocumentos;\r\n\r\n const DOCUMENTOS_OBRIGATORIOS_ENVIADOS = listaInativos?.documentosEnviados;\r\n\r\n const LISTA_TEM_GRUPO_FAMILIAR =\r\n listaGrupoFamiliar && listaGrupoFamiliar.length > 0;\r\n\r\n const DOCUMENTOS_VALIDADOS = listaInativos?.documentosValidados;\r\n\r\n // #region status\r\n const EM_ANALISE_DOCUMENTACAO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.EmAnalisedeDocumentacao;\r\n\r\n const AGUARDANDO_DOCUMENTOS =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.AguardandoDocumentos;\r\n\r\n const PENDENTE_DE_PROCESSAMENTO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.PendenteProcessamento;\r\n\r\n const PENDENTE_DE_ENVIO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.PendentedeEnvio;\r\n\r\n const ERRO_DE_PROCESSAMENTO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento;\r\n\r\n const PROCESSADA_COM_SUCESSO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ProcessadoSucesso;\r\n\r\n const EXCLUIDA =\r\n listaInativos?.idStatusLista === StatusListaAPIEnum.returnId.Excluida;\r\n // #endregion\r\n // #endregion\r\n\r\n const tabs = [\r\n {\r\n children: <>beneficiários,\r\n color: '#00995D',\r\n name: 'beneficiarios',\r\n },\r\n {\r\n children: <>histórico,\r\n color: '#00995D',\r\n name: 'historico',\r\n },\r\n ];\r\n\r\n const [isModalBeneficiariosOpen, setIsModalBeneficiariosOpen] = useState(\r\n false\r\n );\r\n const [disabledButtons, setDisabledButtons] = useState(true);\r\n\r\n const toggleModalConsultaBeneficiarios = useCallback(() => {\r\n setIsModalBeneficiariosOpen((oldValue) => !oldValue);\r\n }, []);\r\n\r\n const handleSalvarBeneficiarios = useCallback(() => {\r\n dispatch(\r\n ListaActions.postFamiliarRequest(\r\n listaInativos?.idLista,\r\n listaGrupoFamiliar\r\n )\r\n );\r\n }, [dispatch, listaGrupoFamiliar, listaInativos?.idLista]);\r\n\r\n const handleAlterarStatusLista = useCallback(\r\n (idStatus) => {\r\n dispatch(\r\n ListaInativosActions.putListaInativosAtualizarStatusRequest(\r\n idLista,\r\n idStatus\r\n )\r\n );\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const handleEnviarRevisaoDocumentos = useCallback(() => {\r\n dispatch(\r\n DocumentoActions.postFinalizarConferenciaDocumentosRequest(\r\n idLista,\r\n () => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n setDisabledButtons(false);\r\n }\r\n )\r\n );\r\n }, [dispatch, idLista]);\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n setDisabledButtons(false);\r\n }, [\r\n dispatch,\r\n idLista,\r\n successSalvarBeneficiario,\r\n successAtualizarStatusLista,\r\n ]);\r\n\r\n const botoes = useMemo(() => {\r\n const excluir = {\r\n isRender:\r\n !PROCESSADA_COM_SUCESSO &&\r\n !EXCLUIDA &&\r\n (IS_ADM || !PENDENTE_DE_PROCESSAMENTO),\r\n onClick: () => {\r\n handleAlterarStatusLista(StatusListaAPIEnum.returnId.Excluida);\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const salvar = {\r\n isRender: false,\r\n onClick: () => {\r\n handleSalvarBeneficiarios();\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const erroProcessamento = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const processadaSucesso = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(StatusListaAPIEnum.returnId.ProcessadoSucesso);\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const conferirDocumentos = {\r\n isRender:\r\n IS_ADM &&\r\n LISTA_COM_DOCUMENTOS &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n !DOCUMENTOS_VALIDADOS &&\r\n PENDENTE_DE_PROCESSAMENTO,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.EmAnalisedeDocumentacao\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const enviarRevisaoDocumentos = {\r\n isRender:\r\n IS_ADM &&\r\n LISTA_COM_DOCUMENTOS &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n EM_ANALISE_DOCUMENTACAO,\r\n onClick: () => {\r\n handleEnviarRevisaoDocumentos();\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const enviarProcessamento = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.PendenteProcessamento\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n if (LISTA_SEM_DOCUMENTOS) {\r\n enviarProcessamento.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO);\r\n\r\n processadaSucesso.isRender = IS_ADM && PENDENTE_DE_PROCESSAMENTO;\r\n\r\n erroProcessamento.isRender = IS_ADM && PENDENTE_DE_PROCESSAMENTO;\r\n\r\n salvar.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO);\r\n } else {\r\n enviarProcessamento.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (DOCUMENTOS_OBRIGATORIOS_ENVIADOS || DOCUMENTOS_VALIDADOS) &&\r\n (AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO);\r\n\r\n processadaSucesso.isRender =\r\n IS_ADM && PENDENTE_DE_PROCESSAMENTO && DOCUMENTOS_VALIDADOS;\r\n\r\n erroProcessamento.isRender =\r\n IS_ADM && PENDENTE_DE_PROCESSAMENTO && DOCUMENTOS_VALIDADOS;\r\n\r\n salvar.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO);\r\n }\r\n\r\n return {\r\n excluir,\r\n salvar,\r\n erroProcessamento,\r\n processadaSucesso,\r\n conferirDocumentos,\r\n enviarProcessamento,\r\n enviarRevisaoDocumentos,\r\n };\r\n }, [\r\n PROCESSADA_COM_SUCESSO,\r\n EXCLUIDA,\r\n IS_ADM,\r\n LISTA_SEM_DOCUMENTOS,\r\n PENDENTE_DE_PROCESSAMENTO,\r\n LISTA_COM_DOCUMENTOS,\r\n PENDENTE_DE_ENVIO,\r\n LISTA_TEM_GRUPO_FAMILIAR,\r\n AGUARDANDO_DOCUMENTOS,\r\n ERRO_DE_PROCESSAMENTO,\r\n DOCUMENTOS_OBRIGATORIOS_ENVIADOS,\r\n EM_ANALISE_DOCUMENTACAO,\r\n handleAlterarStatusLista,\r\n handleSalvarBeneficiarios,\r\n handleEnviarRevisaoDocumentos,\r\n ]);\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n history.push('/novo/lista'),\r\n },\r\n ]}\r\n />\r\n \r\n {((IS_ADM && EM_ANALISE_DOCUMENTACAO) ||\r\n (!IS_ADM && LISTA_COM_DOCUMENTOS && LISTA_TEM_GRUPO_FAMILIAR)) && (\r\n {\r\n history.push(\r\n `/novo/listainativo/${listaInativos?.idLista}/documentos`\r\n );\r\n }}\r\n >\r\n \r\n lista de documentos\r\n \r\n )}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {!IS_ADM &&\r\n ((LISTA_SEM_DOCUMENTOS &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO)) ||\r\n (LISTA_COM_DOCUMENTOS &&\r\n (AGUARDANDO_DOCUMENTOS ||\r\n (PENDENTE_DE_ENVIO && !LISTA_TEM_GRUPO_FAMILIAR) ||\r\n ERRO_DE_PROCESSAMENTO))) && (\r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ListaDetalheInativo;\r\n","import styled, { keyframes, css } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { FcCancel } from 'react-icons/fc';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const CancelIConContainer = styled(FcCancel).attrs((props) => ({\r\n color: props.color,\r\n}))`\r\n path {\r\n fill: ${(props) => props.color} !important;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n path {\r\n fill: #fff !important;\r\n }\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n WrapperFlex,\r\n Tooltip,\r\n Card,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil } from 'react-icons/im';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport history from '../../../services/history';\r\n\r\nimport { HoverActions } from './styles';\r\n\r\nfunction TableParametros({ parametros }) {\r\n return (\r\n <>\r\n \r\n }>\r\n {parametros.map((parametro) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst TableParametrosHeader = () => {\r\n return (\r\n \r\n Id\r\n Nome\r\n Descrição\r\n Ativo\r\n Valor\r\n Editar\r\n \r\n );\r\n};\r\n\r\nconst TableContentRow = ({ parametro }) => {\r\n return (\r\n \r\n \r\n {parametro.idParametrizacao || '-'}\r\n \r\n {parametro.nomeParametrizacao || '-'}\r\n {parametro.descricao || '-'}\r\n \r\n {parametro.ativo ? 'ativo' : 'inativo'}\r\n \r\n {parametro.valueParametrizacao || '-'}\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/parametros/editar/${parametro.nomeParametrizacao}`,\r\n {\r\n parametro,\r\n }\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableParametros;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Title, Breadcrumbs, WrapperFlex } from '@unimed-fesp/components';\r\nimport { Creators as ParametroActions } from '../../store/ducks/parametro';\r\nimport history from '../../services/history';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport TableParametros from '../../components/organisms/TableParametros';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Parametros = () => {\r\n const dispatch = useDispatch();\r\n const parametros = useSelector((state) => state.parametro.data);\r\n\r\n useEffect(() => {\r\n dispatch(ParametroActions.getParametrosRequest());\r\n\r\n return () => {\r\n dispatch(ParametroActions.renew());\r\n };\r\n }, [dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/parametros'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Parametros;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: #fff;\r\n padding: 16px;\r\n border-radius: 10px;\r\n margin: 10px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport history from '../../../services/history';\r\nimport { ButtonLink, EmptyContentText } from './styles';\r\n\r\nconst EmptyRelatorios = () => {\r\n return (\r\n \r\n Nenhum relatório gerado\r\n \r\n Para gerar, clique no botão{' '}\r\n {\r\n history.push('/novo/relatorio-beneficiario');\r\n }}\r\n data-testid=\"link-add-contratante\"\r\n >\r\n + Novo Relatório\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyRelatorios;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 10px;\r\n padding: 7px;\r\n font-size: 12px;\r\n color: ${theme.white};\r\n text-align: center;\r\n background-color: ${({ backgroundColor }) =>\r\n backgroundColor || theme.greenDefault};\r\n width: 100%;\r\n font-weight: 800;\r\n height: 32px;\r\n display: flex;\r\n gap: 5px;\r\n justify-content: center;\r\n align-items: center;\r\n &:hover {\r\n filter: opacity(0.9);\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction Chip({ children, backgroundColor }) {\r\n return {children};\r\n}\r\n\r\nexport { Chip };\r\n","import format from 'date-fns/format';\r\nimport React, { useCallback } from 'react';\r\nimport { AiOutlineReload } from 'react-icons/ai';\r\nimport {\r\n MdInfo,\r\n MdOutlineErrorOutline,\r\n MdOutlineFilterAlt,\r\n} from 'react-icons/md';\r\nimport { RiDownloadLine } from 'react-icons/ri';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\nimport { Chip } from '../../atoms/Chip';\r\nimport {\r\n ButtonActions,\r\n ConstainerTooltip,\r\n Container,\r\n CustomTooltip,\r\n CustomTooltipText,\r\n HoverActions,\r\n} from './styles';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nconst TableBodyRelatorios = ({\r\n relatorios,\r\n openModalInformacoes,\r\n reprocessarTask,\r\n obterErrosDeTask,\r\n downloadRelatorio,\r\n}) => {\r\n const { getArquivo } = useSelector((state) => state.arquivoUpload);\r\n const { putReprocessarTask } = useSelector((state) => state.task);\r\n\r\n const chipColors = {\r\n 1: theme.greenDefault,\r\n 2: theme.blue,\r\n 3: theme.redDefault,\r\n 4: theme.orangeDefault,\r\n 5: theme.greenHover,\r\n };\r\n const reprocessarRelatorio = useCallback((relatorio) => {\r\n if (relatorio.podeReprocessar) return reprocessarTask(relatorio.taskId);\r\n\r\n return toast.error(\r\n \r\n Não será possível reprocessar o relatório porque foram encontrados um ou\r\n mais erros referentes aos dados dos beneficiários. Por gentileza,\r\n corrija estes dados e emita um novo relatório. Você pode encontrar mais\r\n detalhes destes erros clicando no botão de detalhamento\r\n \r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n {relatorios.map((relatorio) => {\r\n return (\r\n \r\n \r\n \r\n {relatorio.nomeArquivo ? relatorio.nomeArquivo : '-'}\r\n \r\n \r\n \r\n \r\n {relatorio.descricaoStatus || '-'}\r\n {!relatorio.podeReprocessar && relatorio.status !== 5 && (\r\n \r\n )}\r\n \r\n \r\n \r\n {relatorio.criadoEm\r\n ? format(new Date(relatorio.criadoEm), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {relatorio.finalizadoEm\r\n ? format(new Date(relatorio.finalizadoEm), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n downloadRelatorio(relatorio.arquivoId, relatorio.taskId)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n openModalInformacoes({\r\n isOpen: true,\r\n taskId: relatorio.taskId,\r\n })\r\n }\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n reprocessarRelatorio(relatorio)}\r\n background={theme.orangeDefault}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n obterErrosDeTask(\r\n relatorio.taskId,\r\n relatorio.podeReprocessar\r\n )\r\n }\r\n background={theme.redDefault}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableBodyRelatorios;\r\n","import { TableRow } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHeaderRelatorios = () => {\r\n return (\r\n \r\n Nome Arquivo\r\n Status\r\n Data da Solicitação\r\n Data da Finalização\r\n Ações\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderRelatorios;\r\n","import React from 'react';\r\n\r\nimport { Card, Pagination, Table } from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport EmptyRelatorios from './EmptyRelatorios';\r\nimport TableBodyRelatorios from './TableBodyRelatorios';\r\nimport TableHeaderRelatorios from './TableHeaderRelatorios';\r\n\r\nconst TableRelatoriosBeneficiario = ({\r\n openModalInformacoes,\r\n paginationParams,\r\n setPaginationParams,\r\n handleChangePage,\r\n reprocessarTask,\r\n obterErrosDeTask,\r\n downloadRelatorio,\r\n}) => {\r\n const { getListaArquivos } = useSelector((state) => state.arquivoUpload);\r\n\r\n const propJustify = {\r\n justifyCenter: getListaArquivos.response.dados.length <= 0,\r\n justifyStart: getListaArquivos.response.dados.length > 0,\r\n };\r\n\r\n if (getListaArquivos.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {getListaArquivos.response.dados.length <= 0 ? (\r\n \r\n ) : (\r\n <>\r\n }>\r\n \r\n
    \r\n {getListaArquivos.response.total > 10 && (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default TableRelatoriosBeneficiario;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n width: 400px;\r\n gap: 10px;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalFiltrosAplicados({ modalData, filtros, closeModal }) {\r\n const filtrosAplicado = filtros.find(\r\n (filtro) => filtro.taskId === modalData.taskId\r\n );\r\n\r\n function mostrarFiltrosIguaisAosParametros() {\r\n if (!filtrosAplicado) {\r\n return;\r\n }\r\n\r\n const descricaoFiltros = {\r\n 1: 'Beneficiário Ativo',\r\n 2: 'Beneficiário Excluído',\r\n 3: 'Beneficiário Inativo',\r\n };\r\n\r\n const filtro = JSON.parse(filtrosAplicado.parametros);\r\n const filtroFormatado = {\r\n tipoConsulta: descricaoFiltros[filtro.TipoConsultaBeneficiario] || false,\r\n contratante: filtro.CodigoContratanteLogada || false,\r\n grupoContratante:\r\n filtro.FiltroContratante !== filtro.CodigoContratanteLogada.toString()\r\n ? filtro.FiltroContratante\r\n : false,\r\n modalidade: filtro.Modalidade || false,\r\n termo: filtro.Termo || false,\r\n layout: filtro.LeiauteVersao1 ? 'Layout 1' : 'Layout 2',\r\n extensão: filtro.ExportarXlsx ? 'xlsx' : 'txt',\r\n dataPeríodoDeReferênciaDe: filtro.DataReferenciaInicial\r\n ? new Date(filtro.DataReferenciaInicial)\r\n : false,\r\n dataPeríodoDeReferênciaAte: filtro.DataReferenciaFinal\r\n ? new Date(filtro.DataReferenciaFinal)\r\n : false,\r\n exclusãoProgramada: filtro.BeneficiarioComDataExclusaoProgramada\r\n ? 'Sim'\r\n : false,\r\n };\r\n\r\n return Object.entries(filtroFormatado).map(([chave, valor]) => {\r\n const valorParaRenderizar =\r\n valor instanceof Date ? valor.toLocaleDateString() : valor;\r\n\r\n if (valor) {\r\n return (\r\n \r\n {formatCamelCase(chave)}: {valorParaRenderizar}\r\n \r\n );\r\n }\r\n });\r\n }\r\n\r\n function formatCamelCase(str) {\r\n const words = str.split(/(?=[A-Z])/);\r\n const result = words\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(' ');\r\n\r\n return result;\r\n }\r\n\r\n return (\r\n }\r\n header={}\r\n >\r\n \r\n \r\n {mostrarFiltrosIguaisAosParametros()}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick }) => {\r\n return (\r\n \r\n Sair\r\n \r\n );\r\n};\r\n\r\nexport default ModalFiltrosAplicados;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n padding: 0 30px;\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n\r\n align-self: center;\r\n text-align: left;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Message = styled(Text)`\r\n text-align: left;\r\n font: 28px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { VscError, VscFile } from 'react-icons/vsc';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ArquivoUploadActions } from '../../../store/ducks/arquivoUpload';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n ModalHeader,\r\n} from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { Container, ContentText, Message } from './styles';\r\n\r\nfunction ModalRelatoriosAcoes({\r\n isOpen,\r\n onClick,\r\n idTask,\r\n tipoModal,\r\n downloadArquivo,\r\n podeReprocessar,\r\n}) {\r\n const mensagem = {\r\n erro1: `Pedimos desculpas, pois um erro inesperado ocorreu e o\r\n processamento falhou. Uma nova tentativa será executada\r\n automaticamente em alguns minutos. Se desejar, reporte este\r\n problema para o responsável pelo sistema informando o código da\r\n atividade abaixo:`,\r\n erroNaoPodeReprocessar: `Pedimos desculpas, pois um erro inesperado ocorreu e o\r\n processamento falhou. Se desejar, reporte este\r\n problema para o responsável pelo sistema informando o código da\r\n atividade abaixo:`,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {tipoModal === 'error' && (\r\n \r\n )}\r\n {tipoModal === 'download' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalRelatoriosAcoes;\r\n\r\nfunction ConteudoErrors({ mensagem, idTask, onClick }) {\r\n const { getUltimoErroTask } = useSelector((state) => state.task);\r\n\r\n if (getUltimoErroTask.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {getUltimoErroTask.data?.erroDeNegocio ? (\r\n {getUltimoErroTask.data.erro}\r\n ) : (\r\n {mensagem}\r\n )}\r\n\r\n {idTask}\r\n \r\n Sair\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction ConteudoDownload({ downloadArquivo, onClick }) {\r\n const { getArquivo } = useSelector((state) => state.arquivoUpload);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {getArquivo.loading ? (\r\n \r\n \r\n Seu relatório ficará pronto em breve, o arquivo está sendo\r\n montado.\r\n \r\n \r\n \r\n ) : (\r\n Seu relatório está pronto.\r\n )}\r\n\r\n {getArquivo.success && getArquivo.response.arquivo !== '' && (\r\n \r\n downloadArquivo(\r\n getArquivo.response.nome,\r\n getArquivo.response.arquivo\r\n )\r\n }\r\n >\r\n Download\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Text, Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../services/history';\r\nimport { Creators as ArquivoUploadActions } from '../../store/ducks/arquivoUpload';\r\nimport { Creators as TasksActions } from '../../store/ducks/task';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport TableRelatoriosBeneficiario from '../../components/organisms/TableRelatoriosBeneficiario';\r\nimport { SuccessToast } from '../../components/molecules/Toast';\r\nimport ModalFiltrosAplicados from '../../components/organisms/ModalFiltrosAplicados';\r\nimport ModalRelatoriosAcoes from '../../components/organisms/ModalRelatoriosAcoes';\r\nimport useSignalR from '../../hooks/useSignalR';\r\nimport { downloadFile } from '../../utils/base64';\r\n\r\nconst ProcessamentoRelatorio = () => {\r\n const dispatch = useDispatch();\r\n const [BuildConnection, OpenConnection, CloseConnection] = useSignalR();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { getListaArquivos, getArquivo } = useSelector(\r\n (state) => state.arquivoUpload\r\n );\r\n\r\n const parametrosInicialDeRelatorios = {\r\n codigoContratante: usuario.codigoContratante,\r\n paginaInicial: 0,\r\n quantidadeMaximaPorPagina: 10,\r\n };\r\n const parametrosDePaginacaoIncial = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const [modalInformacoes, setModalInformacoes] = useState({\r\n isOpen: false,\r\n taskId: null,\r\n });\r\n const [parametrosRelatorios, setRelatoriosParams] = useState(\r\n parametrosInicialDeRelatorios\r\n );\r\n const [parametrosDePaginacao, setParametroDePaginacao] = useState(\r\n parametrosDePaginacaoIncial\r\n );\r\n\r\n const [modal, setModal] = useState({\r\n open: false,\r\n tipoModal: 'error',\r\n idTask: '',\r\n podeReprocessar: null,\r\n });\r\n\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const novosParametrosDePaginacao = produce(\r\n parametrosDePaginacao,\r\n (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n }\r\n );\r\n setParametroDePaginacao(novosParametrosDePaginacao);\r\n }\r\n\r\n dispatch(\r\n ArquivoUploadActions.getListaArquivosRequest(\r\n parametrosRelatorios.codigoContratante,\r\n paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1,\r\n paramsPag.pageSize\r\n )\r\n );\r\n };\r\n\r\n const reprocessarTask = (idTask) => {\r\n dispatch(TasksActions.putReprocessarTaskRequest(idTask));\r\n\r\n return toast.success(\r\n O Reprocessamento será iniciado!\r\n );\r\n };\r\n\r\n const obterErrosDeTask = (idTask, podeReprocessar) => {\r\n dispatch(TasksActions.getUltimoErroTaskRequest(idTask));\r\n setModal({\r\n open: true,\r\n tipoModal: 'error',\r\n idTask,\r\n podeReprocessar,\r\n });\r\n };\r\n\r\n const obterArquivoParaDownload = (idArquivo) => {\r\n dispatch(ArquivoUploadActions.getArquivoRequest(idArquivo));\r\n setModal({\r\n open: true,\r\n tipoModal: 'download',\r\n });\r\n };\r\n\r\n const downloadArquivo = (nomeArquivo, base64) => {\r\n const extension = nomeArquivo.split('.')[1].toLocaleUpperCase();\r\n downloadFile(base64, nomeArquivo, extension);\r\n closeModal();\r\n };\r\n\r\n const closeModal = () => {\r\n setModal({\r\n error: false,\r\n tipoModal: 'error',\r\n message: '',\r\n idTask: null,\r\n tipoError: 0,\r\n });\r\n dispatch(ArquivoUploadActions.getArquivoSuccess(false, false));\r\n };\r\n\r\n const redirecionarAdministrador = (regra) => {\r\n if (regra === 'Adm') {\r\n history.push('/novo/lista');\r\n }\r\n };\r\n\r\n const obterListaDeRelatorios = () => {\r\n dispatch(\r\n ArquivoUploadActions.getListaArquivosRequest(\r\n parametrosRelatorios.codigoContratante,\r\n parametrosRelatorios.paginaInicial,\r\n parametrosRelatorios.quantidadeMaximaPorPagina\r\n )\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n redirecionarAdministrador(usuario.role);\r\n obterListaDeRelatorios();\r\n\r\n const conexao = BuildConnection('TaskStatusChangedHub');\r\n OpenConnection(conexao);\r\n\r\n conexao.on('TaskStatusChanged', (mensagem) => {\r\n dispatch(ArquivoUploadActions.getAtualizacaoDeRelatorioRequest(mensagem));\r\n });\r\n\r\n return () => {\r\n CloseConnection(conexao);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/relatorios'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n closeModal()}\r\n isOpen={modal.open}\r\n idTask={modal.idTask}\r\n tipoModal={modal.tipoModal}\r\n downloadArquivo={downloadArquivo}\r\n podeReprocessar={modal.podeReprocessar}\r\n />\r\n\r\n setModalInformacoes({ taskId: null, isOpen: false })}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ProcessamentoRelatorio;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n line-height: 16px;\r\n margin: 15px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { Button, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyConfimarRelatorio = () => {\r\n return (\r\n \r\n A geração deste novo relatório pode demorar.\r\n
    \r\n Não há necessidade de permanecer na tela, pois será notificado por e-mail.\r\n
    \r\n Deseja continuar a geração do relatório?\r\n
    \r\n );\r\n};\r\n\r\nconst FooterConfimarRelatorio = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyConfimarRelatorio, FooterConfimarRelatorio };\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: #fff;\r\n padding: 16px;\r\n border-radius: 10px;\r\n margin: 10px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import React, { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n Checkbox,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n Radio,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../components/molecules/DatePicker';\r\n\r\n// #endregion\r\n\r\nimport LabelContainer from '../../components/molecules/LabelContainer';\r\nimport {\r\n ComboDatePicker,\r\n ContButton,\r\n FormContainer,\r\n InlineContainer,\r\n} from './styles';\r\n\r\nfunction FormRelatorioBeneficiario({\r\n formParams,\r\n setFormParams,\r\n grupoContratante,\r\n clearParams,\r\n handleNovoRelatorio,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoLayout = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n layout: 'Layout 1',\r\n }));\r\n },\r\n text: 'Layout 1',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n layout: 'Layout 2',\r\n }));\r\n },\r\n text: 'Layout 2',\r\n },\r\n ];\r\n\r\n const optionsTipoExtensao = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n extensao: 'xlsx',\r\n }));\r\n },\r\n text: 'xlsx',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n extensao: 'txt',\r\n }));\r\n },\r\n text: 'txt',\r\n },\r\n ];\r\n\r\n function handleDataPeriodoDeReferenciaDe(e) {\r\n if (e.target) return;\r\n const dataPeriodoDeReferenciaAte =\r\n e > formParams.dataPeriodoDeReferenciaAte\r\n ? e\r\n : formParams.dataPeriodoDeReferenciaAte;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n dataPeriodoDeReferenciaDe: e,\r\n dataPeriodoDeReferenciaAte,\r\n }));\r\n }\r\n function handleDataPeriodoDeReferenciaAte(e) {\r\n if (e.target) return;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n dataPeriodoDeReferenciaDe: formParams.dataPeriodoDeReferenciaDe,\r\n dataPeriodoDeReferenciaAte:\r\n e < formParams.dataPeriodoDeReferenciaDe\r\n ? formParams.dataPeriodoDeReferenciaDe\r\n : e,\r\n }));\r\n }\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (value.target) return;\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n function handleSelectedTipoConsulta(tipoConsulta) {\r\n const tipoInativos =\r\n tipoConsulta === 3 ? { modalidade: '', termo: '' } : null;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta,\r\n ...tipoInativos,\r\n }));\r\n }\r\n\r\n function handleCheckDataExclusaoProgramada() {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n exclusaoProgramada: !formParams.exclusaoProgramada,\r\n }));\r\n }\r\n function handleSelectedGrupoContratante() {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n grupoContrantante:\r\n grupoContratante.nomeComplemento &&\r\n !formParams.consultaPorGrupoContratante\r\n ? grupoContratante.nomeComplemento\r\n : '',\r\n consultaPorGrupoContratante: !formParams.consultaPorGrupoContratante,\r\n modalidade: '',\r\n termo: '',\r\n }));\r\n }\r\n return (\r\n \r\n \r\n handleSelectedTipoConsulta(1)}\r\n />\r\n handleSelectedTipoConsulta(2)}\r\n />\r\n {modalidades.some(\r\n (modalidade) =>\r\n modalidade.codigoModalidade === 36 ||\r\n modalidade.codigoModalidade === 38 ||\r\n modalidade.codigoModalidade === 34\r\n ) && (\r\n handleSelectedTipoConsulta(3)}\r\n />\r\n )}\r\n \r\n\r\n \r\n handleChangeInput(e)}\r\n height={40}\r\n disabled\r\n />\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={\r\n formParams.consultaPorGrupoContratante ||\r\n formParams.tipoConsulta === 3\r\n ? null\r\n : shapeModalidades(modalidades)\r\n }\r\n height={40}\r\n />\r\n \r\n\r\n \r\n \r\n {formParams.layout}\r\n \r\n \r\n {formParams.extensao}\r\n \r\n \r\n {grupoContratante?.nomeComplemento && (\r\n \r\n handleSelectedGrupoContratante()}\r\n checked={formParams.consultaPorGrupoContratante}\r\n />\r\n \r\n \r\n )}\r\n {formParams?.tipoConsulta === 1 && (\r\n // Beneficiário Ativo\r\n\r\n \r\n handleCheckDataExclusaoProgramada()}\r\n checked={formParams.exclusaoProgramada}\r\n />\r\n \r\n \r\n )}\r\n {formParams?.tipoConsulta === 2 && (\r\n // Beneficiário Excluído\r\n\r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n Limpar\r\n \r\n\r\n \r\n Gerar Relatório\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default FormRelatorioBeneficiario;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { format, isBefore, isWithinInterval, subMonths } from 'date-fns';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../services/history';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\nimport { Creators as RelatorioActions } from '../../store/ducks/relatorio';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport { ModalConfimarRelatorio } from '../../components/molecules/PartsModalRelatorioBeneficiario';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport FormRelatorioBeneficiario from './FormRelatorioBeneficiario';\r\n\r\nconst RelatorioBeneficiarios = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { response } = useSelector(\r\n (state) => state.usuario.getContratantesUsuario\r\n );\r\n const { postRelatorioBeneficiarioRequest } = useSelector(\r\n (state) => state.relatorio\r\n );\r\n\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: 1,\r\n contratante: usuario.codigoContratante,\r\n grupoContratante: '',\r\n consultaPorGrupoContratante: false,\r\n modalidade: '',\r\n termo: '',\r\n layout: 'Layout 1',\r\n extensao: 'xlsx',\r\n dataPeriodoDeReferenciaDe: '',\r\n dataPeriodoDeReferenciaAte: '',\r\n exclusaoProgramada: false,\r\n }),\r\n []\r\n );\r\n\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n\r\n const contranteParametrizada = response.contranteParametrizada\r\n ? response.contranteParametrizada.find(\r\n (contratante) =>\r\n contratante.codigoContratante.toString() === usuario.codigoContratante\r\n )\r\n : [];\r\n\r\n const handleData = () => {\r\n const params = {\r\n exportar_xlsx: formParams.extensao === 'xlsx',\r\n leiaute_versao1: formParams.layout === 'Layout 1',\r\n email_usuario_logado: usuario.login,\r\n nome_usuario_logado: usuario.nome,\r\n codigo_contratante_logada: usuario.codigoContratante,\r\n filtro_contratante: formParams.consultaPorGrupoContratante\r\n ? contranteParametrizada.nomeComplemento\r\n : usuario.codigoContratante,\r\n modalidade: formParams.modalidade,\r\n termo: formParams.termo,\r\n tipo_consulta_beneficiario: formParams.tipoConsulta,\r\n data_referencia_inicial: formParams.dataPeriodoDeReferenciaDe\r\n ? format(formParams.dataPeriodoDeReferenciaDe, 'MM-dd-yyyy 00:00:00')\r\n : null,\r\n data_referencia_final: formParams.dataPeriodoDeReferenciaAte\r\n ? format(formParams.dataPeriodoDeReferenciaAte, 'MM-dd-yyyy 00:00:00')\r\n : null,\r\n beneficiario_com_data_exclusao_programada: formParams.exclusaoProgramada,\r\n };\r\n\r\n dispatch(RelatorioActions.postRelatorioBeneficiarioRequest(params));\r\n };\r\n\r\n const handleNovoRelatorio = useCallback(() => {\r\n if (formParams.tipoConsulta === 2) {\r\n const { dataPeriodoDeReferenciaDe, dataPeriodoDeReferenciaAte } =\r\n formParams;\r\n\r\n if (!dataPeriodoDeReferenciaDe || !dataPeriodoDeReferenciaAte) {\r\n return toast.error(\r\n Insira um período de referência!\r\n );\r\n }\r\n\r\n const dataAtual = new Date();\r\n const dataTresMesesAntes = subMonths(dataAtual, 3);\r\n\r\n if (isBefore(dataPeriodoDeReferenciaDe, dataTresMesesAntes)) {\r\n return toast.error(\r\n \r\n A data inicial não pode retroagir mais que três meses!\r\n \r\n );\r\n }\r\n }\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n handleData();\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }, [dispatch, formParams]);\r\n\r\n useEffect(() => {\r\n if (usuario.role === 'Adm') {\r\n return history.push('/novo/lista');\r\n }\r\n\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }, [dispatch, usuario.codigoContratante]);\r\n\r\n useEffect(() => {\r\n const { isSuccess, messageError } = postRelatorioBeneficiarioRequest.data;\r\n\r\n if (isSuccess) {\r\n history.push('/novo/processamento-relatorio');\r\n }\r\n\r\n if (!isSuccess && messageError) {\r\n toast.error({messageError});\r\n }\r\n\r\n dispatch(\r\n RelatorioActions.postRelatorioBeneficiarioResponse(false, {\r\n idTask: null,\r\n isSuccess: false,\r\n })\r\n );\r\n }, [\r\n dispatch,\r\n postRelatorioBeneficiarioRequest.data.isSuccess,\r\n postRelatorioBeneficiarioRequest.data.messageError,\r\n ]);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/relatorio-beneficiario'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n setFormParams(formInitialParams)}\r\n handleNovoRelatorio={() => handleNovoRelatorio()}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RelatorioBeneficiarios;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { ButtonContainer } from '../StatusList/styles';\r\n\r\nconst StatusFilter = ({ status, onStatusClick, activeStatus }) => {\r\n const [localActiveStatus, setLocalActiveStatus] = useState(activeStatus);\r\n useEffect(() => {\r\n setLocalActiveStatus(activeStatus);\r\n }, [activeStatus]);\r\n\r\n const availableStatus = status.filter(\r\n (currentStatus) => currentStatus.id !== localActiveStatus\r\n );\r\n\r\n const handleStatusClick = (currentStatus) => {\r\n if (localActiveStatus === currentStatus.id) {\r\n setLocalActiveStatus(null);\r\n onStatusClick(null);\r\n } else {\r\n setLocalActiveStatus(currentStatus.id);\r\n onStatusClick(currentStatus.id);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {status.map(\r\n (status) =>\r\n localActiveStatus === status.id && (\r\n \r\n handleStatusClick(status)}\r\n text={status.description}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n {availableStatus.map((status) => (\r\n \r\n handleStatusClick(status)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={status.description}\r\n />\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusFilter;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n p {\r\n font-size: 13px;\r\n }\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const CardFilter = styled.div`\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 200px;`};\r\n`;\r\nexport const CardFilterContent = styled.div`\r\n min-width: 300px;\r\n margin: 10px 20px;\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeader = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooter = styled.div`\r\n display: flex;\r\n padding: 0px 20px 10px 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalFooter = ({\r\n onCloseModal,\r\n handleAdicionarModal,\r\n isDisabledBtnAdicionar,\r\n}) => {\r\n return (\r\n <>\r\n onCloseModal(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onCloseModal(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n disabled={isDisabledBtnAdicionar}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalBodyContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n\r\n display: flex;\r\n\r\n background: ${theme.white};\r\n\r\n padding: 1px 10px 0px 10px;\r\n flex: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nimport { ModalBodyContainer } from './styles';\r\n\r\nfunction ModalConsultaStructureSegundaVia({\r\n isOpen,\r\n BodyModal,\r\n titleModal,\r\n HeaderModal,\r\n onCloseModal,\r\n handleAdicionarModal,\r\n\r\n isDisabledBtnAdicionar,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalConsultaStructureSegundaVia;\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nexport const Container = styled.div`\r\n //display: flex;\r\n margin-top: 10px !important;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n margin-left: -5px;\r\n\r\n > label {\r\n margin-bottom: 0px;\r\n }\r\n`;\r\n\r\nexport const FootlineContainer = styled.div`\r\n display: flex;\r\n padding-left: 5%;\r\n margin-top: 10px !important;\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n padding-top: 3%;\r\n padding-left: 5px;\r\n display: 'none';\r\n`;\r\n\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useCallback, useState } from 'react';\r\nimport { GoSearch } from 'react-icons/go';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n Text,\r\n TextField,\r\n} from '@unimed-fesp/components';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../molecules/DatePicker';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { ContButton, InlineContainer, LabelDate } from './styles';\r\n\r\nfunction FormPesquisaBeneficiarioSegundaVia({\r\n formParams,\r\n setFormParams,\r\n handlePesquisar,\r\n desabilitarBtnPesquisar = false,\r\n resetarPagination,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoBeneficiario = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n titular: 'Titular',\r\n }));\r\n resetarPagination();\r\n },\r\n text: 'Titular',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n titular: 'Dependente',\r\n }));\r\n resetarPagination();\r\n },\r\n text: 'Dependente',\r\n },\r\n ];\r\n const optionsTipoConsulta = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteModalidadeTermo,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteCodigoUnimedCartao,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeTipoBeneficiario,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeDataNascimento,\r\n },\r\n ];\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (value.target) return;\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n TipoPesquisaEnum.returnFormatName[\r\n formParams?.tipoConsulta || 'ContratanteModalidadeTermo'\r\n ]\r\n }\r\n \r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n \r\n \r\n handleChangeKeyValue('dataNascimento', e)}\r\n />\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n \r\n {formParams.titular}\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo && (\r\n // Contratante + Modalidade + Termo\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={shapeModalidades(modalidades)}\r\n margin={11}\r\n />\r\n )}\r\n\r\n \r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormPesquisaBeneficiarioSegundaVia;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ModalidadeActions } from '../../../store/ducks/modalidade';\r\nimport { Creators as RequisicaoActions } from '../../../store/ducks/requisicao';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\nimport ModalConsultaStructureSegundaVia from '../../molecules/ModalConsultaStructureSegundaVia';\r\nimport FormPesquisaBeneficiarioSegundaVia from '../FormPesquisaBeneficiarioSegundaVia';\r\nimport TablePesquisaBeneficiarioSegundaVia from '../TablePesquisaBeneficiarioSegundaVia';\r\n\r\nfunction ModalPesquisaBeneficiarioSegundaVia({ isOpen, onCloseModal }) {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const paginationInitialParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const paramsRequestDefault = {\r\n pagina_inicial: 0,\r\n pagina_tamanho: 10,\r\n tipo_consulta: null,\r\n codigo_contratante: usuario.codigoContratante,\r\n codigo_modalidade: null,\r\n numero_termo: null,\r\n codigo_unimed: null,\r\n numero_carteira: null,\r\n nome_beneficiario: null,\r\n tipo_beneficiario: null,\r\n data_nascimento_beneficiario: null,\r\n };\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n titular: 'Titular',\r\n modalidade: '',\r\n termo: '',\r\n cartao: '',\r\n codDaUnimed: '',\r\n nomeBenefTpBeneficiario: '',\r\n nomeBeneficiarioI: '',\r\n dataNascimento: '',\r\n }),\r\n []\r\n );\r\n\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n const [paramsRequest, setParamsRequest] = useState(paramsRequestDefault);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInitialParams\r\n );\r\n\r\n const handlePesquisar = useCallback(() => {\r\n if (!isOpen || formParams === null) {\r\n return;\r\n }\r\n const typeBeneficiary = {\r\n Titular: 1,\r\n Dependente: 2,\r\n };\r\n const tipoConsulta = TipoPesquisaEnum.returnPropId[formParams.tipoConsulta];\r\n if (tipoConsulta) {\r\n const newParamsRequest = produce(paramsRequest, (draft) => {\r\n draft.tipo_consulta = tipoConsulta;\r\n draft.pagina_inicial = 0;\r\n draft.pagina_tamanho = 10;\r\n\r\n switch (tipoConsulta) {\r\n case 1:\r\n draft.numero_termo = formParams.termo;\r\n draft.codigo_modalidade = formParams.modalidade;\r\n break;\r\n case 2:\r\n draft.codigo_unimed = formParams.codDaUnimed;\r\n draft.numero_carteira = formParams.cartao;\r\n break;\r\n case 3:\r\n draft.nome_beneficiario = formParams.nomeBenefTpBeneficiario;\r\n draft.tipo_beneficiario = typeBeneficiary[formParams.titular];\r\n break;\r\n case 4:\r\n draft.nome_beneficiario = formParams.nomeBeneficiarioI;\r\n draft.data_nascimento_beneficiario = format(\r\n formParams.dataNascimento,\r\n 'MM-dd-yyyy 00:00:00'\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n setParamsRequest(newParamsRequest);\r\n dispatch(\r\n RequisicaoActions.postBeneficiarioSegundaViaRequest(newParamsRequest)\r\n );\r\n }\r\n }, [dispatch, formParams, isOpen, TipoPesquisaEnum, paramsRequest]);\r\n\r\n const handleChangePage = (paramsPag) => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paramsPag.pageNumber <= 0 ? 1 : paramsPag.pageNumber;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n\r\n const newFilterParams = produce(paramsRequest, (draft) => {\r\n draft.pagina_inicial =\r\n paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.pagina_tamanho = paramsPag.pageSize;\r\n });\r\n const params = {\r\n ...paramsRequest,\r\n ...newFilterParams,\r\n };\r\n\r\n setParamsRequest(params);\r\n dispatch(RequisicaoActions.postBeneficiarioSegundaViaRequest(params));\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n })\r\n );\r\n }, [dispatch, usuario?.codigoContratante]);\r\n\r\n const desabilitarBtnPesquisar = useMemo(() => {\r\n const validacaoValues = {\r\n ContratanteModalidadeTermo:\r\n !!formParams?.modalidade && !!formParams?.termo,\r\n ContratanteCodigoUnimedCartao:\r\n !!formParams?.cartao && !!formParams?.codDaUnimed,\r\n ContratanteNomeTipoBeneficiario:\r\n !!formParams?.nomeBenefTpBeneficiario && !!formParams?.titular,\r\n ContratanteNomeDataNascimento:\r\n !!formParams?.nomeBeneficiarioI && !!formParams?.dataNascimento,\r\n };\r\n\r\n return !validacaoValues[formParams.tipoConsulta];\r\n }, [formParams]);\r\n\r\n return (\r\n Consultar Beneficiário}\r\n onCloseModal={onCloseModal}\r\n BodyModal={\r\n \r\n }\r\n HeaderModal={\r\n setPaginationParams(paginationInitialParams)}\r\n />\r\n }\r\n />\r\n );\r\n}\r\n\r\nexport default ModalPesquisaBeneficiarioSegundaVia;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import { Form } from '@rocketseat/unform';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n CanAccess,\r\n Dropdown,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { format, isAfter } from 'date-fns';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport {\r\n MdAdd,\r\n MdFileDownload,\r\n MdFilterList,\r\n MdInfo,\r\n MdSearch,\r\n} from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport StatusFilter from '../../components/molecules/StatusFilter';\r\nimport FilterExtendsSegundaVia from '../../components/organisms/FilterExtendsSegundaVia';\r\nimport ModalPesquisaBeneficiarioSegundaVia from '../../components/organisms/ModalPesquisaBeneficiarioSegundaVia';\r\nimport TabTableListaSegundaVia from '../../components/organisms/TabTableListaSegundaVia';\r\nimport { Creators as RequisicaoActions } from '../../store/ducks/requisicao';\r\n\r\nfunction SegundaVia() {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const {\r\n postProcessarSegundaVia,\r\n postRelatorioSegundaVia,\r\n getPermissaoSegundaVia,\r\n } = useSelector((state) => state.requisicao);\r\n\r\n const contractorOrAdm =\r\n usuario.role !== 'Adm' ? usuario.codigoContratante : null;\r\n\r\n const filterExtendsParams = {\r\n page: 0,\r\n count_per_page: 10,\r\n is_administrator: usuario.role === 'Adm',\r\n beneficiary_name: null,\r\n contractor_code: contractorOrAdm,\r\n term_number: null,\r\n status: null,\r\n modality: null,\r\n start_requisition_create_at: null,\r\n end_requisition_create_at: null,\r\n start_requisition_processing_date: null,\r\n end_requisition_processing_date: null,\r\n };\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const reportExtendsParams = {\r\n is_administrator: usuario.role === 'Adm',\r\n beneficiary_name: null,\r\n contractor_code: null,\r\n status: null,\r\n status_string: null,\r\n modality: null,\r\n term_number: null,\r\n requisition_ids: null,\r\n start_requisition_create_at: null,\r\n end_requisition_create_at: null,\r\n start_requisition_processing_date: null,\r\n end_requisition_processing_date: null,\r\n };\r\n const processExtendsParams = {\r\n requisitions: null,\r\n processing_date: null,\r\n user_id: usuario.idUsuarioLogado,\r\n };\r\n\r\n const [processParams, setProcessParams] = useState(processExtendsParams);\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [reportParams, setReportParams] = useState(reportExtendsParams);\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [status, setStatus] = useState();\r\n const [\r\n isOpenModalPesquisarBeneficiario,\r\n setIsOpenModalPesquisarBeneficiario,\r\n ] = useState(false);\r\n\r\n const [reportsItems, setReportItems] = useState([]);\r\n const [isCheckedAllPages, setIsCheckedAllPages] = useState(false);\r\n const [openModalProcess, setOpenModalProcess] = useState({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const [dataProcessamento, setDataProcessamento] = useState(new Date());\r\n\r\n const optionsButtonRelatorios = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Resumido'),\r\n text: 'Resumido (CSV)',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Detalhado'),\r\n text: 'Detalhado (XLSX)',\r\n },\r\n ];\r\n\r\n function ProcessDuplicate() {\r\n const formattedData = format(dataProcessamento, 'yyyy-MM-dd');\r\n const currentTime = format(new Date(), 'HH:mm:ss');\r\n\r\n const newDateProcess = `${formattedData} ${currentTime}`;\r\n\r\n const newProcessParams = produce(processParams, (draft) => {\r\n draft.processing_date = newDateProcess;\r\n draft.requisitions = reportsItems.map((item) => {\r\n return {\r\n beneficiaryId: item.beneficiaryId,\r\n requisitionId: item.requisitionId,\r\n };\r\n });\r\n });\r\n\r\n dispatch(\r\n RequisicaoActions.postSegundaViaProcessarRequest(newProcessParams)\r\n );\r\n }\r\n\r\n function handleDataProcessamento(e) {\r\n if (e.target) return;\r\n setDataProcessamento(e);\r\n }\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n if (\r\n isAfter(data.dataSolicitacaoAte, new Date()) ||\r\n isAfter(data.dataSolicitacaoDe, new Date()) ||\r\n isAfter(data.dataProcessamentoAte, new Date()) ||\r\n isAfter(data.dataProcessamentoDe, new Date())\r\n ) {\r\n toast.error(\r\n \r\n A Pesquisa por Data não deve ser superior à data atual.\r\n \r\n );\r\n return false;\r\n }\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = 0;\r\n draft.count_per_page = 10;\r\n draft.beneficiary_name = inputValue || null;\r\n draft.contractor_code = contractorOrAdm || data.codigoContratante || null;\r\n draft.modality = data.modalidade || null;\r\n draft.status = status === 99 ? null : status;\r\n draft.term_number = data.termo ? data.termo : null;\r\n draft.start_requisition_create_at = data.dataSolicitacaoDe\r\n ? format(data.dataSolicitacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.end_requisition_create_at = data.dataSolicitacaoAte\r\n ? format(data.dataSolicitacaoAte, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.start_requisition_processing_date = data.dataProcessamentoDe\r\n ? format(data.dataProcessamentoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.end_requisition_processing_date = data.dataProcessamentoAte\r\n ? format(data.dataProcessamentoAte, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n });\r\n\r\n setPaginationParams(paginationTabParams);\r\n setFilterParams(newFilterParams);\r\n return newFilterParams;\r\n }\r\n\r\n function handleCheckBoxAllPagesReport(checkedAllpages) {\r\n setReportItems([]);\r\n setIsCheckedAllPages(checkedAllpages);\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n if (params) {\r\n setSearchBoxActive(true);\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(params));\r\n }\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleModalProcess() {\r\n const isPendent = reportsItems.filter(\r\n (item) => item.statusDescription === 'Pendente'\r\n );\r\n\r\n if (isAfter(dataProcessamento, new Date())) {\r\n return toast.error(\r\n \r\n A Data de processamento não deve ser superior à data atual.\r\n \r\n );\r\n }\r\n\r\n if (reportsItems.length === 0) {\r\n return toast.error(\r\n \r\n É necessário que pelo menos 1 solicitação seja selecionada.\r\n \r\n );\r\n }\r\n\r\n if (isPendent.length === reportsItems.length) {\r\n return setOpenModalProcess({\r\n warning: !openModalProcess.warning,\r\n message: null,\r\n textHeader: 'cancelar',\r\n onClickOk: () => {\r\n ProcessDuplicate();\r\n },\r\n });\r\n }\r\n setReportItems([]);\r\n return toast.error(\r\n \r\n É necessário que todas as solicitações estejam com status PENDENTE.\r\n \r\n );\r\n }\r\n\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.count_per_page = paramsPag.pageSize;\r\n draft.status = status === 99 ? null : status;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newFilterParams,\r\n };\r\n setFilterParams(params);\r\n\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(newFilterParams));\r\n };\r\n\r\n function handleDropdownItemClick(item) {\r\n if (reportsItems.length === 0 && !isCheckedAllPages) {\r\n return toast.error(\r\n \r\n Nenhuma solicitação de segunda via selecionada para a geração do\r\n relatório.\r\n \r\n );\r\n }\r\n\r\n const statusName = {\r\n 99: null,\r\n 1: 'Pendente',\r\n 2: 'Processado',\r\n 4: 'Excluída',\r\n 5: 'Não Processado',\r\n };\r\n\r\n if (isCheckedAllPages) {\r\n const newReportParams = produce(reportParams, (draft) => {\r\n draft.beneficiary_name = inputValue;\r\n draft.contractor_code = filterParams.contractor_code;\r\n draft.status = filterParams.status;\r\n draft.status_string = statusName[filterParams.status];\r\n draft.modality = filterParams.modality;\r\n draft.term_number = filterParams.term_number;\r\n draft.start_requisition_create_at =\r\n filterParams.start_requisition_create_at;\r\n draft.end_requisition_create_at =\r\n filterParams.end_requisition_create_at;\r\n draft.start_requisition_processing_date =\r\n filterParams.start_requisition_processing_date;\r\n draft.end_requisition_processing_date =\r\n filterParams.end_requisition_processing_date;\r\n });\r\n\r\n const params = {\r\n ...newReportParams,\r\n tipoRelatorio: item,\r\n };\r\n\r\n return dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaRequest(params)\r\n );\r\n }\r\n const newReportParams = produce(reportParams, (draft) => {\r\n draft.status = filterParams.status;\r\n draft.status_string = statusName[filterParams.status];\r\n draft.requisition_ids = reportsItems.map(\r\n (requisition) => requisition.requisitionId\r\n );\r\n draft.beneficiary_name = inputValue;\r\n draft.contractor_code = filterParams.contractor_code;\r\n draft.modality = filterParams.modality;\r\n draft.term_number = filterParams.term_number;\r\n draft.start_requisition_create_at =\r\n filterParams.start_requisition_create_at;\r\n draft.end_requisition_create_at = filterParams.end_requisition_create_at;\r\n draft.start_requisition_processing_date =\r\n filterParams.start_requisition_processing_date;\r\n draft.end_requisition_processing_date =\r\n filterParams.end_requisition_processing_date;\r\n });\r\n\r\n const params = {\r\n ...newReportParams,\r\n tipoRelatorio: item,\r\n };\r\n\r\n return dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaRequest(params)\r\n );\r\n }\r\n\r\n function downloadFile(base64, filename, mediaType) {\r\n const temp = `data:${mediaType};base64,${encodeURIComponent(base64)}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n const handleStatus = (status) => {\r\n setStatus(status);\r\n setSearchBoxActive(false);\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.status = status === 99 ? null : status;\r\n draft.page = 0;\r\n draft.count_per_page = 10;\r\n });\r\n setPaginationParams(paginationTabParams);\r\n setFilterParams(newFilterParams);\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(newFilterParams));\r\n };\r\n\r\n useEffect(() => {\r\n if (usuario.role !== 'Adm') {\r\n dispatch(\r\n RequisicaoActions.getPermissaoSegundaViaRequest(\r\n usuario.codigoContratante\r\n )\r\n );\r\n }\r\n }, [dispatch, usuario]);\r\n useEffect(() => {\r\n if (!postRelatorioSegundaVia.loading && postRelatorioSegundaVia.success) {\r\n if (postRelatorioSegundaVia.response.fileContents !== '') {\r\n downloadFile(\r\n postRelatorioSegundaVia.response.fileContents,\r\n postRelatorioSegundaVia.response.fileDownloadName,\r\n postRelatorioSegundaVia.response.contentType\r\n );\r\n\r\n handleCheckBoxAllPagesReport(false);\r\n dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaSuccess(\r\n false,\r\n false\r\n )\r\n );\r\n }\r\n }\r\n }, [postRelatorioSegundaVia.loading, postRelatorioSegundaVia.response]);\r\n\r\n useEffect(() => {\r\n if (postProcessarSegundaVia.response.success) {\r\n setOpenModalProcess({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n setReportItems([]);\r\n dispatch(RequisicaoActions.postSegundaViaProcessarSuccess({}, false));\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(filterParams));\r\n }\r\n }, [postProcessarSegundaVia.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {getPermissaoSegundaVia.response === true && (\r\n \r\n setIsOpenModalPesquisarBeneficiario(true)}\r\n >\r\n \r\n nova solicitação\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Gerar relatório\r\n \r\n \r\n \r\n \r\n history.push('/novo/segunda-via'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n {!status && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {\r\n handleModalProcess();\r\n }}\r\n header={\r\n \r\n \r\n \r\n }\r\n isOpen={openModalProcess.warning}\r\n footer={\r\n {\r\n handleModalProcess();\r\n }}\r\n onClickOk={() => {\r\n openModalProcess.onClickOk();\r\n }}\r\n isLoading={postProcessarSegundaVia.loading}\r\n />\r\n }\r\n >\r\n {postProcessarSegundaVia.loading ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n 9\r\n ? `${reportsItems.length}`\r\n : `0${reportsItems.length}`\r\n } \r\n solicitaç${\r\n reportsItems.length > 1 ? 'ões' : 'ão'\r\n } para processamento. `}\r\n />\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n }\r\n isOpen={postRelatorioSegundaVia.loading}\r\n footer={<>}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n setIsOpenModalPesquisarBeneficiario(false)}\r\n />\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, isLoading, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n Não\r\n \r\n \r\n Sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SegundaVia;\r\n","import styled, { css } from 'styled-components';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\nexport const Content = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${theme.white};\r\n align-items: center;\r\n`;\r\n\r\nexport const DisplayInfo = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 16px 0px;\r\n`;\r\nexport const CustomButton = styled.div`\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n padding: 10px 20px;\r\n border: 1px solid ${(props) => props.border || 'black'};\r\n border-radius: 4px;\r\n color: ${(props) => props.color || 'black'};\r\n background-color: ${(props) => props.background || '#fff'};\r\n font-weight: 400;\r\n\r\n &:hover {\r\n filter: brightness(0.95);\r\n }\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import { Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport { CardPersonalInformation } from './styles';\r\n\r\nimport { InfoDisplayItem } from '../../components/atoms/InfoDisplayItem';\r\n\r\nfunction DetalheSolicitacao({ data }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DetalheSolicitacao;\r\n","import styled, { css } from 'styled-components';\r\nimport { FaUpload } from 'react-icons/fa';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n padding: 10px;\r\n display: flex;\r\n width: auto;\r\n align-items: flex-start;\r\n align-items: center;\r\n color: #808080;\r\n flex-direction: column;\r\n cursor: pointer;\r\n background-color: ${theme.grey200};\r\n div {\r\n justify-content: flex-end;\r\n }\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid #c1bbbb`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n cursor: not-allowed;\r\n `\r\n : null};\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1\r\n ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const HiddenInput = styled.input`\r\n display: none;\r\n cursor: pointer;\r\n`;\r\n\r\nexport const UploadIcon = styled(FaUpload)`\r\n font-size: 24px;\r\n color: ${theme.greenDefault};\r\n cursor: pointer;\r\n`;\r\n\r\nexport const FileInfo = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin-top: 10px;\r\n\r\n span {\r\n margin-left: 10px;\r\n color: ${theme.inputColorGray};\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.p`\r\n color: red;\r\n font-size: 14px;\r\n`;\r\n","import { Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React, { useRef, useState } from 'react';\r\nimport {\r\n Container,\r\n HiddenInput,\r\n UploadIcon,\r\n FileInfo,\r\n ErrorMessage,\r\n} from './style';\r\n\r\nconst InputUpload = ({ maxSizeInBytes, allowedFormats, onFileUpload }) => {\r\n const [selectedFile, setSelectedFile] = useState(null);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n\r\n const handleFileChange = (event) => {\r\n const file = event.target.files[0];\r\n\r\n if (file) {\r\n if (file.size > maxSizeInBytes) {\r\n setErrorMessage(\r\n `O arquivo selecionado é maior que ${\r\n maxSizeInBytes / (1024 * 1024)\r\n }MB. Por favor, escolha um arquivo menor.`\r\n );\r\n setSelectedFile(null);\r\n } else if (!allowedFormats.includes(file.type)) {\r\n setErrorMessage('O formato do arquivo selecionado não é válido.');\r\n setSelectedFile(null);\r\n } else {\r\n setSelectedFile(file);\r\n setErrorMessage('');\r\n readAndUploadFile(file);\r\n }\r\n }\r\n };\r\n\r\n const readAndUploadFile = (file) => {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (e) => {\r\n const base64Data = e.target.result.split(',')[1];\r\n const uploadDate = new Date().toLocaleString();\r\n onFileUpload({ fileName: file.name, uploadDate, base64Data });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {selectedFile && (\r\n \r\n {selectedFile.name}\r\n \r\n )}\r\n {errorMessage && {errorMessage}}\r\n \r\n );\r\n};\r\n\r\nexport default InputUpload;\r\n","import { Text } from '@unimed-fesp/components';\r\nimport React, { useState } from 'react';\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst RichTextEditor = ({\r\n textValue,\r\n setEmailLayout,\r\n limit,\r\n maxHeight = 'auto',\r\n}) => {\r\n const [text, setText] = useState(textValue || '');\r\n const modules = {\r\n toolbar: [\r\n [{ header: '1' }, { header: '2' }, { font: [] }],\r\n [{ size: [] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [\r\n { list: 'ordered' },\r\n { list: 'bullet' },\r\n { indent: '-1' },\r\n { indent: '+1' },\r\n ],\r\n ['link', 'image', 'video'],\r\n ['clean'],\r\n ],\r\n };\r\n\r\n const formats = [\r\n 'header',\r\n 'font',\r\n 'size',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'blockquote',\r\n 'list',\r\n 'bullet',\r\n 'indent',\r\n 'link',\r\n 'image',\r\n 'video',\r\n ];\r\n\r\n const handleChange = (value) => {\r\n setText(value);\r\n setEmailLayout(value);\r\n };\r\n\r\n const exceedsLimit = () => {\r\n return text.length > limit;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {exceedsLimit() && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichTextEditor;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const Label = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\nexport const Content = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 10px;\r\n margin: 15px 0;\r\n background-color: #fff;\r\n padding: 16px;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Checkbox,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Content, Label } from './styles';\r\n\r\nfunction FormLayoutEmail({ formParams, setFormParams }) {\r\n const [errors, setErros] = useState({ error: false, errorMessage: '' });\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n\r\n if (name === 'assunto' && value.length > 100) {\r\n setErros({\r\n error: true,\r\n errorMessage: 'O assunto deve conter até 100 caracteres',\r\n });\r\n } else if (name === 'assunto' && value.length === 0) {\r\n setErros({ error: true, errorMessage: 'O assunto é obrigatório.' });\r\n } else {\r\n setErros(false);\r\n }\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleAtiveCheck() {\r\n setFormParams((oldValue) => ({ ...oldValue, ativo: !formParams.ativo }));\r\n }\r\n\r\n return (\r\n \r\n \r\n handleChangeInput(e)}\r\n height={40}\r\n errorMessage={errors.errorMessage}\r\n error={errors.error}\r\n />\r\n \r\n handleChangeInput(e)}\r\n height={40}\r\n disabled\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormLayoutEmail;\r\n","import React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n Text,\r\n} from '@unimed-fesp/components';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport RichTextEditor from '../../components/molecules/RichTextEditor';\r\nimport FormLayoutEmail from './FormLayoutEmail';\r\nimport { Container, Content } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nimport history from '../../services/history';\r\nimport { Creators as LayoutEmailActions } from '../../store/ducks/layoutEmail';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport { ErrorToast, SuccessToast } from '../../components/molecules/Toast';\r\n\r\nfunction EditarLayoutEmail({ match }) {\r\n const dispatch = useDispatch();\r\n const { idLayout } = match.params;\r\n const { getLayoutEmail, postLayoutEmail } = useSelector(\r\n (state) => state.layoutEmail\r\n );\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const { data, loading } = getLayoutEmail;\r\n\r\n const formInitialParams = useMemo(\r\n () => ({ assunto: '', layout: '', ativo: false }),\r\n []\r\n );\r\n\r\n const [params, setParams] = useState(formInitialParams);\r\n const [emailLayoutContent, setEmailLayoutContent] = useState('');\r\n\r\n useEffect(() => {\r\n dispatch(LayoutEmailActions.getLayoutEmailPorIDRequest(idLayout));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (usuario.role !== 'Adm') {\r\n return history.push('/novo/lista');\r\n }\r\n\r\n if (data) {\r\n setParams({\r\n ...params,\r\n assunto: data.emailAssunto,\r\n ativo: data.emailAtivo,\r\n layout: data.descricaoTipoRegraAlerta,\r\n });\r\n }\r\n }, [data]);\r\n\r\n useEffect(() => {\r\n if (postLayoutEmail.data.success && postLayoutEmail.success) {\r\n toast.success(Layout Atualizado);\r\n dispatch(LayoutEmailActions.postLayoutEmailResponse(false, {}, false));\r\n goToLayoutPage();\r\n }\r\n }, [dispatch, idLayout, postLayoutEmail.data, postLayoutEmail.success]);\r\n\r\n const goToLayoutPage = useCallback(() => {\r\n history.push(`/novo/layout-emails`);\r\n }, []);\r\n\r\n const validarCampos = (request) => {\r\n if (!request.emailAssunto || request.emailAssunto.length > 100)\r\n return false;\r\n\r\n if (request.emailConteudo.length > 2000) {\r\n toast.error(\r\n O conteúdo deve conter até 2000 caracteres\r\n );\r\n return false;\r\n }\r\n\r\n if (request.emailConteudo === '


    ') {\r\n toast.error(O conteúdo deve ser informado);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const handleSubmit = useCallback(() => {\r\n const request = {\r\n id: data.id,\r\n tipoRegraAlerta: data.tipoRegraAlerta,\r\n emailAssunto: params.assunto,\r\n emailAtivo: params.ativo,\r\n emailConteudo: emailLayoutContent || data.emailConteudo,\r\n };\r\n\r\n if (!validarCampos(request)) return;\r\n\r\n dispatch(LayoutEmailActions.postLayoutEmailRequest(request));\r\n }, [data, params, emailLayoutContent, dispatch]);\r\n\r\n if (!Object.values(data).length || !data) {\r\n return (\r\n \r\n \r\n \r\n goToLayoutPage(),\r\n },\r\n {\r\n path: 'Layout de Emails',\r\n onNavigate: () => goToLayoutPage(),\r\n },\r\n {\r\n path: 'Editar',\r\n },\r\n ]}\r\n />\r\n\r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n goToLayoutPage(),\r\n },\r\n {\r\n path: 'Layout de Emails',\r\n onNavigate: () => goToLayoutPage(),\r\n },\r\n {\r\n path: 'Editar',\r\n },\r\n ]}\r\n />\r\n\r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default EditarLayoutEmail;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 10px;\r\n margin: 15px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Title,\r\n Breadcrumbs,\r\n Table,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n Text,\r\n} from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\nimport { Creators as LayoutEmailActions } from '../../store/ducks/layoutEmail';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\n\r\nfunction ConsultarLayoutEmail() {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(LayoutEmailActions.getLayoutEmailListRequest());\r\n }, []);\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { getLayoutEmailList } = useSelector((state) => state.layoutEmail);\r\n const lista = getLayoutEmailList.data;\r\n\r\n const goToEditLayout = useCallback((id) => {\r\n history.push(`/novo/layout-emails/editar/${id}`);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (usuario.role !== 'Adm') {\r\n return history.push('/novo/lista');\r\n }\r\n }, []);\r\n\r\n if (!lista || lista.length === 0) {\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/layout-emails'),\r\n },\r\n ]}\r\n />\r\n\r\n {getLayoutEmailList.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/layout-emails'),\r\n },\r\n ]}\r\n />\r\n\r\n {getLayoutEmailList.loading ? (\r\n \r\n ) : (\r\n \r\n Assunto\r\n Tipo de E-mail\r\n Status\r\n \r\n }\r\n >\r\n {lista.map(\r\n ({ id, assunto, descricaoTipoRegraAlerta, emailAtivo }) => (\r\n \r\n goToEditLayout(id)}>\r\n {assunto}\r\n \r\n {descricaoTipoRegraAlerta}\r\n {emailAtivo ? 'Ativo' : 'Inativo'}\r\n \r\n )\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ConsultarLayoutEmail;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 10px;\r\n margin: 15px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 10px;\r\n margin: 15px 0;\r\n background-color: #fff;\r\n padding: 16px;\r\n width: 100%;\r\n gap: 16px;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useEffect, useState } from 'react';\r\n\r\nimport {\r\n Button,\r\n Dropdown,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport { Container } from './styles';\r\nimport { isEmailValidateBackend, isNumber } from '../../../utils/validation';\r\n\r\nfunction FilterExtendsEmailList({ openModalCreateEmail, consultaInicial }) {\r\n const { salvarEmail } = useSelector((state) => state.alertaListaContratante);\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante'),\r\n text: 'Contratante',\r\n },\r\n ];\r\n\r\n const registerCodigoContratante = useField('codigoContratante').registerField;\r\n const registerEmail = useField('email').registerField;\r\n const registerPerfil = useField('perfil').registerField;\r\n\r\n const [selectedPerfil, setSelectedPerfil] = useState('');\r\n const [inputCodigoContratante, setInputCodigoContratante] = useState('');\r\n const [inputEmail, setInputEmail] = useState('');\r\n const [isValidEmail, setIsValidEmail] = useState(true);\r\n\r\n function handleInputCodigoContratante(event) {\r\n if (event.target.value === '' || isNumber(event.target.value))\r\n setInputCodigoContratante(event.target.value);\r\n }\r\n function handleInputEmail(event) {\r\n const email = event.target.value;\r\n setInputEmail(email);\r\n\r\n if (email === '') {\r\n setIsValidEmail(true);\r\n } else {\r\n const isValid = isEmailValidateBackend(email);\r\n setIsValidEmail(isValid);\r\n }\r\n }\r\n\r\n function handleSelectedPerfil(text) {\r\n setSelectedPerfil(text);\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setSelectedPerfil(null);\r\n setInputCodigoContratante('');\r\n setInputEmail('');\r\n setIsValidEmail(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (\r\n !salvarEmail.loading &&\r\n salvarEmail.success &&\r\n salvarEmail?.data?.success\r\n ) {\r\n handleLimparFiltros();\r\n }\r\n }, [salvarEmail?.data?.success, salvarEmail.loading, salvarEmail.success]);\r\n\r\n return (\r\n \r\n \r\n {\r\n handleInputEmail(e);\r\n }}\r\n value={inputEmail}\r\n placeholder=\"Pesquise por e-mail\"\r\n register={registerEmail}\r\n errorMessage=\"E-mail inválido\"\r\n error={!isValidEmail}\r\n />\r\n\r\n {\r\n handleInputCodigoContratante(e);\r\n }}\r\n value={inputCodigoContratante}\r\n placeholder=\"Digite o código da contratante\"\r\n register={registerCodigoContratante}\r\n />\r\n \r\n {selectedPerfil || 'Selecione o tipo'}\r\n \r\n \r\n \r\n \r\n Novo E-mail\r\n \r\n\r\n \r\n {\r\n handleLimparFiltros();\r\n consultaInicial();\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n Limpar\r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FilterExtendsEmailList;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { TableHeader, TableRow } from '@unimed-fesp/components';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.red};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport format from 'date-fns/format';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { MdOutlineDeleteForever } from 'react-icons/md';\r\nimport {\r\n Alerts,\r\n Button,\r\n Checkbox,\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport theme from '../../../styles/theme';\r\nimport { CustomTableHeader, HoverActions } from './styles';\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport { Creators as AlertaListaContratanteActions } from '../../../store/ducks/alertaListaContratante';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\n\r\nexport default function TableAlertaListaEmail({\r\n setPaginationParams,\r\n paginationParams,\r\n alterarPagina,\r\n editarEmail,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const { listaEmails, deleteEmails } = useSelector(\r\n (state) => state.alertaListaContratante\r\n );\r\n const { data } = listaEmails;\r\n const { totalRegistros } = data;\r\n\r\n const [checkboxes, setCheckboxes] = useState([]);\r\n const [todosCheckboxes, setTodosCheckboxes] = useState(false);\r\n const [abrirModalExclusao, setAbrirModalExclusao] = useState(false);\r\n const [tipoDelete, setTipoDelete] = useState('');\r\n\r\n const todosIds = data?.itens?.map(\r\n ({ idAlertaListaContratante }) => idAlertaListaContratante\r\n );\r\n\r\n const handleTodosCheckboxes = () => {\r\n if (todosCheckboxes) {\r\n setTodosCheckboxes(false);\r\n setCheckboxes([]);\r\n } else {\r\n setTodosCheckboxes(true);\r\n setCheckboxes([...todosIds]);\r\n }\r\n };\r\n\r\n const handleCheckbox = (index) => {\r\n const updatedCheckboxes = [...checkboxes];\r\n if (updatedCheckboxes.includes(index)) {\r\n const removedIdCheckboxes = updatedCheckboxes.filter(\r\n (item) => item !== index\r\n );\r\n setCheckboxes(removedIdCheckboxes);\r\n } else {\r\n updatedCheckboxes.push(index);\r\n setCheckboxes(updatedCheckboxes);\r\n }\r\n };\r\n\r\n const apagarEmail = () => {\r\n const { type, id } = tipoDelete;\r\n\r\n if (type === 'porlista') {\r\n return dispatch(\r\n AlertaListaContratanteActions.deletePorIdsRequest(checkboxes)\r\n );\r\n }\r\n return dispatch(AlertaListaContratanteActions.deletePorIdsRequest([id]));\r\n };\r\n\r\n const abrirModal = (id, type) => {\r\n setTipoDelete({ id, type });\r\n setAbrirModalExclusao(true);\r\n };\r\n\r\n useEffect(() => {\r\n const contemTodosIds = todosIds?.every((id) => checkboxes.includes(id));\r\n setTodosCheckboxes(contemTodosIds && checkboxes.length === todosIds.length);\r\n }, [checkboxes, todosIds]);\r\n\r\n return (\r\n \r\n {checkboxes.length >= 1 && (\r\n \r\n \r\n \r\n \r\n \r\n Você selecionou {checkboxes.length} de {todosIds?.length}{' '}\r\n itens para exclusão.\r\n \r\n \r\n\r\n {\r\n abrirModal(null, 'porlista');\r\n }}\r\n >\r\n Apagar\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {todosIds && (\r\n \r\n \r\n \r\n )}\r\n E-mail\r\n Contratante\r\n Perfil\r\n Data de Criação\r\n Status\r\n Excluir\r\n \r\n }\r\n >\r\n {data?.itens?.length > 0 &&\r\n data.itens.map((item) => (\r\n \r\n \r\n handleCheckbox(item.idAlertaListaContratante)}\r\n />\r\n \r\n editarEmail(item)}>\r\n {item.email}\r\n \r\n {item.codigoContratante}\r\n {item.descricaoPerfil}\r\n\r\n \r\n {item.dataCriacao\r\n ? format(new Date(item.dataCriacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null}\r\n \r\n \r\n {item.ativo ? 'Ativo' : 'Inativo'}\r\n \r\n \r\n \r\n {\r\n abrirModal(item.idAlertaListaContratante);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {totalRegistros > 10 && (\r\n \r\n )}\r\n \r\n setAbrirModalExclusao(false)}\r\n isLoading={deleteEmails.loading}\r\n text={\r\n 1 ? `s ${checkboxes?.length}` : ''\r\n } e-mail${\r\n checkboxes?.length > 1 ? 's selecionados?' : ' selecionado?'\r\n }`\r\n : 'o e-mail selecionado?'\r\n }`}\r\n />\r\n }\r\n />\r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n`;\r\n\r\nexport const Label = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n gap: 15px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: start;\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport {\r\n Button,\r\n Checkbox,\r\n Dropdown,\r\n Modal,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as alertaListaContratanteActions } from '../../../store/ducks/alertaListaContratante';\r\nimport { Content, Label } from './styles';\r\nimport { PerfilEnum } from '../../../enums';\r\nimport { isEmailValidateBackend, isNumber } from '../../../utils/validation';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nfunction ModalCadastarEmailAlerta({ isOpen, onClick, isEditar }) {\r\n const dispatch = useDispatch();\r\n\r\n const { loading, success, data } = useSelector(\r\n (state) => state.alertaListaContratante.salvarEmail\r\n );\r\n const [inputCodigoContratante, setInputCodigoContratante] = useState('');\r\n const [inputEmail, setInputEmail] = useState('');\r\n const [selectedPerfil, setSelectedPerfil] = useState('');\r\n const [selectedStatus, setSelectedStatus] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isEditar) {\r\n const { email, codigoContratante, ativo, descricaoPerfil } = isEditar;\r\n setInputEmail(email);\r\n setSelectedPerfil(descricaoPerfil);\r\n setInputCodigoContratante(codigoContratante);\r\n setSelectedStatus(ativo);\r\n }\r\n }, [isEditar]);\r\n\r\n useEffect(() => {\r\n if (!loading && success && data?.success) {\r\n limparInputs();\r\n }\r\n }, [data?.success, loading, success]);\r\n\r\n function handleInputEmail(event) {\r\n const email = event.target.value;\r\n setInputEmail(email);\r\n }\r\n\r\n const handleInputCodigoContratante = (event) => {\r\n if (event.target.value === '' || isNumber(event.target.value))\r\n setInputCodigoContratante(event.target.value);\r\n };\r\n\r\n const handleSelectedPerfil = (text) => {\r\n setSelectedPerfil(text);\r\n };\r\n\r\n const handleSelectedStatus = () => {\r\n setSelectedStatus(!selectedStatus);\r\n };\r\n\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante'),\r\n text: 'Contratante',\r\n },\r\n ];\r\n\r\n const validateRequest = (request) => {\r\n let hasErrors = false;\r\n\r\n if (!request.ds_email) {\r\n toast.error(E-mail é obrigatório!);\r\n hasErrors = true;\r\n }\r\n\r\n if (request.ds_email && !isEmailValidateBackend(request.ds_email)) {\r\n toast.error(E-mail inválido!);\r\n hasErrors = true;\r\n }\r\n\r\n if (!request.cd_contratante) {\r\n toast.error(\r\n O código da contratante é obrigatório!\r\n );\r\n hasErrors = true;\r\n }\r\n\r\n return !hasErrors;\r\n };\r\n\r\n const cadastrarEmail = () => {\r\n const params = {\r\n id_alerta_lista_contratante: isEditar\r\n ? isEditar.idAlertaListaContratante\r\n : null,\r\n cd_contratante: inputCodigoContratante,\r\n ds_email: inputEmail,\r\n id_perfil_usuario: !selectedPerfil\r\n ? 2\r\n : PerfilEnum.returnId[selectedPerfil],\r\n bt_ativo: selectedStatus,\r\n };\r\n\r\n if (validateRequest(params)) {\r\n return dispatch(alertaListaContratanteActions.postSalvarRequest(params));\r\n }\r\n };\r\n\r\n const limparInputs = () => {\r\n setInputEmail('');\r\n setSelectedPerfil('');\r\n setInputCodigoContratante('');\r\n setSelectedStatus(false);\r\n };\r\n\r\n return (\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n height={400}\r\n width={460}\r\n header={isEditar ? 'Editar E-mail' : 'Cadastrar E-mail'}\r\n footer={\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n loading={loading}\r\n cadastrarEmail={cadastrarEmail}\r\n />\r\n }\r\n >\r\n \r\n {\r\n handleInputEmail(e);\r\n }}\r\n />\r\n \r\n {\r\n handleInputCodigoContratante(e);\r\n }}\r\n disabled={isEditar}\r\n />\r\n \r\n {selectedPerfil || 'Selecione'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ isEditar, onClick, cadastrarEmail, loading }) => {\r\n return (\r\n \r\n \r\n Cancelar\r\n \r\n \r\n {isEditar ? 'Salvar' : 'Cadastrar'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCadastarEmailAlerta;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form } from '@rocketseat/unform';\r\n\r\nimport { Title, Breadcrumbs, WrapperFlex } from '@unimed-fesp/components';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\nimport { Creators as AlertaListaContratanteActions } from '../../store/ducks/alertaListaContratante';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport FilterExtendsEmailList from '../../components/organisms/FilterExtendsEmailList';\r\nimport { isEmailValidateBackend } from '../../utils/validation';\r\nimport { ErrorToast, SuccessToast } from '../../components/molecules/Toast';\r\nimport TableAlertaListaEmail from '../../components/organisms/TableAlertaListaEmail';\r\nimport ModalCadastarEmailAlerta from '../../components/organisms/ModalCadastarEmailAlerta';\r\n\r\nfunction ConsultarEmail() {\r\n const dispatch = useDispatch();\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { listaEmails, deleteEmails, salvarEmail } = useSelector(\r\n (state) => state.alertaListaContratante\r\n );\r\n const { loading } = listaEmails;\r\n\r\n const parametrosIniciaisPaginacao = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const filtrosConsultaIniciais = {\r\n paginaInicial: parametrosIniciaisPaginacao.pageNumber - 1,\r\n tamanhoPagina: parametrosIniciaisPaginacao.pageSize,\r\n email: null,\r\n idPerfilUsuario: null,\r\n codigoContratante: null,\r\n };\r\n\r\n const [paginationParams, setPaginationParams] = useState(\r\n parametrosIniciaisPaginacao\r\n );\r\n\r\n const [filtrosConsulta, setFiltrosConsulta] = useState(\r\n filtrosConsultaIniciais\r\n );\r\n const [isEditarModal, setIsEditarModal] = useState(null);\r\n const [openModalCadastrarEvento, setOpenModalCadastrarEvento] =\r\n useState(false);\r\n\r\n useEffect(() => {\r\n if (usuario.role !== 'Adm') {\r\n history.push('/novo/lista');\r\n }\r\n consultaInicial();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const parametrosRequisicao = {\r\n ...filtrosConsulta,\r\n paginaInicial: paginationParams.pageNumber - 1,\r\n tamanhoPagina: paginationParams.pageSize,\r\n };\r\n\r\n if (!deleteEmails.loading && deleteEmails.success) {\r\n dispatch(\r\n AlertaListaContratanteActions.postListagemPaginadaRequest(\r\n parametrosRequisicao\r\n )\r\n );\r\n toast.success(\r\n Operação realizada com sucesso!\r\n );\r\n\r\n dispatch(\r\n AlertaListaContratanteActions.deletePorIdsResponse(false, {}, false)\r\n );\r\n }\r\n if (\r\n !salvarEmail.loading &&\r\n salvarEmail.success &&\r\n salvarEmail?.data?.success\r\n ) {\r\n setOpenModalCadastrarEvento(false);\r\n setIsEditarModal(null);\r\n toast.success(\r\n Operação realizada com sucesso!\r\n );\r\n\r\n dispatch(\r\n AlertaListaContratanteActions.postSalvarResponse(false, {}, false)\r\n );\r\n consultaInicial();\r\n }\r\n }, [\r\n deleteEmails.loading,\r\n deleteEmails.success,\r\n dispatch,\r\n filtrosConsulta,\r\n paginationParams.pageNumber,\r\n paginationParams.pageSize,\r\n salvarEmail?.data?.success,\r\n salvarEmail.loading,\r\n salvarEmail.success,\r\n ]);\r\n\r\n const handleSubmit = (data) => {\r\n const { email, codigoContratante, perfil } = data;\r\n const isValid = isEmailValidateBackend(email);\r\n\r\n if (!isValid && email !== '') {\r\n return toast.error(E-mail inválido!);\r\n }\r\n\r\n const perfiLUser = {\r\n Administrador: 1,\r\n Contratante: 2,\r\n };\r\n\r\n const params = {\r\n paginaInicial: 0,\r\n tamanhoPagina: 10,\r\n email: email || null,\r\n idPerfilUsuario: perfiLUser ? perfiLUser[perfil] : null,\r\n codigoContratante: codigoContratante || null,\r\n };\r\n\r\n setFiltrosConsulta(params);\r\n setPaginationParams(parametrosIniciaisPaginacao);\r\n\r\n dispatch(AlertaListaContratanteActions.postListagemPaginadaRequest(params));\r\n };\r\n\r\n const alterarPagina = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const newPaginationParams = {\r\n pageNumber: 1,\r\n pageSize: paginationParams.pageSize,\r\n };\r\n setPaginationParams(newPaginationParams);\r\n }\r\n\r\n const params = {\r\n ...filtrosConsulta,\r\n paginaInicial: paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1,\r\n tamanhoPagina: paramsPag.pageSize,\r\n };\r\n\r\n dispatch(AlertaListaContratanteActions.postListagemPaginadaRequest(params));\r\n };\r\n\r\n const consultaInicial = () => {\r\n dispatch(\r\n AlertaListaContratanteActions.postListagemPaginadaRequest(\r\n filtrosConsultaIniciais\r\n )\r\n );\r\n setPaginationParams(parametrosIniciaisPaginacao);\r\n setFiltrosConsulta(filtrosConsultaIniciais);\r\n };\r\n\r\n const editarEmail = (email) => {\r\n setIsEditarModal(email);\r\n setOpenModalCadastrarEvento(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/lista-emails'),\r\n },\r\n ]}\r\n />\r\n
    \r\n \r\n setOpenModalCadastrarEvento(true)}\r\n consultaInicial={consultaInicial}\r\n />\r\n \r\n
    \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {\r\n setOpenModalCadastrarEvento(false);\r\n setIsEditarModal(null);\r\n }}\r\n setIsEditarModal={setIsEditarModal}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nexport default ConsultarEmail;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding: 2% 20%;\r\n align-self: center;\r\n z-index: 99999;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\nimport { ContainerEmptyContent } from '../TablePesquisaBeneficiarioSegundaVia/styles';\r\n\r\nconst EmptyRelatorios = () => {\r\n return (\r\n \r\n Nenhum registro localizado\r\n \r\n );\r\n};\r\n\r\nexport default EmptyRelatorios;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\n","import format from 'date-fns/format';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { MdEditDocument, MdFolderDelete } from 'react-icons/md';\r\nimport { RiDownloadLine } from 'react-icons/ri';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport {\r\n TableCell,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\nimport { ButtonActions, HoverActions } from './styles';\r\nimport { downloadFile } from '../../../utils/base64';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport { Creators as FilhoForaDeFaixaActions } from '../../../store/ducks/filhoForaDeFaixa';\r\nimport { SuccessToast } from '../../molecules/Toast';\r\n\r\nconst TableBodyRelatorios = ({ relatorios, editarRelatório }) => {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { deleteRelatorio } = useSelector((state) => state.filhoForaDeFaixa);\r\n\r\n const USUARIO_ADMIN = usuario.role.toUpperCase() === 'ADM';\r\n\r\n const [abrirModalExclusao, setAbrirModalExclusao] = useState({\r\n id: null,\r\n isOpen: false,\r\n });\r\n\r\n const downloadRelatorio = (idCompetencia) => {\r\n const codigoContratante = USUARIO_ADMIN ? 0 : usuario.codigoContratante;\r\n\r\n dispatch(\r\n FilhoForaDeFaixaActions.getDownloadRelatorioRequest(\r\n idCompetencia,\r\n codigoContratante\r\n )\r\n );\r\n };\r\n\r\n const apagarRelatorio = (id) => {\r\n dispatch(FilhoForaDeFaixaActions.deleteRelatorioRequest(id));\r\n };\r\n\r\n useEffect(() => {\r\n if (deleteRelatorio.success && deleteRelatorio.response?.sucesso) {\r\n toast.success(\r\n Relatório Excluído com sucesso\r\n );\r\n dispatch(FilhoForaDeFaixaActions.deleteRelatorioSuccess({}, false));\r\n dispatch(FilhoForaDeFaixaActions.getCompetenciasRequest(0));\r\n\r\n setAbrirModalExclusao({\r\n id: null,\r\n isOpen: false,\r\n });\r\n }\r\n }, [deleteRelatorio.success, deleteRelatorio.response, dispatch]);\r\n\r\n return (\r\n <>\r\n {relatorios.map(\r\n ({ id, nomeArquivo, competencia, dataEnvio, usuarioAlteracao }) => {\r\n return (\r\n \r\n \r\n \r\n {nomeArquivo || '-'}\r\n \r\n \r\n \r\n {competencia\r\n ? format(new Date(competencia), 'MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {dataEnvio\r\n ? format(new Date(dataEnvio), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {usuario.role === 'Adm' && (\r\n \r\n {usuarioAlteracao || '-'}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n downloadRelatorio(id)}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {USUARIO_ADMIN && (\r\n <>\r\n \r\n \r\n \r\n editarRelatório(\r\n format(new Date(competencia), 'MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n )\r\n }\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAbrirModalExclusao({ id, isOpen: true })\r\n }\r\n background={theme.redDefault}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n )}\r\n apagarRelatorio(abrirModalExclusao.id)}\r\n textHeader=\"Alerta Exclusão\"\r\n isOpen={abrirModalExclusao.isOpen}\r\n onClick={() => setAbrirModalExclusao({ id: null, isOpen: false })}\r\n isLoading={false}\r\n text={}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TableBodyRelatorios;\r\n","import { TableRow } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHeaderRelatorios = () => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n return (\r\n \r\n Nome do Arquivo\r\n Competência\r\n Data do Envio\r\n {usuario.role === 'Adm' && (\r\n Administrador\r\n )}\r\n Ações\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderRelatorios;\r\n","import React from 'react';\r\n\r\nimport { Card, Pagination, Table } from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport EmptyRelatorios from './EmptyRelatorios';\r\nimport TableBodyRelatorios from './TableBodyRelatorios';\r\nimport TableHeaderRelatorios from './TableHeaderRelatorios';\r\n\r\nconst TableRelatorioFilhosForaDeFaixa = ({\r\n paginationParams,\r\n setPaginationParams,\r\n handleChangePage,\r\n editarRelatório,\r\n}) => {\r\n const { competencias } = useSelector((state) => state.filhoForaDeFaixa);\r\n const DADOS = competencias.response;\r\n\r\n if (competencias.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {competencias.response.length <= 0 ? (\r\n \r\n ) : (\r\n <>\r\n }>\r\n \r\n
    \r\n {DADOS.length > 10 && (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default TableRelatorioFilhosForaDeFaixa;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport {\r\n Button,\r\n Modal,\r\n WrapperFlex,\r\n Dropdown,\r\n Text,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport { format } from 'date-fns';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n} from '../../components/molecules/Modal';\r\n\r\nimport { ContentText } from './styles';\r\nimport TipoRelatorioFilhoForaDeFaixa from '../../enums/TipoRelatorioFilhoForaDeFaixa';\r\nimport LabelContainer from '../../components/molecules/LabelContainer';\r\nimport InputUpload from '../../components/atoms/InputUpload';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\n\r\nfunction ImportarArquivo({\r\n isOpen,\r\n onClick,\r\n competenciaAtual = null,\r\n acao,\r\n onClickOk,\r\n}) {\r\n const MAXIMO_TAMANHO_RELATORIO = 10 * 1024 * 1024; // 10MB\r\n const FORMATOS_PERMITIDOS = [\r\n 'text/csv',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n ];\r\n\r\n const { importarRelatorio, competencias } = useSelector(\r\n (state) => state.filhoForaDeFaixa\r\n );\r\n\r\n const [selectedCompetencia, setSelectedCompetencia] = useState(null);\r\n\r\n const [files, setFiles] = useState();\r\n\r\n const verificarSeCompetenciaJaExiste = () => {\r\n const competenciasNaTabela = competencias.response.map(({ competencia }) =>\r\n format(new Date(competencia), 'MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n );\r\n\r\n const competenciaExiste =\r\n competenciasNaTabela.includes(selectedCompetencia);\r\n\r\n return competenciaExiste;\r\n };\r\n\r\n const handleFiles = (file) => {\r\n setFiles(file);\r\n };\r\n\r\n const setContentText = (acao) => {\r\n const acoes = {\r\n [TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .CadastrarRelatorioFilhoForaDeFaixa]: (\r\n

    \r\n Realize o envio do\r\n Relatório Filhos Fora de Faixa utilizando um arquivo\r\n com extensão csv ou xlsx . O arquivo deve ter no\r\n máximo 10MB.
    \r\n {verificarSeCompetenciaJaExiste() && (\r\n \r\n Atenção! A competência selecionada já está cadastrada. Ao submeter\r\n este relatório, a versão atual será sobrescrita.\r\n \r\n )}\r\n

    \r\n ),\r\n [TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .EditarRelatorioFilhoForaDeFaixa]: (\r\n

    \r\n Para realizar a edição envie o\r\n Relatório Filhos Fora de Faixa utilizando um arquivo\r\n com extensão csv ou xlsx . O arquivo deve ter no\r\n máximo 10MB.
    \r\n \r\n Atenção! Editar este relatório resultará na sobrescrição da versão\r\n atual.\r\n \r\n

    \r\n ),\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const shapeCompetencias = () => {\r\n const competencias = [];\r\n const dataAtual = new Date();\r\n\r\n for (let i = 0; i <= 5; i++) {\r\n const data = new Date(\r\n dataAtual.getFullYear(),\r\n dataAtual.getMonth() + i,\r\n 1\r\n );\r\n const ano = data.getFullYear();\r\n const mes = String(data.getMonth() + 1).padStart(2, '0'); // Adiciona um zero à esquerda se necessário\r\n const competencia = `${mes}/${ano}`;\r\n competencias.push(competencia);\r\n }\r\n\r\n return competencias.map((competencia) => ({\r\n onClickOption: () => setSelectedCompetencia(competencia),\r\n text: competencia,\r\n }));\r\n };\r\n\r\n const closeModal = () => {\r\n setSelectedCompetencia(null);\r\n setFiles(null);\r\n onClick();\r\n };\r\n\r\n const onSubmit = () => {\r\n if (\r\n acao !==\r\n TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .EditarRelatorioFilhoForaDeFaixa\r\n ) {\r\n setSelectedCompetencia(null);\r\n }\r\n\r\n setFiles(null);\r\n onClickOk({\r\n arquivo: files.base64Data,\r\n competencia: selectedCompetencia,\r\n nomeArquivo: files.fileName,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setSelectedCompetencia(competenciaAtual);\r\n\r\n return () => {\r\n setSelectedCompetencia(null);\r\n };\r\n }, [competenciaAtual]);\r\n\r\n return (\r\n \r\n {TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .EditarRelatorioFilhoForaDeFaixa === acao\r\n ? 'Editar Relatório'\r\n : 'Importar relatório'}\r\n \r\n }\r\n footer={\r\n \r\n }\r\n justifyContentFooter=\"flex-end\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {setContentText(acao)}\r\n \r\n {importarRelatorio.loading ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {selectedCompetencia || 'Selecione uma competência'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, disabled, onClickOk, loading }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n importar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImportarArquivo;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n CanAccess,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { MdFileUpload } from 'react-icons/md';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\nimport TipoRelatorioFilhoForaDeFaixa from '../../enums/TipoRelatorioFilhoForaDeFaixa';\r\nimport { TipoPerfilUsuarioEnum } from '../../enums';\r\nimport TableRelatorioFilhosForaDeFaixa from '../../components/organisms/TableRelatorioFilhosForaDeFaixa';\r\nimport { SuccessToast, WarningToast } from '../../components/molecules/Toast';\r\nimport ImportarArquivo from './importarArquivo';\r\n\r\nimport { Creators as FilhoForaDeFaixaActions } from '../../store/ducks/filhoForaDeFaixa';\r\nimport { downloadFile } from '../../utils/base64';\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\n\r\nconst RelatorioFilhosForaDeFaixa = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { getContratantesUsuario } = useSelector((state) => state.usuario);\r\n\r\n const { importarRelatorio, competencias, downloadRelatorio } = useSelector(\r\n (state) => state.filhoForaDeFaixa\r\n );\r\n\r\n const COMPETENCIAS = competencias.response;\r\n const paginationParamsPadrao = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const [acaoAtual, setAcaoAtual] = useState(0);\r\n const [competenciaAtual, setCompetenciaAtual] = useState(0);\r\n const [parametrosDePaginacao, setParametrosDePaginacao] = useState(\r\n paginationParamsPadrao\r\n );\r\n const [openImportarArquivo, setOpenImportarArquivo] = useState(false);\r\n\r\n const contranteParametrizada = useMemo(() => {\r\n return getContratantesUsuario?.response?.contranteParametrizada\r\n ? getContratantesUsuario.response.contranteParametrizada.find(\r\n (contratante) =>\r\n contratante.codigoContratante.toString() ===\r\n usuario.codigoContratante\r\n )\r\n : [];\r\n }, [getContratantesUsuario, usuario]);\r\n\r\n const handleImportarArquivoAcao = (acao) => {\r\n const acoes = {\r\n [TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .CadastrarRelatorioFilhoForaDeFaixa]: toogleModalImportar,\r\n [TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .EditarRelatorioFilhoForaDeFaixa]: toogleModalImportar,\r\n };\r\n\r\n setAcaoAtual(acao);\r\n return acoes[acao]();\r\n };\r\n\r\n const toogleModalImportar = () => {\r\n setOpenImportarArquivo(!openImportarArquivo);\r\n };\r\n\r\n const handleChangePage = () => {};\r\n\r\n const enviarRelatorio = (params) => {\r\n dispatch(FilhoForaDeFaixaActions.postImportarRelatorioRequest(params));\r\n };\r\n\r\n const mapearTabela = useCallback(async () => {\r\n const { codigoContratante } = usuario;\r\n\r\n if (usuario.role.toUpperCase() === 'ADM') {\r\n return dispatch(FilhoForaDeFaixaActions.getCompetenciasRequest(0));\r\n }\r\n return dispatch(\r\n FilhoForaDeFaixaActions.getCompetenciasRequest(codigoContratante)\r\n );\r\n }, [dispatch, usuario]);\r\n\r\n useEffect(() => {\r\n const isAdmin = usuario.role.toUpperCase() === 'ADM';\r\n const isLoading = getContratantesUsuario.loading;\r\n const isSuccess = getContratantesUsuario.success;\r\n const hasNomeComplemento = !!contranteParametrizada?.nomeComplemento;\r\n\r\n if (isAdmin && !isLoading && isSuccess) {\r\n mapearTabela();\r\n } else if (!isAdmin && hasNomeComplemento && !isLoading && isSuccess) {\r\n mapearTabela();\r\n } else if (!isAdmin && !hasNomeComplemento && !isLoading && isSuccess) {\r\n history.push('/novo/lista');\r\n toast.success(\r\n \r\n Usuário precisa ser parametrizado para um grupo contratante\r\n \r\n );\r\n }\r\n }, [\r\n contranteParametrizada,\r\n getContratantesUsuario.loading,\r\n getContratantesUsuario.success,\r\n mapearTabela,\r\n usuario.role,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (importarRelatorio.success && importarRelatorio.response?.sucesso) {\r\n toast.success(\r\n Relatório Importado com sucesso\r\n );\r\n setOpenImportarArquivo(false);\r\n dispatch(FilhoForaDeFaixaActions.postImportarRelatorioSuccess({}, false));\r\n mapearTabela();\r\n }\r\n }, [\r\n importarRelatorio.success,\r\n importarRelatorio.response,\r\n dispatch,\r\n mapearTabela,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (downloadRelatorio.success && downloadRelatorio.response) {\r\n const { fileContents, fileDownloadName } = downloadRelatorio.response;\r\n const extensao = fileDownloadName.split('.')[1];\r\n\r\n downloadFile(fileContents, fileDownloadName, extensao);\r\n dispatch(FilhoForaDeFaixaActions.getDownloadRelatorioSuccess({}, false));\r\n }\r\n }, [downloadRelatorio.success, downloadRelatorio.response, dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/relatorio-filhos-fora-de-faixa'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n handleImportarArquivoAcao(\r\n TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .CadastrarRelatorioFilhoForaDeFaixa\r\n )\r\n }\r\n >\r\n \r\n Importar Relatório\r\n \r\n \r\n \r\n\r\n {getContratantesUsuario.loading && (\r\n \r\n \r\n \r\n \r\n )}\r\n {getContratantesUsuario.success &&\r\n (contranteParametrizada?.nomeComplemento ||\r\n usuario.role.toUpperCase() === 'ADM') && (\r\n {\r\n setCompetenciaAtual(competencia);\r\n handleImportarArquivoAcao(\r\n TipoRelatorioFilhoForaDeFaixa.returnIdForName\r\n .EditarRelatorioFilhoForaDeFaixa\r\n );\r\n }}\r\n dados={COMPETENCIAS}\r\n />\r\n )}\r\n \r\n {\r\n setOpenImportarArquivo(false);\r\n setCompetenciaAtual(null);\r\n }}\r\n onClickOk={enviarRelatorio}\r\n competenciaAtual={competenciaAtual}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default RelatorioFilhosForaDeFaixa;\r\n","import { TipoPerfilUsuarioEnum } from '../enums';\r\n\r\n// #region Import Pages\r\nimport ListasConsulta from '../pages/ListasConsulta';\r\nimport ListasDetalhe from '../pages/ListasDetalhe';\r\n\r\nimport Configuracoes from '../pages/Configuracoes';\r\nimport DetalheDocumentos from '../pages/DetalheDocumentos';\r\nimport DetalheDocumentosInativos from '../pages/DetalheDocumentosInativos';\r\nimport ListasMassaInicial from '../pages/ListasMassaInicial';\r\nimport ListasRPA from '../pages/ListasRPA';\r\nimport RelatorioNestle from '../pages/RelatorioNestle';\r\nimport Unauthorized from '../pages/Unauthorized';\r\nimport UsuarioDetalhe from '../pages/UsuarioDetalhe';\r\nimport UsuarioGestao from '../pages/UsuarioGestao';\r\nimport UsuarioNovo from '../pages/UsuarioNovo';\r\n\r\nimport ConsultaBeneficiariosNestle from '../pages/ConsultaBeneficiariosNestle';\r\nimport DetalheBeneficiariosNestle from '../pages/DetalheBeneficiariosNestle';\r\nimport EditParametro from '../pages/EditParametro';\r\nimport ListaInativo from '../pages/ListaInativo';\r\nimport ListaInativoDetalhe from '../pages/ListaInativoDetalhe';\r\nimport Parametros from '../pages/Parametros';\r\nimport ProcessamentoRelatorio from '../pages/ProcessamentoRelatorio';\r\nimport RelatorioBeneficiarios from '../pages/RelatorioBeneficiarios';\r\nimport SegundaVia from '../pages/SegundaVia';\r\nimport SolicitacaoSegundaVia from '../pages/SolicitacaoSegundaVia';\r\nimport EditarLayoutEmail from '../pages/EditarLayoutEmail';\r\nimport ConsultarLayoutEmail from '../pages/ConsultarLayoutEmail';\r\nimport ConsultarEmail from '../pages/ConsultarEmail';\r\nimport RelatorioFilhosForaDeFaixa from '../pages/RelatorioFilhoForaDeFaixa';\r\n// #endregion\r\n\r\nexport const routes = [\r\n // { id: 1, url: '/error', component: ErrorPage },\r\n { id: 1, url: '/unauthorized', component: Unauthorized },\r\n\r\n // {\r\n // id: 3,\r\n // url: '/consulta-beneficiario',\r\n // component: ConsultaBeneficiarioPage,\r\n // },\r\n // { id: 4, url: '/pagina-inicial', component: PaginaInicial },\r\n // { id: 2, url: '/login', component: LoginPage, isPrivate: false },\r\n { id: 5, url: '/lista', component: ListasConsulta, isPrivate: true },\r\n {\r\n id: 6,\r\n url: '/lista/importar-lote',\r\n component: ListasDetalhe,\r\n isPrivate: true,\r\n // roles: [\r\n // TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n // TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n // ],\r\n },\r\n // { id: 7, url: '/segunda-via', component: SegundaVia },\r\n // { id: 8, url: '/configuracao', component: Configuracoes },\r\n // { id: 9, url: '/ajuda', component: AjudaPage },\r\n // { id: 10, url: '/nova-lista', component: NovaListaPage },\r\n // { id: 11, url: '/nova-solicitacao', component: NovaSolicitacaoPage },\r\n {\r\n id: 12,\r\n url: '/gestao',\r\n component: UsuarioGestao,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 13,\r\n url: '/gestao/novo-usuario/:perfilNovoUsuario',\r\n component: UsuarioNovo,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 14,\r\n url: '/gestao/detalhe-usuario/:idUsuario',\r\n component: UsuarioDetalhe,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 15,\r\n url: '/configuracoes',\r\n component: Configuracoes,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 16,\r\n url: '/listas-rpa',\r\n component: ListasRPA,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 17,\r\n url: '/listas-massa-inicial',\r\n component: ListasMassaInicial,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 18,\r\n url: '/lista/:idLista/detalhe-documentos',\r\n component: DetalheDocumentos,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 19,\r\n url: '/parametros',\r\n component: Parametros,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 20,\r\n url: '/parametros/editar/:nomeParametrizacao',\r\n component: EditParametro,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 21,\r\n url: '/listainativo/:idLista',\r\n component: ListaInativo,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 22,\r\n url: '/listainativo/:idLista/detalhe',\r\n component: ListaInativoDetalhe,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 23,\r\n url: '/listainativo/:idLista/documentos',\r\n component: DetalheDocumentosInativos,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 24,\r\n url: '/relatorio-nestle',\r\n component: RelatorioNestle,\r\n },\r\n {\r\n id: 25,\r\n url: '/beneficiarios-nestle',\r\n component: ConsultaBeneficiariosNestle,\r\n },\r\n {\r\n id: 26,\r\n url: '/beneficiarios-nestle/:codigoCartao',\r\n component: DetalheBeneficiariosNestle,\r\n },\r\n\r\n /* {\r\n id: 27,\r\n url: '/segunda-via',\r\n component: SegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 28,\r\n url: '/segunda-via/solicitar',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 29,\r\n url: '/segunda-via/:idSolicitacao/editar',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 30,\r\n url: '/segunda-via/:idSolicitacao/detalhe',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n }, */\r\n {\r\n id: 31,\r\n url: '/relatorio-beneficiario',\r\n component: RelatorioBeneficiarios,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 32,\r\n url: '/processamento-relatorio',\r\n component: ProcessamentoRelatorio,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 33,\r\n url: '/layout-emails',\r\n component: ConsultarLayoutEmail,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 34,\r\n url: '/layout-emails/editar/:idLayout',\r\n component: EditarLayoutEmail,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 35,\r\n url: '/lista-emails',\r\n component: ConsultarEmail,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 36,\r\n url: '/relatorio-filhos-fora-de-faixa',\r\n component: RelatorioFilhosForaDeFaixa,\r\n isPrivate: true,\r\n },\r\n];\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst rotate360 = keyframes`\r\n from {\r\n transform: rotate(0deg)\r\n }\r\n to {\r\n transform: rotate(360deg)\r\n }\r\n`;\r\n\r\nexport const Spinner = styled.svg`\r\n animation: ${rotate360} 1s steps(8) infinite;\r\n\r\n ${({ button, small }) =>\r\n button && small\r\n ? css`\r\n height: 20px;\r\n `\r\n : button\r\n ? css`\r\n height: 30px;\r\n `\r\n : ''}\r\n\r\n @media (max-width: 768px) {\r\n ${({ button }) =>\r\n !button\r\n ? css`\r\n height: 30px;\r\n `\r\n : ''}\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate360} 2s linear infinite;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\nimport WrapperFlex from '../../molecules/WrapperFlex';\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nexport default function LoadingIcon({ marginLeft, marginTop, width, size }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Redirect, Route } from 'react-router-dom';\r\n// import { Container } from './styles';\r\nimport history from '../services/history';\r\nimport { isContratante, isAdmin } from '../utils/userRole';\r\n\r\nimport { Creators as AuthActions } from '../store/ducks/auth';\r\nimport LoadingIcon from '../components/Icons/LoadingIcon';\r\nimport {\r\n getTokenAuthenticated,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getUserData,\r\n} from '../services/auth';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nconst ProtectedRoute = ({\r\n component: Component,\r\n isPrivate,\r\n roles,\r\n ...rest\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { loggedIn, usuario } = useSelector((state) => state.auth);\r\n\r\n if (loggedIn && isPrivate && !isAccessTokenValid() && getRefreshToken()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getUserData()));\r\n }\r\n\r\n if (!loggedIn && isPrivate) {\r\n if (getUserData() && getTokenAuthenticated() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n\r\n return ;\r\n }\r\n\r\n // if (process.env.NODE_ENV === 'development') {\r\n // return ;\r\n // }\r\n\r\n // window.location.replace(`${REACT_APP_MOVCAD_LEGACY}/Login.aspx`);\r\n }\r\n\r\n if (roles && !roles.includes(usuario.role))\r\n return (\r\n (\r\n \r\n )}\r\n />\r\n );\r\n\r\n return (\r\n \r\n loggedIn ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default ProtectedRoute;\r\n","import styled, { css } from 'styled-components';\r\nimport { Link } from '@unimed-fesp/components';\r\nimport ImagemLogin from '../../assets/images/login/imagem-login.svg';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n`;\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-top: 3%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n`;\r\n\r\nexport const AutenticacaoStructure = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n\r\n img {\r\n padding: 5% 16.5% 0 60px;\r\n }\r\n`;\r\n\r\nexport const ImageStructure = styled.div`\r\n background: url(${ImagemLogin});\r\n background-repeat: no-repeat;\r\n background-position: bottom;\r\n background-position-x: left;\r\n background-size: cover;\r\n background-color: #ffff;\r\n`;\r\nexport const EsqueciMinhaSenhaContainer = styled.div`\r\n display: flex;\r\n margin-top: 50px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const LoginLink = styled(Link).attrs((props) => ({\r\n login: true,\r\n title: props.title,\r\n}))`\r\n font: normal normal normal 13px 'unimed_slabbold';\r\n letter-spacing: 0.26px;\r\n color: ${theme.grey} !important;\r\n font-family: unimed_slabbold;\r\n &:hover {\r\n text-decoration: none;\r\n color: ${theme.greenLink} !important;\r\n }\r\n`;\r\n\r\nexport const DificuldadesAcessoContainer = styled.div`\r\n display: flex;\r\n margin-left: 104px;\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n text-align: left;\r\n height: 80px;\r\n\r\n padding: ${({ padding }) => padding || `10.12px 16.5% 0 60px `};\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom &&\r\n css`\r\n margin-bottom: ${marginBottom};\r\n `}\r\n`;\r\n\r\nexport const TitlePage = styled.h1`\r\n color: #5a5a5a;\r\n font-family: 'unimed_slabbold';\r\n justify-content: start;\r\n margin-bottom: -5px;\r\n padding: 0;\r\n font-size: 54px;\r\n`;\r\n\r\nexport const SubtitlePage = styled.span`\r\n font-size: 16px !important;\r\n color: #a1a1a1;\r\n line-height: 1px;\r\n font-family: 'unimed_slabregular' !important;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Title } from '@unimed-fesp/components';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport default function SectionHeader({\r\n sectionName,\r\n subtextSectionName,\r\n marginBottom,\r\n padding,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n ${({ errorUsuario }) =>\r\n errorUsuario\r\n ? css`\r\n label:first-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n label:last-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''} \r\n`\r\n\r\nexport const AutenticacaoActionsDescription = styled.span`\r\n font-size: 13px;\r\n color: #808080;\r\n cursor: pointer;\r\n text-align: left;\r\n font-family: 'unimed_slabregular';\r\n padding-right: 32.5%;\r\n\r\n &:hover {\r\n color: #00995D\r\n }\r\n`;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { TextField, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { isEmail } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormLogin({ loginParams, setLoginParams, formRef, marginTop }) {\r\n const { postLogin } = useSelector((state) => state.auth);\r\n const registerUsuario = useField('usuario').registerField;\r\n const registerSenha = useField('senha').registerField;\r\n const errorUsuario = useField('usuario').error;\r\n const errorSenha = useField('senha').error;\r\n const [showOnBlur, setShowOnBlur] = useState(false);\r\n\r\n function handleInput(e, status) {\r\n const newLoginParams = produce(loginParams, (draft) => {\r\n if (draft[status] !== e.target.value) {\r\n draft[status] = e.target.value;\r\n }\r\n });\r\n\r\n setLoginParams(newLoginParams);\r\n }\r\n\r\n function validateUsuario(e) {\r\n if (formRef) {\r\n setShowOnBlur(true);\r\n if (!e.target.value) {\r\n formRef.setFieldError('usuario', 'O e-mail é obrigatório');\r\n } else if (!isEmail(e.target.value))\r\n formRef.setFieldError('usuario', 'E-mail inválido');\r\n else {\r\n formRef.setFieldError('usuario', null);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (postLogin.error) {\r\n if (postLogin.error.status === 401) {\r\n formRef.setFieldError(\r\n 'senha',\r\n 'Usuário ou senha incorretos. Tente novamente.'\r\n );\r\n } else {\r\n formRef.setFieldError('senha', 'Problemas na autenticação.');\r\n }\r\n formRef.setFieldError('usuario', '');\r\n }\r\n }, [postLogin.error]);\r\n\r\n useEffect(() => {\r\n if (loginParams.usuario) setShowOnBlur(true);\r\n }, [loginParams.usuario]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n validateUsuario(event);\r\n }}\r\n onChange={(event) => {\r\n handleInput(event, 'usuario');\r\n }}\r\n register={registerUsuario}\r\n error={errorUsuario}\r\n errorMessage={errorUsuario}\r\n showIconSuccess={showOnBlur}\r\n />\r\n {\r\n handleInput(event, 'senha');\r\n }}\r\n register={registerSenha}\r\n error={errorSenha}\r\n errorMessage={errorSenha}\r\n />\r\n \r\n \r\n {/* \r\n \r\n esqueci minha senha\r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default FormLogin;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Text } from '@unimed-fesp/components';\r\nimport { Form } from '@unform/web';\r\nimport * as Yup from 'yup';\r\n\r\nimport {\r\n USER_KEY,\r\n getUserData,\r\n excludeData,\r\n getLocalObj,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\n// #region Componentes\r\nimport LoadingIcon from '../../components/Icons/LoadingIcon';\r\nimport FormLogin from '../../components/organisms/FormLogin';\r\n// #endregion\r\n\r\nimport {\r\n LoginLink,\r\n EsqueciMinhaSenhaContainer,\r\n DificuldadesAcessoContainer,\r\n} from './styles';\r\n\r\nconst { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n\r\nfunction LoginPart() {\r\n const { usuario, loggedIn, postLogin } = useSelector((state) => state.auth);\r\n\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n\r\n const loginData = {\r\n usuario: queryEmail || '',\r\n senha: '',\r\n };\r\n\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n const [loginParams, setLoginParams] = useState(loginData);\r\n\r\n async function handleSubmitLogin(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n usuario: Yup.string()\r\n .email('E-mail inválido')\r\n .required('O e-mail é obrigatório'),\r\n senha: Yup.string().trim().required('A senha é obrigatória'),\r\n });\r\n\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n const formLoginParams = {\r\n userId: data.usuario,\r\n password: data.senha.trim(),\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(formLoginParams));\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n function handleFormForgottenPassword() {\r\n history.push('/novo/login/redefinir-senha');\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.changePassword)\r\n history.push('/novo/recuperar-senha', { isChangePassword: true });\r\n }, [usuario.changePassword]);\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n conectar\r\n \r\n {postLogin.loading && (\r\n \r\n )}\r\n \r\n \r\n \r\n clique aqui para redefini-la\r\n \r\n \r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default LoginPart;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin-left: 56px;\r\n\r\n ${({ error }) =>\r\n !error\r\n ? css`\r\n background-color: ${theme.yellowInfo};\r\n `\r\n : css`\r\n background-color: ${theme.lightPink};\r\n `}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 414px;\r\n `}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n height: 60px;\r\n `}\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n margin: 9px 0px 10px 10px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { AiOutlineCloseCircle } from 'react-icons/ai';\r\nimport { Text } from '@unimed-fesp/components';\r\nimport { Container, IconContainer } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction InfoBox({ children, type, width, height, display, marginTop, error }) {\r\n return (\r\n \r\n \r\n {!error ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default InfoBox;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n\r\n${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\nimport { Container } from './styles';\r\nimport LabelContainer from '../LabelContainer';\r\n\r\nconst InputForm = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n marginLeft,\r\n labelName,\r\n labelMarginBottom,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n \r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InputForm;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin-bottom: 30px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InfoBox from '../../molecules/InfoBox';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormEmailSent({ email }) {\r\n const emailSentMessage = `Verifique a caixa de entrada do e-mail ${email} e acesse o link para criar uma nova senha.`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Caso não encontre o seu e-mail de recuperação, verifique sua\r\n lixeira e caixa de spam.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormEmailSent;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin-bottom: 30px;\r\n`;\r\n","import React, { useState, useEffect } from 'react';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InfoBox from '../../molecules/InfoBox';\r\n\r\nimport InputForm from '../../molecules/InputForgottenPassword';\r\nimport FormEmailSent from '../FormEmailSent';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { isEmail } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormForgottenPassword({\r\n isEmailSent,\r\n setIsEmailValid,\r\n isTokenError,\r\n queryEmail,\r\n}) {\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n function isValidEmail(email) {\r\n return isEmail(email);\r\n }\r\n\r\n function handleInputValue(e) {\r\n setInputValue(e.target.value);\r\n setIsEmailValid(isValidEmail(e.target.value));\r\n }\r\n useEffect(() => {\r\n if (inputValue) {\r\n setIsEmailValid(isValidEmail(inputValue));\r\n }\r\n }, [inputValue]);\r\n\r\n useEffect(() => {\r\n setInputValue(queryEmail);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {isEmailSent ? (\r\n \r\n ) : (\r\n \r\n \r\n\r\n \r\n \r\n O link para redefinição de senha é inválido. Solicite um novo\r\n para prosseguir com a solicitação.\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FormForgottenPassword;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { Form } from '@unform/web';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Text } from '@unimed-fesp/components';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n USER_KEY,\r\n getLocalObj,\r\n excludeData,\r\n getUserData,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\n\r\nimport { LoginLink, DificuldadesAcessoContainer } from './styles';\r\n\r\nimport FormForgottenPassword from '../../components/organisms/FormForgottenPassword';\r\n\r\nconst { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n\r\nfunction RedefinirSenha() {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n const isTokenError = false || params.get('isTokenError');\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n\r\n const [isEmailSent, setIsEmailSent] = useState(false);\r\n const [isEmailValid, setIsEmailValid] = useState(false);\r\n\r\n function handleSubmitForgottenPassword(data) {\r\n dispatch(AuthActions.getRecuperarSenhaRequest(data));\r\n setIsEmailSent(true);\r\n }\r\n\r\n function handleSubmitVoltarParaLogin() {\r\n window.location.replace('/novo/login');\r\n }\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n return (\r\n \r\n \r\n \r\n {isEmailSent ? 'voltar para o login' : 'enviar'}\r\n \r\n {isEmailSent && (\r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default RedefinirSenha;\r\n","import React from 'react';\r\nimport { Switch, Route, useRouteMatch } from 'react-router-dom';\r\n\r\nimport { Image } from '@unimed-fesp/components';\r\n\r\nimport { Container, AutenticacaoStructure, ImageStructure } from './styles';\r\n\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\n\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\n\r\nimport LoginPart from './LoginPart';\r\nimport RedefinirSenha from './RedefinirSenha';\r\n\r\nfunction Login() {\r\n const { path } = useRouteMatch();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Login;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n ${({ errorSenhaAntiga }) =>\r\n errorSenhaAntiga\r\n ? css`\r\n label:first-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n label:nth-child(2) {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n\r\n ${({ errorConfirmarSenha }) =>\r\n errorConfirmarSenha\r\n ? css`\r\n label:last-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ showOnBlurAntigaSenha }) =>\r\n showOnBlurAntigaSenha\r\n ? css`\r\n label:first-child {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:first-child {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n\r\n ${({ showOnBlurNovaSenha }) =>\r\n showOnBlurNovaSenha\r\n ? css`\r\n label:nth-child(2) {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:nth-child(2) {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n\r\n ${({ showOnBlurConfirmarSenha }) =>\r\n showOnBlurConfirmarSenha\r\n ? css`\r\n label:last-child {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:last-child {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n`","import React, { useState } from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InputPassword from '../../molecules/InputPassword';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { isChangePassword } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormChangePassword({\r\n changePasswordParams,\r\n setChangePasswordParams,\r\n formRef,\r\n isForgottenPassword,\r\n}) {\r\n const errorSenhaAntiga = useField('antigaSenha').error;\r\n const errorSenha = useField('novaSenha').error;\r\n const errorConfirmarSenha = useField('confirmarSenha').error;\r\n const [showOnBlurAntigaSenha, setShowOnBlurAntigaSenha] = useState(false);\r\n const [showOnBlurNovaSenha, setShowOnBlurNovaSenha] = useState(false);\r\n const [showOnBlurConfirmarSenha, setShowOnBlurConfirmarSenha] = useState(\r\n false\r\n );\r\n function handleInput(e, status) {\r\n const newChangePasswordParams = produce(changePasswordParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setChangePasswordParams(newChangePasswordParams);\r\n }\r\n\r\n function validateAntigaSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('antigaSenha', 'A senha é obrigatória');\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n e.target.value === formRef.getFieldValue('novaSenha')\r\n ) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A nova senha deve ser diferente da atual'\r\n );\r\n } else {\r\n setShowOnBlurAntigaSenha(true);\r\n formRef.setFieldError('antigaSenha', null);\r\n }\r\n }\r\n }\r\n\r\n function validateNovaSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('novaSenha', 'A senha é obrigatória');\r\n } else if (!isChangePassword(e.target.value)) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n );\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('antigaSenha')\r\n ) {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('novaSenha', null);\r\n formRef.setFieldError('confirmarSenha', 'As senhas devem ser iguais');\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value === formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('antigaSenha')\r\n ) {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('confirmarSenha', null);\r\n formRef.setFieldError('novaSenha', null);\r\n } else if (\r\n formRef.getFieldValue('antigaSenha') &&\r\n e.target.value === formRef.getFieldValue('antigaSenha')\r\n ) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A nova senha deve ser diferente da atual'\r\n );\r\n formRef.setFieldError('confirmarSenha', null);\r\n } else {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('novaSenha', null);\r\n }\r\n }\r\n }\r\n\r\n function validateConfirmarSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('confirmarSenha', 'A senha é obrigatória');\r\n } else if (!isChangePassword(e.target.value))\r\n formRef.setFieldError(\r\n 'confirmarSenha',\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n );\r\n else if (e.target.value !== formRef.getFieldValue('novaSenha'))\r\n formRef.setFieldError('confirmarSenha', 'As senhas devem ser iguais');\r\n else {\r\n setShowOnBlurConfirmarSenha(true);\r\n formRef.setFieldError('confirmarSenha', null);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleInput(e, 'antigaSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha atual\"\r\n name=\"antigaSenha\"\r\n labelName=\"Senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.antigaSenha}\r\n isLogin\r\n errorSenha={errorSenhaAntiga}\r\n handleInputOnBlur={validateAntigaSenha}\r\n display={isForgottenPassword ? 'none' : false}\r\n />\r\n handleInput(e, 'novaSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"novaSenha\"\r\n labelName=\"Nova senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.novaSenha}\r\n isLogin\r\n errorSenha={errorSenha}\r\n handleInputOnBlur={validateNovaSenha}\r\n />\r\n handleInput(e, 'confirmarSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"confirmarSenha\"\r\n labelName=\"Confirmar senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.confirmarSenha}\r\n isLogin\r\n errorSenha={errorConfirmarSenha}\r\n handleInputOnBlur={validateConfirmarSenha}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormChangePassword;\r\n","import styled, { css } from 'styled-components';\r\nimport { Link } from '@unimed-fesp/components';\r\nimport ImagemLogin from '../../assets/images/login/imagem-login.svg';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n`;\r\n\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-top: 3%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n`;\r\n\r\nexport const AutenticacaoStructure = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n\r\n img {\r\n padding: 5% 16.5% 0 60px;\r\n }\r\n`;\r\n\r\nexport const ImageStructure = styled.div`\r\n background: url(${ImagemLogin});\r\n background-repeat: no-repeat;\r\n background-position: bottom;\r\n background-position-x: left;\r\n background-size: cover;\r\n background-color: #ffff;\r\n`;\r\n\r\nexport const LoginLink = styled(Link).attrs((props) => ({\r\n login: true,\r\n title: props.title,\r\n}))``;\r\n\r\nexport const DificuldadesAcessoContainer = styled.div`\r\n display: flex;\r\n margin-left: 104px;\r\n`;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Image, Text } from '@unimed-fesp/components';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Form } from '@unform/web';\r\nimport { toast } from 'react-toastify';\r\nimport * as Yup from 'yup';\r\n\r\n// #region Services e Stores\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\n\r\nimport {\r\n USER_KEY,\r\n getLocalObj,\r\n excludeData,\r\n getUserData,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n// #endregion\r\n\r\n// #region Componentes\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\nimport LoadingIcon from '../../components/Icons/LoadingIcon';\r\nimport FormChangePassword from '../../components/organisms/FormChangePassword';\r\n// #endregion\r\n\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\nimport {\r\n LoginLink,\r\n Container,\r\n ImageStructure,\r\n HeaderContainer,\r\n AutenticacaoStructure,\r\n DificuldadesAcessoContainer,\r\n} from './styles';\r\n\r\nfunction RecuperarSenha() {\r\n const location = useLocation();\r\n const isChangePassword =\r\n false || (location.state && location.state.isChangePassword);\r\n\r\n const { patchSenha } = useSelector((state) => state.usuario);\r\n const { loggedIn, postRecuperarSenha, usuario } = useSelector(\r\n (state) => state.auth\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n const [queryToken, setQueryToken] = useState(\r\n params.get('token')?.replaceAll(' ', '+')\r\n );\r\n\r\n const changePasswordData = {\r\n antigaSenha: '',\r\n novaSenha: '',\r\n confirmarSenha: '',\r\n };\r\n\r\n const [changePasswordParams, setChangePasswordParams] =\r\n useState(changePasswordData);\r\n\r\n const [novaSenha, setNovaSenha] = useState();\r\n\r\n async function handleSubmitNewPasswordToken(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .required('A senha é obrigatória'),\r\n confirmarSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e deve ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .oneOf([Yup.ref('novaSenha')], 'As senhas devem ser iguais')\r\n .required('A senha é obrigatória'),\r\n });\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n dispatch(\r\n AuthActions.postRecuperarSenhaRequest({\r\n email: queryEmail,\r\n senha: data.novaSenha,\r\n confirmarSenha: data.confirmarSenha,\r\n token: queryToken,\r\n })\r\n );\r\n\r\n setNovaSenha(data.novaSenha);\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n async function handleSubmitChangePassword(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n antigaSenha: Yup.string().required('A senha é obrigatória'),\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .required('A senha é obrigatória'),\r\n confirmarSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e deve ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .oneOf([Yup.ref('novaSenha')], 'As senhas devem ser iguais')\r\n .required('A senha é obrigatória'),\r\n });\r\n\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n dispatch(\r\n UsuarioActions.patchSenhaRequest(\r\n usuario.idUsuarioLogado,\r\n data.antigaSenha,\r\n data.novaSenha,\r\n data.confirmarSenha\r\n )\r\n );\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.success) history.push('/novo/lista');\r\n }, [patchSenha.success]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.isError) {\r\n toast.error({patchSenha.error[0]});\r\n }\r\n }, [patchSenha.error, patchSenha.isError]);\r\n\r\n useEffect(() => {\r\n if (postRecuperarSenha.isError) {\r\n setQueryToken(null);\r\n history.replace(\r\n `/novo/login/redefinir-senha?email=${queryEmail}&isTokenError=true`\r\n );\r\n } else if (postRecuperarSenha.success) {\r\n const usuarioParams = {\r\n userId: queryEmail,\r\n password: novaSenha,\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(usuarioParams));\r\n }\r\n }, [dispatch, novaSenha, postRecuperarSenha, queryEmail]);\r\n\r\n return (\r\n \r\n \r\n {isChangePassword ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n alterar senha\r\n \r\n {(postRecuperarSenha.loading || patchSenha.loading) && (\r\n \r\n )}\r\n {isChangePassword && (\r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default RecuperarSenha;\r\n","import { Error } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport history from '../../services/history';\r\n\r\nfunction ErrorPage() {\r\n const location = useLocation();\r\n const props = location.state;\r\n\r\n function handleClick() {\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryUrlRedirect = params.get('redirect');\r\n if (props) {\r\n history.push(props.path);\r\n }\r\n if (queryUrlRedirect) history.push(queryUrlRedirect);\r\n else window.location.reload();\r\n }\r\n\r\n const errorNumber = '500';\r\n const errorTitle = 'oops! erro do servidor interno';\r\n const errorMessage =\r\n 'O servidor encontrou uma situação com a qual não sabe lidar.';\r\n\r\n if (props) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default ErrorPage;\r\n","import React from 'react';\r\nimport { Error } from '@unimed-fesp/components';\r\n\r\nfunction NotFoundPage() {\r\n const errorNumber = '404';\r\n const errorTitle = 'oops! página não encontrado';\r\n const errorMessage =\r\n 'O servidor não pode encontrar o recurso solicitado. Este código de resposta talvez seja o mais famoso devido à frequência com que acontece na web.';\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default NotFoundPage;\r\n","export const setParamsTermoResponsabilidade = (params) => {\r\n sessionStorage.setItem('@termo-reponsabilidade', JSON.stringify(params));\r\n};\r\n\r\nexport const getParamsTermoResponsabilidade = () => {\r\n return JSON.parse(sessionStorage.getItem('@termo-reponsabilidade'));\r\n};\r\n","import * as signalR from '@microsoft/signalr';\r\n\r\nconst { REACT_APP_SIGNALR } = process.env;\r\n\r\nexport const OpenConnection = async (socketConnection) => {\r\n await socketConnection\r\n .start()\r\n .then((resp) => console.log(resp, 'Sucesso!'))\r\n .catch((error) => console.log(error, 'Erro!'));\r\n};\r\n\r\nexport const BuildConnection = (hubName) => {\r\n const socketConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(`${REACT_APP_SIGNALR}/${hubName}`)\r\n .build();\r\n\r\n socketConnection.keepAliveIntervalInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n socketConnection.serverTimeoutInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n\r\n return socketConnection;\r\n};\r\n\r\nexport const CloseConnection = async (socketConnection) => {\r\n await socketConnection\r\n .stop()\r\n .then(() => {})\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n};\r\n","import styled from 'styled-components';\r\nimport { FiArrowRight } from 'react-icons/fi';\r\n\r\nexport const Container = styled.div`\r\n label > input {\r\n border-width: 1px !important;\r\n }\r\n`;\r\n\r\nexport const IconNext = styled(FiArrowRight)`\r\n order: 5;\r\n margin-left: 5px;\r\n margin-top: 2px;\r\n`;\r\n","import React from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport {\r\n Button,\r\n TextField,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { isEmail, isCNPJ } from '../../../utils/validation';\r\nimport { Container, IconNext } from './styles';\r\n\r\nfunction FormMassaInicial({\r\n dadosEmpresa,\r\n setDadosEmpresa,\r\n formRef,\r\n clearInputs,\r\n handleAvancar,\r\n}) {\r\n const registerEmpresa = useField('empresa').registerField;\r\n const registerResponsavel = useField('responsavel').registerField;\r\n const registerEmail = useField('email').registerField;\r\n const registerCNPJ = useField('cnpj').registerField;\r\n const errorEmail = useField('email').error;\r\n const errorCNPJ = useField('cnpj').error;\r\n const errorResponsavel = useField('responsavel').error;\r\n const errorEmpresa = useField('empresa').error;\r\n\r\n const canSubmit =\r\n !!dadosEmpresa.responsavel &&\r\n !errorResponsavel &&\r\n !!dadosEmpresa.empresa &&\r\n !errorEmpresa &&\r\n !!dadosEmpresa.email &&\r\n !errorEmail &&\r\n !!dadosEmpresa.cnpj &&\r\n !errorCNPJ;\r\n\r\n const validateInput = (e) => {\r\n if (!formRef) return;\r\n\r\n const { name, value } = e.target;\r\n formRef.setFieldError(name, '');\r\n\r\n if (name === 'cnpj' && !isCNPJ(value)) {\r\n formRef.setFieldError(name, `O cnpj não é válido`);\r\n }\r\n\r\n if (name === 'email' && !isEmail(value)) {\r\n formRef.setFieldError(name, `O email não é válido`);\r\n }\r\n\r\n if ((name === 'empresa' || name === 'responsavel') && value.length > 100) {\r\n formRef.setFieldError(name, `O campo só pode ter 100 caracteres`);\r\n }\r\n\r\n if (!value) {\r\n formRef.setFieldError(name, `O campo é obrigatório`);\r\n }\r\n };\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setDadosEmpresa((dados) => ({\r\n ...dados,\r\n [name]: name === 'cnpj' ? value.replaceAll(/\\D/g, '') : value,\r\n }));\r\n };\r\n\r\n const formatCNPJ = (cnpj) => {\r\n let cnpjNumber = cnpj.replaceAll(/[^\\d]/g, '');\r\n\r\n if (cnpjNumber.length >= 14) cnpjNumber = cnpjNumber.substr(0, 14);\r\n\r\n if (cnpjNumber.length > 12)\r\n cnpjNumber = cnpjNumber.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d)/g,\r\n '$1.$2.$3/$4-$5'\r\n );\r\n else if (cnpjNumber.length > 8)\r\n cnpjNumber = cnpjNumber.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d)/g,\r\n '$1.$2.$3/$4'\r\n );\r\n else if (cnpjNumber.length > 5)\r\n cnpjNumber = cnpjNumber.replace(/^(\\d{2})(\\d{3})(\\d)/g, '$1.$2.$3');\r\n else if (cnpjNumber.length > 2)\r\n cnpjNumber = cnpjNumber.replace(/^(\\d{2})(\\d)/g, '$1.$2');\r\n\r\n return cnpjNumber;\r\n };\r\n return (\r\n <>\r\n \r\n \r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n error={errorEmpresa}\r\n errorMessage={errorEmpresa}\r\n register={registerEmpresa}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerCNPJ}\r\n error={errorCNPJ}\r\n errorMessage={errorCNPJ}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerResponsavel}\r\n error={errorResponsavel}\r\n errorMessage={errorResponsavel}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerEmail}\r\n error={errorEmail}\r\n errorMessage={errorEmail}\r\n />\r\n \r\n setDadosEmpresa((state) => ({\r\n ...state,\r\n telefone: { contatos },\r\n }))\r\n }\r\n single\r\n />\r\n \r\n \r\n \r\n limpar\r\n \r\n handleAvancar()}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n avançar\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormMassaInicial;\r\n","import styled from 'styled-components';\r\nimport { FiAlertCircle } from 'react-icons/fi';\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport { Checkbox } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n align-self: center;\r\n margin: 0 auto;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n max-width: 380px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\n\r\nexport const Text = styled.p`\r\n font: normal normal normal 15px 'Calibri';\r\n color: ${theme.colorGray};\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const TextHeader = styled.strong`\r\n font: normal normal 800 34px/43px 'work_sans';\r\n color: ${theme.titleGray};\r\n text-align: center;\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const TextHeaderBold = styled.strong`\r\n font: normal normal 800 34px/43px 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n text-align: center;\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const IconAlert = styled(FiAlertCircle)`\r\n color: ${theme.yellowDefault};\r\n width: 83px;\r\n height: 83px;\r\n margin-bottom: 8px;\r\n margin-left: 25px;\r\n`;\r\n\r\nexport const IconSuccess = styled(FaRegCheckCircle)`\r\n color: ${theme.greenDefault};\r\n width: 100px;\r\n height: 100px;\r\n margin-bottom: 8px;\r\n margin-left: 25px;\r\n`;\r\n\r\nexport const CheckboxWithText = styled(Checkbox)`\r\n margin-bottom: 18px;\r\n > p {\r\n margin-bottom: 18px;\r\n color: ${theme.colorGray};\r\n font: normal normal normal 14px/20px 'Calibri';\r\n margin-right: 0px;\r\n }\r\n\r\n > p > a {\r\n color: ${theme.green1};\r\n font-weight: bold;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, Modal, Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport { ContentText, CheckboxWithText } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction ModalTermoMassaInicial({\r\n isOpen,\r\n onClick,\r\n aceitos,\r\n setAceitos,\r\n handleValidadMassaInicial,\r\n}) {\r\n const { success } = useSelector((state) => state.lista.MassaInicial.patch);\r\n\r\n function handleChange(value) {\r\n if (aceitos.includes(value)) {\r\n setAceitos((state) => state.filter((item) => item !== value));\r\n } else {\r\n setAceitos((state) => [...state, value]);\r\n }\r\n }\r\n\r\n if (success) return ;\r\n\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n handleChange('compartilhar')}\r\n />\r\n \r\n Li e concordo com o\r\n \r\n {' '}\r\n Termo de responsabilidade\r\n \r\n \r\n }\r\n onClick={() => handleChange('termo')}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, aceitos, handleValidadMassaInicial }) => {\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n validar massa inicial\r\n \r\n \r\n );\r\n};\r\n\r\nconst ModalSucessoPatch = ({ isOpen, onClick }) => {\r\n function voltarParaMassaInicial() {\r\n window.location.reload();\r\n }\r\n\r\n return (\r\n \r\n ok\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nexport default ModalTermoMassaInicial;\r\n","import styled, { css } from 'styled-components';\r\nimport { FiAlertCircle, FiCheckCircle } from 'react-icons/fi';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width}px;\r\n `};\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n color: ${theme.movGrey};\r\n padding: 27px 0;\r\n align-self: center;\r\n font: normal normal normal 14px/20px 'Calibri';\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentFile = styled.div`\r\n margin: 10px;\r\n`;\r\n\r\nexport const IconAlert = styled(FiAlertCircle)`\r\n color: ${theme.yellowDefault};\r\n width: 17px;\r\n height: 17px;\r\n margin-right: 15px;\r\n`;\r\n\r\nexport const IconsSuccess = styled(FiCheckCircle)`\r\n color: ${theme.greenDefault};\r\n width: 17px;\r\n height: 17px;\r\n margin-right: 15px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { FileUpload } from '@unimed-fesp/components';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentFile,\r\n IconAlert,\r\n IconsSuccess,\r\n} from './styles';\r\n\r\nconst LoagingFiles = ({\r\n files,\r\n onClickCancel,\r\n canImport,\r\n handleProgress,\r\n width,\r\n maxLengthFileName,\r\n}) => {\r\n return (\r\n \r\n {canImport ? (\r\n \r\n \r\n Arquivo carregado com sucesso!\r\n \r\n ) : (\r\n \r\n \r\n Aguarde! Seus arquivos estão sendo carregados.\r\n \r\n )}\r\n {Object.values(files).map((file) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst MyContentFile = ({\r\n file,\r\n uploadProgress,\r\n onClickCancel,\r\n maxLengthFileName,\r\n}) => {\r\n return (\r\n \r\n maxLengthFileName\r\n ? `${file.name.substr(0, maxLengthFileName)}...`\r\n : file.name\r\n }\r\n fileSize={file.readableSize}\r\n uploadProgress={uploadProgress(file)}\r\n onClickCancel={onClickCancel}\r\n />\r\n \r\n );\r\n};\r\nexport default LoagingFiles;\r\n","import styled from 'styled-components';\r\nimport { FiArrowLeft } from 'react-icons/fi';\r\nimport { AiOutlineLike } from 'react-icons/ai';\r\n\r\nimport WrapperFlex from '../../molecules/WrapperFlex';\r\n\r\nexport const Container = styled(WrapperFlex)`\r\n min-height: 350px;\r\n display: flex;\r\n align-items: flex-start;\r\n`;\r\n\r\nexport const IconPrev = styled(FiArrowLeft)`\r\n margin-right: 5px;\r\n margin-top: 2px;\r\n`;\r\n\r\nexport const IconLike = styled(AiOutlineLike)`\r\n margin-right: 5px;\r\n margin-top: 2px;\r\n`;\r\n\r\nexport const ContainerFooter = styled.div`\r\n margin-top: 20px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport modeloPadraoMassaInicial from '../../../assets/modelos/massaInicial/ModeloPadrãoMassaInicial.csv';\r\nimport orientaçõesPreenchimentoMassaInicial from '../../../assets/modelos/massaInicial/OrientaçõesPreenchimentoMassaInicial.pdf';\r\n\r\nimport { ContainerFooter } from './styles';\r\n\r\nconst TemplateDownloadText = () => (\r\n \r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n modelo padrão{' '}\r\n \r\n demonstrando como deve ser a estrutura do arquivo csv e as\r\n \r\n {' '}\r\n orientações de preenchimento{' '}\r\n \r\n do arquivo.\r\n \r\n);\r\n\r\nexport default TemplateDownloadText;\r\n","import React from 'react';\r\n\r\nconst RegrasImportMassaInicial = () => (\r\n <>\r\n

    \r\n Realize o envio da\r\n massa inicial \r\n através do envio de um arquivo\r\n .csv \r\n de até 10mb.\r\n

    \r\n

    \r\n O arquivo não deve possuir linhas 'em branco' {' '}\r\n e não deve possuir linhas contento apenas{' '}\r\n ponto e vírgula(;).\r\n

    \r\n \r\n);\r\n\r\nexport default RegrasImportMassaInicial;\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Button, WrapperFlex, ImportBox } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport { WarningToast } from '../../molecules/Toast';\r\nimport LoagingFiles from '../../molecules/LoadingFiles';\r\nimport TemplateDownloadText from './TemplateDownloadText';\r\nimport RegrasImportMassaInicial from './RegrasImportMassaInicial';\r\n// #endregion\r\n\r\nimport { IconLike, IconPrev, Container } from './styles';\r\n\r\nimport { shapeFile, customValidations } from '../../../utils/file';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nfunction UploadMassaInicial({\r\n handleVoltar,\r\n setListaFiles,\r\n file,\r\n handleValidar,\r\n progress,\r\n}) {\r\n const dispatch = useDispatch();\r\n const { success } = useSelector((state) => state.lista.MassaInicial.post);\r\n\r\n function handleErros({ fileErrors, hasMaxQuantity }) {\r\n if (fileErrors.length > 0) {\r\n if (fileErrors[0].error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo ultrapassou o limite máximo de 10mb\r\n \r\n );\r\n } else if (fileErrors[0].error.hasValidExtension) {\r\n toast.error(\r\n O arquivo enviado deve ser um .csv\r\n );\r\n } else if (hasMaxQuantity) {\r\n toast.error(\r\n Deve-se enviar apenas 1 arquivo\r\n );\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {file ? (\r\n {\r\n setListaFiles([]);\r\n dispatch(ListaActions.postArquivoMassaInicialRenew());\r\n }}\r\n canImport={success}\r\n handleProgress={() => (success ? 100 : progress)}\r\n maxLengthFileName={40}\r\n width={500}\r\n />\r\n ) : (\r\n }\r\n templateDownloadText={}\r\n setListaFiles={setListaFiles}\r\n shapeFile={shapeFile}\r\n customValidations={(filesInput) =>\r\n customValidations(filesInput, 10000000, 1, ['csv'], handleErros)\r\n }\r\n maxWidth={430}\r\n />\r\n )}\r\n \r\n \r\n {\r\n setListaFiles([]);\r\n handleVoltar();\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n \r\n voltar\r\n \r\n \r\n \r\n validar\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UploadMassaInicial;\r\n","import styled, { css } from 'styled-components';\r\nimport { Form as FormWeb } from '@unform/web';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport ImagemMassaInicial from '../../assets/images/massa-inicial/imagem-massa-inicial.svg';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 1fr 500px;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n padding: 32px 40px 0 0;\r\n background-color: #ffff;\r\n`;\r\n\r\nexport const ContainerImage = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n position: relative;\r\n`;\r\n\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-bottom: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n`;\r\n\r\nexport const ContainerFormMassaInicial = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n`;\r\n\r\nexport const ImageBackground = styled.div`\r\n background-image: url(${ImagemMassaInicial});\r\n background-repeat: no-repeat;\r\n background-position-y: bottom;\r\n background-position-x: left;\r\n background-size: contain;\r\n background-color: #ffff;\r\n flex: 1;\r\n`;\r\n\r\nexport const HeaderTitulo = styled.h1`\r\n font-family: 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n font-size: 34px;\r\n`;\r\n\r\nexport const ContainerProgressBar = styled.div`\r\n margin-left: -5px;\r\n`;\r\n\r\nexport const TextoPasso = styled.div`\r\n font: bold 16px 'Calibri';\r\n color: ${theme.colorGray};\r\n text-transform: uppercase;\r\n margin-left: 5px;\r\n`;\r\n\r\nexport const Form = styled(FormWeb)`\r\n min-height: 550px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n","import React, { useState, useRef, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { ProgressBar, Image } from '@unimed-fesp/components';\r\n\r\nimport { Base64 } from 'js-base64';\r\nimport TipoTelefoneEnum from '../../enums/TipoTelefoneEnum';\r\nimport { setParamsTermoResponsabilidade } from '../../services/massaInicial';\r\nimport { OpenConnection, BuildConnection } from '../../services/signalR';\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\n\r\nimport FormMassaInicial from '../../components/organisms/FormMassaInicial';\r\nimport ModalTermoMassaInicial from '../../components/organisms/ModalTermoMassaInicial';\r\nimport UploadMassaInicial from '../../components/organisms/UploadMassaInicial';\r\n\r\nimport {\r\n Container,\r\n ContainerFormMassaInicial,\r\n HeaderContainer,\r\n ImageBackground,\r\n ContainerImage,\r\n HeaderTitulo,\r\n ContainerProgressBar,\r\n TextoPasso,\r\n Form,\r\n} from './styles';\r\n\r\nconst inicalValuesForm = {\r\n empresa: '',\r\n cnpj: '',\r\n responsavel: '',\r\n email: '',\r\n telefone: {\r\n contatos: [\r\n {\r\n tipo: 'Celular',\r\n numero: '',\r\n },\r\n ],\r\n },\r\n};\r\nconst passos = ['Dados da empresa', 'Importar massa inicial'];\r\n\r\nfunction MassaInicial() {\r\n const [dadosEmpresa, setDadosEmpresa] = useState(inicalValuesForm);\r\n const [fileMassaInicial, setFileMassaInicial] = React.useState([]);\r\n const [signalRConnection, setSignalRConnection] = useState();\r\n const [termosAceitos, setTermosAceitos] = useState([]);\r\n const [progress, setProgress] = useState(0);\r\n\r\n const { idLista } = useSelector((state) => state.lista.MassaInicial.post);\r\n const formRef = useRef();\r\n const [termoOpen, setTermoOpen] = useState(false);\r\n const [passo, setPasso] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const clearInputs = () => {\r\n setDadosEmpresa(inicalValuesForm);\r\n };\r\n\r\n const toBase64 = (file) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsText(file, 'ISO-8859-1');\r\n reader.onload = (e) => {\r\n resolve(Base64.encode(e.target.result));\r\n };\r\n reader.onerror = (error) => reject(error);\r\n });\r\n\r\n const formatBody = async (files, idHub) => {\r\n const { file } = files[0];\r\n\r\n const [, nomeArquivo, extensao] = new RegExp(/(.*?)\\.([^.\\\\]+)$/gm).exec(\r\n file.name\r\n );\r\n const { telefone } = dadosEmpresa;\r\n\r\n const contato =\r\n telefone.contatos.length > 0 && telefone.contatos[0].numero.length > 0\r\n ? {\r\n ddd: telefone.contatos[0].numero.substr(0, 2),\r\n numero: telefone.contatos[0].numero.substr(2),\r\n tipo: TipoTelefoneEnum.returnNameForName[telefone.contatos[0].tipo],\r\n }\r\n : {};\r\n\r\n const cnpj = dadosEmpresa.cnpj\r\n ? dadosEmpresa.cnpj.replaceAll(/[^\\d]/g, '')\r\n : null;\r\n\r\n const tempBody = {\r\n nomeEmpresa: dadosEmpresa.empresa,\r\n cnpj,\r\n nomeResponsavel: dadosEmpresa.responsavel,\r\n email: dadosEmpresa.email,\r\n contato,\r\n arquivo: await toBase64(file),\r\n nomeArquivo,\r\n extensaoArquivo: `.${extensao}`,\r\n idHub: idHub || 0,\r\n };\r\n\r\n return tempBody;\r\n };\r\n\r\n const handleValidadMassaInicial = useCallback(\r\n async (files, idHub) => {\r\n const body = await formatBody(files, idHub);\r\n dispatch(ListaActions.postArquivoMassaInicialRequest(body));\r\n },\r\n [dispatch, formatBody]\r\n );\r\n\r\n async function SignalRUploadProgress() {\r\n const socketConnection = BuildConnection('ProgressStatusHub');\r\n socketConnection.on('updateProgress', (message) => {\r\n if (!message.errorMessage && message.progressValue !== 0)\r\n setProgress(message.progressValue);\r\n });\r\n await OpenConnection(socketConnection);\r\n setSignalRConnection(socketConnection);\r\n\r\n return socketConnection;\r\n }\r\n\r\n function handleChange(files) {\r\n if (files.length <= 0) {\r\n setFileMassaInicial([]);\r\n return;\r\n }\r\n\r\n SignalRUploadProgress().then((conn) => {\r\n setSignalRConnection(conn);\r\n setFileMassaInicial(files);\r\n if (files.length > 0) handleValidadMassaInicial(files, conn.connectionId);\r\n });\r\n }\r\n\r\n function handleTermoResponsabilidade() {\r\n const body = {\r\n aceiteCompartilhamento: termosAceitos.includes('compartilhar'),\r\n aceiteTermo: termosAceitos.includes('termo'),\r\n };\r\n dispatch(\r\n ListaActions.patchAceiteCompartilhamentoMassaInicialRequest(idLista, body)\r\n );\r\n }\r\n\r\n function handleVoltarPasso() {\r\n setPasso(passo - 1);\r\n setTermosAceitos([]);\r\n dispatch(ListaActions.postArquivoMassaInicialRenew());\r\n dispatch(ListaActions.patchAceiteCompartilhamentoMassaInicialRenew());\r\n }\r\n\r\n useEffect(() => {\r\n setParamsTermoResponsabilidade({\r\n empresa: dadosEmpresa.empresa,\r\n responsavel: dadosEmpresa.responsavel,\r\n });\r\n }, [dadosEmpresa]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n massa inicial\r\n
    \r\n \r\n \r\n \r\n Passo {passo + 1} de 2: {passos[passo]}\r\n \r\n \r\n {passo === 0 && (\r\n setPasso(passo + 1)}\r\n />\r\n )}\r\n {passo === 1 && (\r\n {\r\n setTermoOpen(true);\r\n }}\r\n />\r\n )}\r\n \r\n
    \r\n setTermoOpen(false)}\r\n aceitos={termosAceitos}\r\n setAceitos={setTermosAceitos}\r\n handleValidadMassaInicial={handleTermoResponsabilidade}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nexport default MassaInicial;\r\n","import styled from 'styled-components';\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n width: 1038px;\r\n border-radius: 5px;\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n margin: 28px auto;\r\n padding: 28px;\r\n`;\r\n\r\nexport const Title = styled.h1`\r\n font: normal normal bold 24px/16px 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n margin-bottom: 28px;\r\n letter-spacing: 0.48px;\r\n`;\r\n\r\nexport const Text = styled.p`\r\n font: normal normal normal 15px/23px Calibri;\r\n letter-spacing: 0.6px;\r\n color: ${theme.colorGray};\r\n max-width: 700px;\r\n\r\n @media print {\r\n text-align: left;\r\n padding-right: 30px;\r\n }\r\n`;\r\n\r\nexport const Assinatura = styled.div`\r\n border-top: 1px solid ${theme.colorGray};\r\n font: normal normal normal 15px/23px Calibri;\r\n letter-spacing: 0.6px;\r\n color: ${theme.colorGray};\r\n padding-top: 5px;\r\n margin-top: 100px;\r\n max-width: 40%;\r\n`;\r\n\r\nexport const Copy = styled.span`\r\n font: normal normal normal 10px/13px Calibri;\r\n color: ${theme.grey};\r\n position: absolute;\r\n bottom: 10px;\r\n`;\r\n\r\nexport const ButtonImprimir = styled(Button)`\r\n flex-direction: row-reverse;\r\n`;\r\n\r\nexport const ImageANS = styled.img`\r\n display: block;\r\n max-width: 120px;\r\n margin-top: 28px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex, Image, NavbarPrimary } from '@unimed-fesp/components';\r\n\r\nimport { FiPrinter } from 'react-icons/fi';\r\n\r\nimport { legacyRoutes } from '../../routes/legacyRoutes';\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\nimport FespANS from '../../assets/images/FespANS.jpg';\r\n\r\nimport {\r\n Container,\r\n Title,\r\n Text,\r\n Copy,\r\n ButtonImprimir,\r\n ImageANS,\r\n} from './styles';\r\n\r\nexport default function TermoResponsabilidade() {\r\n const hoje = new Date();\r\n\r\n function ImprimirTermo(e) {\r\n e.stopPropagation();\r\n const { target } = e;\r\n\r\n window.print(() => {\r\n target.style.display = 'none';\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Termo de Responsabilidade - Massa Inicial\r\n \r\n imprimir\r\n \r\n \r\n \r\n\r\n \r\n A contratante, vem pelo presente termo, autorizar a troca de\r\n informações cadastrais para inclusão da massa inicial de\r\n beneficiários. A contratante assume total responsabilidade pelo uso\r\n adequado do login e senha da ferramenta de Movimentação Cadastral\r\n (MOVCAD), comprometendo-se a observar as regras e prazos contratuais,\r\n assim como atender as exigências da Agência Nacional de Saúde\r\n Suplementar (ANS).\r\n \r\n\r\n \r\n \r\n {hoje.getFullYear().toString()} © Unimed Fesp | Sistema MovCad\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Switch, Route } from 'react-router-dom';\r\nimport { routes } from './routes';\r\nimport ProtectedRoute from './ProtectedRoute';\r\nimport Login from '../pages/Login';\r\nimport RecuperarSenha from '../pages/RecuperarSenha';\r\nimport ErrorPage from '../pages/ErrorPage';\r\nimport NotFound from '../pages/NotFound';\r\nimport MassaInicial from '../pages/MassaInicial';\r\nimport TermoResponsabilidade from '../pages/TermoResponsabilidade';\r\n\r\nconst Routes = () => {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n return (\r\n <>\r\n \r\n {routes.map((r) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import { createGlobalStyle } from 'styled-components';\r\nimport './fonts.css';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n\r\n\r\n*,\r\n*::before,\r\n*::after {\r\n box-sizing: border-box;\r\n\r\n}\r\n\r\nhtml {\r\n font-family: sans-serif;\r\n line-height: 1.15;\r\n -webkit-text-size-adjust: 100%;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n height: 100%;\r\n}\r\n\r\narticle,\r\naside,\r\nfigcaption,\r\nfigure,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmain,\r\nnav,\r\nsection {\r\n display: block;\r\n}\r\n\r\nbody {\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\r\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\r\n\r\n background-color: #F8F8F8;\r\n min-height: 100%;\r\n}\r\n\r\n[tabindex=\"-1\"]:focus {\r\n outline: 0 !important;\r\n}\r\n\r\nhr {\r\n box-sizing: content-box;\r\n height: 0;\r\n overflow: visible;\r\n}\r\n\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n margin-top: 0;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\np {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n}\r\n\r\nabbr[title],\r\nabbr[data-original-title] {\r\n text-decoration: underline;\r\n -webkit-text-decoration: underline dotted;\r\n text-decoration: underline dotted;\r\n cursor: help;\r\n border-bottom: 0;\r\n -webkit-text-decoration-skip-ink: none;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\naddress {\r\n margin-bottom: 1rem;\r\n font-style: normal;\r\n line-height: inherit;\r\n}\r\n\r\nol,\r\nul,\r\ndl {\r\n margin-top: 0;\r\n margin-bottom: 1rem;\r\n}\r\n\r\nol ol,\r\nul ul,\r\nol ul,\r\nul ol {\r\n margin-bottom: 0;\r\n}\r\n\r\ndt {\r\n font-weight: 700;\r\n}\r\n\r\ndd {\r\n margin-bottom: 0.5rem;\r\n margin-left: 0;\r\n}\r\n\r\nblockquote {\r\n margin: 0 0 1rem;\r\n}\r\n\r\nb,\r\nstrong {\r\n font-weight: bolder;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n position: relative;\r\n font-size: 75%;\r\n line-height: 0;\r\n vertical-align: baseline;\r\n}\r\n\r\nsub {\r\n bottom: -0.25em;\r\n}\r\n\r\nsup {\r\n top: -0.5em;\r\n}\r\n\r\na {\r\n color: #007bff;\r\n text-decoration: none;\r\n background-color: transparent;\r\n}\r\n\r\na:hover {\r\n color: #0056b3;\r\n text-decoration: underline;\r\n}\r\n\r\na:not([href]):not([tabindex]) {\r\n text-decoration: none;\r\n}\r\n\r\na:not([href]):not([tabindex]):hover,\r\na:not([href]):not([tabindex]):focus {\r\n color: inherit;\r\n text-decoration: none;\r\n}\r\n\r\na:not([href]):not([tabindex]):focus {\r\n outline: 0;\r\n}\r\n\r\npre,\r\ncode,\r\nkbd,\r\nsamp {\r\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\r\n \"Courier New\", monospace;\r\n}\r\n\r\npre {\r\n margin-top: 0;\r\n margin-bottom: 1rem;\r\n overflow: auto;\r\n}\r\n\r\nfigure {\r\n margin: 0 0 1rem;\r\n}\r\n\r\nimg {\r\n vertical-align: middle;\r\n border-style: none;\r\n}\r\n\r\nsvg {\r\n overflow: hidden;\r\n vertical-align: middle;\r\n}\r\n\r\ntable {\r\n border-collapse: collapse;\r\n}\r\n\r\ncaption {\r\n padding-top: 0.75rem;\r\n padding-bottom: 0.75rem;\r\n color: #6c757d;\r\n text-align: left;\r\n caption-side: bottom;\r\n}\r\n\r\nth {\r\n text-align: inherit;\r\n}\r\n\r\nlabel {\r\n display: inline-block;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\nbutton {\r\n border-radius: 0;\r\n}\r\n\r\nbutton:focus {\r\n outline: 1px dotted;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n}\r\n\r\ninput,\r\nbutton,\r\nselect,\r\noptgroup,\r\ntextarea {\r\n margin: 0;\r\n font-family: inherit;\r\n line-height: inherit;\r\n}\r\n\r\nbutton,\r\ninput {\r\n overflow: visible;\r\n}\r\n\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nselect {\r\n word-wrap: normal;\r\n}\r\n\r\nbutton,\r\n[type=\"button\"],\r\n[type=\"reset\"],\r\n[type=\"submit\"] {\r\n -webkit-appearance: button;\r\n}\r\n\r\nbutton:not(:disabled),\r\n[type=\"button\"]:not(:disabled),\r\n[type=\"reset\"]:not(:disabled),\r\n[type=\"submit\"]:not(:disabled) {\r\n cursor: pointer;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\n[type=\"button\"]::-moz-focus-inner,\r\n[type=\"reset\"]::-moz-focus-inner,\r\n[type=\"submit\"]::-moz-focus-inner {\r\n padding: 0;\r\n border-style: none;\r\n}\r\n\r\ninput[type=\"radio\"],\r\ninput[type=\"checkbox\"] {\r\n box-sizing: border-box;\r\n padding: 0;\r\n}\r\n\r\ninput[type=\"date\"],\r\ninput[type=\"time\"],\r\ninput[type=\"datetime-local\"],\r\ninput[type=\"month\"] {\r\n -webkit-appearance: listbox;\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n resize: vertical;\r\n}\r\n\r\nfieldset {\r\n min-width: 0;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n}\r\n\r\nlegend {\r\n display: block;\r\n width: 100%;\r\n max-width: 100%;\r\n padding: 0;\r\n margin-bottom: 0.5rem;\r\n line-height: inherit;\r\n color: inherit;\r\n white-space: normal;\r\n}\r\n\r\nprogress {\r\n vertical-align: baseline;\r\n}\r\n\r\n[type=\"number\"]::-webkit-inner-spin-button,\r\n[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\n\r\n[type=\"search\"] {\r\n outline-offset: -2px;\r\n -webkit-appearance: none;\r\n}\r\n\r\n[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\n\r\n::-webkit-file-upload-button {\r\n font: inherit;\r\n -webkit-appearance: button;\r\n}\r\n\r\noutput {\r\n display: inline-block;\r\n}\r\n\r\nsummary {\r\n display: list-item;\r\n cursor: pointer;\r\n}\r\n\r\ntemplate {\r\n display: none;\r\n}\r\n\r\n[hidden] {\r\n display: none !important;\r\n}\r\n\r\n\r\n\r\n * {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n outline: 0;\r\n }\r\n\r\n html, body, #root {\r\n height: 100%;\r\n }\r\n\r\n body {\r\n text-rendering: optimizeLegibility !important;\r\n -webkit-font-smoothing: antialiased !important;\r\n font-family: 'Open Sans', sans-serif;\r\n background-color: #F8F8F8;\r\n }\r\n\r\n *, input, select, textarea, option, button {\r\n outline: none!important;\r\n}\r\n`;\r\n\r\nexport default GlobalStyle;\r\n","import React, { Component } from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ErrorPage from './pages/ErrorPage';\r\n\r\nconst { NODE_ENV } = process.env;\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor() {\r\n super();\r\n this.state = { hasError: false, error: null };\r\n }\r\n\r\n componentDidCatch(error, info) {\r\n this.setState({ hasError: true, error });\r\n console.log(error.message, info.componentStack);\r\n }\r\n\r\n render() {\r\n const { hasError, error } = this.state;\r\n const { children } = this.props;\r\n\r\n if (hasError)\r\n return (\r\n \r\n \r\n \r\n );\r\n return children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between; /* Alinha os itens horizontalmente com espaço entre eles */\r\n align-items: center; /* Alinha os itens verticalmente ao centro */\r\n color: #a1a1a1;\r\n text-align: left;\r\n font: 500 11px 'Calibri';\r\n letter-spacing: 0.4px;\r\n opacity: 1;\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 8%;\r\n`;","import React from 'react';\r\nimport { TokenExpirationTimer } from '../../../services/auth';\r\nimport { Container } from './styles';\r\n\r\nfunction FooterPage() {\r\n return (\r\n \r\n
    {new Date().getFullYear()} © Unimed Fesp | Sistema MovCad
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FooterPage;\r\n","import styled from 'styled-components';\r\n\r\nexport const SelectContratanteContainer = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n min-width: 400px;\r\n\r\n cursor: pointer;\r\n min-height: 40px;\r\n`;\r\n","import React, { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport * as jwtDecode from 'jwt-decode';\r\n\r\nimport { IoIosArrowDown } from 'react-icons/io';\r\nimport { Text, WrapperFlex, InputDropdown } from '@unimed-fesp/components';\r\nimport { SelectContratanteContainer } from './styles';\r\n\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nconst textNestle = 'Nestlé';\r\n\r\nconst DropChangeParametrizacao = ({\r\n contratantes,\r\n onClick,\r\n headerText,\r\n nomeComplemento,\r\n}) => {\r\n const { usuario, accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n // #region Flags\r\n const HAS_NESTLE = nomeComplemento?.toLocaleUpperCase() === 'NESTLE';\r\n const IS_ADM = IsAdm && IsAdm.toLocaleUpperCase() === 'TRUE';\r\n const IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA =\r\n (!IS_ADM && isContratanteNestle(usuario)) || contratantes?.length < 1;\r\n // #endregion\r\n\r\n const getOptionsDrop = useCallback(() => {\r\n if (!IS_ADM) return contratantes.map((contratante) => contratante.nome);\r\n if (HAS_NESTLE)\r\n return [TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm, textNestle];\r\n\r\n return [\r\n TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm,\r\n ...contratantes.map((contratante) => contratante.nome),\r\n ];\r\n }, [HAS_NESTLE, IS_ADM, contratantes]);\r\n\r\n const selectedParametrizacao = useCallback(\r\n (optionDrop) => {\r\n const targetParametrizacao =\r\n optionDrop === textNestle ? contratantes[0]?.nome : optionDrop;\r\n\r\n onClick(targetParametrizacao);\r\n },\r\n [contratantes, onClick]\r\n );\r\n\r\n if (IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA)\r\n return (\r\n \r\n \r\n \r\n {usuario.role !== TipoPerfilUsuarioEnum.returnNameForName.Adm && (\r\n \r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {headerText && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DropChangeParametrizacao;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { FaDoorOpen } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalLogout({ isOpen, onClick, logOut }) {\r\n return (\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Você deseja sair do sistema?\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, logOut }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sair\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalLogout;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const SelectContratanteContainer = styled.div`\r\n display: flex;\r\n align-items: baseline;\r\n`;\r\n\r\nexport const NavbarContentContainer = styled.div`\r\n background-color: ${theme.greenDefault};\r\n width: 100%;\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n\r\n @media print {\r\n display: none;\r\n }\r\n`;\r\n\r\nexport const NavbarItemsContainer = styled.ul`\r\n display: flex;\r\n max-width: 1038px;\r\n min-height: 50px;\r\n margin: 0;\r\n width: 1038px;\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const NavbarLogoContainer = styled(Link)`\r\n list-style: none;\r\n color: #ffffff;\r\n font-family: 'unimed_slabbold';\r\n font-weight: bolder;\r\n font-size: 25px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: #ffffff;\r\n\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const NavbarItemContainer = styled.li`\r\n list-style: none;\r\n letter-spacing: 0px;\r\n justify-content: flex-end;\r\n color: #ffffff;\r\n font-size: 15px;\r\n font-family: Calibri;\r\n font-weight: bold;\r\n padding-left: 20px;\r\n\r\n svg {\r\n margin-left: 10px;\r\n cursor: pointer;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ``};\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const NavbarLegacyLink = styled.a`\r\n list-style: none;\r\n color: #ffffff;\r\n font-family: 'unimed_slabbold';\r\n font-weight: bolder;\r\n font-size: 25px;\r\n cursor: pointer;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: #ffffff;\r\n\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { NavbarPrimary as NavbarContainer } from '@unimed-fesp/components';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { MdInput } from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Creators as AuthActions } from '../../../store/ducks/auth';\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\nimport { isAdmin, isOldAdmin } from '../../../utils/userRole';\r\n\r\n// #region Componentes\r\nimport DropChangeParametrizacao from '../DropChangeParametrizacao';\r\nimport ModalLogout from '../ModalLogout';\r\n// #endregion\r\n\r\nimport { NavbarItemContainer, NavbarItemsContainer } from './styles';\r\n\r\nfunction NavbarPrimary() {\r\n const dispatch = useDispatch();\r\n const { usuario, accessToken } = useSelector((state) => state.auth);\r\n const { getContratantesUsuario } = useSelector((state) => state.usuario);\r\n\r\n let contratantes = [];\r\n const nomeComplemento =\r\n getContratantesUsuario?.response?.nomeComplemento || '';\r\n\r\n if (getContratantesUsuario?.response?.contranteParametrizada) {\r\n contratantes = getContratantesUsuario.response.contranteParametrizada.map(\r\n (contratante) => ({\r\n nome: `${contratante.codigoContratante} - ${contratante.nomeContratante}`,\r\n })\r\n );\r\n }\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n const selectedContratante =\r\n usuario.role === 'Adm'\r\n ? ''\r\n : `${usuario.codigoContratante} - ${usuario.nomeEmpresa}`;\r\n\r\n function handleLogOut() {\r\n setOpen(!open);\r\n }\r\n\r\n function handleSignOut() {\r\n dispatch(AuthActions.signOutLegadoRequest());\r\n }\r\n\r\n function handleSelectedContratante(contratante) {\r\n let tempContratante = contratante;\r\n if (contratante === TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm)\r\n tempContratante = `0 - ${TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm}`;\r\n\r\n const [id, ...rest] = tempContratante?.split('-');\r\n dispatch(\r\n AuthActions.getChangeTokenRequest({\r\n id,\r\n })\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.idUsuarioLogado !== 0 && !isAdmin())\r\n dispatch(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }, [dispatch, usuario.idUsuarioLogado, usuario.role]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {!isOldAdmin(accessToken) && (\r\n \r\n )}\r\n {usuario.nome && (\r\n \r\n {usuario.nome}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NavbarPrimary;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { NavLink } from 'react-router-dom';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst activeClassName = 'nav-item-active';\r\n\r\nexport const NavbarContentContainer = styled.div`\r\n background-color: #ffffff;\r\n box-shadow: 0px 1px 2px #0000001a;\r\n width: 100%;\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n`;\r\n\r\nexport const NavbarItemsContainer = styled.div`\r\n display: flex;\r\n max-width: 1038px;\r\n margin: 0;\r\n width: 1038px;\r\n\r\n a {\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n }\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const NavbarItemContainer = styled(NavLink).attrs({ activeClassName })`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n color: #5a5a5a;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n fill: ${theme.greenDefault};\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport const NavbarLegacyLink = styled.a`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n\r\n color: #5a5a5a;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n &.${activeClassName} {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport const DropdownContainer = styled.div`\r\n min-height: 1.875rem;\r\n padding: 0;\r\n margin: 0;\r\n position: absolute;\r\n z-index: 10;\r\n\r\n ${({\r\n isBeneficiary,\r\n isAdministration,\r\n isRelatorioNestle,\r\n isReportDropdown,\r\n }) => {\r\n if (isBeneficiary) {\r\n return css`\r\n margin-top: 235px;\r\n margin-left: 90px;\r\n `;\r\n }\r\n\r\n if (isReportDropdown) {\r\n return css`\r\n margin-top: 180px;\r\n margin-left: 100px;\r\n `;\r\n }\r\n\r\n if (isAdministration) {\r\n return css`\r\n top: 111px;\r\n margin-left: 90px;\r\n `;\r\n }\r\n\r\n if (isRelatorioNestle) {\r\n return css`\r\n top: 111px;\r\n margin-left: 110px;\r\n `;\r\n }\r\n\r\n return css`\r\n margin-top: 234px;\r\n margin-left: 137px;\r\n `;\r\n }}\r\n\r\n ${({ showDropdown }) =>\r\n showDropdown\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n ${({ showDropdownAdministration }) =>\r\n showDropdownAdministration\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n\r\n ${({ showDropdownBeneficiary }) =>\r\n showDropdownBeneficiary\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n ${({ showDropdown }) =>\r\n showDropdown\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const DropdownItens = styled(NavLink)`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: block;\r\n padding: 20px 16px;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\nexport const DropdownItensLegacy = styled.a`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: block;\r\n padding: 20px 16px;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\nexport const NavbarItemDropdownContainer = styled.div`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n color: #5a5a5a !important;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n fill: ${theme.greenDefault};\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault} !important;\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgBeneficiarioIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M7.5,11.458c-1.95,0-5.833.975-5.833,2.917v1.458H13.333V14.375C13.333,12.433,9.45,11.458,7.5,11.458ZM3.617,14.167A8.035,8.035,0,0,1,7.5,13.125a8.035,8.035,0,0,1,3.883,1.042ZM7.5,10A2.917,2.917,0,1,0,4.583,7.083,2.92,2.92,0,0,0,7.5,10Zm0-4.167a1.25,1.25,0,1,1-1.25,1.25A1.248,1.248,0,0,1,7.5,5.833Zm5.867,5.675A3.494,3.494,0,0,1,15,14.375v1.458h3.333V14.375C18.333,12.692,15.417,11.733,13.367,11.508ZM12.5,10a2.917,2.917,0,0,0,0-5.833,2.871,2.871,0,0,0-1.25.292,4.551,4.551,0,0,1,0,5.25A2.871,2.871,0,0,0,12.5,10Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBeneficiarioIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/beneficiarioIcon.45b14d8d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgConfiguracaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M16.192,10.817A6.494,6.494,0,0,0,16.25,10a6.494,6.494,0,0,0-.058-.817L17.95,7.808a.42.42,0,0,0,.1-.533L16.383,4.392a.416.416,0,0,0-.367-.208.389.389,0,0,0-.142.025L13.8,5.042a6.088,6.088,0,0,0-1.408-.817l-.317-2.208a.406.406,0,0,0-.408-.35H8.333a.406.406,0,0,0-.408.35L7.608,4.225A6.4,6.4,0,0,0,6.2,5.042L4.125,4.208a.472.472,0,0,0-.15-.025.413.413,0,0,0-.358.208L1.95,7.275a.411.411,0,0,0,.1.533L3.808,9.183A6.609,6.609,0,0,0,3.75,10a6.609,6.609,0,0,0,.058.817L2.05,12.192a.42.42,0,0,0-.1.533l1.667,2.883a.416.416,0,0,0,.367.208.389.389,0,0,0,.142-.025L6.2,14.958a6.088,6.088,0,0,0,1.408.817l.317,2.208a.406.406,0,0,0,.408.35h3.333a.406.406,0,0,0,.408-.35l.317-2.208a6.4,6.4,0,0,0,1.408-.817l2.075.833a.472.472,0,0,0,.15.025.413.413,0,0,0,.358-.208l1.667-2.883a.42.42,0,0,0-.1-.533Zm-1.65-1.425a4.452,4.452,0,0,1,.042.608c0,.175-.017.358-.042.608l-.117.942.742.583.9.7-.583,1.008-1.058-.425-.867-.35-.75.567a4.881,4.881,0,0,1-1.042.608l-.883.358-.133.942-.167,1.125H9.417l-.158-1.125L9.125,14.6l-.883-.358a4.728,4.728,0,0,1-1.025-.592l-.758-.583-.883.358-1.058.425-.583-1.008.9-.7.742-.583-.117-.942c-.025-.258-.042-.45-.042-.617s.017-.358.042-.608l.117-.942-.742-.583-.9-.7.583-1.008,1.058.425.867.35.75-.567a4.881,4.881,0,0,1,1.042-.608L9.117,5.4l.133-.942.167-1.125h1.158l.158,1.125.133.942.883.358a4.728,4.728,0,0,1,1.025.592l.758.583.883-.358,1.058-.425.583,1.008-.892.708-.742.583.117.942ZM10,6.667A3.333,3.333,0,1,0,13.333,10,3.332,3.332,0,0,0,10,6.667Zm0,5A1.667,1.667,0,1,1,11.667,10,1.672,1.672,0,0,1,10,11.667Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgConfiguracaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/configuracaoIcon.d4f2eb13.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgGestaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 17,\n viewBox: \"0 0 24 24\",\n width: 17,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 17,\n width: 17\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"6,22 18,22 12,16\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h4v-2H3V5h18v12h-4v2h4c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgGestaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/gestaoIcon.cf80ec28.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgListasIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#00995d;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M6.667,13.333h6.667V15H6.667Zm0-3.333h6.667v1.667H6.667Zm5-8.333H5A1.672,1.672,0,0,0,3.333,3.333V16.667a1.664,1.664,0,0,0,1.658,1.667H15a1.672,1.672,0,0,0,1.667-1.667v-10Zm3.333,15H5V3.333h5.833V7.5H15Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgListasIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/listasIcon.945657cf.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgSegundaViaCartaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M16.667,3.333H3.333A1.654,1.654,0,0,0,1.675,5L1.667,15a1.661,1.661,0,0,0,1.667,1.667H16.667A1.661,1.661,0,0,0,18.333,15V5A1.661,1.661,0,0,0,16.667,3.333Zm0,11.667H3.333V10H16.667Zm0-8.333H3.333V5H16.667Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgSegundaViaCartaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/segundaViaCartaoIcon.53ae05d4.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisaoGeralIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M15.833,4.167V5.833H12.5V4.167h3.333m-8.333,0v5H4.167v-5H7.5m8.333,6.667v5H12.5v-5h3.333M7.5,14.167v1.667H4.167V14.167H7.5M17.5,2.5H10.833v5H17.5Zm-8.333,0H2.5v8.333H9.167ZM17.5,9.167H10.833V17.5H17.5ZM9.167,12.5H2.5v5H9.167Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisaoGeralIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visaoGeralIcon.f25f51b5.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\r\nimport { NavLink } from 'react-router-dom';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const DropdownWrapper = styled.div`\r\n position: relative;\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n color: #5a5a5a !important;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n fill: ${theme.greenDefault};\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault} !important;\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport const Menu = styled.ul`\r\n min-height: 1.875rem;\r\n z-index: 10;\r\n position: absolute;\r\n top: 60px;\r\n left: 0px;\r\n list-style-type: none;\r\n padding: 0;\r\n margin: 0;\r\n background-color: #f9f9f9;\r\n min-width: 160px;\r\n display: ${({ isOpen }) => (isOpen ? 'block' : 'none')};\r\n`;\r\n\r\nexport const MenuItem = styled.li`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: flex;\r\n align-items: center;\r\n padding: 20px 16px;\r\n position: relative;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\n\r\nexport const SubMenu = styled.ul`\r\n position: absolute;\r\n left: calc(100% - 10px);\r\n list-style-type: none;\r\n padding: 0;\r\n margin: 0;\r\n background-color: #f9f9f9;\r\n min-width: 160px;\r\n display: ${({ isOpen }) => (isOpen ? 'block' : 'none')};\r\n`;\r\n\r\nexport const SubMenuItem = styled.li`\r\n background-color: #fff;\r\n color: #808080;\r\n\r\n text-decoration: none;\r\n display: flex;\r\n align-items: center;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\n\r\nexport const StyledNavLink = styled(NavLink)`\r\n text-decoration: none;\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n padding: 20px 16px;\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\n\r\nexport const StyledAnchor = styled.a`\r\n text-decoration: none;\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n padding: 20px 16px;\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\nexport const MenuItemAnchor = styled.a`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: flex;\r\n align-items: center;\r\n padding: 20px 16px;\r\n position: relative;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\nexport const MenuItemLink = styled(NavLink)`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: flex;\r\n align-items: center;\r\n padding: 20px 16px;\r\n position: relative;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n DropdownWrapper,\r\n Menu,\r\n MenuItem,\r\n MenuItemAnchor,\r\n MenuItemLink,\r\n StyledAnchor,\r\n StyledNavLink,\r\n SubMenu,\r\n SubMenuItem,\r\n} from './styles';\r\n\r\nconst DropdownTree = ({ title, icon, menuItems }) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [submenuIndex, setSubmenuIndex] = useState(null);\r\n const [submenuTop, setSubmenuTop] = useState(0);\r\n const dropdownRef = useRef(null);\r\n const submenuRefs = useRef([]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\r\n setIsOpen(false);\r\n closeSubMenu();\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const toggleSubMenu = (index) => {\r\n setSubmenuIndex(submenuIndex === index ? null : index);\r\n };\r\n\r\n const closeSubMenu = () => {\r\n setSubmenuIndex(null);\r\n };\r\n\r\n const setSubMenuPosition = (index) => {\r\n if (submenuRefs.current[index]) {\r\n const menuItemTop = submenuRefs.current[index].offsetTop;\r\n setSubmenuTop(menuItemTop);\r\n }\r\n };\r\n\r\n const handleSubMenuMouseEnter = (index) => {\r\n setSubmenuIndex(index);\r\n };\r\n\r\n const handleSubMenuMouseLeave = () => {\r\n setSubmenuIndex(null);\r\n };\r\n\r\n return (\r\n \r\n {icon}\r\n {title}\r\n \r\n {menuItems.map((menuItem, index) => (\r\n \r\n {menuItem.subMenuItems && menuItem.subMenuItems.length > 0 ? (\r\n {\r\n toggleSubMenu(index);\r\n setSubMenuPosition(index);\r\n }}\r\n ref={(element) => (submenuRefs.current[index] = element)}\r\n >\r\n {menuItem.title}\r\n \r\n ) : menuItem.to ? (\r\n {menuItem.title}\r\n ) : (\r\n \r\n {menuItem.title}\r\n \r\n )}\r\n {menuItem.subMenuItems && menuItem.subMenuItems.length > 0 && (\r\n handleSubMenuMouseEnter(index)}\r\n onMouseLeave={handleSubMenuMouseLeave}\r\n >\r\n {menuItem.subMenuItems.map((subMenuItem, subIndex) => (\r\n \r\n {subMenuItem.to ? (\r\n \r\n {subMenuItem.title}\r\n \r\n ) : (\r\n \r\n {subMenuItem.title}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nDropdownTree.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n icon: PropTypes.element.isRequired,\r\n menuItems: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n to: PropTypes.string,\r\n href: PropTypes.string,\r\n subMenuItems: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n to: PropTypes.string,\r\n href: PropTypes.string,\r\n })\r\n ),\r\n })\r\n ).isRequired,\r\n};\r\n\r\nexport default DropdownTree;\r\n","import React, { useMemo, useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n CanAccess,\r\n NavbarSecondary as NavbarSecondaryContainer,\r\n Text,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport {\r\n DropdownContainer,\r\n DropdownItens,\r\n NavbarItemContainer,\r\n NavbarItemDropdownContainer,\r\n NavbarLegacyLink,\r\n} from './styles';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\n// #region Import assets\r\nimport { ReactComponent as BeneficiarioIcone } from '../../../assets/icons/beneficiarioIcon.svg';\r\nimport { ReactComponent as ConfiguracaoIcone } from '../../../assets/icons/configuracaoIcon.svg';\r\nimport { ReactComponent as GestaoIcone } from '../../../assets/icons/gestaoIcon.svg';\r\nimport { ReactComponent as ListasIcone } from '../../../assets/icons/listasIcon.svg';\r\nimport { ReactComponent as SegundaViaIcone } from '../../../assets/icons/segundaViaCartaoIcon.svg';\r\nimport { ReactComponent as VisaoGeralIcone } from '../../../assets/icons/visaoGeralIcon.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\n\r\nimport useOutsideClick from '../../../utils/useOutsideClick';\r\nimport { isAdmin, isContratanteNestle } from '../../../utils/userRole';\r\nimport DropdownTree from '../../molecules/DropdownTree';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\n\r\nfunction NavbarSecondary() {\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const { getContratantesUsuario } = useSelector((state) => state.usuario);\r\n const refDropdown = useRef();\r\n const refDropdownBeneficiary = useRef();\r\n const refDropdownRelatorioNestle = useRef();\r\n const [showDropdown, setShowDropdown] = useState(false);\r\n const [showDropdownBeneficiary, setShowDropdownBeneficiary] = useState(false);\r\n const [showDropdownRelatorioNestle, setShowDropdownRelatorioNestle] =\r\n useState(false);\r\n\r\n const contranteParametrizada = useMemo(() => {\r\n return getContratantesUsuario?.response?.contranteParametrizada\r\n ? getContratantesUsuario.response.contranteParametrizada.find(\r\n (contratante) =>\r\n contratante.codigoContratante.toString() ===\r\n usuario.codigoContratante\r\n )\r\n : [];\r\n }, [getContratantesUsuario, usuario]);\r\n\r\n const handleDropdownRelatorioNestle = (e) => {\r\n if (e.target) setShowDropdownRelatorioNestle(!showDropdownRelatorioNestle);\r\n };\r\n const handleDropdownBeneficiary = (e) => {\r\n if (e.target) setShowDropdownBeneficiary(!showDropdownBeneficiary);\r\n };\r\n const handleShowDropdownItens = (e) => {\r\n if (e.target) setShowDropdown(!showDropdown);\r\n };\r\n\r\n useOutsideClick(refDropdownRelatorioNestle, () => {\r\n if (showDropdownRelatorioNestle) setShowDropdownRelatorioNestle(false);\r\n });\r\n\r\n useOutsideClick(refDropdown, () => {\r\n if (showDropdown) setShowDropdown(false);\r\n });\r\n\r\n useOutsideClick(refDropdownBeneficiary, () => {\r\n if (showDropdownBeneficiary) setShowDropdownBeneficiary(false);\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n Visão Geral\r\n \r\n {usuario.role === TipoPerfilUsuarioEnum.returnNameForName.Adm ? (\r\n \r\n \r\n Listas\r\n \r\n \r\n Listas de movimentação\r\n \r\n Listas de RPA\r\n \r\n Listas de massa inicial\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n Listas\r\n \r\n )}\r\n {/* \r\n \r\n 2° Via de Cartão\r\n */}\r\n \r\n \r\n 2° via de cartão\r\n \r\n\r\n {isContratanteNestle(usuario) ? (\r\n \r\n \r\n Beneficiários\r\n \r\n ) : (\r\n \r\n \r\n Beneficiários\r\n \r\n )}\r\n\r\n {isContratanteNestle(usuario) ? (\r\n <>\r\n \r\n \r\n Relatórios\r\n \r\n \r\n Relatórios Beneficiarios\r\n \r\n \r\n Relatório Filhos Fora de Faixa\r\n \r\n \r\n \r\n \r\n ) : (\r\n !isContratanteNestle(usuario.role) &&\r\n !isAdmin(usuario.role) && (\r\n \r\n \r\n Relatórios\r\n \r\n \r\n Relatório Beneficiários\r\n \r\n \r\n Acompanhar Relatórios\r\n \r\n\r\n {getContratantesUsuario.loading && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!!contranteParametrizada?.nomeComplemento && (\r\n \r\n Relatório Filhos Fora de Faixa\r\n \r\n )}\r\n \r\n \r\n )\r\n )}\r\n\r\n \r\n }\r\n title=\"Administração\"\r\n menuItems={menuAdministracaoItems}\r\n />\r\n \r\n \r\n \r\n Configurações\r\n \r\n \r\n );\r\n}\r\n\r\nexport default NavbarSecondary;\r\n\r\nexport const menuAdministracaoItems = [\r\n {\r\n title: 'Usuários',\r\n isMenuAnchor: true,\r\n href: '/users',\r\n subMenuItems: [\r\n { title: 'Gestão de Usuários', to: '/novo/gestao' },\r\n {\r\n title: 'Consulta de Usuários',\r\n href: legacyRoutes.ConsultarUsuarios.url,\r\n },\r\n {\r\n title: 'Cadastro de Usuários',\r\n href: legacyRoutes.CadastrarUsuarios.url,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Feriados',\r\n subMenuItems: [\r\n { title: 'Consultar Feriados', href: legacyRoutes.ConsultarFeriados.url },\r\n {\r\n title: 'Cadastro de Feriados',\r\n href: legacyRoutes.CadastrarFeriados.url,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'E-mail de Alerta',\r\n subMenuItems: [\r\n { title: 'Lista de E-mails', to: '/novo/lista-emails' },\r\n { title: 'Layout de E-mail', to: '/novo/layout-emails' },\r\n ],\r\n },\r\n {\r\n title: 'Motivos de Cancelamento',\r\n href: legacyRoutes.MotivosCancelamento.url,\r\n },\r\n {\r\n title: 'Cadastro de Exceção',\r\n href: legacyRoutes.ConsultarExcecoes.url,\r\n },\r\n {\r\n title: 'Relatório de Filhos Fora de Faixa',\r\n to: '/novo/relatorio-filhos-fora-de-faixa',\r\n },\r\n];\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nconst animateEnter = keyframes`\r\n 100%{\r\n transform: translate(-50%, -50%) scale(1);\r\n opacity: 1;\r\n }\r\n 60%{\r\n transform: translate(-50%, -50%) scale(1.1);\r\n\r\n }\r\n 0%{\r\n opacity: 0;\r\n transform: translate(-50%, -50%) scale(.8);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n padding: 30px;\r\n overflow: hidden;\r\n\r\n & > [role='dialog'] {\r\n animation: ${animateEnter} forwards 650ms;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Modal, Button, Text } from '@unimed-fesp/components';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ModalTrigger = ({ tipo, message, callback, closeModal, Footer }) => {\r\n const onClickModal = () => {\r\n callback();\r\n closeModal();\r\n };\r\n\r\n const isJsxElement = React.isValidElement(message);\r\n\r\n return (\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n {isJsxElement ? message : }\r\n \r\n \r\n );\r\n};\r\n\r\nconst DefaultFooter = ({ onClick }) => (\r\n \r\n ok\r\n \r\n);\r\n\r\nexport default ModalTrigger;\r\n","import React, {\r\n createContext,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useRef,\r\n} from 'react';\r\nimport ModalTrigger from './ModalTrigger';\r\n\r\nconst TriggerModalContext = createContext();\r\n\r\nconst inicialState = {\r\n isOpen: false,\r\n message: '',\r\n callback: () => null,\r\n tipo: 'success',\r\n Footer: null,\r\n};\r\n\r\nexport const TriggerModalContextProvider = ({ children }) => {\r\n const providerRef = useRef(null);\r\n const [optionsModal, setOptionsModal] = useState(inicialState);\r\n\r\n const openModal = (\r\n message,\r\n callback = () => null,\r\n tipo = 'success',\r\n Footer = null\r\n ) => {\r\n setOptionsModal({\r\n ...inicialState,\r\n message,\r\n callback,\r\n tipo,\r\n Footer,\r\n isOpen: true,\r\n });\r\n };\r\n\r\n const closeModal = () => {\r\n setOptionsModal({ ...inicialState, isOpen: false });\r\n };\r\n\r\n const callbackEventShowModal = useCallback(({ detail }) => {\r\n const { options } = detail;\r\n openModal(options.message, options.callback, options.tipo, options.Footer);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (providerRef.current) {\r\n const event = document.createEvent('Event');\r\n\r\n event.initEvent('show-modal', true, true);\r\n providerRef.current.addEventListener(\r\n 'show-modal',\r\n callbackEventShowModal,\r\n false\r\n );\r\n }\r\n }, [callbackEventShowModal]);\r\n\r\n return (\r\n
    \r\n \r\n {children}\r\n {optionsModal.isOpen && (\r\n \r\n )}\r\n {' '}\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport Routes from './routes';\r\nimport GlobalStyle from './styles/global';\r\n\r\nimport CustomScrollBars from './components/molecules/CustomScrollBars';\r\nimport Toast from './components/molecules/Toast';\r\n\r\nimport ErrorBoundary from './ErrorBoundary';\r\nimport FooterPage from './components/organisms/FooterPage';\r\nimport NavbarPrimary from './components/organisms/NavbarPrimary';\r\nimport NavbarSecondary from './components/organisms/NavbarSecondary';\r\nimport { TriggerModalContextProvider } from './context/TriggerModalContext/TriggerModalContext';\r\n\r\nconst App = () => {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n\r\n return (\r\n <>\r\n \r\n {loggedIn && }\r\n {loggedIn && }\r\n \r\n \r\n \r\n \r\n \r\n {loggedIn && }\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\nimport { Provider } from 'react-redux';\r\nimport { Router } from 'react-router-dom';\r\n\r\nimport history from './services/history';\r\n\r\nimport './config/ReactotronConfig';\r\nimport Store from './store';\r\n\r\nimport App from './App';\r\n\r\nconst Application = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n","module.exports = {\r\n returnName: {\r\n 1: 'CadastrarRelatorioFilhoForaDeFaixa',\r\n 2: 'EditarRelatorioFilhoForaDeFaixa',\r\n },\r\n returnIdForName: {\r\n CadastrarRelatorioFilhoForaDeFaixa: 1,\r\n EditarRelatorioFilhoForaDeFaixa: 2,\r\n },\r\n};\r\n","const StatusListaEnum = require('./StatusListaEnum');\r\nconst StatusExecucaoEnum = require('./StatusExecucaoEnum');\r\nconst StatusListaAPIEnum = require('./StatusListaAPIEnum');\r\nconst MovimentacaoListaEnum = require('./MovimentacaoListaEnum');\r\nconst TipoListaEnum = require('./TipoListaEnum');\r\nconst UploadeProgressEnum = require('./UploadeProgressEnum');\r\nconst PerfilEnum = require('./PerfilEnum');\r\nconst PermissaoContratanteEnum = require('./PermissaoContratanteEnum');\r\nconst TipoTelefoneEnum = require('./TipoTelefoneEnum');\r\nconst TipoStatusEnum = require('./TipoStatusEnum');\r\nconst TipoPerfilUsuarioEnum = require('./TipoPerfilUsuarioEnum');\r\nconst TipoConsultaParametrizacaoEnum = require('./TipoConsultaParametrizacaoEnum');\r\nconst TipoCardRoot = require('./TipoCardRoot');\r\nconst StatusListaRPAEnum = require('./StatusListaRPAEnum');\r\nconst TipoDocumentoEnum = require('./TipoDocumentoEnum');\r\nconst StatusEnvioListaEnum = require('./StatusEnvioListaEnum');\r\nconst TipoEventoWebhookEnum = require('./TipoEventoWebhookEnum');\r\n\r\nmodule.exports = {\r\n StatusExecucaoEnum,\r\n StatusListaAPIEnum,\r\n StatusListaEnum,\r\n MovimentacaoListaEnum,\r\n TipoListaEnum,\r\n UploadeProgressEnum,\r\n PerfilEnum,\r\n PermissaoContratanteEnum,\r\n TipoTelefoneEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n TipoConsultaParametrizacaoEnum,\r\n TipoCardRoot,\r\n StatusListaRPAEnum,\r\n TipoDocumentoEnum,\r\n StatusEnvioListaEnum,\r\n TipoEventoWebhookEnum,\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/logo-unimed-fesp.3f83c02e.svg\";","module.exports = {\r\n returnName: {\r\n 1: 'Adm',\r\n 2: 'ContratanteConsulta',\r\n 3: 'ContratanteAlteracao',\r\n },\r\n returnNameForName: {\r\n Adm: 'Adm',\r\n ContratanteConsulta: 'ContratanteConsulta',\r\n ContratanteAlteracao: 'ContratanteAlteracao',\r\n },\r\n returnNameForRefresh: {\r\n Adm: 'ADM',\r\n ContratanteConsulta: 'contratante',\r\n ContratanteAlteracao: 'contratante',\r\n },\r\n\r\n returnNameFormatted: {\r\n 0: 'Selecione',\r\n 1: 'Administrador',\r\n 2: 'Contratante Consulta',\r\n 3: 'Contratante Alteração',\r\n },\r\n returnId: {\r\n Adm: 1,\r\n ContratanteConsulta: 2,\r\n ContratanteAlteracao: 3,\r\n },\r\n returnNameFormattedForName: {\r\n Selecione: 'Selecione',\r\n Adm: 'Administrador',\r\n Administrador: 'Administrador',\r\n ContratanteConsulta: 'Contratante Consulta',\r\n ContratanteAlteracao: 'Contratante Alteração',\r\n },\r\n returnNameForNameFormatted: {\r\n Administrador: 'Adm',\r\n 'Contratante Consulta': 'ContratanteConsulta',\r\n 'Contratante Alteração': 'ContratanteAlteracao',\r\n },\r\n returnTipoPerfilAcessoForTipoPerfil: {\r\n Selecione: 'Selecione',\r\n Adm: 'Administrador',\r\n Administrador: 'Administrador',\r\n Contratante: 'Contratante',\r\n ContratanteConsulta: 'Contratante',\r\n ContratanteAlteracao: 'Contratante',\r\n },\r\n // returnTipoPerfilForTipoPerfilAcesso: {\r\n // Administrador: 'Administrador',\r\n // Contratante: 'ContratanteConsulta',\r\n // Contratante: 'ContratanteAlteração',\r\n // },\r\n};\r\n"],"sourceRoot":""}