{"version":3,"sources":["store/actionTypes.js","store/livroReducer.js","store/reconhecimentoReducer.js","store/registroReducer.js","store/cursoReducer.js","store/iesReducer.js","store/autorizacaoReducer.js","store.js","components/Area/Publica/ConsultaPublicaFiltro.js","api/apiAxios.js","api/api.js","components/Area/Publica/TabelaRegistro.js","components/Area/Publica/ConsultaPublica.js","components/Area/Publica/RegistroPublicoAnuladoDetalhe.tsx","components/Area/Publica/LocalizarDiploma.js","components/Area/Publica/AcoesRegistro.js","components/Area/Publica/DiplomadoDados.js","components/Area/Publica/EnderecoDados.js","components/Area/Publica/AtoRegulatorioDados.js","components/Area/Publica/CursoDados.js","util/funcoes.js","components/Area/Publica/IESDados.js","components/Area/Publica/IESEmissoraDados.js","components/Area/Publica/IESRegistradoraDados.js","components/Area/Publica/ResponsavelRegistroDiploma.js","components/Area/Publica/LivroRegistroDados.js","components/Area/Publica/SituacaoRegistro.js","components/Area/Publica/ConsultarDiploma.js","pages/CAE/Home.js","components/Area/CAE/TabelaLivro.js","store/actions.js","store/thunks.js","pages/CAE/LivroRegistroConsulta.js","components/Area/CAE/LivroRegistroForm.js","pages/CAE/LivroRegistroNovo.js","components/Area/Publica/LivroRegistroDetalhe.js","pages/CAE/LivroRegistroExclui.js","components/Area/CAE/TabelaAtosReconhecimentos.js","pages/CAE/ReconhecimentoConsulta.js","api/apiURLs.js","components/Area/CAE/TabelaReconhecimentoCursos.js","components/Area/CAE/Option.js","components/Area/CAE/NovoReconhecimentoCursoForm.js","pages/CAE/ReconhecimentoForm.js","pages/CAE/ReconhecimentoNovo.js","pages/CAE/ReconhecimentoEdita.js","components/Area/CAE/ReconhecimentoDetalhe.js","pages/CAE/ReconhecimentoExclui.js","pages/CAE/ReconhecimentoVinculaCursos.js","components/Area/CAE/TabelaReconhecimentoCursosVisualizacao.js","pages/CAE/ReconhecimentoVerDetalhe.js","components/Area/CAE/TabelaRegistro.js","pages/CAE/RegistroConsultaFiltro.js","pages/CAE/RegistroConsulta.js","components/Area/CAE/GravarPublicacaoForm.js","pages/CAE/GravarPublicacao.js","components/Area/CAE/CancelarRegistroForm.js","pages/CAE/CancelarRegistro.js","pages/CAE/ReativarRegistro.js","components/Area/CAE/RevogaCancelamentoRegistroForm.js","pages/CAE/RevogaCancelamentoRegistro.js","components/Area/CAE/TabelaEstudantes.js","components/Area/CAE/ConsultaFormandosFiltroForm.js","pages/CAE/ConsultarFormandos.js","components/Area/CAE/TabelaEstudanteFormando.js","components/Area/CAE/ConsultaIndividualFormandosFiltroForm.js","pages/CAE/ConsultaIndividualFormandos.js","components/Area/CAE/TabelaCurso.js","pages/CAE/CursoConsulta.js","components/Area/CAE/TabelaCursoFormacao.js","pages/CAE/CursoFormacaoConsulta.js","pages/RegistroConsultarAntigo.js","pages/RegistroLocalizarAntigo.js","components/Area/CAE/titleCase.js","components/Area/CAE/TabelaCursoTitulacao.js","components/Area/CAE/CursoTitulacaoForm.js","components/Area/CAE/CursoFormacaoForm.js","components/Area/CAE/TabelaCursoReconhecimentosVisualizacao.js","components/Area/CAE/TabelaAutorizacaoCursosVisualizacao.js","components/Area/CAE/TabelaAutorizacaoCursoVisualizacao.js","pages/CAE/GerenciarCurso.js","components/Area/CAE/RegistroForm/RegistroNovoCamposDiplomado.js","components/Area/CAE/RegistroForm/RegistroNovoCamposDadosCurso.js","components/Area/CAE/RegistroForm/RegistroNovoCamposLivroRegistro.js","components/Area/CAE/RegistroForm/RegistroNovoCamposFiliacao.js","components/Area/CAE/RegistroForm/RegistroNovoCamposHistoricoEscolar.js","components/Area/CAE/RegistroForm/RegistroNovoCamposIngressoCurso.js","components/Area/CAE/RegistroForm/RegistroNovoCamposIESEmissora.js","components/Area/CAE/RegistroForm/RegistroNovoCamposIESRegistradora.js","components/Area/CAE/RegistroForm/RegistroNovoCamposAdicionais.js","components/Area/CAE/RegistroForm/RegistroAssinaturas.jsx","components/Area/CAE/RegistroForm/RegistroNovoForm.js","pages/CAE/RegistroNovo.js","store/history.js","pages/Documento/CadastrarDocumento.js","components/TimeLine.js","components/Menu.jsx","util/util.jsx","pages/Conector/EnviarConector.jsx","pages/Conector/DetalheConector.js","pages/Conector/ValidarDiploma.js","pages/CAE/AtoRegulatorioForm.js","pages/CAE/AutorizacaoCursoNovo.js","components/Area/CAE/TabelaAtosAutorizacao.js","pages/CAE/AutorizacaoCursoConsulta.js","pages/CAE/AutorizacaoCursoEdita.js","components/Area/CAE/AtoRegulatorioDetalhe.js","pages/CAE/AutorizacaoCursoVerDetalhe.js","pages/CAE/AutorizacaoCursoExclui.js","components/Area/CAE/TabelaAutorizacaoCursos.js","components/Area/CAE/NovoAutorizacaoCursoForm.js","pages/CAE/AutorizacaoVinculaCursos.js","components/Area/CAE/GravarPublicacaoEmLoteForm.js","pages/CAE/GravarPublicacaoEmLote.js","pages/CAE/VerCancelamentoRegistro.js","components/Area/CAE/TabelaDiplomaListaAnulados.js","pages/CAE/DiplomaListaAnulados.js","App.jsx","registerServiceWorker.ts","index.js"],"names":["types","FAILURE","GET_REGISTROS","GET_REGISTRO_POR_ID","GET_REGISTRO_POR_RGA","GET_DADOS_REGISTRO_POR_ID","GET_DADOS_REGISTRO_POR_RGA","ADD_LIVRO_REGISTRO","LOAD_LIVROS_IN_PROGRESS","LOAD_LIVROS_SUCCESS","LOAD_LIVROS_FAILURE","EDIT_LIVRO_REGISTRO","GET_LIVROS_REGISTRO","GET_LIVRO_REGISTRO","REMOVE_LIVRO_REGISTRO","REMOVE_LIVRO_REGISTRO_FAILURE","LOAD_RECONHECIMENTOS_IN_PROGRESS","LOAD_RECONHECIMENTOS_SUCCESS","LOAD_RECONHECIMENTOS_FAILURE","LOAD_REGISTROS_SELECIONADOS_IN_PROGRESS","LOAD_REGISTROS_SELECIONADOS_SUCCESS","LOAD_REGISTROS_SELECIONADOS_FAILURE","LOAD_REGISTROS_IN_PROGRESS","LOAD_REGISTROS_SUCCESS","LOAD_REGISTROS_FAILURE","LOAD_REGISTRO_POR_ID_IN_PROGRESS","LOAD_REGISTRO_POR_ID_SUCCESS","LOAD_REGISTRO_POR_ID_FAILURE","LOAD_ANOTACOES_IN_PROGRESS","LOAD_ANOTACOES_SUCCESS","LOAD_ANOTACOES_FAILURE","ADD_NOVA_DATA_PUBLICACAO_LOTE_REGISTRO","ADD_NOVA_DATA_PUBLICACAO_REGISTRO","CANCELA_REGISTRO","REVOGA_CANCELAMENTO_REGISTRO","LOAD_ESTUDANTES_FORMANDOS_IN_PROGRESS","LOAD_ESTUDANTES_FORMANDOS_SUCCESS","LOAD_ESTUDANTES_FORMANDOS_FAILURE","LOAD_ESTUDANTES_IN_PROGRESS","LOAD_ESTUDANTES_SUCCESS","LOAD_ESTUDANTES_FAILURE","LOAD_DADOS_FORMANDO_IN_PROGRESS","LOAD_DADOS_FORMANDO_SUCCESS","LOAD_DADOS_FORMANDO_FAILURE","ADD_NOVO_REGISTRO","ADD_NOVO_REGISTRO_IN_PROGRESS","ADD_NOVO_REGISTRO_SUCCESS","ADD_NOVO_REGISTRO_FAILURE","LOAD_CAMPUS_IN_PROGRESS","LOAD_CAMPUS_SUCCESS","LOAD_CAMPUS_FAILURE","LOAD_ANOS_IN_PROGRESS","LOAD_ANOS_SUCCESS","LOAD_ANOS_FAILURE","LOAD_DATAS_COLACAO_IN_PROGRESS","LOAD_DATAS_COLACAO_SUCCESS","LOAD_DATAS_COLACAO_FAILURE","LOAD_UFS_IN_PROGRESS","LOAD_UFS_SUCCESS","LOAD_UFS_FAILURE","LOAD_MUNICIPIOS_IN_PROGRESS","LOAD_MUNICIPIOS_SUCCESS","LOAD_MUNICIPIOS_FAILURE","LOAD_CURSO_IN_PROGRESS","LOAD_CURSO_SUCCESS","LOAD_CURSO_FAILURE","LOAD_CURSOS_GRAUS_IN_PROGRESS","LOAD_CURSOS_GRAUS_SUCCESS","LOAD_CURSOS_GRAUS_FAILURE","LOAD_CURSO_FORMACOES_IN_PROGRESS","LOAD_CURSO_FORMACOES_SUCCESS","LOAD_CURSO_FORMACOES_FAILURE","LOAD_CURSO_TITULACOES_IN_PROGRESS","LOAD_CURSO_TITULACOES_SUCCESS","LOAD_CURSO_TITULACOES_FAILURE","LOAD_CURSO_RECONHECIMENTOS_IN_PROGRESS","LOAD_CURSO_RECONHECIMENTOS_SUCCESS","LOAD_CURSO_RECONHECIMENTOS_FAILURE","LOAD_IES_EMISSORA_IN_PROGRESS","LOAD_IES_EMISSORA_SUCCESS","LOAD_IES_EMISSORA_FAILURE","LOAD_IES_REGISTRADORA_IN_PROGRESS","LOAD_IES_REGISTRADORA_SUCCESS","LOAD_IES_REGISTRADORA_FAILURE","LOAD_ESTUDANTE_ENADE_IN_PROGRESS","LOAD_ESTUDANTE_ENADE_SUCCESS","LOAD_ESTUDANTE_ENADE_FAILURE","CLEAR_ESTUDANTES","CLEAR_ESTUDANTES_FORMANDOS","ADD_LIVRO_REGISTRO_FAILURE","LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_IN_PROGRESS","LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_SUCCESS","LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_FAILURE","LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_IN_PROGRESS","LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_SUCCESS","LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_FAILURE","SET_SELECTED_REGISTROS_IN_PROGRESS","SET_SELECTED_REGISTROS_SUCCESS","SET_SELECTED_REGISTROS_FAILURE","initialState","livros","loading","error","reconhecimentos","registros","registro","estudante","estudantes","estudantesFormandos","datasColacao","ufs","municipios","campus","anos","anotacoes","enade","registrosSelecionados","registrosSelecionadosDados","curso","cursosGraus","cursoFormacoes","cursoTitulacoes","cursoReconhecimentos","iesEmissora","iesRegistradora","autorizacoes","reducers","state","arguments","length","undefined","action","type","payload","ActionTypes","Swal","close","fire","icon","title","html","showConfirmButton","timer","livro","newState","concat","id","filter","livroID","showCancelButton","allowOutsideClick","willOpen","showLoading","ADD_RECONHECIMENTO_REGISTRO","reconhecimento","REMOVE_RECONHECIMENTO_REGISTRO","reconhecimentoID","registroId","obj","find","x","registroID","index","indexOf","fill","cancelado","ADD_REGISTRO","REMOVE_REGISTRO","onBeforeOpen","estudantesFormandosss","cursos","graus","ies","persistConfig","key","storage","stateReconciler","autoMergeLevel2","rootReducer","combineReducers","persistedReducer","persistReducer","registerLocale","ptBR","ConsultaPublicaFiltro","React","constructor","props","super","this","dataInicio","dataFim","handleInputChange","bind","handleInputChangeDate","handleSubmit","verTodos","date","name","Date","setState","handleInputChangeDate2","event","target","value","redireciona","preventDefault","render","className","onSubmit","Row","Form","Label","DatePicker","locale","selected","dateFormat","onChange","Button","onClick","apiAxios","axios","create","baseURL","process","options","headers","async","getDisciplinasComPendencia","rga","url","get","then","resp","data","catch","ex","console","log","fetchRegistros","fetchRegistrosDiplomaDigitalEmitido","getRegistroAnotacoesPorID","gravarDataPublicacaoRegistro","newData","post","cancelarRegistro","dadosCancelamento","revogarCancelamentoRegistro","dadosRevogarCancelamento","fetchRegistrosPorPeriodo","DataInicio","DataFim","TextField","styled","input","_templateObject","_taggedTemplateLiteral","ClearButton","_templateObject2","FilterComponent","_ref","filterText","onFilter","onClear","createElement","Fragment","placeholder","ButtonDetalhes","Link","to","columns","selector","sortable","maxWidth","cell","ignoreRowClick","allowOverflow","button","BasicTable","setFilterText","useState","resetPaginationToggle","setResetPaginationToggle","filteredItems","item","nomeDiplomado","toLowerCase","includes","cpf","subHeaderComponentMemo","useMemo","e","handleClear","DataTable","keyField","pagination","paginationResetDefaultPage","subHeader","subHeaderComponent","noDataComponent","paginationComponentOptions","rowsPerPageText","persistTableHead","Clicked","ConsultaPublica","exportarConsultaExterna","params","queryString","parse","location","search","buscaDto","JSON","stringify","responseType","response","fileNameServidor","split","fileName","window","URL","createObjectURL","Blob","link","document","href","setAttribute","click","Mensagem","history","push","componentDidUpdate","prevProps","prevState","api","componentDidMount","dataInicioFormatada","format","dataFimFormatada","Card","Title","Body","TabelaRegistro","Col","variant","style","marginLeft","displayName","RegistroPublicoAnuladoDetalhe","LocalizarDiploma","RedirectToConsultarDiploma","codigoValidacao","RedirectToConsultaPublica","recaptchaRef","match","recaptchaValue","current","getValue","isCaptchaValid","captcha","result","localStorage","setItem","lg","ReCAPTCHA","ref","sitekey","AcoesRegistro","ListGroup","as","fontSize","Item","DiplomadoDados","DiplomadoDadosReduzidos","_props$diplomado$cpf","_props$diplomado$cpf2","diplomado","nome","substring","DiplomadoDadosCompleto","mostrarReduzido","nacionalidade","FormatDate","dataNascimento","dataArray","rg","naturalidade","EnderecoDados","_this$props$dados$cod","_this$props$dados","_this$props$dados2","_this$props$dados2$mu","_ref2","_this$props$dados$nom","_this$props$dados3","_this$props$dados4","_this$props$dados4$mu","_ref3","_this$props$dados$uf","_this$props$dados5","_this$props$dados6","_this$props$dados6$mu","tipo","dados","logradouro","numero","complemento","bairro","codigoMunicipio","municipio","nomeMunicipio","uf","cep","AtoRegulatorioDados","DataPublicacao","dataPublicacao","SecaoPublicacao","secaoPublicacao","PaginaPublicacao","paginaPublicacao","veiculoPublicacao","numeroPublicacao","numeroDOU","CursoDados","CursoDadosReduzidos","dadosCurso","nomeCurso","codigoCursoEMEC","CursoDadosCompleto","nomeHabilitacao","habilitacao","modalidade","_props$dadosCurso$tit","tituloConferido","titulo","_props$dadosCurso$tit2","outroTitulo","_props$dadosCurso$tit3","grauConferido","enderecoCurso","autorizacaoCurso","reconhecimentoCurso","cnpjMask","replace","cpfMask","IrPortal","host","currentURL","localizador","IESDados","IesDadosReduzidos","codigoEmec","codigoMEC","IesDadosCompleto","cnpj","endereco","credenciamento","recredenciamento","mantenedora","razaoSocial","enderecoMantenedora","IESEmissoraDados","IESRegistradoraDados","connect","responsavelRegistro","paddingBottom","Nome","paddingTop","IDouNumeroMatricula","iDouNumeroMatricula","LivroRegistroDados","livroRegistro","numeroRegistro","processoDoDiploma","dataColacaoGrau","dataExpedicaoDiploma","dataRegistroDiploma","ResponsavelRegistroDiploma","SituacaoRegistro","DiplomaStatus","isAtivo","AnotacoesVazio","AnotacoesLista","map","anotacao","registroAnotacaoID","justificativa","dataJustificativa","responsavel","responsavelDocumento","at","Anotacoes","isCancelado","ConsultarDiploma","iesEmissoraEndereco","iesEmissoraCredenciamento","iesEmissoraRecredenciamento","iesEmissoraMantenedora","iesEmissoraMantenedoraEndereco","iesRegistradoraEndereco","iesRegistradoraCredenciamento","iesRegistradoraRecredenciamento","iesRegistradoraMantenedora","iesRegistradoraMantenedoraEndereco","ingressoCurso","RedirectToLocalizarDiploma","getItem","removeItem","diploma","infDiploma","dadosDiploma","autorizacao","dadosRegistro","documentacaoAcademicaRegistro","registroReq","dadosPrivadosDiplomado","DadosDiplomaAnulado","DadosCompletosDiploma","iesEmissoraDados","iesRegistradoraDados","DadosDiploma","Breadcrumb","active","Home","CarregarUsuario","usuario","sessionStorage","matricula","cargo","token","startsWith","onRemovePressed","row","handleButtonClick","loadAnotacoesFailure","loadRegistroPorIdFailure","loadRegistrosInProgress","loadRegistrosSuccess","loadRegistrosFailure","loadEstudantesFormandosFailure","loadEstudantesFailure","loadAtosRegulatoriosReconhecimentosFailure","loadLivrosFailure","removeLivroRegistroFailure","codigoErro","addNovaDataPublicacao","addNovoRegistroFailure","clearEstudantesFormandosInProgress","loadMunicipiosFailure","loadAtosRegulatoriosAutorizacaoCursoFailure","displayAlert","alert","loadLivros","dispatch","getState","actions","removeLivroRequest","delete","status","request","message","clearEstudantesFormandos","loadEstudantesFormandos","dto","validaHistoricoEstudantes","loadEstudantes","dataColacaoId","Promise","all","aluno","registroDiplomaAtivo","disciplinas","sigaRGAAluno","historico","loadRegistros","loadRegistrosPeriodo","fetchRegistrosPeriodo","setSelectedRegistros","loadRegistro","loadAnotacoes","loadAtosRegulatoriosComVinculosCursosReconhecimentos","loadAtosRegulatoriosComVinculosCursosAutorizacao","addNovaDataPublicacaoEmLoteRequest","ids","a","Registros","cancelarRegistroRequest","Number","revogaCancelamentoRegistroRequest","addNovoRegistroRequest","loadAnos","ano","getFullYear","i","loadMunicipios","NaturalUF","LivroRegistroConsulta","TabelaLivro","LivroRegistroForm","RedirectToConsultLivros","salvarLivro","novoLivro","isEmpty","prop","hasOwnProperty","Formik","initialValues","validate","values","errors","text","setSubmitting","touched","isSubmitting","Group","sm","md","ld","controlId","Field","maxLength","required","ErrorMessage","component","LivroRegistroDetalhe","livroId","handleExcluir","renderTooltip","Tooltip","Object","assign","ActionButtonsCancelado","OverlayTrigger","placement","delay","show","hide","overlay","atoRegulatorioUid","ActionButtons","sort","reverse","dateTimeArray","conditionalRowStyles","when","backgroundColor","ReconhecimentoConsulta","TabelaAtosReconhecimentos","urls","GET_DADOS_ESTUDANTE","GET_CURSO_POR_ID","GET_CURSO_POR_SIGA_ID","GET_CURSO_FORMACOES","GET_CURSO_TITULACOES","GET_CURSO_RECONHECIMENTOS","GET_CURSO_RECONHECIMENTOS_POR_CURSO","GET_MUNICIPIOS","GET_DADOS_ENADE_ESTUDANTE","GET_CURSOS_GRAUS","GET_UFS","GET_IES","GET_LIVROS","POST_NOVO_REGISTRO","GET_SIGA_TODOS_CAMPUS","GET_SIGA_DATAS_COLACAO","GET_COLACAO_ESTUDANTES","GET_CURSOS_ATIVOS","POST_NOVA_TITULACAO_CURSO","POST_NOVA_FORMACAO_CURSO","NOVO_VINCULO_RECONHECIMENTO_CURSO","NOVO_VINCULO_RECONHECIMENTO_CURSO_EM_LOTE","NOVO_VINCULO_AUTORIZACAO_CURSO_EM_LOTE","NOVO_VINCULO_AUTORIZACAO_CURSO","EXCLUI_VINCULO_RECONHECIMENTO_CURSO","EXCLUI_VINCULO_AUTORIZACAO_CURSO","GET_CURSO_VINCULADOS_RECONHECIMENTO_CURSOS","GET_CURSO_VINCULADOS_AUTORIZACAO_CURSOS","CANCELA_ATO_REGULATORIO","CANCELA_ATO_REGULATORIO_POR_ID","GET_TIPOS_ATO_REGULATORIO","GET_ATO_REGULATORIO_TIPOS","GET_DADOS_ATO_REGULATORIO","GET_ATO_REGULATORIO","NOVO_ATO_REGULATORIO","POST_ATO_REGULATORIO","GET_AUTORIZACAO_CURSOS_POR_CURSO","GET_REGISTRO_SITUACAO","GET_LISTA_DIPLOMAS_ANULADOS","GERAR_LISTA_DIPLOMAS_ANULADOS","GET_XML_LISTA_DIPLOMAS_ANULADOS","GET_LISTAS_DIPLOMAS_ANULADOS","GET_XML_LISTA_DIPLOMAS_ANULADOS_POR_ID","GET_ASSINATURAS","reconhecimentosCursos","updateListReconhecimentoCursos","reconhecimentoCursoUid","showDenyButton","confirmButtonText","denyButtonText","isConfirmed","apiURLs","isDenied","Option","components","checked","isSelected","label","NovoReconhecimentoCursoForm","salvarReconhecimentoCurso","cursosIds","CursoID","novoReconhecimentoCurso","AtoRegulatorioUid","ProcessoReconhecimento","CursosUid","test","listOfObjects","listOfGroupedObjects","forEach","element","singleObj","codigoInterno","cursoMec","sigla","grau","descricao","cursoID","hasGroup","newOptions","groupedObj","resetForm","Habilitacao","setFieldValue","ReactSelect","isMulti","closeMenuOnSelect","hideSelectedOptions","option","allowSelectAll","ReconhecimentoForm","RedirectToConsultaReconhecimentos","salvarReconhecimento","TipoAtoRegulatorioUid","Data","Numero","NumeroPublicacao","VeiculoPublicacao","TipoCadastro","novoReconhecimento","setAtoRegulatorio","tipoAtoRegulatorioUid","color","tiposAtoRegulatorio","tipoAtoId","ReconhecimentoNovo","setTiposAtoRegulatorio","setCursos","ReconhecimentoEdita","ReconhecimentoDetalhe","atoRegulatorio","ReconhecimentoExclui","ReconhecimentoVinculaCursos","ReconhecimentosCursos","updateCursosNeed","setReconhecimentoCursos","TabelaReconhecimentosCursos","ReconhecimentoVerDetalhe","Alert","TabelaReconhecimentoCursosVisualizacao","onSelected","ButtonsRegistroCancelado","revogado","ButtonsRegistroAtivo","suspenso","assinado","segundaVia","selectedData","setSelectedData","toggledClearRows","setToggleClearRows","contextActions","handleSelected","handleSelectedRegistros","size","marginRight","disabled","handleClearRows","selectableRows","onSelectedRowsChange","selectedRows","clearSelectedRows","RegistroConsultaFiltro","RegistroConsulta","exportarExtratoDOUPDF","exportarExtratoDOUDOC","open","getDadosListaDiplomasAnulados","listaDiplomasAnuladosDataCriacao","dataCriacao","listaDiplomasAnuladosDataMaximaProximaAtualizacao","dataMaximaProximaAtualizacao","aria-controls","aria-expanded","Collapse","in","dimension","onCreatePressed","addNovaDataPublicacaoRequest","RegistroID","registroDOUData","useHistory","inputValue","setInputValue","GravarPublicacao","GravarPublicacaoForm","motivoId","dataRegistro","motivos","revogarOuSuspender","selectValue","setSelectValue","acao","setAcao","Control","registroMotivoAnulacaoUID","rows","cols","CancelarRegistro","renderAvisoRevogacaoOuSuspensao","situacaoEnvioId","getSituacaoRegistro","getMotivos","handleRedirect","chamarApi","revogarRegistro","suspenderRegistro","_this$props$registro$","_this$props$registro","_this$props$registro$2","_this$props$registro$3","_this$props$registro2","_this$props$registro3","_this$props$registro$4","_this$props$registro4","_this$props$registro5","CancelarRegistroForm","ReativarRegistro","reativarRegistro","RevogaCancelamentoRegistro","dadosRevogar","RevogaCancelamentoRegistroForm","ButtonRegistroDisponivel","_props$historico","center","sigaNomeALuno","sigaNomePCurso","String","OptionSelectDatasColacao","sigaTipoColacao","sigaIdDataColacao","sigaDataColacao","ConsultaFormandosFiltroForm","anoURL","campusId","campusIdURL","dataColacaoIdURL","setFirstDataColacaoId","setCampus","setDatasColacao","campusID","datas","getElementById","ConsultarFormandos","TabelaEstudantes","dataColacaoGrau1","trigger","Popover","Content","disciplina","_disciplina$periodoLe","_disciplina$periodoLe2","_disciplina$docentes","codigoDisciplina","nomeDisciplina","periodoLetivo","slice","docentes","situacao","dateArray","ConsultaIndividualFormandosFiltroForm","handleLimpaBusca","regexpOnlyNumber","dadosBuscaEstudanteFormando","Rga","Cpf","handleFormSubmit","handleLimparBusca","min","ConsultaIndividualFormandos","TabelaEstudanteFormando","trim","CursoConsulta","TabelaCurso","formacoes","updateListFormacoes","formacao","cursoFormacaoID","CursoFormacaoConsulta","TabelaCursoFormacao","RegistroConsultarAntigo","Component","RegistroLocalizarAntigo","str","splitStr","charAt","toUpperCase","join","titulacoes","updateListTitulacoes","titulacao","cursoTitulacaoID","CursoTitulacaoForm","salvarCursoTitulacao","novaTitulacao","CursoTitulacaoF","TitulacaoFeminino","CursoTitulacaoM","TitulacaoMasculino","CursoId","cursoId","CursoFormacaoForm","salvarCursoFormacao","novaFormacao","Formacao","autorizacaoCursos","GerenciarCurso","RedirectToConsultaAutorizacoes","AutorizacaoCursos","updateTitulacaoNeed","updateFormacaoNeed","setTitulacoes","setFormacoes","setReconhecimentos","setAutorizacaoCursos","_this$state$curso$cur","_this$state$curso","_this$state$curso$cur2","_this$state$curso$cur3","_this$state$curso2","_this$state$curso2$cu","_this$state$curso$cur4","_this$state$curso$cur5","_this$state$curso$cur6","_this$state$curso$mod","_this$state$curso$mod2","_this$state$curso$tur","_this$state$curso3","_this$state$curso3$tu","_this$state$curso$per","_this$state$curso4","_this$state$curso4$pe","_this$state$curso$reg","_this$state$curso5","_this$state$curso5$re","titleCase","turno","periodicidade","regime","TabelaCursoTitulacao","TabelaCursoReconhecimentosVisualizacao","TabelaAutorizacaoCursoVisualizacao","DocumentoIdentificacaoEstudante","Nacionalidade","handleChange","RGNumero","RGUF","ufuid","RGOrgaoExpedidor","OutroDocumentoIdentificacaoIdentificador","OutroDocumentoIdentificacaoTipoDocumento","NaturalidadeEstudante","NaturalidadeUF","NomeMunicipioEstrangeiro","NaturalidadeCodigoMunicipio","Array","isArray","municipioUID","RegistroNovoCamposDiplomado","currentStep","Header","ID","NomeSocial","Sexo","CPF","DataNascimento","RegistroNovoCamposDadosCurso","_this$props$Habilitac","NomeCurso","Modalidade","readOnly","CodigoCursoEMEC","Grau","grauID","CursoFormacao","htmlFor","TituloConferido","sexo","ReconhecimentoID","processoReconhecimento","EnderecoCurso","AutorizacaoCurso","RegistroNovoCamposLivroRegistro","LivroRegistro","Processo","DataColacao","DataExpedicao","DataRegistro","RegistroNovoCamposFiliacao","NomeMae","SexoMae","NomePai","SexoPai","RegistroNovoCamposHistoricoEscolar","SituacaoAlunoHistorico","CargaHorariaCurso","CargaHorariaCursoIntegralizada","SituacaoENADEIngressante","SituacaoENADEConcluinte","SituacaoENADE","DataEmissaoHistorico","RegistroNovoCamposIngressoCurso","FormaAcesso","TipoIngressoDescricao","DataIngresso","DataConclusao","RegistroNovoIESEmissora","RegistroNovoIESRegistradora","RegistroNovoCamposAdicionais","Observacao","RegistroNovoCamposIESEmissora","RegistroNovoCamposIESRegistradora","RegistroAssinaturas","setAssinanteDadosRegistro","assinaturaDadosRegistro","updateAssinanteDadosRegistro","removeAssinanteDadosRegistro","setAssinanteDiploma","assinaturasDiploma","updateAssinanteDiploma","removeAssinanteDiploma","AssinaturaForm","updateAssinante","removeAssinante","marginBottom","padding","borderRadius","borderStyle","borderWidth","borderColor","_e$target$value","_e$target$value2","_e$target$value3","RegistroNovoForm","campo","valor","setAssinanteDadosRegistroP","setAssinanteDiplomaP","salvarRegistroAPI","Naturalidade","_this$state$NomeMunic","_this$state$Naturalid","CodigoMunicipio","NomeMunicipio","NaturalidadeNomeMunicipio","UF","RG","OrgaoExpedidor","outroDocumentoIdentificacao","Identificador","TipoDocumento","Diplomado","OutroDocumentoIdentificacao","Titulo","OutroTitulo","DadosCurso","GrauConferido","Filiacao","IngressoCurso","ProcessoDoDiploma","ResponsavelRegistro","LivroID","DataColacaoGrau","DataExpedicaoDiploma","DataRegistroDiploma","TermoResponsabilidade","Cargo","IesEmissoraId","IesRegistradoraId","SituacaoAluno","SegundaVia","AssinaturasDiploma","AssinaturasRegistro","registroDto","RedirectToConsultaRegistros","error3","validated","isLoading","cursoDados","iesEmissoraId","iesRegistradoraId","NomeSocialMae","NomeSocialPai","stepFinal","showHabilitacao","_next","_prev","novoRegistro","setDiplomado","setUFs","setIESEmissora","setIESRegistradora","setAssinaturas","urlDadosRegistro","urlDiploma","r","_result$data$naturalU","_result$data$natural","naturalidadeUF","naturalUF","nomeSocial","naturalMunicipioUID","natural","identidade","identidadeExpeditor","identidadeUF","nomeMae","nomePai","tipoIngressoDescricao","dataIngresso","ocorrencia","ocorrenciaData","setCurso","setMunicipios","setEnade","setDatas","setFormaAcesso","dataColacaoGrau2","getMonth","getDate","setCursosGraus","some","el","setLivrosRegistro","campusUID","estudanteLivro","g","c","codCurso","setCursoFormacoes","setCursoReconhecimentos","setCursoTitulacoes","url2","reconhecimentosOrdenadosPorDataRecente","b","cargaHorariaCurso","cargaHorariaCursada","enadeIngressante","enadeConcluiente","regexpProcess","regexpOnlyLetter","regexpRG","reconhecimentoId","inicio","scrollTo","offsetTop","_this$state$Naturalid2","registrarButton","nextButton","previousButton","onReloadMunicipios","RegistroNovo","iesEmissoraInstituicaoID","iesRegistradoraInstituicaoID","borderLeft","createHistory","CadastrarDocumento","getDocumentos","isLoadingDocumentosEnviado","documentos","getTiposDocumentos","tipos","tipoId","documentoTipoId","observacao","ExcluirDocumento","splice","EnviarHistoricoApp","form","FormData","append","toString","limparArquivo","ret","mensagem","DownloadDocumento","guid","method","limparAluno","arquivoName","arquivo","setArquivo","CheckTamanho","getEstudante","renderDocumentos","Table","striped","bordered","hover","doc","arquivoGuid","renderTipos","selectedIndex","accept","display","files","docsObrigatorios","file","tamanho","class","plaintext","defaultValue","Spinner","animation","Stpes","div","Step","StepContent","_templateObject3","InnerCircle","_templateObject4","TimeLine","itens","texto","Menu","menus","m","path","desc","exibirMensagemAguarde","EnviarConector","situacaoId","setSituacaoId","situacaoDesc","setSituacaoDesc","situacoes","setSituacoes","dataInicial","setDataInicial","dataFinal","setDataFinal","setNome","setRegistros","setRga","exibirEnvio","setExibirEnvio","processando","setProcessando","registrosEnviados","setRegistrosEnviados","useEffect","toggleItens","updatedRegistros","selecionado","atualizarStatus","selecionados","put","reload","enviarDiplomaDigital","envio","success","_ex$request$response","_ex$request","_ex$request2","enviarDocumentacaoAcademica","resultValidacao","envioOk","urlConector","documentType","acesso","config","Authorization","documentoUID","documentId","registroUID","situacaoUID","yourNumber","meta","_ex$response","_ex$response$data","_ex$response$data$err","_ex$response2","_ex$response2$data","_ex$response2$data$er","erroJson","TipoXml","validationErrors","details","role","responsive","reg","innerHTML","toISOString","exibirMensagemErro","_error$request","jsonError","jsonErrorDetail","exibirOpcoesDeControles","menuControles","menu","Check","selecionarItem","DetalheConector","parseInt","downloadPDF","downloadXML","tipoDesc","downloadPreviaXMLSemAssinaturas","erros","documento","situacaoConector","situacaoAnterior","situacaoAtual","dataHora","info","assinaturas","assinatura","arquivamento","tag","erro","xml","ValidarDiploma","validarDiploma","codigo","dataConclusao","dataExpedicao","valido","resultado","iconDiploma","width","height","viewBox","xmlns","y","rx","d","cx","cy","Download","renderResultado","paddingLeft","motivoAnulacao","estado","AtoRegulatorioForm","RedirectToConsultaAutorizacaoCursos","salvar","novo","AutorizacaoCursoNovo","AutorizacaoCursoConsulta","TabelaAtosAutorizacao","AutorizacaoCursoEdita","AtoRegulatorioDetalhe","AutorizacaoCursoVerDetalhe","TabelaAutorizacaoCursosVisualizacao","AutorizacaoCursoExclui","RedirectToConsultaAutorizacaoCurso","updateListAutorizacaoCursos","NovoAutorizacaoCursoForm","AutorizacaoVinculaCursos","TabelaAutorizacaoCursos","GravarPublicacaoEmLoteForm","VerCancelamentoRegistro","diplomasAnulados","onDownloadXMLPressed","controleDiplomasAnuladosUID","sequencia","numeroDeSequencia","DiplomaListaAnulados","listaAtualDiplomasAnulados","getListas","gerarNovaLista","TabelaDiplomaListaAnulados","App","Layout","nomeSistema","usuarioLogado","urlSair","urlPerfil","Router","basename","Switch","Route","LivroRegistroExclui","LivroRegistroNovo","GravarPublicacaoEmLote","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","rootElement","store","createStore","composeWithDevTools","applyMiddleware","thunk","persistor","persistStore","ReactDOM","Provider","PersistGate","origin","addEventListener","fetch","contentType","ready","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.fffd2759.chunk.js","sourcesContent":["const types = {\n FAILURE: 'FAILURE',\n GET_REGISTROS: 'GET_REGISTROS',\n GET_REGISTRO_POR_ID: 'GET_REGISTRO_POR_ID',\n GET_REGISTRO_POR_RGA: 'GET_REGISTRO_POR_RGA',\n GET_DADOS_REGISTRO_POR_ID: 'GET_DADOS_REGISTRO_POR_ID',\n GET_DADOS_REGISTRO_POR_RGA: 'GET_DADOS_REGISTRO_POR_RGA',\n ADD_LIVRO_REGISTRO: 'ADD_LIVRO_REGISTRO',\n LOAD_LIVROS_IN_PROGRESS: 'LOAD_LIVROS_IN_PROGRESS',\n LOAD_LIVROS_SUCCESS: 'LOAD_LIVROS_SUCCESS',\n LOAD_LIVROS_FAILURE: 'LOAD_LIVROS_FAILURE',\n EDIT_LIVRO_REGISTRO: 'EDIT_LIVRO_REGISTRO',\n GET_LIVROS_REGISTRO: 'GET_LIVROS_REGISTRO',\n GET_LIVRO_REGISTRO: 'GET_LIVRO_REGISTRO',\n REMOVE_LIVRO_REGISTRO: 'REMOVE_LIVRO_REGISTRO',\n REMOVE_LIVRO_REGISTRO_FAILURE: 'REMOVE_LIVRO_REGISTRO_FAILURE',\n LOAD_RECONHECIMENTOS_IN_PROGRESS: 'LOAD_RECONHECIMENTOS_IN_PROGRESS',\n LOAD_RECONHECIMENTOS_SUCCESS: 'LOAD_RECONHECIMENTOS_SUCCESS',\n LOAD_RECONHECIMENTOS_FAILURE: 'LOAD_RECONHECIMENTOS_FAILURE',\n LOAD_REGISTROS_SELECIONADOS_IN_PROGRESS: 'LOAD_REGISTROS_SELECIONADOS_IN_PROGRESS',\n LOAD_REGISTROS_SELECIONADOS_SUCCESS: 'LOAD_REGISTROS_SELECIONADOS_SUCCESS',\n LOAD_REGISTROS_SELECIONADOS_FAILURE: 'LOAD_REGISTROS_SELECIONADOS_FAILURE',\n LOAD_REGISTROS_IN_PROGRESS: 'LOAD_REGISTROS_IN_PROGRESS',\n LOAD_REGISTROS_SUCCESS: 'LOAD_REGISTROS_SUCCESS',\n LOAD_REGISTROS_FAILURE: 'LOAD_REGISTROS_FAILURE',\n LOAD_REGISTRO_POR_ID_IN_PROGRESS: 'LOAD_REGISTRO_POR_ID_IN_PROGRESS',\n LOAD_REGISTRO_POR_ID_SUCCESS: 'LOAD_REGISTRO_POR_ID_SUCCESS',\n LOAD_REGISTRO_POR_ID_FAILURE: 'LOAD_REGISTRO_POR_ID_FAILURE',\n LOAD_ANOTACOES_IN_PROGRESS: 'LOAD_ANOTACOES_IN_PROGRESS',\n LOAD_ANOTACOES_SUCCESS: 'LOAD_ANOTACOES_SUCCESS',\n LOAD_ANOTACOES_FAILURE: 'LOAD_ANOTACOES_FAILURE',\n ADD_NOVA_DATA_PUBLICACAO_LOTE_REGISTRO: 'ADD_NOVA_DATA_PUBLICACAO_LOTE_REGISTRO',\n ADD_NOVA_DATA_PUBLICACAO_REGISTRO: 'ADD_NOVA_DATA_PUBLICACAO_REGISTRO',\n CANCELA_REGISTRO: 'CANCELA_REGISTRO',\n REVOGA_CANCELAMENTO_REGISTRO: 'REVOGA_CANCELAMENTO_REGISTRO',\n LOAD_ESTUDANTES_FORMANDOS_IN_PROGRESS: 'LOAD_ESTUDANTES_FORMANDOS_IN_PROGRESS',\n LOAD_ESTUDANTES_FORMANDOS_SUCCESS: 'LOAD_ESTUDANTES_FORMANDOS_SUCCESS',\n LOAD_ESTUDANTES_FORMANDOS_FAILURE: 'LOAD_ESTUDANTES_FORMANDOS_FAILURE',\n LOAD_ESTUDANTES_IN_PROGRESS: 'LOAD_ESTUDANTES_IN_PROGRESS',\n LOAD_ESTUDANTES_SUCCESS: 'LOAD_ESTUDANTES_SUCCESS',\n LOAD_ESTUDANTES_FAILURE: 'LOAD_ESTUDANTES_FAILURE',\n LOAD_DADOS_FORMANDO_IN_PROGRESS: 'LOAD_DADOS_FORMANDO_IN_PROGRESS',\n LOAD_DADOS_FORMANDO_SUCCESS: 'LOAD_DADOS_FORMANDO_SUCCESS',\n LOAD_DADOS_FORMANDO_FAILURE: 'LOAD_DADOS_FORMANDO_FAILURE',\n ADD_NOVO_REGISTRO: 'ADD_NOVO_REGISTRO',\n ADD_NOVO_REGISTRO_IN_PROGRESS: 'ADD_NOVO_REGISTRO_IN_PROGRESS',\n ADD_NOVO_REGISTRO_SUCCESS: 'ADD_NOVO_REGISTRO_SUCCESS',\n ADD_NOVO_REGISTRO_FAILURE: 'ADD_NOVO_REGISTRO_FAILURE',\n LOAD_CAMPUS_IN_PROGRESS: 'LOAD_CAMPUS_IN_PROGRESS',\n LOAD_CAMPUS_SUCCESS: 'LOAD_CAMPUS_SUCCESS',\n LOAD_CAMPUS_FAILURE: 'LOAD_CAMPUS_FAILURE',\n LOAD_ANOS_IN_PROGRESS: 'LOAD_ANOS_IN_PROGRESS',\n LOAD_ANOS_SUCCESS: 'LOAD_ANOS_SUCCESS',\n LOAD_ANOS_FAILURE: 'LOAD_ANOS_FAILURE',\n LOAD_DATAS_COLACAO_IN_PROGRESS: 'LOAD_DATAS_COLACAO_IN_PROGRESS',\n LOAD_DATAS_COLACAO_SUCCESS: 'LOAD_DATAS_COLACAO_SUCCESS',\n LOAD_DATAS_COLACAO_FAILURE: 'LOAD_DATAS_COLACAO_FAILURE',\n LOAD_UFS_IN_PROGRESS: 'LOAD_UFS_IN_PROGRESS',\n LOAD_UFS_SUCCESS: 'LOAD_UFS_SUCCESS',\n LOAD_UFS_FAILURE: 'LOAD_UFS_FAILURE',\n LOAD_MUNICIPIOS_IN_PROGRESS: 'LOAD_MUNICIPIOS_IN_PROGRESS',\n LOAD_MUNICIPIOS_SUCCESS: 'LOAD_MUNICIPIOS_SUCCESS',\n LOAD_MUNICIPIOS_FAILURE: 'LOAD_MUNICIPIOS_FAILURE',\n LOAD_CURSO_IN_PROGRESS: 'LOAD_CURSO_IN_PROGRESS',\n LOAD_CURSO_SUCCESS: 'LOAD_CURSO_SUCCESS',\n LOAD_CURSO_FAILURE: 'LOAD_CURSO_FAILURE',\n LOAD_CURSOS_GRAUS_IN_PROGRESS: 'LOAD_CURSOS_GRAUS_IN_PROGRESS',\n LOAD_CURSOS_GRAUS_SUCCESS: 'LOAD_CURSOS_GRAUS_SUCCESS',\n LOAD_CURSOS_GRAUS_FAILURE: 'LOAD_CURSOS_GRAUS_FAILURE',\n LOAD_CURSO_FORMACOES_IN_PROGRESS: 'LOAD_CURSOS_FORMACOES_IN_PROGRESS',\n LOAD_CURSO_FORMACOES_SUCCESS: 'LOAD_CURSOS_FORMACOES_SUCCESS',\n LOAD_CURSO_FORMACOES_FAILURE: 'LOAD_CURSOS_FORMACOES_FAILURE',\n LOAD_CURSO_TITULACOES_IN_PROGRESS: 'LOAD_CURSOS_TITULACOES_IN_PROGRESS',\n LOAD_CURSO_TITULACOES_SUCCESS: 'LOAD_CURSOS_TITULACOES_SUCCESS',\n LOAD_CURSO_TITULACOES_FAILURE: 'LOAD_CURSOS_TITULACOES_FAILURE',\n LOAD_CURSO_RECONHECIMENTOS_IN_PROGRESS: 'LOAD_CURSO_RECONHECIMENTOS_IN_PROGRESS',\n LOAD_CURSO_RECONHECIMENTOS_SUCCESS: 'LOAD_CURSO_RECONHECIMENTOS_SUCCESS',\n LOAD_CURSO_RECONHECIMENTOS_FAILURE: 'LOAD_CURSO_RECONHECIMENTOS_FAILURE',\n LOAD_IES_EMISSORA_IN_PROGRESS: 'LOAD_IES_EMISSORA_IN_PROGRESS',\n LOAD_IES_EMISSORA_SUCCESS: 'LOAD_IES_EMISSORA_SUCCESS',\n LOAD_IES_EMISSORA_FAILURE: 'LOAD_IES_EMISSORA_FAILURE',\n LOAD_IES_REGISTRADORA_IN_PROGRESS: 'LOAD_IES_REGISTRADORA_IN_PROGRESS',\n LOAD_IES_REGISTRADORA_SUCCESS: 'LOAD_IES_REGISTRADORA_SUCCESS',\n LOAD_IES_REGISTRADORA_FAILURE: 'LOAD_IES_REGISTRADORA_FAILURE',\n LOAD_ESTUDANTE_ENADE_IN_PROGRESS: 'LOAD_ESTUDANTE_ENADE_IN_PROGRESS',\n LOAD_ESTUDANTE_ENADE_SUCCESS: 'LOAD_ESTUDANTE_ENADE_SUCCESS',\n LOAD_ESTUDANTE_ENADE_FAILURE: 'LOAD_ESTUDANTE_ENADE_FAILURE',\n CLEAR_ESTUDANTES: 'CLEAR_ESTUDANTES',\n CLEAR_ESTUDANTES_FORMANDOS: 'CLEAR_ESTUDANTES_FORMANDOS',\n ADD_LIVRO_REGISTRO_FAILURE: 'ADD_LIVRO_REGISTRO_FAILURE',\n LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_IN_PROGRESS: 'LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_IN_PROGRESS',\n LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_SUCCESS: 'LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_SUCCESS',\n LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_FAILURE: 'LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_FAILURE',\n LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_IN_PROGRESS: 'LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_IN_PROGRESS',\n LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_SUCCESS: 'LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_SUCCESS',\n LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_FAILURE: 'LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_FAILURE',\n SET_SELECTED_REGISTROS_IN_PROGRESS: 'SET_SELECTED_REGISTROS_IN_PROGRESS',\n SET_SELECTED_REGISTROS_SUCCESS: 'SET_SELECTED_REGISTROS_SUCCESS',\n SET_SELECTED_REGISTROS_FAILURE: 'SET_SELECTED_REGISTROS_FAILURE',\n}\n\nexport default types\n","import ActionTypes from './actionTypes'\nimport Swal from 'sweetalert2'\n\nconst initialState = {\n livros: [],\n loading: false,\n error: null,\n}\n\nexport default function livroReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case ActionTypes.FAILURE: {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n return {\n ...state,\n loading: false,\n }\n }\n case ActionTypes.ADD_LIVRO_REGISTRO: {\n Swal.close()\n Swal.fire({\n icon: 'success',\n title:\n 'Livro de registro cadastrado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 2000,\n })\n const livro = payload\n const newState = state.livros.concat(livro)\n //history.push('/livros')\n return {\n ...state,\n loading: false,\n livros: newState,\n }\n }\n case ActionTypes.ADD_LIVRO_REGISTRO_FAILURE: {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar livro de registro!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.' +\n ' ' +\n payload\n ? payload\n : '',\n })\n return {\n ...state,\n loading: false,\n livros: state.livros,\n }\n }\n case ActionTypes.REMOVE_LIVRO_REGISTRO: {\n const id = payload\n\n const newState = state.livros.filter(\n (livro) => livro.livroID !== id\n )\n\n Swal.close()\n Swal.fire({\n icon: 'success',\n title: 'Livro de registro excluído com sucesso!',\n showConfirmButton: false,\n timer: 2000,\n })\n return {\n ...state,\n loading: false,\n livros: newState,\n }\n }\n case ActionTypes.REMOVE_LIVRO_REGISTRO_FAILURE: {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao excluir livro de registro!',\n html:\n 'Verifique se o livro possui registros vinculados e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.' +\n ' ' +\n payload\n ? payload\n : '',\n })\n return {\n ...state,\n loading: false,\n livros: state.livros,\n }\n }\n case ActionTypes.LOAD_LIVROS_IN_PROGRESS: {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando livros de registro...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_LIVROS_SUCCESS: {\n Swal.close()\n return {\n ...state,\n loading: false,\n livros: payload.livros,\n }\n }\n case ActionTypes.LOAD_LIVROS_FAILURE: {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao carregar livros de registro!',\n html:\n 'Tente novamente. Se erro persistir entre em contato com o administrador do sistema.',\n })\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n livros: [],\n }\n }\n default:\n return state\n }\n}","import ActionTypes from './actionTypes'\n\nconst initialState = {\n reconhecimentos: [],\n loading: false,\n error: null,\n}\n\nexport default function reconhecimentoReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case ActionTypes.ADD_RECONHECIMENTO_REGISTRO: {\n const reconhecimento = payload\n const newState = state.reconhecimentos.concat(reconhecimento)\n return {\n ...state,\n loading: false,\n reconhecimentos: newState,\n }\n }\n case ActionTypes.REMOVE_RECONHECIMENTO_REGISTRO: {\n const id = payload\n const newState = state.reconhecimentos.filter(\n (reconhecimento) => reconhecimento.reconhecimentoID !== id\n )\n return {\n ...state,\n loading: false,\n reconhecimentos: newState,\n }\n }\n case ActionTypes.LOAD_RECONHECIMENTOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_RECONHECIMENTOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n reconhecimentos: payload.reconhecimentos,\n }\n }\n case ActionTypes.LOAD_RECONHECIMENTOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n reconhecimentos: [],\n }\n }\n case ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n reconhecimentos: payload.reconhecimentos,\n }\n }\n case ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n reconhecimentos: [],\n }\n }\n default:\n return state\n }\n}\n","import ActionTypes from './actionTypes'\nimport Swal from 'sweetalert2'\n\nconst initialState = {\n registros: [],\n loading: false,\n error: null,\n registro: {},\n estudante: {},\n estudantes: [],\n estudantesFormandos: [],\n datasColacao: [],\n ufs: [],\n municipios: [],\n campus: [],\n anos: [],\n anotacoes: [],\n enade: {},\n registrosSelecionados: [],\n registrosSelecionadosDados: []\n}\n\nexport default function registroReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case ActionTypes.REVOGA_CANCELAMENTO_REGISTRO: {\n const registroId = payload\n let obj = state.registros.find((x) => x.registroID === registroId)\n let index = state.registros.indexOf(obj)\n state.registros.fill((obj.cancelado = false), index, index++)\n return {\n ...state,\n loading: false,\n registros: state.registros,\n }\n }\n case ActionTypes.CANCELA_REGISTRO: {\n const registroId = payload\n let obj = state.registros.find((x) => x.registroID === registroId)\n let index = state.registros.indexOf(obj)\n state.registros.fill((obj.cancelado = true), index, index++)\n return {\n ...state,\n loading: false,\n registros: state.registros,\n }\n }\n case ActionTypes.ADD_NOVA_DATA_PUBLICACAO_REGISTRO: {\n return {\n ...state,\n loading: false,\n registros: state.registros,\n }\n }\n case ActionTypes.ADD_REGISTRO: {\n const registro = payload\n const newState = state.registros.concat(registro)\n return {\n ...state,\n loading: false,\n registros: newState,\n }\n }\n case ActionTypes.REMOVE_REGISTRO: {\n const id = payload\n const newState = state.registros.filter(\n (registro) => registro.reconhecimentoID !== id\n )\n return {\n ...state,\n loading: false,\n registros: newState,\n }\n }\n\n case ActionTypes.CLEAR_ESTUDANTES_FORMANDOS: {\n return {\n ...state,\n loading: false,\n estudantesFormandos: [],\n }\n }\n\n case ActionTypes.CLEAR_ESTUDANTES: {\n return {\n ...state,\n loading: false,\n estudantes: [],\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_FORMANDOS_IN_PROGRESS: {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_FORMANDOS_SUCCESS: {\n Swal.close()\n return {\n ...state,\n loading: false,\n estudantesFormandos: payload.estudantes,\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_FORMANDOS_FAILURE: {\n Swal.close()\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n estudantesFormandosss: [],\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_IN_PROGRESS: {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_SUCCESS: {\n Swal.close()\n return {\n ...state,\n loading: false,\n estudantes: payload.estudantes,\n }\n }\n case ActionTypes.LOAD_ESTUDANTES_FAILURE: {\n Swal.close()\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n estudantes: [],\n }\n }\n case ActionTypes.LOAD_ANOTACOES_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ANOTACOES_SUCCESS: {\n return {\n ...state,\n loading: false,\n anotacoes: payload.anotacoes,\n }\n }\n case ActionTypes.LOAD_ANOTACOES_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n anotacoes: [],\n }\n }\n case ActionTypes.LOAD_REGISTROS_IN_PROGRESS: {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_REGISTROS_SUCCESS: {\n Swal.close()\n return {\n ...state,\n loading: false,\n registros: payload.registros,\n }\n }\n case ActionTypes.LOAD_REGISTROS_FAILURE: {\n Swal.close()\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n registros: [],\n }\n }\n case ActionTypes.LOAD_REGISTRO_POR_ID_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_REGISTRO_POR_ID_SUCCESS: {\n return {\n ...state,\n loading: false,\n registro: payload.registro,\n }\n }\n case ActionTypes.LOAD_REGISTRO_POR_ID_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n registro: {},\n }\n }\n\n case ActionTypes.LOAD_DADOS_FORMANDO_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_DADOS_FORMANDO_SUCCESS: {\n return {\n ...state,\n loading: false,\n estudante: payload.estudante,\n }\n }\n case ActionTypes.LOAD_DADOS_FORMANDO_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n estudante: {},\n }\n }\n case ActionTypes.LOAD_CAMPUS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CAMPUS_SUCCESS: {\n return {\n ...state,\n loading: false,\n campus: payload.campus,\n }\n }\n case ActionTypes.LOAD_CAMPUS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n campus: [],\n }\n }\n case ActionTypes.ADD_NOVO_REGISTRO: {\n return {\n ...state,\n loading: false,\n error: false,\n }\n }\n case ActionTypes.ADD_NOVO_REGISTRO_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.ADD_NOVO_REGISTRO_SUCCESS: {\n return {\n ...state,\n loading: false,\n }\n }\n case ActionTypes.ADD_NOVO_REGISTRO_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n }\n }\n case ActionTypes.LOAD_ANOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ANOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n anos: payload.anos,\n }\n }\n case ActionTypes.LOAD_ANOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n anos: [],\n }\n }\n case ActionTypes.LOAD_DATAS_COLACAO_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_DATAS_COLACAO_SUCCESS: {\n return {\n ...state,\n loading: false,\n datasColacao: payload.datasColacao,\n }\n }\n case ActionTypes.LOAD_DATAS_COLACAO_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n datasColacao: [],\n }\n }\n case ActionTypes.LOAD_UFS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_UFS_SUCCESS: {\n return {\n ...state,\n loading: false,\n ufs: payload.ufs,\n }\n }\n case ActionTypes.LOAD_UFS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n ufs: [],\n }\n }\n case ActionTypes.LOAD_MUNICIPIOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_MUNICIPIOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n municipios: payload.municipios,\n }\n }\n case ActionTypes.LOAD_MUNICIPIOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n municipios: [],\n }\n }\n case ActionTypes.LOAD_ESTUDANTE_ENADE_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ESTUDANTE_ENADE_SUCCESS: {\n return {\n ...state,\n loading: false,\n enade: payload.enade,\n }\n }\n case ActionTypes.LOAD_ESTUDANTE_ENADE_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n enade: {},\n }\n }\n case ActionTypes.SET_SELECTED_REGISTROS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.SET_SELECTED_REGISTROS_SUCCESS: {\n return {\n ...state,\n loading: false,\n registrosSelecionados: payload.registrosSelecionados,\n }\n }\n case ActionTypes.SET_SELECTED_REGISTROS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n registrosSelecionados: {},\n }\n }\n case ActionTypes.LOAD_REGISTROS_SELECIONADOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_REGISTROS_SELECIONADOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n registrosSelecionadosDados: payload.registrosSelecionadosDados,\n }\n }\n case ActionTypes.LOAD_REGISTROS_SELECIONADOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n registrosSelecionadosDados: {},\n }\n }\n default:\n return state\n }\n}\n","import ActionTypes from './actionTypes'\n\nconst initialState = {\n curso: {},\n cursosGraus: [],\n cursoFormacoes: [],\n cursoTitulacoes: [],\n cursoReconhecimentos: [],\n loading: false,\n error: null,\n}\n\nexport default function cursoReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case ActionTypes.LOAD_CURSO_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CURSO_SUCCESS: {\n return {\n ...state,\n loading: false,\n curso: payload.curso,\n }\n }\n case ActionTypes.LOAD_CURSO_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n curso: {},\n }\n }\n case ActionTypes.LOAD_CURSOS_GRAUS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CURSOS_GRAUS_SUCCESS: {\n return {\n ...state,\n loading: false,\n cursosGraus: payload.cursosGraus,\n }\n }\n case ActionTypes.LOAD_CURSOS_GRAUS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n graus: [],\n }\n }\n case ActionTypes.LOAD_CURSO_FORMACOES_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CURSO_FORMACOES_SUCCESS: {\n return {\n ...state,\n loading: false,\n cursoFormacoes: payload.cursoFormacoes,\n }\n }\n case ActionTypes.LOAD_CURSO_FORMACOES_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n cursoFormacoes: [],\n }\n }\n case ActionTypes.LOAD_CURSO_TITULACOES_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CURSO_TITULACOES_SUCCESS: {\n return {\n ...state,\n loading: false,\n cursoTitulacoes: payload.cursoTitulacoes,\n }\n }\n case ActionTypes.LOAD_CURSO_TITULACOES_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n cursoTitulacoes: [],\n }\n }\n case ActionTypes.LOAD_CURSO_RECONHECIMENTOS_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_CURSO_RECONHECIMENTOS_SUCCESS: {\n return {\n ...state,\n loading: false,\n cursoReconhecimentos: payload.cursoReconhecimentos,\n }\n }\n case ActionTypes.LOAD_CURSO_RECONHECIMENTOS_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n cursoReconhecimentos: [],\n }\n }\n default:\n return state\n }\n}\n","import ActionTypes from './actionTypes'\n\nconst initialState = {\n iesEmissora: {},\n iesRegistradora: {},\n loading: false,\n error: null,\n}\n\nexport default function iesReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) {\n case ActionTypes.LOAD_IES_EMISSORA_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_IES_EMISSORA_SUCCESS: {\n return {\n ...state,\n loading: false,\n iesEmissora: payload.iesEmissora,\n }\n }\n case ActionTypes.LOAD_IES_EMISSORA_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n iesEmissora: {},\n }\n }\n case ActionTypes.LOAD_IES_REGISTRADORA_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_IES_REGISTRADORA_SUCCESS: {\n return {\n ...state,\n loading: false,\n iesRegistradora: payload.iesRegistradora,\n }\n }\n case ActionTypes.LOAD_IES_REGISTRADORA_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n iesRegistradora: {},\n }\n }\n default:\n return state\n }\n}\n","import ActionTypes from './actionTypes'\n\nconst initialState = {\n autorizacoes: [],\n loading: false,\n error: null,\n}\n\nexport default function autorizacaoReducer(state = initialState, action) {\n const { type, payload } = action\n switch (type) { \n case ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_IN_PROGRESS: {\n return {\n ...state,\n loading: true,\n error: null,\n }\n }\n case ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_SUCCESS: {\n return {\n ...state,\n loading: false,\n autorizacoes: payload.autorizacoes,\n }\n }\n case ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_FAILURE: {\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n autorizacoes: [],\n }\n }\n default:\n return state\n }\n}\n","import { combineReducers, createStore, applyMiddleware } from 'redux'\nimport { persistReducer } from 'redux-persist'\nimport storage from 'redux-persist/lib/storage'\nimport autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2'\nimport thunk from 'redux-thunk'\nimport { composeWithDevTools } from 'redux-devtools-extension'\nimport livros from './store/livroReducer'\nimport reconhecimentos from './store/reconhecimentoReducer'\nimport registros from './store/registroReducer'\nimport cursos from './store/cursoReducer'\nimport ies from './store/iesReducer'\nimport autorizacoes from './store/autorizacaoReducer'\n\nconst reducers = { livros, reconhecimentos, registros, cursos, ies, autorizacoes }\n\nconst persistConfig = {\n key: 'root',\n storage,\n stateReconciler: autoMergeLevel2,\n}\n\nconst rootReducer = combineReducers(reducers)\nconst persistedReducer = persistReducer(persistConfig, rootReducer)\n\nexport const configureStore = () =>\n createStore(persistedReducer, composeWithDevTools(applyMiddleware(thunk)))\n","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { Button, Row, Col, Form } from 'react-bootstrap'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\nclass ConsultaPublicaFiltro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n dataInicio:\n this.props.dataInicio === null ? null : this.props.dataInicio,\n dataFim: null,\n }\n\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleInputChangeDate = this.handleInputChangeDate.bind(this)\n this.handleSubmit = this.handleSubmit.bind(this)\n this.verTodos = this.verTodos.bind(this)\n }\n\n /*componentWillReceiveProps(props) {\n if (this.state.dataInicio == null && props.dataInicio != null) {\n this.setState({ dataInicio: props.dataInicio })\n } else {\n if (this.state.dataInicio != null) {\n this.setState({ dataInicio: this.state.dataInicio })\n }\n }\n if (this.state.dataFim == null && props.dataFim != null) {\n this.setState({ dataFim: props.dataFim })\n } else {\n if (this.state.dataFim != null) {\n this.setState({ dataFim: this.state.dataFim })\n }\n }\n }*/\n\n handleInputChangeDate(date, name) {\n if (date === null) {\n date = new Date()\n }\n this.setState({\n [name]: date,\n })\n this.props.handleInputChangeDate2(date, name)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n handleSubmit(event) {\n if (this.state.dataInicio != null && this.state.dataFim != null) {\n this.props.redireciona(this.state.dataInicio, this.state.dataFim)\n }\n event.preventDefault()\n }\n\n verTodos() {\n this.setState({ dataInicio: null, dataFim: null })\n this.props.verTodos()\n }\n\n render() {\n return (\n
\n )\n }\n}\n\nexport default ConsultaPublicaFiltro\n","import axios from 'axios';\n\nconst apiAxios = axios.create({\n baseURL: process.env.REACT_APP_API\n});\n\nexport default apiAxios;","import apiAxios from './apiAxios'\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\n\nexport const fetchLivros = () => {\n let url = `/api/livro`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport async function getEstudantesFormandosIndividual(dto) {\n let url = '/api/Aluno/formado'\n return apiAxios\n .post(url, dto, options)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport async function getEstudantesFormandos(dataColacaoId) {\n let url = '/api/colacao/estudantes/' + dataColacaoId\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result\n}\n\nexport async function getDisciplinasSemProfessor(rga) {\n const url = `/api/Aluno/disciplinas-sem-professor/${rga}`;\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result;\n}\n\nexport async function getDisciplinasComPendencia(rga) {\n const url = `/api/Aluno/disciplinas-com-pendencia/${rga}`;\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result;\n}\n\nexport const fetchRegistros = () => {\n let url = `/api/registro`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const fetchRegistrosPeriodo = (dataInicio, dataFim) => {\n let url = `/api/registro/periodo`\n let obj = {\n DataInicio: dataInicio,\n DataFim: dataFim,\n }\n console.log(obj)\n return apiAxios\n .post(url, obj, options)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const fetchRegistrosDiplomaDigitalEmitido = () => {\n let url = `/api/registro/diploma-digital-emitidos`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const fetchRegistrosSelecionados = (registrosSelecionados) => {\n let url = `/api/registro/selecionados`\n let obj = {\n RegistrosSelecionados: registrosSelecionados\n }\n return apiAxios\n .post(url, obj, options)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getRegistro = (id) => {\n let url = `/api/registro/${id}`\n return apiAxios.get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getRegistroAnotacoesPorID = (id) => {\n let url = `/api/registro/anotacoes/${id}`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getReconhecimentos = () => {\n let url = '/api/reconhecimento'\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getReconhecimentosCursos = () => {\n let url = '/api/reconhecimento/cursos'\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getAtosRegulatoriosComVinculoCursoReconhecimento = () => {\n \n let url = '/api/reconhecimento/atos'\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const getAtosRegulatoriosComVinculoCursoAutorizacao = () => {\n \n //const url = 'https://localhost:5001/api/curso/autorizacao/atos'; \n let url = '/api/curso/autorizacao/atos';\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const gravarDataPublicacaoRegistro = (newData) => {\n //let url = 'https://localhost:5001/api/registro/publicacao'\n let url = '/api/registro/publicacao'\n return apiAxios\n .post(url, newData, options)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const gravarDataPublicacaoRegistroEmLote = (newData) => {\n //let url = 'https://localhost:5001/api/registro/publicacao'\n let url = '/api/registro/publicacao-lote/'\n return apiAxios\n .post(url, newData, options)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport const reativarRegistro = (dadosCancelamento, registroId) => {\n let url = '/api/conector/reativar-registro/' + registroId\n console.log(dadosCancelamento)\n const result = apiAxios\n .post(url, dadosCancelamento, options)\n .then((resp) => resp)\n .catch((error) => error)\n return result\n}\n\nexport const suspenderRegistro = (dadosCancelamento, registroId) => {\n let url = '/api/conector/suspender-registro/' + registroId\n console.log(dadosCancelamento)\n const result = apiAxios\n .post(url, dadosCancelamento, options)\n .then((resp) => resp)\n .catch((error) => error)\n return result\n}\n\nexport const revogarRegistro = (dadosCancelamento, registroId) => {\n let url = '/api/registro/revogar-registro/' + registroId\n console.log(dadosCancelamento)\n const result = apiAxios\n .post(url, dadosCancelamento, options)\n .then((resp) => resp)\n .catch((error) => error)\n return result\n}\n\nexport const cancelarRegistro = (dadosCancelamento, registroId) => {\n let url = '/api/registro/cancelar/' + registroId\n console.log(dadosCancelamento)\n const result = apiAxios\n .post(url, dadosCancelamento, options)\n .then((resp) => resp)\n .catch((error) => error)\n return result\n}\nexport const revogarCancelamentoRegistro = (dadosRevogarCancelamento, registroId) => {\n let url = '/api/registro/revogarcancelamento/' + registroId\n // return apiAxios\n // .post(url, dadosRevogarCancelamento)\n // .then((resp) => resp.data)\n // .catch((ex) =>\n // console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n // )\n console.log(dadosRevogarCancelamento)\n const result = apiAxios\n .post(url, dadosRevogarCancelamento, options)\n .then((resp) => resp)\n .catch((error) => error)\n return result\n}\n\nexport async function getDadosFormando(rga) {\n let url = `/api/Aluno/detail/${rga}`\n const result = apiAxios.get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result\n}\n\nexport async function gravarNovoRegistro(newData) {\n let url = '/api/registro'\n const result = apiAxios\n .post(url, newData)\n .then((resp) => resp.data)\n .catch((error) => error.response.status)\n return result\n}\n\nexport async function getCampus() {\n let url = '/api/colacao/campussiga'\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result\n}\n\nexport async function getDatasColacao(campus, ano) {\n let url = '/api/colacao/recentes/ano/campus/' + campus + '/' + ano\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result\n}\nexport const getUFs = () => {\n let url = '/api/endereco/ufs'\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getMunicipios = (uf) => {\n let url = '/api/endereco/ufs/municipios/' + uf\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getCurso = (cursoSigaId) => {\n let url = '/api/curso/siga/' + cursoSigaId\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getCursosGraus = () => {\n let url = '/api/grau'\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getCursoFormacoes = (cursoId) => {\n let url = '/api/curso/formacao/' + cursoId\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getCursoTitulacoes = (cursoId) => {\n let url = '/api/curso/titulacao/' + cursoId\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getCursoReconhecimentos = (cursoId) => {\n let url = '/api/reconhecimento/curso/' + cursoId\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\nexport const getIes = (iesId) => {\n let url = '/api/instituicao/' + iesId\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n}\n\nexport async function getEstudanteEnade(rga) {\n let url = '/api/Historico/Enade/' + rga\n const result = apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n )\n return result\n}\n\n/*-------------------------TODO: a partir daqui as chamadas nao passam pelo thunk---------------*/\nexport const checkRecaptcha = (recaptchaValue) => {\n /* const RECAPTCHA_SERVER_KEY = env.RECAPTCHA_SERVER_KEY\n\n let configCaptcha = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Access-Control-Allow-Origin': '*',\n },\n }\n let toAllowCross = '';//'https://cors-anywhere.herokuapp.com/'\n let url =\n toAllowCross +\n `https://www.google.com/recaptcha/api/siteverify?secret=${RECAPTCHA_SERVER_KEY}&response=${recaptchaValue}`\n \n return apiAxios\n .get(url, configCaptcha)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(ex)\n //console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n*/\n let url = `/api/diploma/localizar/captcha`\n return apiAxios\n .post(url, {\n captcha: recaptchaValue\n })\n //.get(url)\n .then((resp) => resp)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n\n}\n\nexport const getRegistroPorID = (id) => {\n let url = `/api/diploma/dadosregistro/${id}`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n}\n\nexport const getRegistroPublicoPorID = (id) => {\n let url = `/api/diploma/dadospublicoregistro/${id}`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n}\n\nexport const fetchRegistrosPorPeriodo = (dataInicio, dataFim) => {\n let url = `/api/registro/busca`\n return apiAxios\n .post(url, {\n DataInicio: dataInicio,\n DataFim: dataFim,\n })\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n}\n\nexport const getRegistroPorCodigoValidacao = (codigoValidacao) => {\n let url = `/api/diploma/dadosregistro/codigo/${codigoValidacao}`\n return apiAxios\n .get(url)\n .then((resp) => resp.data)\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n}\n\nexport default fetchRegistros","import React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nconst ButtonDetalhes = (props) => {\n return (\n \n Detalhar\n \n )\n}\n\nconst columns = [\n {\n name: 'Nº Registro',\n selector: 'registroID',\n sortable: true,\n maxWidth: '10%',\n },\n /* {\n name: 'Nº Expedição',\n selector: 'numeroSequenciaDoDiploma',\n sortable: true,\n }, */\n {\n name: 'Name',\n selector: 'nomeDiplomado',\n sortable: true,\n },\n {\n cell: (props) => ,\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n]\n\nconst BasicTable = (props) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n\n let filteredItems = [];\n if (props.registros != null && props.registros != undefined) {\n try {\n filteredItems = props.registros.filter(\n (item) => (item.nomeDiplomado && item.nomeDiplomado.toLowerCase().includes(filterText.toLowerCase())) ||\n (item.cpf && item.cpf.includes(filterText.toLowerCase())) ||\n (item.id && item.id.includes(filterText.toLowerCase()))\n )\n } catch (ex) {\n console.log(\"erro BasicTable\", ex);\n console.log(\"BasicTable registros\", props.registros);\n }\n }\n\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport ConsultaPublicaFiltro from './ConsultaPublicaFiltro'\nimport * as api from './../../../api/api'\nimport TabelaRegistro from './TabelaRegistro'\nimport { Card, Row, Col, Button } from 'react-bootstrap'\nimport queryString from 'query-string'\nimport { format } from 'date-fns'\nimport Swal from 'sweetalert2'\nimport axios from \"axios\";\nimport apiAxios from '../../../api/apiAxios'\n\nclass ConsultaPublica extends React.Component {\n static displayName = ConsultaPublica.name\n\n constructor(props) {\n super(props)\n this.state = {\n redireciona: false,\n registros: [],\n dataInicio: null,\n dataFim: null,\n }\n this.redireciona = this.redireciona.bind(this)\n this.handleInputChangeDate2 = this.handleInputChangeDate2.bind(this)\n this.verTodos = this.verTodos.bind(this)\n }\n handleInputChangeDate2(date, name) {\n if (date === null) {\n date = new Date()\n }\n this.setState({\n [name]: date,\n })\n }\n\n verTodos() {\n this.props.history.push(`/ConsultaPublica`)\n this.setState({ redireciona: true })\n }\n componentDidUpdate(prevProps, prevState) {\n if (this.state.redireciona === true) {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando registros.',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n if (dataInicio != null && dataFim != null) {\n api.fetchRegistrosPorPeriodo(dataInicio, dataFim).then(\n (resp) => {\n if (resp === null || resp === '') {\n //Swal.fire('Oops', `Inscrição não encontrada.`, 'error')\n console.log('erro11')\n } else {\n // list of nested object keys\n this.setState({\n registros: resp,\n dataInicio: dataInicio,\n dataFim: dataFim,\n })\n }\n this.setState({ redireciona: false })\n Swal.close()\n }\n )\n } else {\n api.fetchRegistrosDiplomaDigitalEmitido().then((resp) => {\n if (resp === null || resp === '') {\n //Swal.fire('Oops', `Inscrição não encontrada.`, 'error')\n console.log('erro1')\n } else {\n // list of nested object keys\n this.setState({\n registros: resp,\n dataInicio: null,\n dataFim: null,\n })\n }\n this.setState({ redireciona: false })\n Swal.close()\n })\n }\n }\n }\n componentDidMount() {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando registros.',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n if (dataInicio != null && dataFim != null) {\n api.fetchRegistrosPorPeriodo(dataInicio, dataFim).then((resp) => {\n if (resp === null || resp === '') {\n //Swal.fire('Oops', `Inscrição não encontrada.`, 'error')\n console.log('Resposta vazia')\n } else {\n // list of nested object keys\n this.setState({\n registros: resp,\n dataInicio: dataInicio,\n dataFim: dataFim,\n })\n }\n Swal.close()\n })\n } else {\n api.fetchRegistrosDiplomaDigitalEmitido().then((resp) => {\n //api.fetchRegistros().then((resp) => {\n if (resp === null || resp === '') {\n console.log('Resposta vazia')\n } else {\n // list of nested object keys\n this.setState({\n registros: resp,\n dataInicio: null,\n dataFim: null,\n })\n }\n Swal.close()\n })\n }\n }\n\n redireciona(dataInicio, dataFim) {\n const dataInicioFormatada = format(dataInicio, 'yyyy-MM-dd')\n const dataFimFormatada = format(dataFim, 'yyyy-MM-dd')\n this.props.history.push(\n `/ConsultaPublica?dataInicio=${dataInicioFormatada}&dataFim=${dataFimFormatada}`\n )\n this.setState({ redireciona: true })\n }\n\n exportarConsultaExterna = () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados dos registros...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n let buscaDto = {\n DataInicio: dataInicio,\n DataFim: dataFim\n }\n console.log(buscaDto);\n apiAxios.post(\"/api/registro/exportar-consulta-publica\", JSON.stringify(buscaDto), {\n headers: { 'content-type': 'application/json' },\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n console.log(response)\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? \"consulta-publica.pdf\" : fileNameServidor[0]);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n\n render() {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n return (\n <>\n \n Consulta Pública de Registro de Diplomas\n \n\n \n \n Consulta registros de diploma por período, nome ou\n CPF.\n \n \n \n\n \n \n \n \n Consulta Pública Diplomas Físicos\n \n {\n (dataInicio != null && dataFim != null)\n ?\n <>\n \n \n \n { this.exportarConsultaExterna() }}>\n Exportar Consulta Detalhada\n \n \n
\n >\n : null\n }\n\n \n \n >\n )\n }\n}\n\nexport default ConsultaPublica\n","import * as React from 'react'\n\nconst RegistroPublicoAnuladoDetalhe = () => (\n \n
\n \n \n Consulta Pública de Registro de Diplomas\n \n \n Consulta registros de diploma por período, nome e CPF.\n \n \n
\n
\n)\n\nexport default RegistroPublicoAnuladoDetalhe\n","import * as React from 'react'\nimport { Card, Row, Col } from 'react-bootstrap'\nimport { Link, useHistory } from 'react-router-dom'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport * as api from './../../../api/api'\nimport Swal from 'sweetalert2'\n\nexport class LocalizarDiploma extends React.Component {\n constructor(props) {\n super(props)\n this.state = { codigoValidacao: null }\n\n this.handleSubmit = this.handleSubmit.bind(this)\n this.recaptchaRef = React.createRef()\n }\n componentDidMount() {\n const { codigoValidacao } = this.props.match.params\n this.setState({ codigoValidacao: codigoValidacao })\n }\n\n handleSubmit(event) {\n const recaptchaValue = this.recaptchaRef.current.getValue()\n let isCaptchaValid = false\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Validando o captcha...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n api.checkRecaptcha(recaptchaValue)\n .then((result) => {\n isCaptchaValid = result;//result.success\n if (isCaptchaValid) {\n localStorage.setItem(\"isCaptchaValid\", isCaptchaValid);\n\n /* this.props.history.push(\n `/ConsultarDiploma/${this.state.codigoValidacao}`\n )*/\n \n Swal.close()\n Swal.fire({\n icon: 'success',\n title:\n 'Validado com sucesso! Carregando dados do diplomado...',\n showConfirmButton: false,\n timer: 2000,\n }).then(this.RedirectToConsultarDiploma())\n }\n })\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n\n event.preventDefault()\n }\n\n RedirectToConsultarDiploma = () => {\n window.location.href = `/digital/ConsultarDiploma/${this.state.codigoValidacao}`\n }\n \n RedirectToConsultaPublica = () => {\n window.location.href = `/digital/ConsultaPublica`\n }\n\n render() {\n return (\n \n \n \n \n Localizar Diploma - {this.state.codigoValidacao}\n \n \n \n \n \n )\n }\n}\n\nexport default LocalizarDiploma\n","import * as React from 'react'\nimport { Card, Row, Col, Button, ListGroup } from 'react-bootstrap'\n\nexport class AcoesRegistro extends React.Component {\n render() {\n return (\n \n \n \n \n \n
Validar XML assinado do diploma digital:
\n
\n \n Validar\n \n
\n
\n \n \n \n \n )\n }\n}\n\nexport default AcoesRegistro\n","import * as React from 'react'\nimport { Card, Row, Col,ListGroup } from 'react-bootstrap'\n\nexport class DiplomadoDados extends React.Component {\n render() {\n function Naturalidade(props) {\n if (props.naturalidade != null) {\n return (\n \n \n
Naturalidade:
\n
\n {props.naturalidade.codigoMunicipio} -\n {props.naturalidade.nomeMunicipio}/\n {props.naturalidade.uf}\n
\n
\n \n )\n } else {\n return null\n }\n }\n\n function DiplomadoDadosReduzidos(props) {\n return (\n <>\n \n \n
Diplomado:
\n
\n {props.diplomado.nome}\n
\n
\n \n \n \n
CPF:
\n
\n ***{props.diplomado.cpf?.substring(3,6)}{props.diplomado.cpf?.substring(6,9)}**\n
\n
\n \n >\n )\n }\n function DiplomadoDadosCompleto(props) {\n if (!props.mostrarReduzido) {\n return (\n <>\n \n \n
Matricula (RGA):
\n
\n {props.diplomado.id}\n
\n
\n \n {/* \n \n
Sexo:
\n
\n {props.diplomado.sexo === 'F' ? (\n
Feminino
\n ) : (\n
Masculino
\n )}\n
\n
\n */}\n \n \n
Nacionalidade:
\n
\n {props.diplomado.nacionalidade}\n
\n
\n \n {/* */}\n {/* \n \n
RG:
\n
\n {props.rg.numero} - {props.rg.uf}\n
\n
\n */}\n \n \n
Data de Nascimento:
\n
\n \n
\n
\n \n >\n )\n } else {\n return null\n }\n }\n\n function FormatDate(props) {\n if (props.data != null) {\n let dataArray = props.data.split('-')\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n return (\n \n \n \n Diplomado \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default DiplomadoDados\n","import * as React from 'react'\nimport { Row, Col,ListGroup } from 'react-bootstrap'\n\nexport class EnderecoDados extends React.Component {\n render() {\n return (\n <>\n \n \n
{this.props.tipo} \n
\n {this.props.dados.logradouro}, {this.props.dados.numero}\n . {this.props.dados.complemento}\n
\n
\n \n \n \n
\n {this.props.dados.bairro}\n
\n
\n \n \n \n
\n {this.props.dados?.codigoMunicipio ?? this.props.dados?.municipio?.codigoMunicipio ?? \"\"} - {' '}\n {this.props.dados?.nomeMunicipio ?? this.props.dados?.municipio?.nomeMunicipio ?? \"\" } /\n {this.props.dados?.uf ?? this.props.dados?.municipio?.uf ?? \"\" }\n
\n
\n \n \n \n
\n CEP: {this.props.dados.cep}\n
\n
\n \n >\n )\n }\n}\n\nexport default EnderecoDados\n","import * as React from 'react'\nimport { Row, Col, ListGroup } from 'react-bootstrap'\n\nexport class AtoRegulatorioDados extends React.Component {\n render() {\n function FormatDate(props) {\n if (props.data != null) {\n let dataArray1 = props.data.split('T')\n let dataArray = dataArray1[0].split('-')\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n\n function DataPublicacao(props) {\n if (props.dataPublicacao != null) {\n return ( \n \n \n
\n Data de Publicação:{' '}\n \n
\n
\n \n )\n } else {\n return null\n }\n }\n function SecaoPublicacao(props) {\n if (props.secaoPublicacao != null) {\n return ( \n \n \n
\n Seção: {props.secaoPublicacao}\n
\n
\n \n )\n } else {\n return null\n }\n }\n function PaginaPublicacao(props) {\n if (props.paginaPublicacao != null) {\n return ( \n \n \n
\n Página: {props.paginaPublicacao}\n
\n
\n \n )\n } else {\n return null\n }\n }\n\n return (\n <>\n \n \n
{this.props.tipo} \n
\n {this.props.dados.tipo}, Nº {this.props.dados.numero}\n
\n
\n \n \n \n \n \n \n
\n {(this.props.dados.veiculoPublicacao != null)\n ?\n this.props.dados.veiculoPublicacao\n : null\n } \n {\n (this.props.dados.numeroPublicacao == null && this.props.dados.numeroDOU != null) \n ? \", Nº \"+ this.props.dados.numeroDOU \n : \n (this.props.dados.numeroPublicacao != null) \n ?\", Nº \"+ this.props.dados.numeroPublicacao\n :null\n } \n
\n
\n \n \n \n \n >\n )\n }\n}\n\nexport default AtoRegulatorioDados\n","import * as React from 'react'\nimport { Card, Row, Col, ListGroup } from 'react-bootstrap'\nimport EnderecoDados from './EnderecoDados'\nimport AtoRegulatorioDados from './AtoRegulatorioDados'\n\nexport class CursoDados extends React.Component {\n render() {\n function CursoDadosReduzidos(props) {\n return (\n <>\n \n \n
Curso:
\n
\n {props.dadosCurso.nomeCurso}\n
\n
\n \n \n \n
Código E-MEC:
\n
\n {props.dadosCurso.codigoCursoEMEC}\n
\n
\n \n >\n )\n }\n function CursoDadosCompleto(props) {\n if (!props.mostrarReduzido) {\n return (\n <>\n {(props.dadosCurso.nomeHabilitacao != undefined \n && props.dadosCurso.nomeHabilitacao != null \n && props.dadosCurso.nomeHabilitacao != \"\" \n && props.dadosCurso.nomeHabilitacao != \"Não se aplica\")\n ?\n \n \n
Habilitação:
\n
\n {props.dadosCurso.nomeHabilitacao}\n
\n
\n \n : <>>\n }\n {(props.dadosCurso.habilitacao != undefined \n && props.dadosCurso.habilitacao != null)\n ?\n \n \n
Habilitação:
\n
\n {props.dadosCurso.habilitacao.nomeHabilitacao}\n
\n
\n \n : <>>\n }\n \n \n
Modalidade:
\n
\n {props.dadosCurso.modalidade}\n
\n
\n \n \n \n
Título conferido:
\n
\n {(props.dadosCurso.tituloConferido?.titulo == null)\n ? props.dadosCurso.tituloConferido?.outroTitulo\n : props.dadosCurso.tituloConferido?.titulo}\n
\n
\n \n \n \n
Grau conferido:
\n
\n {props.dadosCurso.grauConferido}\n
\n
\n \n\n \n \n \n\n \n \n \n\n \n \n \n >\n )\n } else {\n return null\n }\n }\n return (\n \n \n \n Dados Curso \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default CursoDados\n","export const cnpjMask = (value) => {\n return value\n .replace(/\\D+/g, '')\n .replace(/(\\d{2})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1/$2') \n .replace(/(\\d{4})(\\d)/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1') \n }\n\n export const cpfMask = value => {\n return value\n .replace(/\\D/g, '')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d{1,2})/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1') \n } \n\n export const IrPortal = () => {\n if (window.location.host.includes(\"localhost\") === false) {\n const currentURL = window.location.href;\n if(currentURL.indexOf(\"localizador\") !== -1){\n console.log('localizar')\n const urlParameters = currentURL.split(\"=\")\n const localizador = urlParameters[1]; \n console.log(`/Registro/Localizar?localizador=${localizador}`);\n window.location.href = `/Registro/Localizar?localizador=${localizador}`;\n } else {\n window.location.href = `${process.env.REACT_APP_PORTAL_SISTEMAS}/sistema/SemPermissao/${process.env.REACT_APP_ID_SISTEMA}`;\n } \n }\n }","import * as React from 'react'\nimport { Card, Row, Col, ListGroup } from 'react-bootstrap'\nimport EnderecoDados from './EnderecoDados'\nimport AtoRegulatorioDados from './AtoRegulatorioDados'\nimport { cnpjMask } from \"../../../util/funcoes\";\n\nexport class IESDados extends React.Component {\n render() {\n function IesDadosReduzidos(props) {\n return (\n <>\n \n \n
Nome:
\n
\n {props.ies.nome}\n
\n
\n \n \n \n
Código E-MEC:
\n
\n {props.ies.codigoEmec ? props.ies.codigoEmec : props.ies.codigoMEC}\n
\n
\n \n >\n )\n }\n function IesDadosCompleto(props) {\n if (!props.mostrarReduzido) {\n return (\n <>\n \n \n
CNPJ:
\n
\n {(props.ies.cnpj != undefined) ? cnpjMask(props.ies.cnpj) : \"\"}\n
\n
\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n
Mantenedora \n
{props.mantenedora.razaoSocial}\n
\n
\n \n \n \n \n
\n CNPJ: {(props.mantenedora.cnpj != undefined) ? cnpjMask(props.mantenedora.cnpj) : \"\"}\n
\n
\n \n\n \n \n \n >\n )\n } else {\n return null\n }\n }\n return (\n <>\n \n \n \n \n >\n )\n }\n}\n\nexport default IESDados","import * as React from 'react'\nimport { Card } from 'react-bootstrap'\nimport IESDados from './IESDados'\n\nexport class IESEmissoraDados extends React.Component {\n render() {\n return (\n \n \n \n IES Emissora \n \n \n \n \n )\n }\n}\n\nexport default IESEmissoraDados\n","import * as React from 'react'\nimport { Card } from 'react-bootstrap'\nimport IESDados from './IESDados'\n\nexport class IESRegistradoraDados extends React.Component {\n render() {\n return (\n \n \n \n IES Registradora \n \n \n \n \n )\n }\n}\n\nexport default IESRegistradoraDados\n","import * as React from 'react'\nimport { Row, Col, Card, ListGroup } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { cpfMask } from '../../../util/funcoes'\n\nconst ResponsavelRegistroDiploma = ({ responsavelRegistro }) => {\n return (\n <> \n \n \n
Responsável pelo Registro \n
\n {responsavelRegistro.Nome ? responsavelRegistro.Nome : responsavelRegistro.nome}\n
\n
\n \n \n \n
\n SIAPE:{' '}\n {responsavelRegistro.IDouNumeroMatricula ? responsavelRegistro.IDouNumeroMatricula : responsavelRegistro.iDouNumeroMatricula}\n
\n
\n \n >\n )\n}\n\nexport default connect()(ResponsavelRegistroDiploma)","import * as React from 'react'\nimport { Card, Row, Col, ListGroup} from 'react-bootstrap'\nimport ResponsavelRegistroDiploma from './ResponsavelRegistroDiploma'\n\nexport class LivroRegistroDados extends React.Component {\n render() {\n function FormatDate(props) {\n if (props.data != null) {\n let dataArray = props.data.split('-')\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n return (\n \n \n \n Livro de Registro \n \n\n \n \n \n \n
Livro de Registro:
\n
\n {this.props.livroRegistro.livroRegistro}\n
\n
\n \n\n \n \n
Nº Registro:
\n
\n {this.props.livroRegistro.numeroRegistro}\n
\n
\n \n\n \n \n
\n Processo do Diploma:\n
\n
\n {this.props.livroRegistro.processoDoDiploma}\n
\n
\n \n\n \n \n
\n Data de Colação:\n
\n
\n \n
\n
\n \n\n \n \n
\n Data de Expedição:\n
\n
\n \n
\n
\n \n\n \n \n
\n Data de Registro:\n
\n
\n \n
\n
\n \n\n \n \n \n \n )\n }\n}\n\nexport default LivroRegistroDados\n","import * as React from 'react'\nimport { Card, Row, Col,ListGroup } from 'react-bootstrap'\nimport { format } from 'date-fns'\n\nexport class SituacaoRegistro extends React.Component {\n render() {\n function DiplomaStatus(props) {\n const isAtivo = props.isAtivo\n if (isAtivo) {\n return Ativo. \n } else {\n return Anulado. \n }\n }\n\n function AnotacoesVazio(props) {\n return <>Nenhuma anotação/justificativa cadastrada.>\n }\n\n function AnotacoesLista(props) {\n return (\n \n {props.anotacoes.map((anotacao) => (\n <>\n
\n {/* */}\n {/* */}\n {/* {anotacao.motivoAnulacao.nome} */}\n {/* */}\n {/*
*/}\n \n \n {anotacao.justificativa} \n \n
\n \n \n {format(\n new Date(\n Date.parse(anotacao.dataJustificativa)\n ),\n 'dd/MM/yyyy HH:mm'\n )}\n \n \n {anotacao.responsavel}\n {' - '}\n {anotacao.responsavelDocumento}\n \n \n
\n {(props.anotacoes.at(-1).registroAnotacaoID != anotacao.registroAnotacaoID) ?
: null} \n \n >\n ))}\n
\n )\n }\n\n function Anotacoes(props) {\n if (!props.anotacoes) {\n return \n }\n const hasSomething = props.anotacoes.length > 0\n if (hasSomething) {\n return \n } else {\n return \n }\n }\n\n return (\n \n \n \n Situação do Diploma \n \n \n
\n \n \n
Situação do Registro/Diploma:
\n
\n \n
\n
\n \n {(this.props.isCancelado === false) ?\n \n \n
XML Diploma Digital:
\n
\n O acesso ao XML do Diploma Digital e da Representação Visual do Diploma (RVDD) é feito pela área do Estudante no Portal Acadêmico.\n
\n
\n \n : null} \n \n \n
Anotações/Justificativas:
\n
\n
\n \n \n
\n \n \n )\n }\n}\n\nexport default SituacaoRegistro\n","import * as React from 'react'\nimport * as api from './../../../api/api'\nimport { Breadcrumb, Card } from 'react-bootstrap'\nimport { Row, Col } from 'react-bootstrap'\nimport { Link, useHistory } from 'react-router-dom'\nimport AcoesRegistro from './AcoesRegistro'\nimport DiplomadoDados from './DiplomadoDados'\nimport CursoDados from './CursoDados'\nimport IESEmissoraDados from './IESEmissoraDados'\nimport IESRegistradoraDados from './IESRegistradoraDados'\nimport LivroRegistroDados from './LivroRegistroDados'\nimport SituacaoRegistro from './SituacaoRegistro'\nimport Swal from 'sweetalert2'\n\nexport class ConsultarDiploma extends React.Component {\n static displayName = ConsultarDiploma.name\n\n state = {\n registro: [],\n diplomado: [],\n naturalidade: [],\n rg: [],\n dadosCurso: [],\n enderecoCurso: [],\n autorizacaoCurso: [],\n reconhecimentoCurso: [],\n iesEmissora: [],\n iesEmissoraEndereco: [],\n iesEmissoraCredenciamento: [],\n iesEmissoraRecredenciamento: [],\n iesEmissoraMantenedora: [],\n iesEmissoraMantenedoraEndereco: [],\n iesRegistradora: [],\n iesRegistradoraEndereco: [],\n iesRegistradoraCredenciamento: [],\n iesRegistradoraRecredenciamento: [],\n iesRegistradoraMantenedora: [],\n iesRegistradoraMantenedoraEndereco: [],\n livroRegistro: [],\n ingressoCurso: [],\n responsavelRegistro: [],\n registroID: 0,\n isCancelado: true,\n codigoValidacao: 0,\n anotacoes: [],\n }\n\n componentDidMount() {\n const { codigoValidacao } = this.props.match.params;\n\n const isCaptchaValid= localStorage.getItem('isCaptchaValid');\n\n if (!isCaptchaValid) {\n this.RedirectToLocalizarDiploma(codigoValidacao)\n }\n localStorage.removeItem('isCaptchaValid')\n\n let registroID = 0\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando dados do diploma.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n api.getRegistroPorCodigoValidacao(codigoValidacao)\n .then((result) => {\n if (result === null || result === '') {\n //Swal.fire('Oops', `Inscrição não encontrada.`, 'error')\n console.log('erro1')\n } else {\n registroID = result.registro.registroID\n\n this.setState({\n registro: result.registro,\n diplomado:\n result.diploma.infDiploma.dadosDiploma.diplomado,\n naturalidade:\n result.diploma.infDiploma.dadosDiploma.diplomado\n .naturalidade,\n rg: result.diploma.infDiploma.dadosDiploma.diplomado.rg,\n dadosCurso:\n result.diploma.infDiploma.dadosDiploma.dadosCurso,\n enderecoCurso:\n result.diploma.infDiploma.dadosDiploma.dadosCurso\n .enderecoCurso,\n autorizacaoCurso:\n result.diploma.infDiploma.dadosDiploma.dadosCurso\n .autorizacao,\n reconhecimentoCurso:\n result.diploma.infDiploma.dadosDiploma.dadosCurso\n .reconhecimento,\n iesEmissora:\n result.diploma.infDiploma.dadosDiploma.iesEmissora,\n iesEmissoraEndereco:\n result.diploma.infDiploma.dadosDiploma.iesEmissora\n .endereco,\n iesEmissoraCredenciamento:\n result.diploma.infDiploma.dadosDiploma.iesEmissora\n .credenciamento,\n iesEmissoraRecredenciamento:\n result.diploma.infDiploma.dadosDiploma.iesEmissora\n .recredenciamento,\n iesEmissoraMantenedora:\n result.diploma.infDiploma.dadosDiploma.iesEmissora\n .mantenedora,\n iesEmissoraMantenedoraEndereco:\n result.diploma.infDiploma.dadosDiploma.iesEmissora\n .mantenedora.endereco,\n iesRegistradora:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora,\n iesRegistradoraEndereco:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora.endereco,\n iesRegistradoraCredenciamento:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora.credenciamento,\n iesRegistradoraRecredenciamento:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora.recredenciamento,\n iesRegistradoraMantenedora:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora.mantenedora,\n iesRegistradoraMantenedoraEndereco:\n result.diploma.infDiploma.dadosRegistro\n .iesRegistradora.mantenedora.endereco,\n livroRegistro:\n result.diploma.infDiploma.dadosRegistro\n .livroRegistro,\n ingressoCurso:\n result.documentacaoAcademicaRegistro.registroReq\n .dadosPrivadosDiplomado.ingressoCurso,\n responsavelRegistro:\n result.diploma.infDiploma.dadosRegistro\n .livroRegistro.responsavelRegistro,\n registroID: result.registro.registroID,\n isCancelado: result.registro.cancelado,\n codigoValidacao: codigoValidacao,\n })\n\n api.getRegistroAnotacoesPorID(registroID)\n .then((result) => {\n if (result === null || result === '') {\n //Swal.fire('Oops', `Inscrição não encontrada.`, 'error')\n console.log('erro1')\n } else {\n this.setState({\n anotacoes: result,\n })\n }\n Swal.close()\n })\n .catch((ex) =>\n console.log(\n `O seguinte erro foi gerado: ` + ex,\n 'error'\n )\n ) //Swal.fire('Oops', )\n }\n })\n .catch((ex) =>\n console.log(`O seguinte erro foi gerado: ` + ex, 'error')\n ) //Swal.fire('Oops', )\n }\n\n RedirectToLocalizarDiploma = (codigoValidacao) => {\n window.location.href = `/localizar/${codigoValidacao}`\n }\n\n render() {\n function DadosDiplomaAnulado(props) {\n return (\n \n \n \n Diploma - {props.codigoValidacao} \n \n \n \n \n \n \n \n )\n }\n\n function DadosCompletosDiploma(props) {\n return (\n \n \n \n Diploma - {props.registro.codigoValidacao} \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n function DadosDiploma(props) {\n const isCancelado = props.isCancelado\n if (isCancelado) {\n return (\n \n )\n } else {\n return (\n \n )\n }\n }\n\n return (\n \n \n \n Consultar Registros por Periodo\n \n \n Consulta Diploma por Código de validação\n \n \n \n \n \n \n \n \n Ir para Consulta Pública de Registro de Diplomas\n {' '}\n \n
\n \n \n
\n )\n }\n}\n\nexport default ConsultarDiploma\n","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport { Card, Row, Col } from 'react-bootstrap'\nimport apiAxios from '../../api/apiAxios';\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2';\n\nexport default class Home extends React.Component {\n constructor(props) {\n super(props);\n const { token } = this.props.match.params;\n\n // Make a request for a user with a given ID\n\n if (token) {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando dados do usuário.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n apiAxios.get(`/api/Login?cookie=${token}`)\n .then(result => {\n console.log(\"Login result\", result);\n console.log(\"Login result data\", result.data);\n if (result.data == null || result.data == \"\" || (typeof result.data === 'string' && result.data.startsWith(\"\"))) {\n // this.IrPortal();\n Swal.close();\n IrPortal();\n }\n else {\n this.CarregarUsuario(result.data);\n Swal.close();\n }\n // window.location = document.URL.replace(\"/\"+token,'');\n window.location.href = '/digital/registros';\n }).catch(ex => {\n console.log(ex);\n Swal.close();\n IrPortal();\n //this.IrPortal();\n });\n } else {\n console.log(\"sem token\");\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n //this.IrPortal();\n IrPortal();\n }\n }\n }\n\n CarregarUsuario = (usuario) => {\n sessionStorage.setItem('@ufmt.diploma.app/ResponsavelRegistroNome', usuario.nome)\n sessionStorage.setItem('@ufmt.diploma.app/ResponsavelRegistroCPF', usuario.cpf)\n sessionStorage.setItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula', usuario.matricula)\n sessionStorage.setItem('@ufmt.diploma.app/ResponsavelRegistroCargo', usuario.cargo)\n }\n\n render() {\n return (\n \n Administração \n \n \n \n
\n \n \n \n Gerenciar Envios dos arquivos XML\n \n
\n\n
\n \n \n \n Documentação Acadêmica\n \n
\n
\n \n \n Consultas \n \n \n\n \n
\n \n \n \n Consultar Registros\n \n
\n
\n \n \n \n Consulta Externa\n \n
\n
\n \n \n Cadastros \n \n \n\n \n
\n \n \n \n Livros de Registro\n \n
\n
\n \n \n \n Gerenciar Cursos\n \n
\n\n
\n\n {/* \n \n \n \n \n Lista de Diplomas Anulados\n \n
\n */}\n \n \n \n )\n }\n}","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ livros = [], onRemovePressed }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = livros.filter((item) =>\n item.nome.toLowerCase().includes(filterText.toLowerCase())\n )\n\n function handleButtonClick(id) {\n onRemovePressed(id)\n }\n\n const columns = [\n {\n name: 'Nº Livro',\n selector: 'livroID',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Nome',\n selector: 'nome',\n sortable: true,\n },\n {\n cell: (row) => (\n handleButtonClick(row.livroID)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import ActionTypes from './actionTypes'\n\nexport const failure = () => ({\n type: ActionTypes.FAILURE,\n})\n\nexport const getRegistros = (text) => ({\n type: ActionTypes.GET_REGISTROS,\n payload: text,\n})\n\nexport const loadAnotacoesInProgress = () => ({\n type: ActionTypes.LOAD_ANOTACOES_IN_PROGRESS,\n})\n\nexport const loadAnotacoesSuccess = (anotacoes) => ({\n type: ActionTypes.LOAD_ANOTACOES_SUCCESS,\n payload: { anotacoes },\n})\n\nexport const loadAnotacoesFailure = (error) => ({\n type: ActionTypes.LOAD_ANOTACOES_FAILURE,\n payload: { error },\n})\n\nexport const loadRegistroPorIdInProgress = () => ({\n type: ActionTypes.LOAD_REGISTRO_POR_ID_IN_PROGRESS,\n})\n\nexport const loadRegistroPorIdSuccess = (registro) => ({\n type: ActionTypes.LOAD_REGISTRO_POR_ID_SUCCESS,\n payload: { registro },\n})\n\n\nexport const setSelectedRegistrosInProgress = () => ({\n type: ActionTypes.SET_SELECTED_REGISTROS_IN_PROGRESS,\n})\n\nexport const setSelectedRegistrosSuccess = (registrosSelecionados) => ({\n type: ActionTypes.SET_SELECTED_REGISTROS_SUCCESS,\n payload: { registrosSelecionados },\n})\n\nexport const setSelectedRegistrosFailure = (error) => ({\n type: ActionTypes.SET_SELECTED_REGISTROS_FAILURE,\n payload: { error },\n})\n\nexport const loadRegistroPorIdFailure = (error) => ({\n type: ActionTypes.LOAD_REGISTRO_POR_ID_FAILURE,\n payload: { error },\n})\n\n\nexport const loadRegistrosSelecionadosInProgress = () => ({\n type: ActionTypes.LOAD_REGISTROS_SELECIONADOS_IN_PROGRESS,\n})\n\nexport const loadRegistrosSelecionadosSuccess = (registrosSelecionadosDados) => ({\n type: ActionTypes.LOAD_REGISTROS_SELECIONADOS_SUCCESS,\n payload: { registrosSelecionadosDados },\n})\n\nexport const loadRegistrosSelecionadosFailure = (error) => ({\n type: ActionTypes.LOAD_REGISTROS_SELECIONADOS_FAILURE,\n payload: { error },\n})\n\nexport const loadRegistrosInProgress = () => ({\n type: ActionTypes.LOAD_REGISTROS_IN_PROGRESS,\n})\n\nexport const loadRegistrosSuccess = (registros) => ({\n type: ActionTypes.LOAD_REGISTROS_SUCCESS,\n payload: { registros },\n})\n\nexport const loadRegistrosFailure = (error) => ({\n type: ActionTypes.LOAD_REGISTROS_FAILURE,\n payload: { error },\n})\n\nexport const loadEstudantesFormandosInProgress = () => ({\n type: ActionTypes.LOAD_ESTUDANTES_FORMANDOS_IN_PROGRESS,\n})\n\nexport const loadEstudantesFormandosSuccess = (estudantes) => ({\n type: ActionTypes.LOAD_ESTUDANTES_FORMANDOS_SUCCESS,\n payload: { estudantes },\n})\n\nexport const loadEstudantesFormandosFailure = (error) => ({\n type: ActionTypes.LOAD_ESTUDANTES_FORMANDOS_FAILURE,\n payload: { error },\n})\n\nexport const loadEstudantesInProgress = () => ({\n type: ActionTypes.LOAD_ESTUDANTES_IN_PROGRESS,\n})\n\nexport const loadEstudantesSuccess = (estudantes) => ({\n type: ActionTypes.LOAD_ESTUDANTES_SUCCESS,\n payload: { estudantes },\n})\n\nexport const loadEstudantesFailure = (error) => ({\n type: ActionTypes.LOAD_ESTUDANTES_FAILURE,\n payload: { error },\n})\n\nexport const loadReconhecimentosInProgress = () => ({\n type: ActionTypes.LOAD_RECONHECIMENTOS_IN_PROGRESS,\n})\n\nexport const loadReconhecimentosSuccess = (reconhecimentos) => ({\n type: ActionTypes.LOAD_RECONHECIMENTOS_SUCCESS,\n payload: { reconhecimentos },\n})\n\nexport const loadReconhecimentosFailure = (error) => ({\n type: ActionTypes.LOAD_RECONHECIMENTOS_FAILURE,\n payload: { error },\n})\n\nexport const loadAtosRegulatoriosReconhecimentosInProgress = () => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_IN_PROGRESS,\n})\n\nexport const loadAtosRegulatoriosReconhecimentosSuccess = (reconhecimentos) => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_SUCCESS,\n payload: { reconhecimentos },\n})\n\nexport const loadAtosRegulatoriosReconhecimentosFailure = (error) => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_RECONHECIMENTOS_FAILURE,\n payload: { error },\n})\n\nexport const loadLivrosInProgress = () => ({\n type: ActionTypes.LOAD_LIVROS_IN_PROGRESS,\n})\n\nexport const loadLivrosSuccess = (livros) => ({\n type: ActionTypes.LOAD_LIVROS_SUCCESS,\n payload: { livros },\n})\n\nexport const loadLivrosFailure = (error) => ({\n type: ActionTypes.LOAD_LIVROS_FAILURE,\n payload: { error },\n})\n\nexport const addLivroRegistro = (livro) => ({\n type: ActionTypes.ADD_LIVRO_REGISTRO,\n payload: livro,\n})\nexport const addLivroRegistroFailure = (codigoErro) => ({\n type: ActionTypes.ADD_LIVRO_REGISTRO_FAILURE,\n payload: codigoErro,\n})\nexport const removeLivroRegistro = (id) => ({\n type: ActionTypes.REMOVE_LIVRO_REGISTRO,\n payload: id,\n})\nexport const removeLivroRegistroFailure = (codigoErro) => ({\n type: ActionTypes.REMOVE_LIVRO_REGISTRO_FAILURE,\n payload: codigoErro,\n})\n\nexport const addNovaDataPublicacao = () => ({\n type: ActionTypes.ADD_NOVA_DATA_PUBLICACAO_REGISTRO,\n})\n\nexport const addNovaDataPublicacaoEmLote = () => ({\n type: ActionTypes.ADD_NOVA_DATA_PUBLICACAO_LOTE_REGISTRO,\n})\n\nexport const cancelaRegistro = (registroId) => ({\n type: ActionTypes.CANCELA_REGISTRO,\n payload: registroId,\n})\n\nexport const revogaCancelamentoRegistro = (registroId) => ({\n type: ActionTypes.REVOGA_CANCELAMENTO_REGISTRO,\n payload: registroId,\n})\n\nexport const loadDadosFormandoInProgress = () => ({\n type: ActionTypes.LOAD_DADOS_FORMANDO_IN_PROGRESS,\n})\n\nexport const loadDadosFormandoSuccess = (estudante) => ({\n type: ActionTypes.LOAD_DADOS_FORMANDO_SUCCESS,\n payload: { estudante },\n})\n\nexport const loadDadosFormandoFailure = (error) => ({\n type: ActionTypes.LOAD_DADOS_FORMANDO_FAILURE,\n payload: { error },\n})\n\nexport const addNovoRegistro = () => ({\n type: ActionTypes.ADD_NOVO_REGISTRO,\n})\n\nexport const addNovoRegistroInProgress = () => ({\n type: ActionTypes.ADD_NOVO_REGISTRO_IN_PROGRESS,\n})\n\nexport const addNovoRegistroSuccess = () => ({\n type: ActionTypes.ADD_NOVO_REGISTRO_SUCCESS,\n})\n\nexport const addNovoRegistroFailure = (error) => ({\n type: ActionTypes.ADD_NOVO_REGISTRO_FAILURE,\n payload: { error },\n})\n\nexport const loadCampusInProgress = () => ({\n type: ActionTypes.LOAD_CAMPUS_IN_PROGRESS,\n})\n\nexport const loadCampusSuccess = (campus) => ({\n type: ActionTypes.LOAD_CAMPUS_SUCCESS,\n payload: { campus },\n})\n\nexport const loadCampusFailure = (error) => ({\n type: ActionTypes.LOAD_CAMPUS_FAILURE,\n payload: { error },\n})\nexport const clearEstudantesInProgress = () => ({\n type: ActionTypes.CLEAR_ESTUDANTES,\n payload: {},\n})\nexport const clearEstudantesFormandosInProgress = () => ({\n type: ActionTypes.CLEAR_ESTUDANTES_FORMANDOS,\n payload: {},\n})\n\nexport const loadAnosInProgress = () => ({\n type: ActionTypes.LOAD_ANOS_IN_PROGRESS,\n})\n\nexport const loadAnosSuccess = (anos) => ({\n type: ActionTypes.LOAD_ANOS_SUCCESS,\n payload: { anos },\n})\n\nexport const loadAnosFailure = (error) => ({\n type: ActionTypes.LOAD_ANOS_FAILURE,\n payload: { error },\n})\n\nexport const loadDatasColacaoInProgress = () => ({\n type: ActionTypes.LOAD_DATAS_COLACAO_IN_PROGRESS,\n})\n\nexport const loadDatasColacaoSuccess = (datasColacao) => ({\n type: ActionTypes.LOAD_DATAS_COLACAO_SUCCESS,\n payload: { datasColacao },\n})\n\nexport const loadDatasColacaoFailure = (error) => ({\n type: ActionTypes.LOAD_DATAS_COLACAO_FAILURE,\n payload: { error },\n})\n\nexport const loadUFsInProgress = () => ({\n type: ActionTypes.LOAD_UFS_IN_PROGRESS,\n})\n\nexport const loadUFsSuccess = (ufs) => ({\n type: ActionTypes.LOAD_UFS_SUCCESS,\n payload: { ufs },\n})\n\nexport const loadUFsFailure = (error) => ({\n type: ActionTypes.LOAD_UFS_FAILURE,\n payload: { error },\n})\n\nexport const loadMunicipiosInProgress = () => ({\n type: ActionTypes.LOAD_MUNICIPIOS_IN_PROGRESS,\n})\n\nexport const loadMunicipiosSuccess = (municipios) => ({\n type: ActionTypes.LOAD_MUNICIPIOS_SUCCESS,\n payload: { municipios },\n})\n\nexport const loadMunicipiosFailure = (error) => ({\n type: ActionTypes.LOAD_MUNICIPIOS_FAILURE,\n payload: { error },\n})\n\nexport const loadCursoInProgress = () => ({\n type: ActionTypes.LOAD_CURSO_IN_PROGRESS,\n})\n\nexport const loadCursoSuccess = (curso) => ({\n type: ActionTypes.LOAD_CURSO_SUCCESS,\n payload: { curso },\n})\n\nexport const loadCursoFailure = (error) => ({\n type: ActionTypes.LOAD_CURSO_FAILURE,\n payload: { error },\n})\n\nexport const loadCursosGrausInProgress = () => ({\n type: ActionTypes.LOAD_CURSOS_GRAUS_IN_PROGRESS,\n})\n\nexport const loadCursosGrausSuccess = (cursosGraus) => ({\n type: ActionTypes.LOAD_CURSOS_GRAUS_SUCCESS,\n payload: { cursosGraus },\n})\n\nexport const loadCursosGrausFailure = (error) => ({\n type: ActionTypes.LOAD_CURSOS_GRAUS_FAILURE,\n payload: { error },\n})\n\nexport const loadCursoFormacoesInProgress = () => ({\n type: ActionTypes.LOAD_CURSO_FORMACOES_IN_PROGRESS,\n})\n\nexport const loadCursoFormacoesSuccess = (cursoFormacoes) => ({\n type: ActionTypes.LOAD_CURSO_FORMACOES_SUCCESS,\n payload: { cursoFormacoes },\n})\n\nexport const loadCursoFormacoesFailure = (error) => ({\n type: ActionTypes.LOAD_CURSO_FORMACOES_FAILURE,\n payload: { error },\n})\n\nexport const loadCursoTitulacoesInProgress = () => ({\n type: ActionTypes.LOAD_CURSO_TITULACOES_IN_PROGRESS,\n})\n\nexport const loadCursoTitulacoesSuccess = (cursoTitulacoes) => ({\n type: ActionTypes.LOAD_CURSO_TITULACOES_SUCCESS,\n payload: { cursoTitulacoes },\n})\n\nexport const loadCursoTitulacoesFailure = (error) => ({\n type: ActionTypes.LOAD_CURSO_TITULACOES_FAILURE,\n payload: { error },\n})\n\nexport const loadCursoReconhecimentosInProgress = () => ({\n type: ActionTypes.LOAD_CURSO_RECONHECIMENTOS_IN_PROGRESS,\n})\n\nexport const loadCursoReconhecimentosSuccess = (cursoReconhecimentos) => ({\n type: ActionTypes.LOAD_CURSO_RECONHECIMENTOS_SUCCESS,\n payload: { cursoReconhecimentos },\n})\n\nexport const loadCursoReconhecimentosFailure = (error) => ({\n type: ActionTypes.LOAD_CURSO_RECONHECIMENTOS_FAILURE,\n payload: { error },\n})\n\nexport const loadIesEmissoraInProgress = () => ({\n type: ActionTypes.LOAD_IES_EMISSORA_IN_PROGRESS,\n})\n\nexport const loadIesEmissoraSuccess = (iesEmissora) => ({\n type: ActionTypes.LOAD_IES_EMISSORA_SUCCESS,\n payload: { iesEmissora },\n})\n\nexport const loadIesEmissoraFailure = (error) => ({\n type: ActionTypes.LOAD_IES_EMISSORA_FAILURE,\n payload: { error },\n})\n\nexport const loadIesRegistradoraInProgress = () => ({\n type: ActionTypes.LOAD_IES_REGISTRADORA_IN_PROGRESS,\n})\n\nexport const loadIesRegistradoraSuccess = (iesRegistradora) => ({\n type: ActionTypes.LOAD_IES_REGISTRADORA_SUCCESS,\n payload: { iesRegistradora },\n})\n\nexport const loadIesRegistradoraFailure = (error) => ({\n type: ActionTypes.LOAD_IES_REGISTRADORA_FAILURE,\n payload: { error },\n})\n\nexport const loadEstudanteEnadeInProgress = () => ({\n type: ActionTypes.LOAD_ESTUDANTE_ENADE_IN_PROGRESS,\n})\n\nexport const loadEstudanteEnadeSuccess = (enade) => ({\n type: ActionTypes.LOAD_ESTUDANTE_ENADE_SUCCESS,\n payload: { enade },\n})\n\nexport const loadEstudanteEnadeFailure = (error) => ({\n type: ActionTypes.LOAD_ESTUDANTE_ENADE_FAILURE,\n payload: { error },\n})\n\nexport const loadAtosRegulatoriosAutorizacaoCursoInProgress = () => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_IN_PROGRESS,\n})\n\nexport const loadAtosRegulatoriosAutorizacaoCursoSuccess = (autorizacoes) => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_SUCCESS,\n payload: { autorizacoes },\n})\n\nexport const loadAtosRegulatoriosAutorizacaoCursoFailure = (error) => ({\n type: ActionTypes.LOAD_ATOS_REGULATORIOS_AUTORIZACAO_CURSO_FAILURE,\n payload: { error },\n})\n","import * as actions from './actions'\nimport * as api from './../api/api'\nimport apiAxios from \"../api/apiAxios\";\nimport Swal from 'sweetalert2'\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\n\nexport const displayAlert = (error) => () => {\n alert(error)\n}\n\nexport const loadLivros = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadLivrosInProgress())\n\n api.fetchLivros().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadLivrosFailure())\n } else {\n dispatch(actions.loadLivrosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadLivrosFailure())\n }\n}\n\nexport const addNewLivroRequest = (nome) => async (dispatch) => {\n try {\n const novoLivro = JSON.stringify({ nome })\n let url = '/api/livro'\n apiAxios\n .post(url, novoLivro, options)\n .then((resp) => dispatch(actions.addLivroRegistro(novoLivro)))\n .catch((error) => {\n // Error\n if (error.response) {\n if (error.response.status !== 200) {\n dispatch(\n actions.addLivroRegistroFailure(\n error.response.status\n )\n )\n }\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n // console.log(error.response.data);\n // console.log(error.response.status);\n // console.log(error.response.headers);\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the\n // browser and an instance of\n // http.ClientRequest in node.js\n dispatch(actions.failure())\n console.log(error.request)\n } else {\n // Something happened in setting up the request that triggered an Error\n dispatch(actions.failure())\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n dispatch(actions.failure())\n }\n}\n\nexport const removeLivroRequest = (id) => async (dispatch) => {\n try {\n let url = `/api/livro/${id}`\n apiAxios\n .delete(url)\n .then((resp) => dispatch(actions.removeLivroRegistro(id)))\n .catch((error) => {\n // Error\n if (error.response) {\n if (error.response.status !== 200) {\n dispatch(\n actions.removeLivroRegistroFailure(\n error.response.status\n )\n )\n }\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n // console.log(error.response.data);\n // console.log(error.response.status);\n // console.log(error.response.headers);\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the\n // browser and an instance of\n // http.ClientRequest in node.js\n dispatch(actions.removeLivroRegistroFailure())\n console.log(error.request)\n } else {\n // Something happened in setting up the request that triggered an Error\n dispatch(actions.removeLivroRegistroFailure())\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n dispatch(actions.removeLivroRegistroFailure())\n }\n}\n\n/* export const clearEstudantes = () => async (dispatch, getState) => {\n try {\n dispatch(actions.clearEstudantesInProgress())\n } catch (e) {\n dispatch(actions.loadEstudantesFailure())\n }\n} */\n\nexport const clearEstudantesFormandos = () => async (dispatch, getState) => {\n try {\n dispatch(actions.clearEstudantesFormandosInProgress())\n } catch (e) {\n dispatch(actions.loadEstudantesFormandosFailure())\n }\n}\n\nexport const loadEstudantesFormandos = (dto) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadEstudantesFormandosInProgress())\n dispatch(actions.clearEstudantesFormandosInProgress())\n if (dto) {\n api.getEstudantesFormandosIndividual(dto).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadEstudantesFormandosFailure())\n } else {\n validaHistoricoEstudantes(resp).then((estudantes) => {\n dispatch(actions.loadEstudantesFormandosSuccess(estudantes))\n })\n }\n })\n } else {\n dispatch(actions.loadEstudantesFormandosFailure())\n }\n } catch (e) {\n dispatch(actions.loadEstudantesFormandosFailure())\n }\n}\n\nexport const loadEstudantes = (dataColacaoId) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadEstudantesInProgress())\n dispatch(actions.clearEstudantesInProgress())\n if (dataColacaoId) {\n api.getEstudantesFormandos(dataColacaoId).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadEstudantesFailure())\n } else {\n validaHistoricoEstudantes(resp).then((estudantes) => {\n dispatch(actions.loadEstudantesSuccess(estudantes))\n })\n }\n })\n } else {\n dispatch(actions.loadEstudantesFailure())\n }\n } catch (e) {\n dispatch(actions.loadEstudantesFailure())\n }\n}\n\nasync function validaHistoricoEstudantes(estudantes) {\n const estudantesComHistorico = await Promise.all(\n estudantes.map(async (aluno) => {\n if (!aluno.registroDiplomaAtivo) {\n let disciplinas = [];\n if (aluno.sigaRGAAluno) {\n disciplinas = await api.getDisciplinasComPendencia(aluno.sigaRGAAluno);\n }\n else if (aluno.matricula) {\n disciplinas = await api.getDisciplinasComPendencia(aluno.matricula);\n }\n aluno.historico = disciplinas;\n }\n return aluno;\n })\n )\n return estudantesComHistorico;\n}\n\nexport const loadRegistros = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadRegistrosInProgress())\n\n api.fetchRegistros().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadRegistrosFailure())\n } else {\n dispatch(actions.loadRegistrosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadRegistrosFailure())\n }\n}\n\nexport const loadRegistrosPeriodo = (dataInicio, dataFim) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadRegistrosInProgress())\n\n api.fetchRegistrosPeriodo(dataInicio, dataFim).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadRegistrosFailure())\n } else {\n dispatch(actions.loadRegistrosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadRegistrosFailure())\n }\n}\n\nexport const loadRegistrosSelecionados = (registrosSelecionados) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadRegistrosSelecionadosInProgress())\n\n api.fetchRegistrosSelecionados(registrosSelecionados).then((resp) => {\n // console.log(resp)\n if (resp === null || resp === '') {\n dispatch(actions.loadRegistrosSelecionadosFailure())\n } else {\n dispatch(actions.loadRegistrosSelecionadosSuccess(resp))\n }\n })\n } catch (e) {\n console.log(e)\n dispatch(actions.loadRegistrosSelecionadosFailure())\n }\n}\n\nexport const setSelectedRegistros = (registrosSelecionados) => async (dispatch, getState) => {\n try {\n console.log(registrosSelecionados);\n \n dispatch(actions.setSelectedRegistrosInProgress())\n\n dispatch(actions.setSelectedRegistrosSuccess(registrosSelecionados))\n\n } catch (e) {\n dispatch(actions.setSelectedRegistrosFailure())\n }\n}\n\nexport const loadRegistro = (registroId) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadRegistroPorIdInProgress())\n\n api.getRegistro(registroId).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadRegistroPorIdFailure())\n } else {\n dispatch(actions.loadRegistroPorIdSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadRegistroPorIdFailure())\n }\n}\n\nexport const loadAnotacoes = (registroId) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadAnotacoesInProgress())\n\n api.getRegistroAnotacoesPorID(registroId).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadAnotacoesFailure())\n } else {\n dispatch(actions.loadAnotacoesSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadAnotacoesFailure())\n }\n}\n\nexport const loadReconhecimentos = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadReconhecimentosInProgress())\n\n api.getReconhecimentos().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadReconhecimentosFailure())\n } else {\n dispatch(actions.loadReconhecimentosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadReconhecimentosFailure())\n }\n}\n\nexport const loadAtosRegulatoriosComVinculosCursosReconhecimentos = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadAtosRegulatoriosReconhecimentosInProgress())\n\n api.getAtosRegulatoriosComVinculoCursoReconhecimento().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadAtosRegulatoriosReconhecimentosFailure())\n } else {\n dispatch(actions.loadAtosRegulatoriosReconhecimentosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadAtosRegulatoriosReconhecimentosFailure())\n }\n}\n\nexport const loadAtosRegulatoriosComVinculosCursosAutorizacao = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadAtosRegulatoriosAutorizacaoCursoInProgress())\n\n api.getAtosRegulatoriosComVinculoCursoAutorizacao().then((resp) => {\n \n if (resp === null || resp === '') {\n dispatch(actions.loadAtosRegulatoriosAutorizacaoCursoFailure())\n } else {\n dispatch(actions.loadAtosRegulatoriosAutorizacaoCursoSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadAtosRegulatoriosAutorizacaoCursoFailure())\n }\n}\n\nexport const addNovaDataPublicacaoRequest = (data, id) => async (dispatch) => {\n try {\n const newData = JSON.stringify({\n DataPublicacao: data,\n RegistroID: Number(id),\n })\n \n api.gravarDataPublicacaoRegistro(newData).then((resp) => {\n //if (resp === null || resp === '') {\n // dispatch(displayAlert(resp))\n //} else {\n dispatch(actions.addNovaDataPublicacao())\n //}\n })\n } catch (e) {\n dispatch(displayAlert(e))\n }\n}\n\nexport const addNovaDataPublicacaoEmLoteRequest = (data, registrosSelecionados) => async (dispatch) => {\n try {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Salvando data de publicaçãos.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n let ids = registrosSelecionados.map(a => a.registroID);\n\n const newData = JSON.stringify({\n DataPublicacao: data,\n Registros: ids,\n })\n \n api.gravarDataPublicacaoRegistroEmLote(newData).then((resp) => {\n Swal.close() \n Swal.fire({\n icon: 'success',\n title: 'Data de publicação cadastrada com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 4000,\n }).then(dispatch(actions.addNovaDataPublicacaoEmLote())) \n })\n } catch (e) { \n Swal.fire({\n icon: 'error',\n title: 'Erro ao salvar data de publicação em lote!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n //dispatch(displayAlert(e))\n }\n}\n\nexport const addNewReconhecimentoRequest = (data, id) => async (dispatch) => {\n try {\n const newData = JSON.stringify({\n TipoAtoRegulatorio: this.state.TipoAtoRegulatorio,\n Numero: Number(this.state.Numero),\n Data: this.state.Data,\n VeiculoPublicacao: this.state.VeiculoPublicacao,\n DataPublicacao: this.state.DataPublicacao,\n SecaoPublicacao: this.state.SecaoPublicacao,\n PaginaPublicacao: this.state.PaginaPublicacao,\n Habilitacao: this.state.Habilitacao,\n ProcessoReconhecimento: this.state.ProcessoReconhecimento, \n })\n api.gravarDataPublicacaoRegistro(newData).then((resp) => {\n //if (resp === null || resp === '') {\n // dispatch(displayAlert(resp))\n //} else {\n dispatch(actions.addNovaDataPublicacao())\n //}\n })\n } catch (e) {\n dispatch(displayAlert(e))\n }\n}\n\nexport const cancelarRegistroRequest = (\n registroId,\n justificativa,\n responsavel,\n responsavelDocumento\n) => async (dispatch) => {\n try {\n const dadosCancelamento = JSON.stringify({\n registroId: Number(registroId),\n justificativa,\n responsavel,\n responsavelDocumento,\n })\n api.cancelarRegistro(dadosCancelamento, registroId).then((resp) => {\n //if (resp === null || resp === '') {\n // dispatch(displayAlert(resp))\n //} else {\n dispatch(actions.cancelaRegistro(registroId))\n //}\n })\n } catch (e) {\n dispatch(displayAlert(e))\n }\n}\n\nexport const revogaCancelamentoRegistroRequest = (\n registroId,\n justificativa,\n responsavel,\n responsavelDocumento\n) => async (dispatch) => {\n try {\n const dadosRevogarCancelamento = JSON.stringify({\n registroId: Number(registroId),\n justificativa,\n responsavel,\n responsavelDocumento,\n })\n api.revogarCancelamentoRegistro(dadosRevogarCancelamento, registroId).then(\n (resp) => {\n // if (resp === null || resp === '') {\n // dispatch(displayAlert(resp))\n //} else {\n dispatch(actions.revogaCancelamentoRegistro(registroId))\n //}\n }\n )\n } catch (e) {\n dispatch(displayAlert(e))\n }\n}\n\nexport const addNovoRegistroRequest = (dadosRegistro) => async (dispatch) => {\n try {\n dispatch(actions.addNovoRegistroInProgress())\n const newData = JSON.stringify(dadosRegistro)\n api.gravarNovoRegistro(newData).then((resp) => {\n if (resp === '400') {\n dispatch(actions.addNovoRegistroFailure(resp))\n } else {\n dispatch(actions.addNovoRegistroSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.addNovoRegistroFailure())\n }\n}\n\nexport const loadCampus = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadCampusInProgress())\n\n api.getCampus().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCampusFailure())\n } else {\n dispatch(actions.loadCampusSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCampusFailure())\n }\n}\n\nexport const loadAnos = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadAnosInProgress())\n var date = new Date()\n var anos = []\n const ano = date.getFullYear()\n\n for (var i = ano; i > ano - 5; i--) {\n anos.push(i)\n }\n dispatch(actions.loadAnosSuccess(anos))\n } catch (e) {\n dispatch(actions.loadAnosFailure())\n }\n}\n\nexport const loadDatasColacao = (campus, ano) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadDatasColacaoInProgress())\n\n api.getDatasColacao(campus, ano).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadDatasColacaoFailure())\n } else {\n dispatch(actions.loadDatasColacaoSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadDatasColacaoFailure())\n }\n}\n\nexport const getDadosFormando = (rga) => async (dispatch, getState) => {\n try {\n await api.getDadosFormando(rga).then((resp) => {\n return resp\n })\n } catch (e) {\n dispatch(actions.loadDadosFormandoFailure())\n }\n}\n\nexport const loadDadosFormando = (rga) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadDadosFormandoInProgress())\n\n api.getDadosFormando(rga).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadDadosFormandoFailure())\n } else {\n /*\n loadUFs()\n loadMunicipios()\n loadCurso()\n loadCursosGraus()\n loadCursoFormacoes()\n loadCursoTitulacoes()\n loadCursoReconhecimentos()\n loadIESEmissora(1)\n loadIESRegistradora(1)\n loadLivros()\n loadEstudanteEnade()\n */\n dispatch(actions.loadDadosFormandoSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadDadosFormandoFailure())\n }\n}\n\nexport const dispatchChaining = (rga) => async (dispatch) => {\n await Promise.all([\n // dispatch(loadDadosFormando(rga)),\n dispatch(loadUFs()),\n dispatch(loadCursosGraus()),\n dispatch(loadIESEmissora(1)), //TODO\n dispatch(loadIESRegistradora(1)), //TODO\n dispatch(loadLivros()),\n /*\n dispatch(loadMunicipios()),\n dispatch(loadCurso()),\n dispatch(loadCursoFormacoes()),\n dispatch(loadCursoTitulacoes()),\n dispatch(loadCursoReconhecimentos()),\n dispatch(loadEstudanteEnade()),\n */\n ])\n\n return dispatch(loadDone())\n}\n\nexport const loadUFs = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadUFsInProgress())\n\n api.getUFs().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadUFsFailure())\n } else {\n dispatch(actions.loadUFsSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadUFsFailure())\n }\n}\n\nexport const loadMunicipios = (uf) => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadMunicipiosInProgress())\n\n let natudalidadeUF = uf ? uf : state.registros.estudante.NaturalUF\n\n api.getMunicipios(natudalidadeUF).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadMunicipiosFailure())\n } else {\n dispatch(actions.loadMunicipiosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadMunicipiosFailure())\n }\n}\n\nexport const loadCurso = () => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadCursoInProgress())\n\n alert(state.registros.estudante.codCurso)\n api.getCurso(state.registros.estudante.codCurso).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCursoFailure())\n } else {\n dispatch(actions.loadCursoSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCursoFailure())\n }\n}\n\nexport const loadCursosGraus = () => async (dispatch, getState) => {\n try {\n dispatch(actions.loadCursosGrausInProgress())\n\n api.getCursosGraus().then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCursosGrausFailure())\n } else {\n dispatch(actions.loadCursosGrausSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCursosGrausFailure())\n }\n}\n\nexport const loadCursoFormacoes = () => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadCursoFormacoesInProgress())\n\n api.getCursoFormacoes(state.cursos.curso.cursoID).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCursoFormacoesFailure())\n } else {\n dispatch(actions.loadCursoFormacoesSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCursoFormacoesFailure())\n }\n}\n\nexport const loadCursoTitulacoes = () => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadCursoTitulacoesInProgress())\n\n api.getCursoTitulacoes(state.cursos.curso.cursoID).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCursoTitulacoesFailure())\n } else {\n dispatch(actions.loadCursoTitulacoesSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCursoTitulacoesFailure())\n }\n}\n\nexport const loadCursoReconhecimentos = () => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadCursoReconhecimentosInProgress())\n\n api.getCursoReconhecimentos(state.cursos.curso.cursoID).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadCursoReconhecimentosFailure())\n } else {\n dispatch(actions.loadCursoReconhecimentosSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadCursoReconhecimentosFailure())\n }\n}\n\nexport const loadIESEmissora = (iesId) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadIesEmissoraInProgress())\n\n api.getIes(iesId).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadIesEmissoraFailure())\n } else {\n dispatch(actions.loadIesEmissoraSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadIesEmissoraFailure())\n }\n}\n\nexport const loadIESRegistradora = (iesId) => async (dispatch, getState) => {\n try {\n dispatch(actions.loadIesRegistradoraInProgress())\n\n api.getIes(iesId).then((resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadIesRegistradoraFailure())\n } else {\n dispatch(actions.loadIesRegistradoraSuccess(resp))\n }\n })\n } catch (e) {\n dispatch(actions.loadIesRegistradoraFailure())\n }\n}\n\nexport const loadEstudanteEnade = () => async (dispatch, getState) => {\n try {\n let state = getState('estudante')\n dispatch(actions.loadEstudanteEnadeInProgress())\n\n api.getEstudanteEnade(state.registros.estudante.matricula).then(\n (resp) => {\n if (resp === null || resp === '') {\n dispatch(actions.loadEstudanteEnadeFailure())\n } else {\n dispatch(actions.loadEstudanteEnadeSuccess(resp))\n }\n }\n )\n } catch (e) {\n dispatch(actions.loadEstudanteEnadeFailure())\n }\n}\n\nexport const loadDone = () => async (dispatch, getState) => {\n try {\n } catch (e) {\n dispatch(actions.loadMunicipiosFailure())\n }\n}\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaLivro from './../../components/Area/CAE/TabelaLivro'\nimport { Link } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { loadLivros, removeLivroRequest } from './../../store/thunks'\nimport { IrPortal } from \"../../util/funcoes\";\n\nclass LivroRegistroConsulta extends React.Component {\n static displayName = LivroRegistroConsulta.name\n constructor(props) {\n super(props)\n this.state = { livros: [] }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.props.dispatch(loadLivros())\n }\n\n onRemovePressed = (payload) => {\n this.props.dispatch(removeLivroRequest(payload))\n }\n\n render() {\n const { livros } = this.props //error, loading,\n return (\n <>\n \n \n Página Inicial - CAE\n \n \n Consulta de Livros de Registro\n \n \n \n \n \n Novo\n \n\n \n \n \n \n >\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n livros: state.livros.livros,\n loading: state.livros.loading,\n error: state.livros.error,\n})\n\nexport default connect(mapStateToProps)(LivroRegistroConsulta)\n","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { addNewLivroRequest } from '../../../store/thunks'\nimport * as api from './../../../api/api'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../../api/apiAxios\";\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass LivroRegistroForm extends React.Component {\n static displayName = LivroRegistroForm.name\n constructor(props) {\n super(props)\n this.state = {\n Nome: '',\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n RedirectToConsultLivros = () => {\n window.location.href = '/livros'\n }\n\n salvarLivro = () => {\n try {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Livro de Registro está sendo salvo.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const novoLivro = JSON.stringify({\n Nome: this.state.Nome,\n })\n let url = '/api/livro'\n apiAxios\n .post(url, novoLivro, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title:\n 'Livro de Registro cadastrado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 4000,\n }).then(this.RedirectToConsultLivros())\n })\n .catch((error) => {\n // Error\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar livro de registro!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.' +\n ' ' +\n error //payload\n ? error//payload\n : '',\n })\n }\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n // console.log(error.response.data);\n // console.log(error.response.status);\n // console.log(error.response.headers);\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the\n // browser and an instance of\n // http.ClientRequest in node.js\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n // Something happened in setting up the request that triggered an Error\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n return (\n {\n let errors = {}\n if (this.state.Nome === '') {\n errors.Nome = 'Nome é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={(values, { setSubmitting }) => {\n this.salvarLivro()\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n \n Nome \n \n \n \n \n \n Voltar\n {' '}\n \n Cadastrar\n \n \n )}\n \n )\n }\n}\n\nexport default connect()(LivroRegistroForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport LivroRegistroForm from '../../components/Area/CAE/LivroRegistroForm'\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class LivroRegistroConsulta extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n livros: [],\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Livros de Registro\n \n \n Novo Livro de Registro\n \n \n \n \n \n \n \n Novo Livro de Registro \n \n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Card, Row, Col } from 'react-bootstrap'\n\nexport class LivroRegistroDetalhe extends React.Component {\n render() {\n return (\n \n \n \n \n Nº:\n \n \n {this.props.livroRegistro.livroId}\n \n
\n \n \n Nome:\n \n \n {this.props.livroRegistro.nome}\n \n
\n \n \n )\n }\n}\n\nexport default LivroRegistroDetalhe\n","import * as React from 'react'\nimport { Card, Breadcrumb, Button } from 'react-bootstrap'\nimport LivroRegistroDetalhe from '../../components/Area/Publica/LivroRegistroDetalhe'\nimport { Link } from 'react-router-dom'\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class LivroRegistroConsulta extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n livro: [],\n livroId: 0,\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleExcluir = this.handleExcluir.bind(this)\n }\n handleExcluir(event) {}\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Livros de Registro\n \n \n Excluir Livro de Registro\n \n \n \n \n \n \n \n Excluir Livro de Registro \n \n \n \n Voltar\n {' '}\n \n Excluir\n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button, Tooltip, OverlayTrigger } from 'react-bootstrap'\nimport { format } from 'date-fns'\nimport { Link } from 'react-router-dom'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nconst renderTooltip = (props) => (\n \n {props}\n \n)\nconst ActionButtonsCancelado = (props) => {\n return (\n <>\n \n \n \n \n >\n )\n }\n \nconst ActionButtons = (props) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n >\n )\n}\n\nexport const BasicTable = ({ reconhecimentos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = reconhecimentos\n .filter((item) =>\n item.tipo.toLowerCase().includes(filterText.toLowerCase())\n || item.numero == filterText\n ).sort().reverse()\n\n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split(' ')\n return (\n \n {dateTimeArray[0]}\n \n )\n } else {\n return \n }\n }\n const columns = [\n /* {\n name: 'ID',\n selector: 'atoRegulatorioUid',\n sortable: true,\n maxWidth: '10%',\n },*/\n {\n name: 'Número',\n selector: 'numero',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data',\n cell:(props) => (props.data != null && props.data != undefined) ? : '',\n sortable: true,\n maxWidth: '20%',\n },\n {\n name: 'Tipo',\n selector: 'tipo',\n sortable: true,\n maxWidth: '30%',\n },\n {\n name: 'Cursos Vinculados',\n selector: 'totalCursosVinculados',\n sortable: true,\n maxWidth: '10%',\n },\n {\n cell: (props) =>\n props.cancelado === true ? (\n \n ) : (\n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n maxWidth: '20%', \n }\n ]\n \nconst conditionalRowStyles = [\n {\n when: row => row.cancelado,\n style: {\n backgroundColor: \"#ffcccb\",\n }\n }\n ];\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaAtosReconhecimentos from '../../components/Area/CAE/TabelaAtosReconhecimentos'\nimport { loadAtosRegulatoriosComVinculosCursosReconhecimentos, loadReconhecimentos } from './../../store/thunks'\nimport { IrPortal } from \"../../util/funcoes\";\n\nclass ReconhecimentoConsulta extends React.Component {\n static displayName = ReconhecimentoConsulta.name\n constructor(props) {\n super(props)\n this.state = { reconhecimentos: [] }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.props.dispatch(loadAtosRegulatoriosComVinculosCursosReconhecimentos())\n }\n\n render() {\n const { reconhecimentos } = this.props\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Gerenciar Cursos\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n \n \n \n \n \n Novo\n \n\n \n { }\n \n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n reconhecimentos: state.reconhecimentos.reconhecimentos,\n loading: state.reconhecimentos.loading,\n error: state.reconhecimentos.error,\n})\n\nexport default connect(mapStateToProps)(ReconhecimentoConsulta)\n","const urls = {\n GET_DADOS_ESTUDANTE: '/api/Aluno/detail/',\n GET_CURSO_POR_ID: '/api/curso/',\n GET_CURSO_POR_SIGA_ID: '/api/curso/siga/',\n GET_CURSO_FORMACOES: '/api/curso/formacao/',\n GET_CURSO_TITULACOES: '/api/curso/titulacao/',\n GET_CURSO_RECONHECIMENTOS: '/api/reconhecimento/curso/',\n GET_CURSO_RECONHECIMENTOS_POR_CURSO: '/api/reconhecimento/cursos/',\n GET_MUNICIPIOS: '/api/endereco/ufs/municipios/',\n GET_DADOS_ENADE_ESTUDANTE: '/api/Historico/Enade/',\n GET_CURSOS_GRAUS: '/api/grau',\n GET_UFS: '/api/endereco/ufs',\n GET_IES: '/api/instituicao/',\n GET_LIVROS: '/api/livro',\n POST_NOVO_REGISTRO: '/api/registro',\n GET_SIGA_TODOS_CAMPUS: '/api/colacao/campussiga',\n GET_SIGA_DATAS_COLACAO: '/api/colacao/recentes/ano/campus/',\n GET_COLACAO_ESTUDANTES: '/api/colacao/estudantes/',\n GET_CURSOS_ATIVOS: '/api/curso/ativos',\n POST_NOVA_TITULACAO_CURSO: '/api/curso/titulacao',\n POST_NOVA_FORMACAO_CURSO: '/api/curso/formacao',\n\n NOVO_VINCULO_RECONHECIMENTO_CURSO: '/api/reconhecimento/novo-vinculo-curso',\n NOVO_VINCULO_RECONHECIMENTO_CURSO_EM_LOTE: '/api/reconhecimento/lote-novo-vinculo-curso',\n NOVO_VINCULO_AUTORIZACAO_CURSO_EM_LOTE: '/api/curso/lote-novo-autorizacao',\n NOVO_VINCULO_AUTORIZACAO_CURSO: '/api/curso/novo-autorizacao',\n\n EXCLUI_VINCULO_RECONHECIMENTO_CURSO: '/api/reconhecimento/exclui-vinculo-curso/',\n EXCLUI_VINCULO_AUTORIZACAO_CURSO: '/api/curso/exclui-autorizacao/',\n\n GET_CURSO_VINCULADOS_RECONHECIMENTO_CURSOS: '/api/reconhecimento/cursos-ato-regulatorio/',\n GET_CURSO_VINCULADOS_AUTORIZACAO_CURSOS: '/api/cursos/autorizacao-cursos/',\n\n CANCELA_ATO_REGULATORIO: '/api/reconhecimento/ato-regulatorio/cancela/',\n CANCELA_ATO_REGULATORIO_POR_ID: '/api/atoregulatorio/cancela/',\n\n GET_TIPOS_ATO_REGULATORIO: '/api/reconhecimento/tiposAto',\n GET_ATO_REGULATORIO_TIPOS: '/api/atoregulatorio/tipos',\n\n GET_DADOS_ATO_REGULATORIO: '/api/reconhecimento/ato-regulatorio/dados/',\n GET_ATO_REGULATORIO: '/api/atoregulatorio/dados/',\n\n NOVO_ATO_REGULATORIO: '/api/reconhecimento/ato-regulatorio/novo',\n POST_ATO_REGULATORIO: '/api/atoregulatorio/novo',\n\n GET_AUTORIZACAO_CURSOS_POR_CURSO: '/api/curso/autorizacao/',\n GET_REGISTRO_SITUACAO: '/api/registro/situacao/',\n GET_LISTA_DIPLOMAS_ANULADOS: '/api/diploma/lista-diplomas-anulados-atual',\n GERAR_LISTA_DIPLOMAS_ANULADOS: '/api/diploma/xml-lista-diplomas-anulados',\n GET_XML_LISTA_DIPLOMAS_ANULADOS: '/api/diploma/atual-xml-lista-diplomas-anulados',\n\n GET_LISTAS_DIPLOMAS_ANULADOS: '/api/diploma/todas-listas-diplomas-anulados',\n GET_XML_LISTA_DIPLOMAS_ANULADOS_POR_ID: '/api/diploma/xml-lista-diplomas-anulados/',\n \n GET_ASSINATURAS: \"/api/registro/assinaturas\"\n}\nexport default urls","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ reconhecimentosCursos = [], updateListReconhecimentoCursos }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = reconhecimentosCursos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n\n function handleButtonClick(id) {\n Swal.fire({\n title: 'Deseja excluir vinculo com esse curso?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n // const url = `https://localhost:5001/api/reconhecimento/exclui-vinculo-curso/${id}`;\n const url = apiURLs.EXCLUI_VINCULO_RECONHECIMENTO_CURSO + id;\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Removido!', '', 'success')\n updateListReconhecimentoCursos()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n //onRemovePressed(id)\n }\n\n const columns = [\n {\n name: 'Código Interno',\n selector: 'curso.codigoInterno',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Curso',\n selector: 'curso.cursoMec.nome',\n sortable: true,\n },\n {\n name: 'Grau',\n selector: 'curso.cursoMec.grau.descricao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Periodicidade',\n selector: 'curso.periodicidade.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Regime',\n selector: 'curso.regime.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Turno',\n selector: 'curso.turno.nome',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Processo Reconhecimento',\n selector: 'processoReconhecimento',\n sortable: true,\n maxWidth: '15%',\n },\n {\n cell: (row) => (\n handleButtonClick(row.reconhecimentoCursoUid)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { components } from \"react-select\";\n\nexport const Option = (props) => {\n return (\n \n \n null}\n />{\" \"}\n {props.label} \n \n
\n );\n };","import * as React from 'react'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\nimport { Option } from './Option';\nimport { default as ReactSelect } from \"react-select\";\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass NovoReconhecimentoCursoForm extends React.Component {\n static displayName = NovoReconhecimentoCursoForm.name\n constructor(props) {\n super(props)\n this.state = {\n CursoID: [],\n ProcessoReconhecimento: '',\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n let regexpProcess = /^[0-9 -/.\\b]+$/ //só numero e - e . e /\n\n if (name === 'Processo') {\n if (regexpProcess.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n }else {\n this.setState({\n [name]: value,\n })\n }\n }\n\n updateListReconhecimentoCursos = () => {\n this.props.updateListReconhecimentoCursos()\n }\n\n salvarReconhecimentoCurso = (cursosIds) => {\n try {\n \n let errors = {}\n // if (this.state.CursoID === '' || this.state.CursoID == '0') {\n // errors.TipoAtoRegulatorioUid = 'Curso é obrigatório'\n // }\n \n if (cursosIds.length == 0) {\n errors.CursoID = 'Curso é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n return;\n }\n\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Curso(s) está sendo vinculado.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const novoReconhecimentoCurso = JSON.stringify({\n AtoRegulatorioUid: Number(this.props.AtoRegulatorioUid),\n ProcessoReconhecimento: this.state.ProcessoReconhecimento,\n CursosUid: cursosIds,\n })\n \n //const url = `https://localhost:5001/api/reconhecimento/novo-vinculo-curso`;\n\n apiAxios.post(apiURLs.NOVO_VINCULO_RECONHECIMENTO_CURSO_EM_LOTE, novoReconhecimentoCurso, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title: 'Curso(s) vinculado com sucesso!',\n showConfirmButton: false,\n timer: 4000,\n })\n this.updateListReconhecimentoCursos()\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao vincular curso(s)!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }\n } else if (error.request) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n\n var listOfObjects = [];\n var listOfGroupedObjects = [];\n \n this.props.cursos.forEach(element => {\n var singleObj = {};\n singleObj['label'] = element.codigoInterno + ' - '+ element.cursoMec.campus.sigla +' - '+element.cursoMec.nome+' - '+element.cursoMec.grau.descricao;\n singleObj['value'] = element.cursoID;\n listOfObjects.push(singleObj);\n\n let hasGroup = false;\n\n listOfGroupedObjects.forEach(function(obj) {\n if (obj.label === element.cursoMec.campus.nome && obj.options[0].value != element.cursoID) {\n var newOptions = obj.options;\n newOptions.push(singleObj);\n obj.options = newOptions;\n hasGroup = true;\n }\n });\n\n if(!hasGroup){\n var groupedObj = {};\n groupedObj['label'] = element.cursoMec.campus.nome;\n groupedObj['options'] = [];\n groupedObj['options'].push(singleObj);\n listOfGroupedObjects.push(groupedObj);\n }\n });\n\n return (\n {\n let errors = {}\n if (this.state.CursoID === '') {\n errors.CursoID =\n 'CursoID é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={(values, { resetForm }) => {\n let cursosIds = values.CursoID.map(a => a.value);\n this.salvarReconhecimentoCurso(cursosIds)\n this.setState({\n CursoID: null,\n Habilitacao: '',\n ProcessoReconhecimento: ''\n })\n resetForm();\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit, setFieldValue, values }) => (\n \n {/* \n \n Curso\n \n \n \n Selecione...\n \n {this.props.cursos.map((option, index) => (\n \n {option.codigoInterno + ' - '+ option.cursoMec.campus.sigla +' - '+option.cursoMec.nome+' - '+option.cursoMec.grau.descricao}\n \n ))}\n \n \n */}\n \n \n Curso(s):\n \n setFieldValue(\"CursoID\", option)}\n allowSelectAll={true}\n />\n \n \n Processo de Reconhecimento: \n \n \n \n \n \n Cadastrar\n \n \n \n \n )}\n \n )\n }\n}\n\nexport default connect()(NovoReconhecimentoCursoForm)\n","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Button, Form, Table, Card } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { addNewReconhecimentoRequest } from '../../store/thunks'\nimport * as api from './../../api/api'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../api/apiAxios\";\nimport DatePicker from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { allowedNodeEnvironmentFlags } from 'process'\nimport TabelaReconhecimentosCursos from './../../components/Area/CAE/TabelaReconhecimentoCursos'\nimport NovoReconhecimentoCursoForm from './../../components/Area/CAE/NovoReconhecimentoCursoForm'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass ReconhecimentoForm extends React.Component {\n static displayName = ReconhecimentoForm.name\n constructor(props) {\n super(props)\n this.state = {\n TipoAtoRegulatorioUid: '',\n Numero: '',\n Data: null,\n VeiculoPublicacao: '', \n DataPublicacao: null,\n SecaoPublicacao: '',\n PaginaPublicacao: '', \n NumeroPublicacao: '', \n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleInputChangeDate = this.handleInputChangeDate.bind(this)\n }\n\n componentDidMount(){ \n if(this.props.atoRegulatorioUid != undefined){\n this.setAtoRegulatorio(); \n }\n }\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n let regexpOnlyNumber = /^[0-9\\b]+$/ //só numero\n\n if (name === 'Numero' || name === 'NumeroPublicacao') {\n if (regexpOnlyNumber.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else {\n this.setState({\n [name]: value,\n })\n }\n } \n handleInputChangeDate(date, name) {\n if(name === \"Data\"){\n if (date === null) {\n date = new Date()\n }\n }\n this.setState({\n [name]: date,\n })\n }\n\n RedirectToConsultaReconhecimentos = () => {\n window.location.href = '/digital/reconhecimentos'\n }\n\n setAtoRegulatorio() {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.atoRegulatorioUid}`;\n const url = apiURLs.GET_DADOS_ATO_REGULATORIO + this.props.atoRegulatorioUid;\n apiAxios\n .get(url)\n .then((result) => {\n console.log(result.data);\n this.setState({ \n TipoAtoRegulatorioUid: result.data.tipoAtoRegulatorioUid,\n Numero: result.data.numero,\n Data: new Date(result.data.data),\n VeiculoPublicacao: result.data.veiculoPublicacao, \n DataPublicacao: new Date(result.data.dataPublicacao),\n SecaoPublicacao: result.data.secaoPublicacao,\n PaginaPublicacao: result.data.paginaPublicacao,\n NumeroPublicacao: result.data.numeroPublicacao })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n\n salvarReconhecimento = () => {\n try {\n let errors = {}\n if (this.state.TipoAtoRegulatorioUid === '' || this.state.TipoAtoRegulatorioUid == '0') {\n errors.TipoAtoRegulatorioUid = 'Tipo de Ato Regulatório é obrigatório'\n }\n if (this.state.Data === '') {\n errors.Data = 'Data é obrigatória'\n }\n if (this.state.Numero === '') {\n errors.Numero = 'Número'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n return;\n }\n\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Ato Regulatório de Reconhecimento de Curso(s) está sendo salvo.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n var obj = {\n TipoAtoRegulatorioUid: Number(this.state.TipoAtoRegulatorioUid),\n Numero: this.state.Numero,\n Data: this.state.Data, \n };\n\n if(this.props.atoRegulatorioUid != \"\" && this.props.atoRegulatorioUid != undefined){\n obj.AtoRegulatorioUid = Number(this.props.atoRegulatorioUid);\n }\n\n if(this.state.NumeroPublicacao != \"\"){\n obj.NumeroPublicacao = this.state.NumeroPublicacao;\n }\n if(this.state.VeiculoPublicacao != \"\"){\n obj.VeiculoPublicacao = this.state.VeiculoPublicacao;\n }\n if(this.state.PaginaPublicacao != \"\"){\n obj.PaginaPublicacao = Number(this.state.PaginaPublicacao);\n }\n if(this.state.SecaoPublicacao != \"\"){\n obj.SecaoPublicacao = Number(this.state.SecaoPublicacao);\n }\n if(this.state.DataPublicacao != \"\" && this.state.DataPublicacao != null && this.state.DataPublicacao != undefined){\n obj.DataPublicacao = this.state.DataPublicacao;\n }\n\n obj.TipoCadastro = 2;\n const novoReconhecimento = JSON.stringify(obj);\n\n //let url = 'https://localhost:5001/api/reconhecimento/ato-regulatorio/novo'\n\n apiAxios\n .post(apiURLs.NOVO_ATO_REGULATORIO, novoReconhecimento, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title:\n 'Ato Regulatório de Reconhecimento de Curso(s) cadastrado/alterado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 4000,\n }).then(this.RedirectToConsultaReconhecimentos())\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar/editar Ato Regulatório de Reconhecimento de Curso(s)!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.' +\n ' ' +\n error //payload\n ? error//payload\n : '',\n })\n }\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n // console.log(error.response.data);\n // console.log(error.response.status);\n // console.log(error.response.headers);\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the\n // browser and an instance of\n // http.ClientRequest in node.js\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n // Something happened in setting up the request that triggered an Error\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n }) \n\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n \n return (\n {\n this.salvarReconhecimento()\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n \n \n
\n Tipo de Ato Regulatório{' '} * \n \n \n \n Selecione...\n \n {this.props.tiposAtoRegulatorio.map((option, index) => (\n \n {option.nome}\n \n ))}\n \n \n \n \n \n \n \n Número{' '} * \n \n \n \n \n \n Data{' '} * {' '}\n \n \n this.handleInputChangeDate(\n date,\n 'Data'\n )\n }\n />\n \n \n\n \n \n \n \n Veículo de Publicação \n \n \n \n \n \n Número da Publicação{' '} \n \n \n \n \n \n\n \n \n \n Data de Publicação {' '}\n \n \n this.handleInputChangeDate(\n date,\n 'DataPublicacao'\n )\n }\n />\n \n \n \n Seção de Publicação \n \n \n \n\n \n Página de Publicação \n \n \n \n \n \n \n Voltar\n \n \n {(this.props.atoRegulatorioUid != \"\" && this.props.atoRegulatorioUid != undefined) ? \"Editar\" : 'Cadastrar' }\n \n
\n \n )}\n \n )\n }\n}\n\nexport default connect()(ReconhecimentoForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport ReconhecimentoForm from '../CAE/ReconhecimentoForm'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class ReconhecimentoNovo extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n reconhecimentos: [],\n tiposAtoRegulatorio: [],\n cursos: [],\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.setTiposAtoRegulatorio()\n this.setCursos()\n }\n\n setTiposAtoRegulatorio() {\n // const url = 'https://localhost:5001/api/reconhecimento/tiposAto'; \n apiAxios\n .get(apiURLs.GET_TIPOS_ATO_REGULATORIO)\n .then((result) => {\n console.log(result)\n this.setState({ tiposAtoRegulatorio: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n }\n\n setCursos() {\n const url = apiURLs.GET_CURSOS_ATIVOS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n Novo Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n \n \n \n Novo Ato Regulatório de Reconhecimento de Curso(s) \n \n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport ReconhecimentoForm from '../CAE/ReconhecimentoForm'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class ReconhecimentoEdita extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n tiposAtoRegulatorio: []\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.setTiposAtoRegulatorio();\n }\n\n setTiposAtoRegulatorio() {\n //const url = 'https://localhost:5001/api/reconhecimento/tiposAto'; \n apiAxios\n .get(apiURLs.GET_TIPOS_ATO_REGULATORIO)\n .then((result) => {\n this.setState({ tiposAtoRegulatorio: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n }\n\n render() {\n return (\n <>\n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n Editar Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n \n Editar Ato Regulatório de Reconhecimento de Curso(s) \n \n { }\n \n \n >\n )\n }\n}\n","import * as React from 'react'\nimport { Card, Col, Form } from 'react-bootstrap'\n\nexport class ReconhecimentoDetalhe extends React.Component {\n render() {\n \n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n console.log(dataArray)\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n\n return ( \n \n \n \n \n \n \n Tipo de Ato Regulatório:{' '}\n \n {this.props.atoRegulatorio.tipo} \n \n \n \n \n \n Número:{' '} \n {this.props.atoRegulatorio.numero} \n \n \n \n \n Data:{' '} {' '} \n {(this.props.atoRegulatorio.data != null && this.props.atoRegulatorio.data != undefined) ? : ''}\n \n \n\n \n \n \n \n Veículo de Publicação: \n {(this.props.atoRegulatorio.veiculoPublicacao == null || this.props.atoRegulatorio.veiculoPublicacao == \"\" ||\n this.props.atoRegulatorio.veiculoPublicacao == undefined) ? \"--\" : this.props.atoRegulatorio.veiculoPublicacao} \n \n \n Número da Publicação:{' '} \n {this.props.atoRegulatorio.numeroPublicacao} \n \n \n \n\n \n \n \n Data de Publicação: {' '} \n {(this.props.atoRegulatorio.dataPublicacao != null && this.props.atoRegulatorio.dataPublicacao != undefined) ? : ''}\n \n \n \n Seção de Publicação: \n {this.props.atoRegulatorio.secaoPublicacao} \n \n\n \n Página de Publicação: \n {this.props.atoRegulatorio.paginaPublicacao} \n \n \n \n \n )\n }\n}\n\nexport default ReconhecimentoDetalhe\n","import * as React from 'react'\nimport { Card, Breadcrumb, Button } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport apiAxios from './../../api/apiAxios';\nimport ReconhecimentoDetalhe from '../../components/Area/CAE/ReconhecimentoDetalhe'\nimport Swal from 'sweetalert2'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class ReconhecimentoExclui extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n atoRegulatorioUid: 0,\n atoRegulatorio: {} \n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleExcluir = this.handleExcluir.bind(this)\n }\n\n componentDidMount() {\n if(this.props.match.params.id != undefined){\n this.setAtoRegulatorio(); \n }\n }\n \n setAtoRegulatorio() {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.match.params.id}`;\n const url = apiURLs.GET_DADOS_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n console.log( result.data)\n this.setState({ \n atoRegulatorio: result.data,\n atoRegulatorioUid: result.data.atoRegulatorioUid\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n } \n \n RedirectToConsultaReconhecimentos = () => {\n window.location.href = '/reconhecimentos'\n }\n\n handleExcluir(event) {\n Swal.fire({\n title: 'Deseja cancelar Ato Regulatorio de Reconhecimento de Curso(s)?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/cancela/${this.state.atoRegulatorioUid}`;\n const url = apiURLs.CANCELA_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Cancelado com sucesso!', '', 'success')\n this.RedirectToConsultaReconhecimentos();\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n }\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n Excluir Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n \n \n \n \n Excluir Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n \n Voltar\n {' '}\n \n Excluir\n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Col, Card, Breadcrumb, Button, Form } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport apiAxios from './../../api/apiAxios';\nimport ReconhecimentoDetalhe from '../../components/Area/CAE/ReconhecimentoDetalhe'\nimport apiURLs from './../../api/apiURLs'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport TabelaReconhecimentosCursos from './../../components/Area/CAE/TabelaReconhecimentoCursos'\nimport NovoReconhecimentoCursoForm from './../../components/Area/CAE/NovoReconhecimentoCursoForm';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class ReconhecimentoVinculaCursos extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n AtoRegulatorioUid: 0,\n atoRegulatorio: {} ,\n ReconhecimentosCursos: [],\n updateCursosNeed: false,\n cursos:[]\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.updateListReconhecimentoCursos = this.updateListReconhecimentoCursos.bind(this)\n }\n\n componentDidMount() {\n if(this.props.match.params.id != undefined){\n this.setAtoRegulatorio(); \n this.setReconhecimentoCursos();\n }\n this.setCursos();\n }\n componentDidUpdate() {\n if (this.state.updateCursosNeed) {\n this.setReconhecimentoCursos()\n\n this.setState({\n updateCursosNeed: false,\n })\n }\n }\n \n setCursos() {\n const url = apiURLs.GET_CURSOS_ATIVOS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n setReconhecimentoCursos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos vinculados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n\n //const url = `https://localhost:5001/api/reconhecimento/cursos-ato-regulatorio/${this.props.match.params.id}`;\n const url = apiURLs.GET_CURSO_VINCULADOS_RECONHECIMENTO_CURSOS + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n ReconhecimentosCursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }) \n }\n updateListReconhecimentoCursos() {\n this.setState({\n updateCursosNeed: true,\n })\n }\n setAtoRegulatorio() {\n //const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.match.params.id}`; \n const url = apiURLs.GET_DADOS_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n console.log( result.data)\n this.setState({ \n atoRegulatorio: result.data,\n AtoRegulatorioUid: result.data.atoRegulatorioUid\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n } \n \n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n Vincular Cursos ao Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n \n \n \n \n Vincular Cursos ao Ato Regulatório de Reconhecimento de Curso(s)\n \n \n \n \n\n {\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n )}\n \n \n Voltar\n {' '}\n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ reconhecimentosCursos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = reconhecimentosCursos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n \n const columns = [\n {\n name: 'Código Interno',\n selector: 'curso.codigoInterno',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Curso',\n selector: 'curso.cursoMec.nome',\n sortable: true,\n },\n {\n name: 'Grau',\n selector: 'curso.cursoMec.grau.descricao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Periodicidade',\n selector: 'curso.periodicidade.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Regime',\n selector: 'curso.regime.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Turno',\n selector: 'curso.turno.nome',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Processo Reconhecimento',\n selector: 'processoReconhecimento',\n sortable: true,\n maxWidth: '15%',\n }\n ]\n \n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Card, Breadcrumb, Alert } from 'react-bootstrap'\nimport apiAxios from './../../api/apiAxios';\nimport { Link } from 'react-router-dom'\nimport Swal from 'sweetalert2'\nimport TabelaReconhecimentoCursosVisualizacao from './../../components/Area/CAE/TabelaReconhecimentoCursosVisualizacao'\nimport ReconhecimentoDetalhe from './../../components/Area/CAE/ReconhecimentoDetalhe'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class ReconhecimentoVerDetalhe extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n atoRegulatorio: {},\n ReconhecimentosCursos: [],\n }\n\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n if (this.props.match.params.id != undefined) {\n this.setAtoRegulatorio();\n this.setReconhecimentoCursos();\n }\n }\n\n setAtoRegulatorio() {\n //const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.match.params.id}`; \n const url = apiURLs.GET_DADOS_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n atoRegulatorio: result.data\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n setReconhecimentoCursos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos vinculados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n\n //const url = `https://localhost:5001/api/reconhecimento/cursos-ato-regulatorio/${this.props.match.params.id}`;\n const url = apiURLs.GET_CURSO_VINCULADOS_RECONHECIMENTO_CURSOS + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n ReconhecimentosCursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n\n render() {\n return (\n <>\n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Reconhecimento de Curso(s)\n \n \n Detalhes de Ato Regulatório de Reconhecimento de Curso(s)\n \n \n\n Detalhes de Ato Regulatório de Reconhecimento de Curso(s) \n\n {(this.state.atoRegulatorio.cancelado) ?\n \n Ato Regulatório de Reconhecimento de Curso(s) Cancelado\n :\n <>>}\n \n\n \n \n \n \n \n\n \n Voltar\n \n >\n )\n }\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button, Tooltip, OverlayTrigger } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport { ListGroupItemText } from 'reactstrap'\n\nconst TextField = styled.input`\n height: 32px;\n width: 350px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear, onSelected }) => (\n <>\n \n Novo Registro \n {' '}\n \n \n \n \n >\n)\n\nconst ButtonsRegistroCancelado = (props) => {\n return (props.revogado ?\n \n Ver Detalhes da Revogação\n \n :\n \n Ver Detalhes do Cancelamento\n \n )\n}\nconst renderTooltip = (props) => (\n \n {props}\n \n);\n\nconst ButtonsRegistroAtivo = (props) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {props.suspenso ? \n \n \n \n \n : <>>\n }\n {/* \n \n \n \n \n \n \n \n \n */}\n \n \n \n \n \n >\n )\n}\nconst columns = [\n {\n name: 'Nº Registro',\n selector: 'registroID',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Via',\n cell: (props) => (props.segundaVia === true ? '2ª' : '1ª'),\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Diplomado',\n selector: 'nomeDiplomado',\n sortable: true,\n maxWidth: '60%', //25% com nomes nos botoes\n },\n {\n cell: (props) =>\n props.cancelado === true ? (\n \n ) : (\n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n maxWidth: '17.5rem', //80% com nomes nos botoes\n },\n]\n\nconst BasicTable = (props) => {\n const [filterText, setFilterText] = React.useState('');\n const [selectedData, setSelectedData] = React.useState();\n const [toggledClearRows, setToggleClearRows] = React.useState(false);\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(false)\n let filteredItems = [];\n if (props.registros != null && props.registros != undefined) {\n try {\n filteredItems = props.registros.filter(\n (item) => (item.nomeDiplomado && item.nomeDiplomado.toLowerCase().includes(filterText.toLowerCase())) ||\n (item.cpf && item.cpf.includes(filterText.toLowerCase())) ||\n (item.id && item.id.includes(filterText.toLowerCase()))\n )\n } catch (ex) {\n console.log(\"erro BasicTable\", ex);\n console.log(\"BasicTable registros\", props.registros);\n }\n }\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n //onSelected={handleSelected}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n\n const handleChange = (state) => {\n setSelectedData(state.selectedRows);\n };\n\n const contextActions = React.useMemo(() => {\n\t\t\n const handleSelected = () => {\n props.handleSelectedRegistros(selectedData);\n } \n\n const handleClearRows = () => {\n setToggleClearRows(!toggledClearRows);\n }\n\n\t\treturn (\n\t\t\t<>\n \n Adicionar Data de Publicação DOU Selecionados\n \n \n Limpar seleção\n \n >\n\t\t);\n\t}, [filteredItems, selectedData, toggledClearRows]);\n \n return (\n <>\n \n \n >\n )\n}\n\nexport default BasicTable","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { Button, Row, Col, Form } from 'react-bootstrap'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\nclass RegistroConsultaFiltro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n dataInicio:\n this.props.dataInicio === null ? null : this.props.dataInicio,\n dataFim: null,\n }\n\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleInputChangeDate = this.handleInputChangeDate.bind(this)\n this.handleSubmit = this.handleSubmit.bind(this)\n this.verTodos = this.verTodos.bind(this)\n }\n\n /*componentWillReceiveProps(props) {\n if (this.state.dataInicio == null && props.dataInicio != null) {\n this.setState({ dataInicio: props.dataInicio })\n } else {\n if (this.state.dataInicio != null) {\n this.setState({ dataInicio: this.state.dataInicio })\n }\n }\n if (this.state.dataFim == null && props.dataFim != null) {\n this.setState({ dataFim: props.dataFim })\n } else {\n if (this.state.dataFim != null) {\n this.setState({ dataFim: this.state.dataFim })\n }\n }\n }*/\n\n handleInputChangeDate(date, name) {\n if (date === null) {\n date = new Date()\n }\n this.setState({\n [name]: date,\n })\n this.props.handleInputChangeDate2(date, name)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n handleSubmit(event) {\n if (this.state.dataInicio != null && this.state.dataFim != null) {\n this.props.redireciona(this.state.dataInicio, this.state.dataFim)\n }\n event.preventDefault()\n }\n\n verTodos() {\n this.setState({ dataInicio: null, dataFim: null })\n this.props.verTodos()\n }\n\n render() {\n return (\n \n )\n }\n}\n\nexport default RegistroConsultaFiltro\n","import * as React from 'react';\nimport { Card, Breadcrumb,Row, Col, Button, Collapse, Alert } from 'react-bootstrap';\nimport TabelaRegistro from './../../components/Area/CAE/TabelaRegistro';\nimport { connect } from 'react-redux';\nimport { loadRegistros, loadRegistrosPeriodo, setSelectedRegistros} from './../../store/thunks';\nimport { IrPortal } from \"../../util/funcoes\";\nimport { Link } from 'react-router-dom'\nimport RegistroConsultaFiltro from './RegistroConsultaFiltro';\nimport { format } from 'date-fns'\nimport queryString from 'query-string'\nimport Swal from 'sweetalert2'\nimport apiURLs from \"../../api/apiURLs\";\nimport apiAxios from '../../api/apiAxios';\n\nclass RegistroConsulta extends React.Component {\n static displayName = RegistroConsulta.name\n constructor(props) {\n super(props)\n this.state = { \n redireciona: false,\n registros: [],\n selectedRows: [],\n dataInicio: null,\n dataFim: null,\n open:false\n }\n this.handleSelectedRegistros = this.handleSelectedRegistros.bind(this)\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n \n this.redireciona = this.redireciona.bind(this)\n this.handleInputChangeDate2 = this.handleInputChangeDate2.bind(this)\n this.verTodos = this.verTodos.bind(this)\n }\n\n handleInputChangeDate2(date, name) {\n if (date === null) {\n date = new Date()\n }\n this.setState({\n [name]: date,\n })\n }\n\n verTodos() {\n this.props.history.push(`/registros`)\n this.setState({ redireciona: true })\n }\n\n redireciona(dataInicio, dataFim) {\n const dataInicioFormatada = format(dataInicio, 'yyyy-MM-dd')\n const dataFimFormatada = format(dataFim, 'yyyy-MM-dd')\n this.props.history.push(\n `/registros?dataInicio=${dataInicioFormatada}&dataFim=${dataFimFormatada}`\n )\n this.setState({ redireciona: true })\n }\n\n componentDidMount() {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n //this.getDadosListaDiplomasAnulados();\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando registros.',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n })\n if (dataInicio != null && dataFim != null) {\n this.props.dispatch(loadRegistrosPeriodo(dataInicio, dataFim))\n } else {\n this.props.dispatch(loadRegistros())\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.state.redireciona === true) {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n if (dataInicio != null && dataFim != null) {\n this.props.dispatch(loadRegistrosPeriodo(dataInicio, dataFim))\n } else {\n this.props.dispatch(loadRegistros())\n }\n this.setState({ redireciona: false })\n }\n }\n \n getDadosListaDiplomasAnulados() {\n \n try { \n let url = apiURLs.GET_LISTA_DIPLOMAS_ANULADOS;\n //console.log(url);\n apiAxios\n .get(url)\n .then((result) => {\n console.log(result.data);\n this.setState({ listaDiplomasAnuladosDataCriacao: result.data.dataCriacao, \n listaDiplomasAnuladosDataMaximaProximaAtualizacao: result.data.dataMaximaProximaAtualizacao })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao buscar lista de diplomas anulados!',\n html: 'Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n handleSelectedRegistros(registrosSelecionados) {\n this.props.dispatch(setSelectedRegistros(registrosSelecionados))\n window.location.href = `/gravar-nova-data-publicacao-em-lote`;\n }\n\n exportarExtratoDOUPDF = () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados dos registros...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n let buscaDto = {\n DataInicio: dataInicio,\n DataFim: dataFim\n }\n console.log(buscaDto);\n apiAxios.post(\"/api/registro/exportar-extrato-dou-pdf\", JSON.stringify(buscaDto), {\n headers: { 'content-type': 'application/json' },\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n console.log(response)\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? \"extrato-dou.pdf\" : fileNameServidor[0]);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n \n exportarExtratoDOUDOC = () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados dos registros...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n\n let buscaDto = {\n DataInicio: dataInicio,\n DataFim: dataFim\n }\n console.log(buscaDto);\n apiAxios.post(\"/api/registro/exportar-extrato-dou-doc\", JSON.stringify(buscaDto), {\n headers: { 'content-type': 'application/json' },\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n console.log(response)\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? \"extrato-dou.docx\" : fileNameServidor[0]);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n\n render() {\n let params = queryString.parse(this.props.location.search)\n const dataInicio = params.dataInicio\n const dataFim = params.dataFim\n const { registros } = this.props\n return (\n \n
\n \n \n Página Inicial - CAE\n \n \n Consulta de Registros \n \n\n
\n
this.setState({ open: !this.state.open })}\n aria-controls=\"example-fade-text\"\n aria-expanded={this.state.open}\n >\n Consulta por período\n \n
\n
\n \n
\n \n \n {\n (dataInicio != null && dataFim != null) \n ?\n <>\n \n \n \n { this.exportarExtratoDOUPDF()}}>\n Exportar Extrato Detalhado PDF\n {' '} \n { this.exportarExtratoDOUDOC()}}>\n Exportar Extrato Detalhado DOC\n \n \n
\n > \n :null\n }\n {/* */}\n {/**/}\n {/*{*/}\n {/*(this.state.listaDiplomasAnuladosDataCriacao != null)*/}\n {/*?*/}\n {/**/}\n {/* */}\n {/* Lista de Diplomas Anulados Criada em: {\" \"}*/}\n {/* {this.state.listaDiplomasAnuladosDataCriacao.toLocaleDateString(\"pt-BR\")}*/}\n {/* */}\n {/* */}\n {/* Próxima Atualização de Lista de Diplomas Anulados: {\" \"}*/}\n {/* {this.state.listaDiplomasAnuladosDataMaximaProximaAtualizacao.toLocaleDateString(\"pt-BR\")}*/}\n {/* */}\n {/*
*/}\n {/*: null*/}\n {/*}*/}\n {/* */}\n \n \n
\n )\n }\n}\n\nexport default connect((state) => ({\n registros: state.registros.registros,\n loading: state.registros.loading,\n error: state.registros.error,\n}))(RegistroConsulta)","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Form, Button } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { addNovaDataPublicacaoRequest } from '../../../store/thunks'\nimport { format } from 'date-fns'\n\nconst GravarPublicacaoForm = ({\n registroDOUData,\n registroId,\n onCreatePressed,\n}) => {\n const history = useHistory()\n const [inputValue, setInputValue] = React.useState('')\n\n const handleRedirect = () => {\n history.push('/registros')\n }\n return (\n \n )\n}\n\nconst mapStateToProps = (state) => ({})\n\nconst mapDispatchToProps = (dispatch) => ({\n onCreatePressed: (data, id) =>\n dispatch(addNovaDataPublicacaoRequest(data, id)),\n})\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(GravarPublicacaoForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport GravarPublicacaoForm from '../../components/Area/CAE/GravarPublicacaoForm'\nimport { loadRegistro } from './../../store/thunks'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\n\nclass GravarPublicacao extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n registroId: this.props.match.params.registroId,\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n componentDidMount() {\n this.props.dispatch(loadRegistro(this.state.registroId))\n }\n\n render() {\n return (\n <>\n \n \n Página Inicial - CAE\n \n \n Consulta de Registros\n \n \n Gravar Data de Publicação\n \n \n\n Data de Publicação de Registro \n \n \n \n Informe a data de publicação no DOU. \n \n \n \n \n >\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(GravarPublicacao)\n","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Form, Button } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { cancelarRegistroRequest } from '../../../store/thunks'\nimport { format } from 'date-fns'\n\nfunction FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n}\n\nconst CancelarRegistroForm = ({\n registroId,\n estudante,\n dataRegistro,\n responsavelRegistro,\n handleSubmit,\n motivos,\n revogarOuSuspender,\n suspenso\n}) => {\n const history = useHistory()\n const [inputValue, setInputValue] = React.useState('')\n const [selectValue, setSelectValue] = React.useState('2')\n const [acao, setAcao] = React.useState(suspenso ? 'revogar' : 'suspender')\n\n return (\n \n \n
Estudante: \n {estudante}\n \n \n \n \n
Data de Registro: \n \n \n \n {revogarOuSuspender ? \n \n
Ação: \n setAcao(e.target.value)}\n >\n {suspenso ? <>> :\n \n Suspender\n \n }\n \n Revogar\n \n \n \n : <>> }\n \n \n
Motivo: \n setSelectValue(e.target.value)}\n >\n {motivos.map((option, index) => (\n \n {option.nome}\n \n ))}\n \n \n \n \n \n
Justificativa \n setInputValue(e.target.value)}\n className=\"form-control\"\n required\n />\n \n \n \n \n
Responsável pelo Registro: {' '}\n \n Nome: {responsavelRegistro.nome} \n Matrícula (SIAPE): {\n responsavelRegistro.iDouNumeroMatricula\n }{' '}\n \n CPF: {responsavelRegistro.cpf}\n \n \n \n \n
Responsável {suspenso ? 'pela Reativação' : 'pelo Cancelamento'}: {' '}\n \n Nome: {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome')} \n Matrícula (SIAPE): {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula')}{' '}\n \n CPF: {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF')}\n \n \n \n \n \n Nota Técnica No. 13/2019/DIFES/SESU/SESU Versão 1.0{' '}\n \n 7.12.3 A anulação do diploma digital pode ocorrer nos\n casos de erros de fato e erros de ofício, sendo o\n processo de anulação diferente em cada caso.\n \n 7.12.5 Nos casos de erro de ofício, o diploma deve ser\n anulado de forma irreversível através da sua indicação\n como inativo, indicando na URL única do diploma o motivo\n de sua revogação assim como a data e hora em que a\n anulação foi feita.\n \n 7.12.6 Nos casos de erro de fato, o diploma pode ser\n anulado de forma temporária, indicando na URL única do\n diploma o motivo de sua revogação assim como a data e\n hora em que a anulação foi feita. Caso o fato cesse ou\n seja suspenso, o status do diploma poderá voltar a ser\n ativo, mas a URL única do diploma deve manter as\n anotações relativas ao período em que o diploma se\n encontra suspenso.\n \n
\n \n \n Voltar\n {' '}\n {\n if (inputValue) {\n handleSubmit( registroId,\n selectValue,\n inputValue,\n sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome'),\n sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula'),\n revogarOuSuspender ? acao : 'cancelar'\n );\n // onCreatePressed(\n // registroId,\n // inputValue,\n // sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome'),\n // sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula'),\n // )\n //setInputValue('')\n //handleRedirect()\n }\n }}\n >\n {revogarOuSuspender ? (acao == 'suspender' ? 'Suspender' : 'Revogar') : (suspenso ? 'Desfazer Suspensão' : 'Cancelar')}\n \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n anotacoes: state.registros.anotacoes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nconst mapDispatchToProps = (dispatch) => ({\n onCreatePressed: (\n registroId,\n motivoId,\n justificativa,\n responsavel,\n responsavelDocumento\n ) =>\n dispatch(\n cancelarRegistroRequest(\n registroId,\n motivoId,\n justificativa,\n responsavel,\n responsavelDocumento\n )\n ),\n})\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(CancelarRegistroForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb, Alert } from 'react-bootstrap'\nimport CancelarRegistroForm from '../../components/Area/CAE/CancelarRegistroForm'\nimport { loadRegistro } from '../../store/thunks'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2'\nimport * as api from './../../api/api'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { Link } from 'react-router-dom'\n\nclass CancelarRegistro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n registroId: this.props.match.params.registroId,\n revogarOuSuspender: true,\n suspenso: true,\n situacaoEnvioId: 0,\n motivos:[]\n }\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n\n this.handleSubmit = this.handleSubmit.bind(this)\n }\n\n componentDidMount() {\n this.props.dispatch(loadRegistro(this.state.registroId))\n this.getSituacaoRegistro();\n this.getMotivos();\n }\n\n handleRedirect(){\n window.location.href = '/digital/registros'\n } \n \n getMotivos () {\n try { \n let url = \"/api/registro/cancelaMotivos\";\n //console.log(url);\n apiAxios\n .get(url)\n .then((result) => {\n // console.log(result.data);\n this.setState({ motivos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao buscar motivos de anulacao de registro!',\n html: 'Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n getSituacaoRegistro () {\n try { \n let url = apiURLs.GET_REGISTRO_SITUACAO + this.state.registroId;\n //console.log(url);\n apiAxios\n .get(url)\n .then((result) => {\n console.log(result.data);\n this.setState({ revogarOuSuspender: result.data.assinado || result.data.suspenso, situacaoEnvioId: result.data.situacaoEnvioId, suspenso: result.data.suspenso })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao buscar situacao de registro!',\n html: 'Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n chamarApi (acao, dadosCancelamento, registroId)\n {\n switch (acao)\n {\n case 'revogar':\n return api.revogarRegistro(dadosCancelamento, registroId);\n case 'suspender':\n return api.suspenderRegistro(dadosCancelamento, registroId);\n default:\n return api.cancelarRegistro(dadosCancelamento, registroId);\n }\n }\n\n handleSubmit (registroId,\n motivoId,\n justificativa,\n responsavel,\n responsavelDocumento,\n acao) {\n try {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Cancelando registro...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const dadosCancelamento = JSON.stringify({\n registroId: Number(registroId),\n motivoId: Number(motivoId),\n justificativa,\n responsavel,\n responsavelDocumento,\n })\n console.log(dadosCancelamento);\n this.chamarApi(acao, dadosCancelamento, registroId).then((resp) => {\n console.log(resp)\n if (resp.status !== 200) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao cancelar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n } else {\n Swal.close() \n Swal.fire({\n icon: 'success',\n title: 'Registro cancelado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 10000,\n }).then(this.handleRedirect()) \n }\n })\n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao cancelar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n renderAvisoRevogacaoOuSuspensao = () =>\n {\n if (this.state.revogarOuSuspender)\n {\n return (\n \n Existe documento XML assinado vinculado a esse registro. Neste caso, as opções são: \n • Suspensão: O diploma será anulado temporariamente e poderá ser reativado a qualquer momento \n • Revogação: O diploma será revogado de forma irreversível. Esta ação não pode ser desfeita \n \n )\n }\n\n return <>>\n }\n\n render() {\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n {this.state.revogarOuSuspender ? 'Revogar/Suspender' : 'Cancelar'} Registro\n \n \n \n \n \n {this.state.revogarOuSuspender ? 'Revogar/Suspender' : 'Cancelar'} Registro \n \n Preencha as informações abaixo para continuar\n com {this.state.revogarOuSuspender ? 'a revogação/suspensão' : 'o cancelamento'} do registro de diploma.\n \n \n {this.renderAvisoRevogacaoOuSuspensao()} \n \n \n \n \n >\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(CancelarRegistro)\n","import * as React from 'react'\nimport { Card, Breadcrumb, Alert } from 'react-bootstrap'\nimport CancelarRegistroForm from '../../components/Area/CAE/CancelarRegistroForm'\nimport { loadRegistro } from '../../store/thunks'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2'\nimport * as api from './../../api/api'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { Link } from 'react-router-dom'\n\nclass ReativarRegistro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n registroId: this.props.match.params.registroId,\n assinado: true,\n suspenso: true,\n motivos:[]\n }\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF'); \n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n\n this.handleSubmit = this.handleSubmit.bind(this)\n }\n\n componentDidMount() {\n this.props.dispatch(loadRegistro(this.state.registroId))\n this.getSituacaoRegistro();\n this.getMotivos();\n }\n\n handleRedirect(){\n window.location.href = '/digital/registros'\n } \n \n getMotivos () {\n try { \n let url = \"/api/registro/cancelaMotivos\"; \n apiAxios\n .get(url)\n .then((result) => { \n this.setState({ motivos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao buscar motivos de anulação de registro!',\n html: 'Se o erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n getSituacaoRegistro () {\n try { \n let url = apiURLs.GET_REGISTRO_SITUACAO + this.state.registroId; \n apiAxios\n .get(url)\n .then((result) => {\n if (!result.data.suspenso)\n this.handleRedirect()\n else\n this.setState({ assinado: result.data.assinado, suspenso: result.data.suspenso })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao buscar situação de registro!',\n html: 'Se o erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n handleSubmit (registroId,\n motivoId,\n justificativa,\n responsavel,\n responsavelDocumento) {\n try {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Desfazendo suspensão de registro...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const dadosCancelamento = JSON.stringify({\n registroId: Number(registroId),\n motivoId: Number(motivoId),\n justificativa,\n responsavel,\n responsavelDocumento,\n }) \n api.reativarRegistro(dadosCancelamento, registroId).then((resp) => { \n if (resp.status !== 200) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao desfazer suspensão de registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se este erro persistir entre em contato com o administrador do sistema.'\n })\n } else {\n Swal.close() \n Swal.fire({\n icon: 'success',\n title: 'Registro reativado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 10000,\n }).then(this.handleRedirect()) \n }\n })\n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao desfazer suspensão de registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se este erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n render() {\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n Desfazer Suspensão de Registro\n \n \n \n \n \n \n Desfazer Suspensão de Registro \n \n Preencha as informações abaixo para continuar\n com a reativação do registro de diploma.\n \n \n \n \n \n \n >\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(ReativarRegistro)\n","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Form, Button } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { revogaCancelamentoRegistroRequest } from '../../../store/thunks'\nimport { format } from 'date-fns'\n\nfunction FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n}\n\nconst RevogaCancelamentoRegistroForm = ({\n registroId,\n estudante,\n dataRegistro,\n responsavelRegistro,\n //onCreatePressed,\n handleSubmit,\n}) => {\n const history = useHistory()\n const [inputValue, setInputValue] = React.useState('')\n\n const handleRedirect = () => {\n history.push('/registros')\n }\n return (\n \n \n Estudante: \n {estudante}\n \n \n \n \n Data de Registro: \n \n \n \n \n \n Justificativa \n setInputValue(e.target.value)}\n className=\"form-control\"\n required\n />\n \n \n \n \n Responsável pelo Registro: {' '}\n \n Nome: {responsavelRegistro.nome} \n Matrícula (SIAPE): {\n responsavelRegistro.iDouNumeroMatricula\n }{' '}\n \n CPF: {responsavelRegistro.cpf}\n \n \n \n \n \n Responsável por Revogar Cancelamento:{' '}\n {' '}\n \n Nome: {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome')} \n Matrícula (SIAPE): {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula')}{' '}\n \n CPF: {sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF')}\n \n \n \n \n \n Nota Técnica No. 13/2019/DIFES/SESU/SESU Versão 1.0{' '}\n \n 7.12.3 A anulação do diploma digital pode ocorrer nos\n casos de erros de fato e erros de ofício, sendo o\n processo de anulação diferente em cada caso.\n \n 7.12.5 Nos casos de erro de ofício, o diploma deve ser\n anulado de forma irreversível através da sua indicação\n como inativo, indicando na URL única do diploma o motivo\n de sua revogação assim como a data e hora em que a\n anulação foi feita.\n \n 7.12.6 Nos casos de erro de fato, o diploma pode ser\n anulado de forma temporária, indicando na URL única do\n diploma o motivo de sua revogação assim como a data e\n hora em que a anulação foi feita. Caso o fato cesse ou\n seja suspenso, o status do diploma poderá voltar a ser\n ativo, mas a URL única do diploma deve manter as\n anotações relativas ao período em que o diploma se\n encontra suspenso.\n \n \n \n \n Voltar\n {' '}\n {\n if (inputValue) {\n handleSubmit( registroId,\n inputValue,\n sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome'),\n sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula'));\n // onCreatePressed(\n // registroId,\n // inputValue,\n // sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome'),\n // sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula')\n // )\n // setInputValue('')\n // handleRedirect()\n }\n }}\n >\n Revogar\n \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n anotacoes: state.registros.anotacoes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nconst mapDispatchToProps = (dispatch) => ({\n onCreatePressed: (\n registroId,\n justificativa,\n responsavel,\n responsavelDocumento\n ) =>\n dispatch(\n revogaCancelamentoRegistroRequest(\n registroId,\n justificativa,\n responsavel,\n responsavelDocumento\n )\n ),\n})\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(RevogaCancelamentoRegistroForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport RevogaCancelamentoRegistroForm from '../../components/Area/CAE/RevogaCancelamentoRegistroForm'\nimport { loadRegistro, loadAnotacoes } from '../../store/thunks'\nimport { connect } from 'react-redux'\nimport SituacaoRegistro from './../../components/Area/Publica/SituacaoRegistro'\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2'\nimport * as api from './../../api/api'\nimport { Link } from 'react-router-dom'\n\nclass RevogaCancelamentoRegistro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n registroId: this.props.match.params.registroId,\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleSubmit = this.handleSubmit.bind(this)\n }\n componentDidMount() {\n this.props.dispatch(loadRegistro(this.state.registroId))\n this.props.dispatch(loadAnotacoes(this.state.registroId))\n }\n\n handleRedirect(){\n window.location.href = '/digital/registros'\n } \n \n handleSubmit (registroId,\n justificativa,\n responsavel,\n responsavelDocumento) {\n try {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Revogando registro cancelado...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const dadosRevogar = JSON.stringify({\n registroId: Number(registroId),\n justificativa,\n responsavel,\n responsavelDocumento,\n })\n api.revogarCancelamentoRegistro(dadosRevogar, registroId).then((resp) => {\n console.log(resp)\n if (resp.status !== 200) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao revogar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n } else {\n Swal.close() \n Swal.fire({\n icon: 'success',\n title: 'Registro revogado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 10000,\n }).then(this.handleRedirect()) \n }\n })\n } catch (e) { \n Swal.close() \n Swal.fire({\n icon: 'error',\n title: 'Erro ao revogar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }\n\n render() {\n return (\n \n \n \n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n Revoga Cancelamento de Registro\n \n \n \n \n \n \n \n \n \n \n \n \n Revoga Cancelamento de Registro \n \n Preencha as informações abaixo para continuar\n com a revogação do cancelamento do registro de\n diploma.\n \n \n \n \n \n \n
\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n anotacoes: state.registros.anotacoes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(RevogaCancelamentoRegistro)\n","import React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\n\nconst TextField = styled.input`\n height: 32px;\n width: 290px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nconst ButtonRegistroDisponivel = (props) => {\n return (\n \n Registrar\n \n )\n}\n\nconst columns = [\n {\n name: 'Formando',\n selector: 'sigaNomeALuno',\n sortable: true,\n },\n {\n name: 'RGA',\n selector: 'sigaRGAAluno',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Curso',\n selector: 'sigaNomePCurso',\n sortable: true,\n maxWidth: '35%',\n },\n {\n name: 'Pendências',\n cell: (props) =>\n props.historico?.length > 0 ?\n {props.historico.length} pendências :\n Livre de pendências ,\n sortable: false,\n maxWidth: '6%',\n },\n {\n cell: (props) =>\n props.registroDiplomaAtivo ? Já registrado : \n ,\n ignoreRowClick: true,\n allowOverflow: true,\n center: true,\n maxWidth: '154px',\n },\n]\n\nconst BasicTable = (props) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = props.estudantes.filter(\n (item) =>\n (item.sigaNomeALuno &&\n item.sigaNomeALuno\n .toLowerCase()\n .includes(filterText.toLowerCase())) ||\n (item.sigaNomePCurso &&\n item.sigaNomePCurso\n .toLowerCase()\n .includes(filterText.toLowerCase())) ||\n (item.sigaRGAAluno &&\n String(item.sigaRGAAluno).includes(filterText.toLowerCase()))\n )\n\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable","import * as React from 'react'\nimport { connect } from 'react-redux'\nimport { Link } from 'react-router-dom'\nimport {Col, Form, Card, Button, Row} from 'react-bootstrap'\nimport { loadCampus, loadAnos, loadDatasColacao } from './../../../store/thunks'\nimport apiURLs from './../../../api/apiURLs'\nimport apiAxios from './../../../api/apiAxios'\nimport Swal from 'sweetalert2'\n\nconst OptionSelectDatasColacao = (props) => {\n switch (props.option.sigaTipoColacao) {\n case 'E':\n return (\n \n {props.option.sigaDataColacao} - Especial\n \n )\n case 'P':\n return (\n \n {props.option.sigaDataColacao} - Extemporânea\n \n )\n default:\n return ({props.option.sigaDataColacao} )\n }\n}\n\nclass ConsultaFormandosFiltroForm extends React.Component {\n static displayName = ConsultaFormandosFiltroForm.name\n constructor(props) {\n super(props)\n this.state = {\n ano: !this.props.anoURL\n ? new Date().getFullYear()\n : this.props.anoURL,\n campusId: !this.props.campusIdURL ? 3 : this.props.campusIdURL,\n dataColacaoId: !this.props.dataColacaoIdURL\n ? 0\n : this.props.dataColacaoIdURL,\n campus: [],\n datasColacao: [],\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleSubmit = this.handleSubmit.bind(this)\n this.setFirstDataColacaoId = this.setFirstDataColacaoId.bind(this)\n }\n\n componentDidMount() {\n this.props.dispatch(loadAnos())\n this.setCampus()\n }\n setCampus() {\n const url = apiURLs.GET_SIGA_TODOS_CAMPUS\n apiAxios.get(url)\n .then((result) => {\n this.setState({ campus: result.data })\n this.setDatasColacao(!this.props.campusIdURL ? result.data[0].campusID : this.props.campusIdURL, !this.props.anoURL ? this.props.anos[0] : this.props.anoURL)\n })\n .catch((ex) => { console.log(ex) })\n }\n\n setDatasColacao(campus, ano) {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_SIGA_DATAS_COLACAO + campus + '/' + ano\n apiAxios.get(url)\n .then((result) => {\n const datas = (result.data.length > 0) ? (result.data) : [{\n sigaIdDataColacao: 0,\n sigaDataColacao: \"Nenhuma data encontrada\"\n }];\n this.setState({\n datasColacao: datas\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n this.props.history.push('/')\n })\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({ [name]: value })\n\n if (name === 'campusId') {\n this.setDatasColacao(value, this.state.ano)\n //this.props.dispatch(loadDatasColacao(value, this.state.ano))\n this.setFirstDataColacaoId() //TODO: colocar await para nao ir para o prox antes de pegar\n }\n if (name === 'ano') {\n this.setDatasColacao(this.state.campusId, value)\n //this.props.dispatch(loadDatasColacao(this.state.campusId, value))\n this.setFirstDataColacaoId()\n }\n }\n\n setFirstDataColacaoId() {\n this.setState({ dataColacaoId: document.getElementById('dataColacaoId').value })\n }\n\n handleSubmit(event) {\n if (this.state.dataColacaoId !== 0) {\n this.props.history.push(`/consulta-formandos/:${this.state.dataColacaoId}`)\n }\n event.preventDefault()\n }\n\n render() {\n const { campus, datasColacao } = this.state\n const { anos } = this.props\n return (\n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n estudantes: state.registros.estudantes,\n datasColacao: state.registros.datasColacao,\n campus: state.registros.campus,\n anos: state.registros.anos,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(ConsultaFormandosFiltroForm)","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaEstudantes from './../../components/Area/CAE/TabelaEstudantes'\nimport { connect } from 'react-redux'\nimport { loadEstudantes } from './../../store/thunks'\nimport ConsultaFormandosFiltroForm from './../../components/Area/CAE/ConsultaFormandosFiltroForm'\nimport queryString from 'query-string'\nimport { IrPortal } from \"../../util/funcoes\";\nimport { Link } from 'react-router-dom'\n\nclass ConsultarFormandos extends React.Component {\n static displayName = ConsultarFormandos.name\n constructor(props) {\n super(props)\n this.state = {\n estudantes: [],\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n let { dataColacaoId } = queryString.parse(this.props.location.search)\n this.props.dispatch(loadEstudantes(dataColacaoId))\n }\n\n render() {\n const { estudantes } = this.props //error, loading,\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n Consulta de Estudantes Formandos\n \n \n \n \n \n \n \n \n >\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n estudantes: state.registros.estudantes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(ConsultarFormandos)","import React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button, OverlayTrigger, Popover } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport { format } from 'date-fns'\n\nconst TextField = styled.input`\n height: 32px;\n width: 290px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nconst ButtonRegistroDisponivel = (props) => {\n return (\n \n Registrar\n \n )\n}\n\nconst columns = [\n {\n name: 'Formando',\n selector: 'nome',\n sortable: true,\n maxWidth: '30%',\n },\n {\n name: 'RGA',\n selector: 'matricula',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Campus',\n selector: 'campus',\n sortable: true,\n maxWidth: '35%',\n },\n {\n name: 'Curso',\n selector: 'curso',\n sortable: true,\n maxWidth: '35%',\n },\n {\n name: 'Data de Colação',\n cell: (props) => (props.dataColacaoGrau1 != null && props.dataColacaoGrau1 != undefined) ? : '',\n sortable: true,\n maxWidth: '35%',\n },\n {\n name: 'Pendências',\n cell: (props) =>\n props.historico?.length > 0 ?\n \n Disciplinas com pendências \n \n {props.historico.map((disciplina) => (\n \n {disciplina.nomeDisciplina} \n Período: {disciplina.periodoLetivo?.slice(0, 4) + '/' + disciplina.periodoLetivo?.slice(4)} \n Motivo: {disciplina.docentes?.length > 0 ? disciplina?.docentes[0].nome : disciplina.situacao} \n
\n ))}\n \n \n }\n >\n Ver \n \n :\n Livre de pendências ,\n sortable: false,\n maxWidth: '6%',\n },\n {\n cell: (props) => props.registroDiplomaAtivo ? Já registrado : ,\n ignoreRowClick: true,\n allowOverflow: true,\n maxWidth: '12%',\n },\n]\n\nfunction FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T');\n let dateArray = dateTimeArray[0].split('-');\n return (\n \n {dateArray[2] + \"/\" + dateArray[1] + \"/\" + dateArray[0]}\n \n )\n } else {\n return \n }\n}\n\nconst BasicTable = (props) => {\n\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = props.estudantesFormandos.filter(\n (item) =>\n (item.nome &&\n item.nome\n .toLowerCase()\n .includes(filterText.toLowerCase())) ||\n (item.curso &&\n item.curso\n .toLowerCase()\n .includes(filterText.toLowerCase())) ||\n (item.matricula &&\n String(item.matricula).includes(filterText.toLowerCase()))\n )\n\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable","import * as React from 'react'\nimport { connect } from 'react-redux'\nimport { Link } from 'react-router-dom'\nimport {Col, Form, Card, Button, Row} from 'react-bootstrap'\nimport { Field, ErrorMessage } from 'formik'\nimport { loadCampus, loadAnos, loadDatasColacao } from './../../../store/thunks'\nimport apiURLs from './../../../api/apiURLs'\nimport apiAxios from './../../../api/apiAxios'\nimport Swal from 'sweetalert2'\nimport { cpfMask } from \"./../../../util/funcoes\";\n\nclass ConsultaIndividualFormandosFiltroForm extends React.Component {\n static displayName = ConsultaIndividualFormandosFiltroForm.name\n constructor(props) {\n super(props)\n this.state = {\n rga: '',\n cpf: '',\n nome: ''\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleSubmit = this.handleSubmit.bind(this)\n this.handleLimpaBusca = this.handleLimpaBusca.bind(this)\n }\n\n componentDidMount() {\n }\n \n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n let regexpOnlyNumber = /^[0-9\\b]+$/ //só numero\n let regexpOnlyLetter = /^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/ //só letra com acentuacao\n\n if (name === 'nome') {\n if (regexpOnlyLetter.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else if (name === 'rga' || name === \"cpf\") {\n if (regexpOnlyNumber.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else {\n this.setState({ [name]: value })\n }\n }\n\n handleSubmit(event) {\n event.preventDefault()\n \n let dadosBuscaEstudanteFormando = {\n Rga: this.state.rga,\n Cpf: this.state.cpf,\n Nome: this.state.nome\n }\n\n if(this.state.rga == \"\" && this.state.cpf == \"\" && this.state.nome == \"\")\n { \n Swal.fire({\n icon: 'error',\n title: 'Erro ao enviar busca!',\n html: 'Verifique se os campos foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n return;\n }\n\n if(this.state.nome != \"\" && this.state.nome.length < 10)\n { \n Swal.fire({\n icon: 'error',\n title: 'Erro ao enviar busca!',\n html: 'O mínimo de caracteres para o Nome são 10 dígitos. Verifique os campos preenchidos e tente novamente.'\n })\n return;\n }\n\n if(this.state.rga != \"\" && this.state.rga.length < 10)\n { \n Swal.fire({\n icon: 'error',\n title: 'Erro ao enviar busca!',\n html: 'O mínimo de caracteres para o RGA são 10 dígitos. Verifique os campos preenchidos e tente novamente.'\n })\n return;\n }\n\n if(this.state.cpf != \"\" && this.state.cpf.length < 10)\n { \n Swal.fire({\n icon: 'error',\n title: 'Erro ao enviar busca!',\n html: 'O mínimo de caracteres para o CPF são 11 dígitos. Verifique os campos preenchidos e tente novamente.'\n })\n return;\n }\n\n this.props.handleFormSubmit(dadosBuscaEstudanteFormando);\n //this.props.history.push(`/consulta-formandos/:${this.state.dataColacaoId}`)\n }\n handleLimpaBusca() {\n this.setState({ rga: '', cpf:'', nome: ''});\n this.props.handleLimparBusca();\n }\n\n render() {\n return (\n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n estudantes: state.registros.estudantes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(ConsultaIndividualFormandosFiltroForm)","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaEstudanteFormando from './../../components/Area/CAE/TabelaEstudanteFormando'\nimport { connect } from 'react-redux'\nimport { loadEstudantesFormandos, clearEstudantesFormandos } from './../../store/thunks'\nimport ConsultaIndividualFormandosFiltroForm from './../../components/Area/CAE/ConsultaIndividualFormandosFiltroForm'\nimport queryString from 'query-string'\nimport { IrPortal } from \"../../util/funcoes\";\nimport { Link } from 'react-router-dom'\n\nclass ConsultaIndividualFormandos extends React.Component {\n static displayName = ConsultaIndividualFormandos.name\n constructor(props) {\n super(props)\n this.state = {\n estudantesFormandos: [],\n dadosBuscaEstudanteFormando: {}\n }\n this.handleFormSubmit = this.handleFormSubmit.bind(this)\n this.handleLimparBusca = this.handleLimparBusca.bind(this)\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n handleLimparBusca() {\n this.props.dispatch(clearEstudantesFormandos())\n }\n\n handleFormSubmit(dadosBuscaEstudanteFormando) {\n \n this.setState({ dadosBuscaEstudanteFormando: dadosBuscaEstudanteFormando});\n const dto = JSON.stringify(dadosBuscaEstudanteFormando);\n\n this.props.dispatch(loadEstudantesFormandos(dto))\n }\n\n componentDidMount() {\n if(this.isEmpty(this.state.dadosBuscaEstudanteFormando)){\n this.props.dispatch(clearEstudantesFormandos())\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n const { estudantesFormandos } = this.props //error, loading,\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n \n Consulta de Estudantes Formandos\n \n \n \n Consulta Individual de Formandos\n \n \n \n \n \n \n \n \n >\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n estudantes: state.registros.estudantes,\n estudantesFormandos: state.registros.estudantesFormandos,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(ConsultaIndividualFormandos)","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ cursos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = cursos.filter((item) =>\n item.cursoMec.nome.toLowerCase().includes(filterText.toLowerCase()) ||\n item.codigoInterno == filterText.trim()\n )\n\n const handleButtonClick = (cursoID) => {\n window.location.href = '/digital/gerenciar-curso/' + cursoID\n }\n\n const columns = [\n {\n name: 'Código',\n selector: 'codigoInterno',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Curso',\n selector: 'cursoMec.nome',\n sortable: true,\n },\n {\n name: 'Grau',\n selector: 'cursoMec.grau.descricao',\n sortable: true,\n },\n {\n name: 'Campus',\n selector: 'cursoMec.campus.sigla',\n sortable: true,\n maxWidth: '10%',\n },\n /* {\n name: 'Oferta',\n selector: 'cursoMec.oferta.nome',\n sortable: true,\n }, \n {\n name: 'Turno',\n selector: 'turno.nome',\n sortable: true,\n },\n {\n name: 'Periodicidade',\n selector: 'periodicidade.nome',\n sortable: true,\n },\n {\n name: 'Regime',\n selector: 'regime.nome',\n sortable: true,\n },*/\n {\n cell: (row) => (\n handleButtonClick(row.cursoID)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaCurso from '../../components/Area/CAE/TabelaCurso'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport apiURLs from '../../api/apiURLs'\nimport apiAxios from \"../../api/apiAxios\";\nimport { IrPortal } from \"../../util/funcoes\";\nimport { Link } from 'react-router-dom'\n\nclass CursoConsulta extends React.Component {\n static displayName = CursoConsulta.name\n constructor(props) {\n super(props)\n this.state = { cursos: [] }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_CURSOS_ATIVOS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n cursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Gerenciar Cursos\n \n \n \n \n \n \n \n \n \n Reconhecimentos\n {\" \"}\n \n Autorizações\n \n\n \n \n \n
\n )\n }\n}\n\nexport default connect((state) => ({}))(CursoConsulta)","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from '../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ formacoes = [], updateListFormacoes }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = formacoes.filter((item) =>\n item.formacao.toLowerCase().includes(filterText.toLowerCase())\n )\n\n function handleButtonClick(id) {\n Swal.fire({\n title: 'Deseja cancelar essa formação de curso?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n const url = apiURLs.GET_CURSO_FORMACOES + id\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Removido!', '', 'success')\n updateListFormacoes()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n }\n })\n }\n\n const columns = [\n {\n name: 'Formação',\n selector: 'formacao',\n sortable: true,\n },\n {\n cell: (row) => (\n handleButtonClick(row.cursoFormacaoID)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaCursoFormacao from './../../components/Area/CAE/TabelaCursoFormacao'\nimport { Link } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\n//import { loadLivros, removeLivroRequest } from './../../store/thunks'\n\nclass CursoFormacaoConsulta extends React.Component {\n static displayName = CursoFormacaoConsulta.name\n constructor(props) {\n super(props)\n this.state = { formacoes: [] }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n //this.props.dispatch(loadLivros())\n }\n\n onRemovePressed = (payload) => {\n //this.props.dispatch(removeLivroRequest(payload))\n }\n\n render() {\n const { formacoes } = this.state //this.props //error, loading,\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Formações de Curso\n \n \n \n \n \n \n \n Novo\n \n\n \n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n //livros: state.livros.livros,\n //loading: state.livros.loading,\n //error: state.livros.error,\n})\n\nexport default connect(mapStateToProps)(CursoFormacaoConsulta)\n","import React from 'react';\nimport { useNavigate } from \"react-router-dom\";\n\nexport default class RegistroConsultarAntigo extends React.Component {\n constructor(props) {\n super(props);\n window.location.href = 'https://academico-siga.ufmt.br/ufmt.diploma/Registro/Consultar';\n }\n}","import React from 'react';\n\nexport default class RegistroLocalizarAntigo extends React.Component {\n constructor(props) {\n super(props);\n const currentURL = window.location.href;\n const urlParameters = currentURL.split(\"=\")\n const localizador = urlParameters[1];\n\n window.location.href = `/antigo/Registro/Localizar?localizador=${localizador}`;\n }\n}","export default function (str) {\n if (str == undefined || str == null) {\n return str;\n }\n\n var splitStr = str.toLowerCase().split(' ')\n for (var i = 0; i < splitStr.length; i++) {\n if (\n splitStr[i].length >= 3 &&\n splitStr[i] !== 'dos' &&\n splitStr[i] !== 'das'\n ) {\n splitStr[i] =\n splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1)\n }\n }\n\n return splitStr.join(' ')\n}\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ titulacoes = [], updateListTitulacoes }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = titulacoes.filter((item) =>\n item.titulacao.toLowerCase().includes(filterText.toLowerCase())\n )\n\n function handleButtonClick(id) {\n Swal.fire({\n title: 'Deseja cancelar essa titulação de curso?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n const url = apiURLs.GET_CURSO_TITULACOES + id\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Removido!', '', 'success')\n updateListTitulacoes()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n //onRemovePressed(id)\n }\n\n const columns = [\n {\n name: 'Titulação',\n selector: 'titulacao',\n sortable: true,\n },\n {\n name: 'Sexo',\n selector: 'sexo',\n sortable: true,\n maxWidth: '10%',\n },\n {\n cell: (row) => (\n handleButtonClick(row.cursoTitulacaoID)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass CursoTitulacaoForm extends React.Component {\n static displayName = CursoTitulacaoForm.name\n constructor(props) {\n super(props)\n this.state = {\n TitulacaoFeminino: '',\n TitulacaoMasculino: '',\n CursoId: this.props.cursoId,\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n updateListTitulacoes = () => {\n this.props.updateListTitulacoes()\n }\n\n salvarCursoTitulacao = () => {\n try {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Titulação de Curso está sendo salva.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const novaTitulacao = JSON.stringify({\n CursoTitulacaoF: this.state.TitulacaoFeminino,\n CursoTitulacaoM: this.state.TitulacaoMasculino,\n CursoID: Number(this.state.CursoId),\n })\n\n apiAxios.post(apiURLs.POST_NOVA_TITULACAO_CURSO, novaTitulacao, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title: 'Titulação de Curso cadastrada com sucesso!',\n showConfirmButton: false,\n timer: 4000,\n })\n this.updateListTitulacoes()\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar titulação de curso!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }\n } else if (error.request) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n return (\n {\n let errors = {}\n if (this.state.TitulacaoFeminino === '') {\n errors.TitulacaoFeminino =\n 'Titulação Feminino é obrigatório'\n }\n if (this.state.TitulacaoMasculino === '') {\n errors.TitulacaoMasculino =\n 'Titulação Masculino é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={(values, { setSubmitting }) => {\n this.salvarCursoTitulacao()\n this.setState({\n TitulacaoFeminino: '',\n TitulacaoMasculino: '',\n })\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n \n \n Titulação para o Sexo Feminino\n \n \n \n \n \n \n Titulação para o Sexo Masculino\n \n \n \n \n \n \n Cadastrar\n \n \n \n \n )}\n \n )\n }\n}\n\nexport default connect()(CursoTitulacaoForm)\n","import * as React from 'react'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from './../../../api/apiAxios'\nimport apiURLs from './../../../api/apiURLs'\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass CursoFormacaoForm extends React.Component {\n static displayName = CursoFormacaoForm.name\n constructor(props) {\n super(props)\n this.state = {\n Formacao: '',\n CursoId: this.props.cursoId,\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n updateListFormacoes = () => {\n this.props.updateListFormacoes()\n }\n\n salvarCursoFormacao = () => {\n try {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Formação de Curso está sendo salva.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const novaFormacao = JSON.stringify({\n Formacao: this.state.Formacao,\n CursoID: Number(this.state.CursoId),\n })\n\n apiAxios\n .post(apiURLs.POST_NOVA_FORMACAO_CURSO, novaFormacao, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title: 'Formação de Curso cadastrada com sucesso!',\n showConfirmButton: false,\n timer: 4000,\n })\n this.updateListFormacoes()\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar Formação de curso!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }\n } else if (error.request) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n return (\n {\n let errors = {}\n if (this.state.Formacao === '') {\n errors.Formacao = 'Formação é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={(values, { setSubmitting }) => {\n this.salvarCursoFormacao()\n this.setState({\n Formacao: '',\n })\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n \n Formação \n \n \n \n\n \n \n Cadastrar\n \n \n \n \n )}\n \n )\n }\n}\n\nexport default connect()(CursoFormacaoForm)\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ reconhecimentos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = reconhecimentos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n \n const columns = [\n {\n name: 'Tipo',\n selector: 'atoRegulatorio.tipo',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Número',\n selector: 'atoRegulatorio.numero',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data',\n cell:(props) => (props.atoRegulatorio.data != null && props.atoRegulatorio.data != undefined) ? : '',\n sortable: true,\n maxWidth: '20%',\n },\n {\n name: 'Veiculo de Publicação',\n selector: 'atoRegulatorio.veiculoPublicacao',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Seção',\n selector: 'atoRegulatorio.secaoPublicacao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Página',\n selector: 'atoRegulatorio.paginaPublicacao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data de Publicação',\n cell:(props) => (props.atoRegulatorio.dataPublicacao != null && props.atoRegulatorio.dataPublicacao != undefined) ? : '',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Número Publicação',\n selector: 'atoRegulatorio.numeroPublicacao',\n sortable: true,\n maxWidth: '15%',\n }\n ]\n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n console.log(dataArray)\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ autorizacaoCursos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = autorizacaoCursos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n \n const columns = [\n {\n name: 'Código Interno',\n selector: 'codigoInterno',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Curso',\n selector: 'cursoMec.nome',\n sortable: true,\n },\n {\n name: 'Grau',\n selector: 'cursoMec.grau.descricao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Periodicidade',\n selector: 'periodicidade.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Regime',\n selector: 'regime.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Turno',\n selector: 'turno.nome',\n sortable: true,\n maxWidth: '15%',\n }\n ]\n \n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ autorizacaoCursos = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = autorizacaoCursos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n \n const columns = [\n {\n name: 'Tipo',\n selector: 'atoRegulatorio.tipo',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Número',\n selector: 'atoRegulatorio.numero',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data',\n cell:(props) => (props.atoRegulatorio.data != null && props.atoRegulatorio.data != undefined) ? : '',\n sortable: true,\n maxWidth: '20%',\n },\n {\n name: 'Veiculo de Publicação',\n selector: 'atoRegulatorio.veiculoPublicacao',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Seção',\n selector: 'atoRegulatorio.secaoPublicacao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Página',\n selector: 'atoRegulatorio.paginaPublicacao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data de Publicação',\n cell:(props) => (props.atoRegulatorio.dataPublicacao != null && props.atoRegulatorio.dataPublicacao != undefined) ? : '',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Número Publicação',\n selector: 'atoRegulatorio.numeroPublicacao',\n sortable: true,\n maxWidth: '15%',\n }\n ]\n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n console.log(dataArray)\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Card, Breadcrumb, Row, Col } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from '../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs'\nimport titleCase from './../../components/Area/CAE/titleCase'\nimport TabelaCursoTitulacao from './../../components/Area/CAE/TabelaCursoTitulacao'\nimport CursoTitulacaoForm from './../../components/Area/CAE/CursoTitulacaoForm'\nimport TabelaCursoFormacao from './../../components/Area/CAE/TabelaCursoFormacao'\nimport CursoFormacaoForm from './../../components/Area/CAE/CursoFormacaoForm'\nimport { Link } from 'react-router-dom'\nimport TabelaCursoReconhecimentosVisualizacao from './../../components/Area/CAE/TabelaCursoReconhecimentosVisualizacao'\nimport TabelaAutorizacaoCursosVisualizacao from './../../components/Area/CAE/TabelaAutorizacaoCursosVisualizacao'\nimport TabelaAutorizacaoCursoVisualizacao from './../../components/Area/CAE/TabelaAutorizacaoCursoVisualizacao'\n\nimport { IrPortal } from \"../../util/funcoes\";\nimport './../../custom-curso.css'\n\nexport default class GerenciarCurso extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n cursoId: this.props.match.params.cursoId,\n curso: {},\n titulacoes: [],\n formacoes: [],\n reconhecimentos: [],\n AutorizacaoCursos: [],\n updateTitulacaoNeed: false,\n updateFormacaoNeed: false,\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.updateListTitulacoes = this.updateListTitulacoes.bind(this)\n this.updateListFormacoes = this.updateListFormacoes.bind(this)\n }\n\n componentDidMount() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando dados de curso...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_CURSO_POR_ID + this.state.cursoId\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n curso: result.data,\n })\n this.setTitulacoes()\n this.setFormacoes()\n this.setReconhecimentos()\n this.setAutorizacaoCursos()\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n componentDidUpdate() {\n if (this.state.updateTitulacaoNeed) {\n this.setTitulacoes()\n\n this.setState({ updateTitulacaoNeed: false})\n }\n if (this.state.updateFormacaoNeed) {\n this.setFormacoes()\n\n this.setState({ updateFormacaoNeed: false })\n }\n }\n updateListTitulacoes() {\n this.setState({\n updateTitulacaoNeed: true,\n })\n }\n updateListFormacoes() {\n this.setState({\n updateFormacaoNeed: true,\n })\n }\n setTitulacoes() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando titulações de curso...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_CURSO_TITULACOES + this.state.cursoId\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n titulacoes: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n setFormacoes() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando formações de curso...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_CURSO_FORMACOES + this.state.cursoId\n apiAxios\n .get(url)\n .then((result) => {\n console.log(result.data)\n this.setState({\n formacoes: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n setReconhecimentos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando reconhecimentos de curso...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n //const url = apiURLs.GET_CURSO_RECONHECIMENTOS + this.state.cursoId\n const url = apiURLs.GET_CURSO_RECONHECIMENTOS_POR_CURSO + this.state.cursoId\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n reconhecimentos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n setAutorizacaoCursos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos vinculados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n\n //const url = `https://localhost:5001/api/curso/autorizacao/${this.state.cursoId}`;\n const url = apiURLs.GET_AUTORIZACAO_CURSOS_POR_CURSO + this.state.cursoId;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n AutorizacaoCursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }) \n }\n RedirectToConsultaReconhecimentos = () => {\n window.location.href = '/reconhecimentos'\n }\n \n RedirectToConsultaAutorizacoes = () => {\n window.location.href = '/autorizacaoCurso'\n }\n\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Gerenciar Cursos\n \n \n Curso{' '}\n {titleCase(this.state.curso?.cursoMec?.nome ?? \"\")}\n \n \n \n \n \n \n \n \n Curso:{' '}\n {titleCase(this.state.curso?.cursoMec?.nome ?? \"\")}\n \n \n <>\n \n \n Código SIGA:\n \n \n {this.state.curso\n ? this.state.curso.codigoInterno\n : ''}\n \n
\n \n \n Código E-MEC:\n \n \n {this.state.curso.cursoMec\n ? this.state.curso.cursoMec.codigoEmec\n : ''}\n \n
\n \n \n Grau:\n \n \n {this.state.curso.cursoMec\n ? this.state.curso.cursoMec.grau.descricao\n : ''}\n \n
\n \n \n Campus:\n \n \n {this.state.curso.cursoMec?.campus?.nome ?? \"\"}\n \n
\n \n \n Oferta:\n \n \n {this.state.curso.modalidade?.nome ?? \"\"}\n \n
\n \n \n Turno:\n \n \n {this.state.curso?.turno?.nome ?? \"\"}\n \n
\n \n \n Periodicidade:\n \n \n {this.state.curso?.periodicidade?.nome ?? \"\"}\n \n
\n \n \n Regime:\n \n \n {this.state.curso?.regime?.nome ?? \"\"}\n \n
\n >\n\n \n \n \n \n \n {' '}\n Nova Titulação de curso\n \n \n \n \n \n \n \n \n \n \n {' '}\n Nova Formação de curso\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport {Col, Form, Card, Row} from 'react-bootstrap'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport titleCase from './../titleCase'\nimport { Field, ErrorMessage } from 'formik'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\n\nconst DocumentoIdentificacaoEstudante = (props) => {\n if (props.Nacionalidade) {\n if (props.Nacionalidade.toUpperCase() === 'BRASILEIRO' || props.Nacionalidade.toUpperCase() === 'BRASILEIRA') {\n return (\n <> \n \n \n \n Documento de Identificação - Número:\n \n \n \n \n \n
\n Documento de Identificação - UF:{' '}\n \n \n {props.ufs.map((option, index) => (\n \n {titleCase(option.nome)}\n \n ))}\n \n \n \n \n \n Documento de Identificação - Órgão expedidor\n {' '}\n \n \n \n \n
\n >\n )\n } else {\n return(\n <> \n \n \n \n Documento de Identificação - Identificador:\n \n \n \n \n \n \n Documento de Identificação - Tipo de Documento\n {' '}\n \n \n \n \n
\n >\n )\n }\n } else {\n return <>>\n }\n}\n\nconst NaturalidadeEstudante = (props) => {\n if (props.Nacionalidade) {\n if ((props.Nacionalidade.toUpperCase() === 'BRASILEIRO' || props.Nacionalidade.toUpperCase() === 'BRASILEIRA') && props.NaturalidadeUF.toUpperCase() != 'OU') {\n return (\n <>\n \n
Naturalidade - UF: \n \n {props.ufs.map((option, index) => (\n \n {titleCase(option.nome)}\n \n ))}\n \n \n \n \n
Naturalidade - Município: \n \n {Array.isArray(props.municipios) && props.municipios.map((option, index) => (\n \n {option.nome}\n \n ))}\n \n \n \n >\n )\n } else {\n return (\n <>\n \n \n Naturalidade - Município Estrangeiro\n {' '}\n \n \n \n >)\n }\n } else {\n return (<>>)\n }\n}\n\nclass RegistroNovoCamposDiplomado extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n if (this.props.currentStep !== 1) {\n return null\n }\n return (\n \n \n {this.props.currentStep} - Dados do Diplomado \n \n \n \n \n
\n
RGA \n {this.props.ID}\n \n
\n {(this.props.NomeSocial != '' && this.props.NomeSocial != undefined && this.props.NomeSocial != null)\n ?\n <>\n \n \n Nome Social \n \n \n \n \n >\n :\n <>>\n }\n \n
\n
Sexo \n \n Feminino \n Masculino \n \n \n \n
\n
CPF \n \n \n \n
\n
Data de Nascimento {' '}\n \n this.props.handleInputChangeDate(date, 'DataNascimento')}\n />\n \n \n
\n \n
\n Nacionalidade \n \n \n \n \n \n \n \n\n \n \n )\n }\n}\n\nexport default RegistroNovoCamposDiplomado\n","import * as React from 'react'\nimport { Col, Form, Card } from 'react-bootstrap'\nimport EnderecoDados from './../../Publica/EnderecoDados'\nimport AtoRegulatorioDados from './../../Publica/AtoRegulatorioDados'\nimport { format } from 'date-fns'\nimport { Field, ErrorMessage } from 'formik'\nimport { Link } from 'react-router-dom'\n\nclass RegistroNovoCamposDadosCurso extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n if (this.props.currentStep !== 2) {\n return null\n }\n return (\n <>\n \n \n {this.props.currentStep} - Dados do Curso \n \n \n \n \n
\n
Curso: \n \n \n \n \n
\n
Modalidade: \n \n Presencial \n EAD \n \n \n \n
\n
Curso EMEC: \n \n \n \n
\n \n \n
\n
Grau: \n \n {this.props.cursosGraus.map((option, index) => (\n {option.descricao} \n ))}\n \n \n \n
\n
Formação: \n \n {this.props.cursoFormacoes.length === 0 ? ({' '}Não se aplica. )\n : (this.props.cursoFormacoes.map((option, index) => ({option.formacao} )))}\n \n \n \n
\n \n \n
\n \n Título Conferido: \n O sexo é exibido apenas para auxílio. Somente o título será exibido no diploma. \n \n
\n {this.props.cursoTitulacoes.map((option, index) => (\n \n {option.sexo === 'F' ? 'Feminino - ' + option.titulacao : 'Masculino - ' + option.titulacao}\n \n ))}\n \n \n \n
\n\n \n
\n
Reconhecimento: \n \n {this.props.cursoReconhecimentos.map(\n (option, index) => (\n \n {option.atoRegulatorio.tipo} nº {option.atoRegulatorio.numero}, de{' '}\n {format(new Date(Date.parse(option.atoRegulatorio.data)), 'dd/MM/yyyy')}, \n {option.atoRegulatorio.veiculoPublicacao} nº {option.atoRegulatorio.numeroPublicacao}, \n Seção{' '}{option.atoRegulatorio.secaoPublicacao}, pág.{' '}{option.atoRegulatorio.paginaPublicacao}, de{' '}\n { (option.atoRegulatorio.dataPublicacao != \"0001-01-01T00:00:00\") \n ? format(new Date(Date.parse(option.atoRegulatorio.dataPublicacao)), 'dd/MM/yyyy')\n : \"-\" \n }\n .{' '}{option.processoReconhecimento ? 'Processo nº ' + option.processoReconhecimento + '.' : ''}\n \n )\n )}\n \n \n \n
\n \n \n
\n
Habilitação: \n \n \n \n
\n \n \n\n \n \n Endereço de Curso \n \n \n \n \n \n \n Autorização de Curso \n {\n (this.props.AutorizacaoCurso != null) \n ?\n \n : \n \n Nova Autorização\n \n } \n \n \n >\n )\n }\n}\n\nexport default RegistroNovoCamposDadosCurso\n","import * as React from 'react'\nimport { Col, Form, Card } from 'react-bootstrap'\nimport ResponsavelRegistroDiploma from '../../Publica/ResponsavelRegistroDiploma'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { ErrorMessage, Field } from 'formik'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\nclass RegistroNovoCamposLivroRegistro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n render() {\n if (this.props.currentStep !== 3) {\n return null\n }\n return (\n \n \n {this.props.currentStep} - Livro de Registro \n \n \n \n {/*
\n Livro: \n \n {this.props.livros.map((option, index) => (\n {option.nome} \n ))}\n \n \n */}\n \n
\n
Livro \n \n \n
\n
Nº do Processo: \n \n \n \n
\n {/* //TODO: Processo deve ser obrigatorio? no xml nao é\n \n \n \n Numero Folha do Diploma: \n \n \n \n \n \n Numero Sequencia do Diploma:\n \n \n \n \n */}\n \n
\n
Data de Colação \n this.props.handleInputChangeDate(date,'DataColacao')} />\n \n \n
\n
Data de Expedição \n this.props.handleInputChangeDate(date, 'DataExpedicao') }/>\n \n \n
\n
Data de Registro \n this.props.handleInputChangeDate(date,'DataRegistro')} />\n \n \n
\n \n \n \n \n )\n }\n}\nexport default RegistroNovoCamposLivroRegistro","import * as React from 'react'\nimport { Col, Form, Card } from 'react-bootstrap'\nimport { Field, ErrorMessage } from 'formik'\n\nclass RegistroNovoCamposFiliacao extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n render() {\n if (this.props.currentStep !== 1) {\n return null\n }\n return (\n \n \n Filiação \n \n \n \n
\n Nome completo da Mãe: \n \n \n \n
\n
Sexo \n \n Feminino \n Masculino \n \n \n \n
\n \n
\n Nome completo do Pai: \n \n \n \n
\n
Sexo \n \n Masculino \n Feminino \n \n \n \n
\n \n \n )\n }\n}\n\nexport default RegistroNovoCamposFiliacao","import * as React from 'react'\nimport { Col, Form, Card } from 'react-bootstrap'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { ErrorMessage } from 'formik'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\nclass RegistroNovoCamposHistoricoEscolar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n render() {\n if (this.props.currentStep !== 4) {\n return null\n }\n return (\n \n \n {this.props.currentStep} - Historico Escolar \n \n \n \n
\n Situação Aluno: \n {this.props.SituacaoAlunoHistorico}\n \n \n Carga Horária Curso: \n \n {this.props.CargaHorariaCurso}\n \n \n \n Carga Horária Curso Integralizada:\n \n \n {this.props.CargaHorariaCursoIntegralizada}\n \n \n \n
\n Situação ENADE Ingressante: \n \n {this.props.SituacaoENADEIngressante}\n \n \n Situação ENADE Concluinte: \n \n {this.props.SituacaoENADEConcluinte}\n \n \n \n
\n
\n Situação ENADE para Registro do Diploma:\n \n \n **** Selecione a Situação ENADE **** \n IRREGULAR \n Ingressante / Participante \n Dispensado, em razão do calendário trienal \n Concluinte / Participante \n Dispensado pelo MEC \n Dispensado, em razão da natureza do curso \n Dispensado, por razão de ordem pessoal \n Dispensado, por ato da instituição de ensino \n Dispensado, em razão de mobilidade acadêmica no exterior \n \n \n \n
\n
\n Data de Emissão do Histórico:\n \n \n this.props.handleInputChangeDate(date, 'DataEmissaoHistorico')} />\n \n \n
\n \n \n )\n }\n}\n\nexport default RegistroNovoCamposHistoricoEscolar","import * as React from 'react'\nimport { Col, Form, Card } from 'react-bootstrap'\nimport DatePicker, { registerLocale } from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport { ErrorMessage } from 'formik'\nimport ptBR from 'date-fns/locale/pt-BR';\nregisterLocale(\"ptBR\", ptBR);\n\nclass RegistroNovoCamposIngressoCurso extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n render() {\n if (this.props.currentStep !== 5) {\n return null\n }\n return (\n \n \n \n {this.props.currentStep} - Dados de Ingresso no Curso\n \n \n \n \n \n \n Forma de Acesso para Registro do Diploma:\n \n \n **** Selecione a Forma de Acesso **** \n Vestibular \n Enem \n Avaliação Seriada \n Seleção Simplificada \n Egresso BI/LI, PEC-G \n Transferência Ex Officio \n Decisão judicial \n Seleção para Vagas Remanescentes \n Seleção para Vagas de Programas Especiais \n \n \n \n \n Forma de Acesso: \n \n {this.props.TipoIngressoDescricao}\n \n \n \n \n Data de Ingresso: \n \n this.props.handleInputChangeDate(date, 'DataIngresso')} />\n \n \n \n Data de Conclusão: \n \n this.props.handleInputChangeDate(date, 'DataConclusao')}\n />\n \n \n \n \n \n )\n }\n}\n\nexport default RegistroNovoCamposIngressoCurso","import * as React from 'react'\nimport { Card, Breadcrumb,Row, Col, Button, Collapse } from 'react-bootstrap';\nimport IESEmissoraDados from './../../Publica/IESEmissoraDados'\n\nclass RegistroNovoIESEmissora extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n open: '',\n }\n }\n\n render() {\n // if (this.props.currentStep !== 3) {\n // return null\n // }\n return (\n <>\n this.setState({ open: (this.state.open == 'open') ? '' : 'open' })}\n aria-controls=\"example-fade-text\"\n aria-expanded={this.state.open}\n >\n Ver Dados IES Emissora\n \n \n {/* \n \n {this.props.currentStep} - Dados IES Emissora \n \n \n */}\n >\n )\n }\n}\n\nexport default RegistroNovoIESEmissora","import * as React from 'react'\nimport { Card, Breadcrumb,Row, Col, Button, Collapse } from 'react-bootstrap';\nimport IESRegistradoraDados from './../../Publica/IESRegistradoraDados'\n\nclass RegistroNovoIESRegistradora extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n open: '',\n }\n }\n render() {\n // if (this.props.currentStep !== 4) {\n // return null\n // }\n return (\n <>\n this.setState({ open: (this.state.open == 'open') ? '' : 'open' })}\n aria-controls=\"example-fade-text\"\n aria-expanded={this.state.open}\n >\n Ver Dados IES Registradora\n \n \n {/* \n \n \n {this.props.currentStep} - Dados IES Registradora \n \n\n \n */}\n >\n )\n }\n}\n\nexport default RegistroNovoIESRegistradora\n","import * as React from 'react'\nimport { Col, Form, Card, Button } from 'react-bootstrap'\nimport RegistroNovoCamposIESEmissora from './RegistroNovoCamposIESEmissora'\nimport RegistroNovoCamposIESRegistradora from './RegistroNovoCamposIESRegistradora'\n\nclass RegistroNovoCamposAdicionais extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n render() {\n if (this.props.currentStep !== 7) {\n return null\n }\n return (\n \n \n {this.props.currentStep} - Informações Adicionais \n \n \n \n \n Observação: \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default RegistroNovoCamposAdicionais","import React from 'react';\nimport { Col, Form, Card, Button } from 'react-bootstrap';\nimport { Field } from 'formik';\n\nconst RegistroAssinaturas = ({\n currentStep,\n setAssinanteDadosRegistro,\n assinaturaDadosRegistro,\n updateAssinanteDadosRegistro,\n removeAssinanteDadosRegistro,\n setAssinanteDiploma,\n assinaturasDiploma,\n updateAssinanteDiploma,\n removeAssinanteDiploma\n}) => {\n\n if (currentStep !== 6) {\n return null;\n }\n return (\n \n \n {currentStep} - Assinaturas \n \n \n \n
Dados de Registro \n
\n Incluir \n
\n
\n {assinaturaDadosRegistro ? <>\n \n \n {assinaturaDadosRegistro.length > 0 ? <>\n {assinaturaDadosRegistro.map((a, index) => {\n return \n })}\n > : <>>}\n \n \n > : <>>}\n \n \n
Diploma \n
\n Incluir \n
\n
\n {assinaturasDiploma ? <>\n \n \n {assinaturasDiploma.length > 0 ? <>\n {assinaturasDiploma.map((a, index) => {\n return \n })}\n > : <>>}\n \n \n > : <>>}\n \n \n )\n}\n\nexport default RegistroAssinaturas;\n\nconst AssinaturaForm = ({\n i,\n updateAssinante,\n removeAssinante,\n nome,\n cpf,\n cargo,\n}) => {\n\n return (\n \n \n Nome Completo: \n {\n updateAssinante(\"nome\", e.target.value ?? '', i);\n }}\n value={nome}\n />\n \n \n CPF: \n {\n updateAssinante(\"cpf\", e.target.value ?? '', i);\n console.log(e.target.value, i);\n }}\n value={cpf}\n />\n \n \n Cargo: \n {\n updateAssinante(\"cargo\", e.target.value ?? '', i);\n console.log(e.target.value, i);\n }}\n value={cargo}\n />\n \n \n \n removeAssinante(i)}>Remover \n \n \n )\n}","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Button } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport RegistroNovoCamposDiplomado from './RegistroNovoCamposDiplomado'\nimport RegistroNovoCamposDadosCurso from './RegistroNovoCamposDadosCurso'\nimport RegistroNovoCamposLivroRegistro from './RegistroNovoCamposLivroRegistro'\nimport RegistroNovoCamposFiliacao from './RegistroNovoCamposFiliacao'\nimport RegistroNovoCamposHistoricoEscolar from './RegistroNovoCamposHistoricoEscolar'\nimport RegistroNovoCamposIngressoCurso from './RegistroNovoCamposIngressoCurso'\nimport RegistroNovoCamposAdicionais from './RegistroNovoCamposAdicionais'\nimport RegistroAssinaturas from \"./RegistroAssinaturas\";\nimport { addNovoRegistroRequest } from '../../../../store/thunks'\nimport { loadMunicipios } from './../../../../store/thunks'\nimport apiURLs from './../../../../api/apiURLs'\nimport apiAxios from '../../../../api/apiAxios';\nimport titleCase from './../titleCase'\nimport { Formik, Form } from 'formik'\nimport Swal from 'sweetalert2'\nimport { cpfMask } from \"../../../../util/funcoes\";\n\nclass RegistroNovoForm extends React.Component {\n static displayName = RegistroNovoForm.name\n constructor(props) {\n super(props)\n this.state = {\n validated: false,\n isLoading: true,\n estudante: {},\n ID: String(this.props.rga),\n Nome: '',\n NomeSocial: '',\n Sexo: 'M',\n Nacionalidade: '',\n CPF: '',\n DataNascimento: new Date(),\n NaturalidadeCodigoMunicipio: '',\n NaturalidadeNomeMunicipio: '',\n NaturalidadeUF: '',\n NomeMunicipioEstrangeiro: '',\n RGNumero: '',\n RGOrgaoExpedidor: '',\n RGUF: '',\n OutroDocumentoIdentificacaoTipoDocumento: '',\n OutroDocumentoIdentificacaoIdentificador: '',\n ufs: [],\n municipios: [],\n cursoDados: {},\n CursoID: 0,\n NomeCurso: '',\n Modalidade: 'Presencial',\n Grau: '',\n CursoFormacao: 'Não se aplica.',\n TituloConferido: '',\n ReconhecimentoID: 0,\n Habilitacao: 0,\n CodigoCursoEMEC: 0,\n EnderecoCurso: {},\n AutorizacaoCurso: {},\n graus: [],\n cursoFormacoes: [],\n cursoTitulacoes: [],\n cursoReconhecimentos: [],\n IesEmissoraId: this.props.iesEmissoraId,\n IesRegistradoraId: this.props.iesRegistradoraId,\n Observacao: '',\n livros: [],\n LivroRegistro: '',\n LivroID: 0,\n Processo: '23108.',\n //NumeroFolhaDoDiploma: 1,\n //NumeroSequenciaDoDiploma: 1,\n DataColacao: new Date(),\n DataExpedicao: new Date(),\n DataRegistro: new Date(),\n responsavelRegistro: {\n Nome: sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroNome'),\n CPF: sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF'),\n IDouNumeroMatricula: sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroIDouNumeroMatricula'),\n Cargo: sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCargo'),\n },\n FormaAcesso: 'Convenios',\n TipoIngressoDescricao: '',\n DataIngresso: null,\n DataConclusao: null,\n SituacaoAlunoHistorico: 'Aprovado',\n CargaHorariaCurso: 0,\n CargaHorariaCursoIntegralizada: 0,\n SituacaoENADEIngressante: 'Não informado.',\n SituacaoENADEConcluinte: 'Não informado.',\n SituacaoENADE: 'DispensadoEmRazaoDoCalendarioTrienal',\n DataEmissaoHistorico: new Date(),\n NomeMae: '',\n NomeSocialMae: '',\n SexoMae: 'F',\n NomePai: '',\n NomeSocialPai: '',\n SexoPai: 'M',\n currentStep: 1, // Default is Step 1\n assinaturasDiploma: [],\n assinaturaDadosRegistro: [],\n stepFinal: 7\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleInputChangeDate = this.handleInputChangeDate.bind(this)\n this.showHabilitacao = this.showHabilitacao.bind(this)\n this.salvarRegistroAPI = this.salvarRegistroAPI.bind(this)\n this._next = this._next.bind(this)\n this._prev = this._prev.bind(this)\n this.isEmpty = this.isEmpty.bind(this)\n this.novoRegistro = React.createRef()\n }\n componentDidMount() {\n this.setDiplomado()\n this.setUFs()\n this.setIESEmissora()\n this.setIESRegistradora()\n }\n setAssinaturas() {\n const urlDadosRegistro = `${apiURLs.GET_ASSINATURAS}/DocumentacaoAcademica`;\n const urlDiploma = `${apiURLs.GET_ASSINATURAS}/DiplomaDigital`;\n\n apiAxios.get(urlDiploma).then(r => {\n console.log(r.data);\n this.setState({ assinaturasDiploma: r.data });\n }).catch(ex => {\n console.log(ex);\n });\n\n apiAxios.get(urlDadosRegistro).then(r => {\n console.log(r.data);\n this.setState({ assinaturaDadosRegistro: r.data });\n }).catch(ex => {\n console.log(ex);\n });\n }\n setDiplomado() {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando dados do diplomado.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_DADOS_ESTUDANTE + this.props.rga\n apiAxios\n .get(url)\n .then((result) => {\n let naturalidadeUF = (result.data.naturalUF?.trim() !== \"\") ? result.data.naturalUF : \"MT\";\n this.setState({\n estudante: result.data,\n Nome: titleCase(result.data.nome),\n NomeSocial: titleCase(result.data.nomeSocial),\n Sexo: result.data.sexo.trim() === \"Masculino\" ? 'M' : 'F',\n Nacionalidade: result.data.nacionalidade\n ? result.data.sexo === \"Feminino\" && result.data.nacionalidade.toUpperCase() === 'BRASILEIRO'\n ? 'Brasileira' : titleCase(result.data.nacionalidade)\n : '',\n CPF: cpfMask(result.data.cpf),\n DataNascimento: new Date(result.data.dataNascimento),\n NaturalidadeCodigoMunicipio: result.data.naturalMunicipioUID,\n NaturalidadeNomeMunicipio: result.data.natural?.trim(),\n NomeMunicipioEstrangeiro: result.data.natural,\n NaturalidadeUF: naturalidadeUF,\n RGNumero: result.data.identidade.replace(/[^a-zA-Z0-9]/g, ''),\n RGOrgaoExpedidor: result.data.identidadeExpeditor,\n RGUF: result.data.identidadeUF,\n NomeMae: titleCase(result.data.nomeMae),\n SexoMae: 'F',\n NomePai: titleCase(result.data.nomePai),\n SexoPai: 'M',\n TipoIngressoDescricao: result.data.tipoIngressoDescricao,\n DataIngresso: (result.data.dataIngresso != null) ? new Date(result.data.dataIngresso) : null,\n DataConclusao: result.data.ocorrencia === 'EPC' ? new Date(result.data.ocorrenciaData) : null,\n })\n this.setCurso()\n this.setMunicipios(naturalidadeUF)\n this.setEnade()\n this.setDatas();\n this.setFormaAcesso();\n this.setAssinaturas();\n this.setState({ isLoading: false })\n Swal.close()\n })\n .catch((ex) => { console.log(ex) })\n }\n setUFs() {\n const url = apiURLs.GET_UFS\n apiAxios\n .get(url)\n .then((result) => { this.setState({ ufs: result.data }) })\n .catch((ex) => { console.log(ex) })\n }\n setDatas() {\n if ((this.state.estudante.dataColacaoGrau1 !== undefined && this.state.estudante.dataColacaoGrau1 !== null) ||\n (this.state.estudante.dataColacaoGrau2 !== undefined && this.state.estudante.dataColacaoGrau2 !== null)) {\n const DataColacao = (this.state.estudante.dataColacaoGrau1 !== undefined && this.state.estudante.dataColacaoGrau1 !== null) ?\n new Date(this.state.estudante.dataColacaoGrau1) : new Date(this.state.estudante.dataColacaoGrau2);\n const DataConclusao = new Date(DataColacao.getFullYear(), DataColacao.getMonth(), DataColacao.getDate() - 1);\n this.setState({ DataColacao: DataColacao, DataConclusao: DataConclusao })\n }\n }\n setFormaAcesso() {\n if (this.state.TipoIngressoDescricao !== undefined && this.state.TipoIngressoDescricao !== \"\") {\n if (this.state.TipoIngressoDescricao.includes(\"TRANSFERENCIA\")) {\n this.setState({ FormaAcesso: \"Transferencia\" })\n } else if (this.state.TipoIngressoDescricao.includes(\"SISU\")) {\n this.setState({ FormaAcesso: \"Sisu\" })\n } else if (this.state.TipoIngressoDescricao.includes(\"VESTIBULAR\")) {\n this.setState({ FormaAcesso: \"Vestibular\" })\n } else if (this.state.TipoIngressoDescricao.includes(\"CONVENIO\")) {\n this.setState({ FormaAcesso: \"Convenios\" })\n }\n }\n }\n setCursosGraus() {\n const url = apiURLs.GET_CURSOS_GRAUS\n apiAxios\n .get(url)\n .then((result) => {\n var grau = this.state.cursoDados.cursoMec.grau;\n const found = result.data.some(el => el.descricao === grau.descricao);\n if (found) {\n this.setState({ cursosGraus: result.data, Grau: grau.descricao });\n } else {\n this.setState({ cursosGraus: result.data, Grau: result.data[0].descricao });\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n setIESEmissora() {\n const url = apiURLs.GET_IES + this.state.IesEmissoraId\n apiAxios\n .get(url)\n .then((result) => { this.setState({ iesEmissora: result.data }) })\n .catch((ex) => { console.log(ex) })\n }\n setIESRegistradora() {\n const url = apiURLs.GET_IES + this.state.IesRegistradoraId\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ iesRegistradora: result.data })\n })\n .catch((ex) => { console.log(ex) })\n }\n setLivrosRegistro(campusUID) {\n const url = apiURLs.GET_LIVROS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ livros: result.data });\n if (result.data && result.data.length > 0) {\n let estudanteLivro = result.data.filter(g => g.campus.filter(c => c.campusUID === campusUID)[0])[0];\n if (estudanteLivro === undefined || estudanteLivro === null) {\n this.setState({ LivroID: result.data[0].livroID, LivroRegistro: result.data[0].nome });\n } else {\n this.setState({ LivroID: estudanteLivro.livroID, LivroRegistro: estudanteLivro.nome });\n }\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n setMunicipios(uf) {\n const url = apiURLs.GET_MUNICIPIOS + uf\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ municipios: result.data });\n if ((this.state.NaturalidadeCodigoMunicipio === undefined || this.state.NaturalidadeCodigoMunicipio == null) && this.state.NaturalidadeUF != \"OU\") {\n this.setState({ NaturalidadeCodigoMunicipio: result.data[0].municipioUID, NaturalidadeNomeMunicipio: result.data[0].nome });\n } else {\n let municipio = this.state.municipios.filter(x => x.municipioUID === this.state.NaturalidadeCodigoMunicipio);\n if (municipio.length === 0) {\n this.setState({ NaturalidadeCodigoMunicipio: result.data[0].municipioUID, NaturalidadeNomeMunicipio: result.data[0].nome });\n }\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n removeAssinanteDiploma = (index) => {\n const assinaturasDiploma = this.state.assinaturasDiploma;\n console.log(index);\n delete assinaturasDiploma[index];\n this.setState({ assinaturasDiploma });\n }\n removeAssinanteDadosRegistro = (index) => {\n const assinaturaDadosRegistro = this.state.assinaturaDadosRegistro;\n console.log(index);\n delete assinaturaDadosRegistro[index];\n this.setState({ assinaturaDadosRegistro });\n }\n updateAssinanteDadosRegistro = (campo, valor, index) => {\n const assinaturaDadosRegistro = this.state.assinaturaDadosRegistro;\n assinaturaDadosRegistro[index][campo] = valor;\n this.setState({ assinaturaDadosRegistro });\n }\n updateAssinanteDiploma = (campo, valor, index) => {\n const assinaturasDiploma = this.state.assinaturasDiploma;\n assinaturasDiploma[index][campo] = valor;\n this.setState({ assinaturasDiploma });\n }\n setAssinanteDadosRegistroP = () => {\n const assinaturaDadosRegistro = this.state.assinaturaDadosRegistro;\n let assinante = { nome: \"\", cargo: \"\", cpf: \"\" };\n assinaturaDadosRegistro.push(assinante);\n this.setState({ assinaturaDadosRegistro });\n }\n setAssinanteDiplomaP = () => {\n const assinaturasDiploma = this.state.assinaturasDiploma;\n let assinante = { nome: \"\", cargo: \"\", cpf: \"\" };\n assinaturasDiploma.push(assinante);\n this.setState({ assinaturasDiploma });\n }\n setCurso() {\n const url = apiURLs.GET_CURSO_POR_SIGA_ID + this.state.estudante.codCurso;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n cursoDados: result.data,\n CursoID: result.data.cursoID,\n NomeCurso: titleCase(result.data.nome),\n CodigoCursoEMEC: result.data.cursoMec.codigoEmec,\n EnderecoCurso: result.data.enderecoCurso,\n AutorizacaoCurso: result.data.autorizacao,\n })\n if (result.data.cursoMec.nome !== undefined && result.data.cursoMec.nome !== null && result.data.cursoMec.nome !== \"\") {\n this.setState({ NomeCurso: titleCase(result.data.cursoMec.nome) });\n }\n this.setCursoFormacoes()\n this.setCursoReconhecimentos()\n this.setCursoTitulacoes()\n this.setLivrosRegistro(result.data.cursoMec.campus.campusID)\n this.setCursosGraus()\n })\n .catch((ex) => { console.log(ex) })\n }\n setCursoFormacoes() {\n const url = apiURLs.GET_CURSO_FORMACOES + this.state.CursoID\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursoFormacoes: result.data })\n if (result.data && result.data.length > 0) {\n this.setState({ CursoFormacao: result.data[0] ? result.data[0].formacao : '' });\n }\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n setCursoReconhecimentos() {\n const url2 = '/api/reconhecimento/cursos/' + this.state.CursoID\n apiAxios\n .get(url2)\n .then((result) => {\n if (result.data && result.data.length > 0) {\n var reconhecimentosOrdenadosPorDataRecente = result.data.sort(function (a, b) {\n return new Date(b.atoRegulatorio.data) - new Date(a.atoRegulatorio.data);\n });\n this.setState({\n cursoReconhecimentos: reconhecimentosOrdenadosPorDataRecente,\n ReconhecimentoID: reconhecimentosOrdenadosPorDataRecente[0].reconhecimentoCursoUid,\n Habilitacao: reconhecimentosOrdenadosPorDataRecente[0].habilitacao\n });\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n setCursoTitulacoes() {\n const url = apiURLs.GET_CURSO_TITULACOES + this.state.CursoID\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursoTitulacoes: result.data, TituloConferido: result.data[0].titulacao });\n if (result.data && result.data.length > 0 && this.state.Sexo !== undefined) {\n const titulo = result.data.find(x => x.sexo === this.state.Sexo);\n if (titulo) {\n this.setState({ TituloConferido: titulo.titulacao });\n }\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n setEnade() {\n const url = apiURLs.GET_DADOS_ENADE_ESTUDANTE + this.props.rga\n apiAxios\n .get(url)\n .then((result) => {\n //console.log(\"GET_DADOS_ENADE_ESTUDANTE:\", result.data);\n this.setState({\n CargaHorariaCurso: result.data.cargaHorariaCurso,\n CargaHorariaCursoIntegralizada: result.data.cargaHorariaCursada,\n SituacaoENADEIngressante: result.data.enadeIngressante ? result.data.enadeIngressante : 'Não informado.',\n SituacaoENADEConcluinte: result.data.enadeConcluiente ? result.data.enadeConcluiente : 'Não informado.',\n })\n if (this.state.SituacaoENADEConcluinte !== undefined && this.state.SituacaoENADEConcluinte !== null\n && this.state.SituacaoENADEConcluinte !== \"\" && this.state.SituacaoENADEConcluinte !== \"Não informado.\") {\n if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"estudante particip\")) {\n this.setState({ SituacaoENADE: \"ConcluinteParticipante\" })\n } else {\n if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"em razão do calendário do ciclo avaliativo\")) {\n this.setState({ SituacaoENADE: \"DispensadoEmRazaoDoCalendarioTrienal\" })\n } else if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"mec\")) {\n this.setState({ SituacaoENADE: \"DispensadoPeloMEC\" })\n } else if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"curso\")) {\n this.setState({ SituacaoENADE: \"DispensadoEmRazaoDaNaturezaDoCurso\" })\n } else if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"pessoal\")) {\n this.setState({ SituacaoENADE: \"DispensadoPorRazaoDeOrdemPessoal\" })\n } else if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"instrução normativa\") || this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"portaria normativa\")) {\n this.setState({ SituacaoENADE: \"DispensadoPorAtoDaInstituicaoDeEnsino\" })\n } else if (this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"mobilidade\") || this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"fora do país\") ||\n this.state.SituacaoENADEConcluinte.toLowerCase().includes(\"fora do brasil\")) {\n this.setState({ SituacaoENADE: \"DispensadoEmRazaoDeMobilidadeAcademicaNoExterior\" })\n }\n }\n } else if (this.state.SituacaoENADEIngressante !== undefined && this.state.SituacaoENADEIngressante !== null\n && this.state.SituacaoENADEIngressante !== \"\" && this.state.SituacaoENADEIngressante !== \"Não informado.\") {\n if (this.state.SituacaoENADEIngressante.toLowerCase().includes(\"estudante particip\")) {\n this.setState({ SituacaoENADE: \"IngressanteParticipante\" })\n }\n }\n })\n .catch((ex) => { console.log(ex) })\n }\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n let regexpOnlyNumber = /^[0-9\\b]+$/ //só numero\n let regexpProcess = /^[0-9 -/.\\b]+$/ //só numero e - e . e /\n let regexpOnlyLetter = /^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ' ]+$/ //só letra com acentuacao\n let regexpRG = /^[0-9\\b a-zA-Z ]+$/ //só letra e numero\n\n // if (name === 'NumeroFolhaDoDiploma' || name === 'NumeroSequenciaDoDiploma') {\n // if (regexpOnlyNumber.test(value) || value.length === 0) {\n // this.setState({ [name]: value })\n // }\n // } else \n if (name === 'Nome' || name === 'NomeMae' || name === 'NomePai' || name === 'NomeCurso' || name === 'NomeSocial') {\n if (regexpOnlyLetter.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else if (name === 'Nacionalidade') {\n if (regexpOnlyLetter.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else if (name === 'RGNumero' || name === 'RGOrgaoExpedidor') {\n if (regexpRG.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else if (name === 'Processo') {\n if (regexpProcess.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else if (name === \"CPF\") {\n this.setState({ [name]: cpfMask(value) })\n } else if (name === \"NaturalidadeCodigoMunicipio\") {\n let municipio = this.state.municipios.filter(x => x.municipioUID == value);\n this.setState({ [name]: value, NaturalidadeNomeMunicipio: municipio[0].nome })\n } else {\n this.setState({ [name]: value })\n }\n\n if (name === 'NaturalidadeUF') {\n this.setMunicipios(value)\n }\n if (name === 'ReconhecimentoID') {\n this.showHabilitacao(value)\n }\n }\n showHabilitacao(reconhecimentoId) {\n let habilitacao = this.state.cursoReconhecimentos.find((x) => x.reconhecimentoID === Number(reconhecimentoId)).habilitacao\n this.setState({ Habilitacao: habilitacao })\n }\n handleInputChangeDate(date, name) {\n if (date === null) {\n date = new Date()\n }\n this.setState({ [name]: date })\n }\n salvarRegistroAPI = () => {\n\n let Naturalidade = {};\n\n if ((this.state.Nacionalidade.trim().toLowerCase() == \"brasileiro\" || this.state.Nacionalidade.trim().toLowerCase() == \"brasileira\") && this.state.NaturalidadeUF.toUpperCase() != \"OU\") {\n Naturalidade = {\n CodigoMunicipio: String(this.state.NaturalidadeCodigoMunicipio),\n NomeMunicipio: this.state.NaturalidadeNomeMunicipio?.trim(),\n UF: this.state.NaturalidadeUF,\n }\n } else {\n Naturalidade = {\n NomeMunicipioEstrangeiro: this.state.NomeMunicipioEstrangeiro?.trim(),\n }\n }\n\n let RG = {\n Numero: this.state.RGNumero,\n OrgaoExpedidor: this.state.RGOrgaoExpedidor,\n UF: this.state.RGUF,\n }\n let outroDocumentoIdentificacao = {\n Identificador: this.state.OutroDocumentoIdentificacaoIdentificador,\n TipoDocumento: this.state.OutroDocumentoIdentificacaoTipoDocumento,\n }\n\n let Diplomado = {\n ID: this.state.ID,\n Nome: this.state.Nome,\n NomeSocial: this.state.NomeSocial,\n Sexo: this.state.Sexo,\n Nacionalidade: this.state.Nacionalidade,\n CPF: this.state.CPF.replace(/\\D/g, ''),\n DataNascimento: this.state.DataNascimento,\n Naturalidade: Naturalidade,\n RG: RG,\n OutroDocumentoIdentificacao: outroDocumentoIdentificacao\n }\n let TituloConferido = {\n Titulo: this.state.TituloConferido.trim(),\n OutroTitulo: this.state.TituloConferido.trim()\n }\n let DadosCurso = {\n NomeCurso: this.state.NomeCurso,\n Modalidade: this.state.Modalidade,\n TituloConferido: TituloConferido,\n GrauConferido: this.state.Grau,\n CursoID: Number(this.state.CursoID),\n ReconhecimentoID: Number(this.state.ReconhecimentoID),\n CursoFormacao: this.state.CursoFormacao,\n }\n let Filiacao = [\n { Nome: this.state.NomeMae, Sexo: this.state.SexoMae },\n ]\n\n if (this.state.NomePai != null && this.state.NomePai != \"\" && this.state.NomePai != undefined) {\n Filiacao.push({ Nome: this.state.NomePai, Sexo: this.state.SexoPai });\n }\n\n let IngressoCurso = {\n Data: this.state.DataIngresso,\n FormaAcesso: this.state.FormaAcesso,\n DataConclusao: this.state.DataConclusao,\n }\n let LivroRegistro = {\n LivroRegistro: this.state.LivroRegistro,\n // NumeroFolhaDoDiploma: String(this.state.NumeroFolhaDoDiploma),\n // NumeroSequenciaDoDiploma: String(this.state.NumeroSequenciaDoDiploma),\n ProcessoDoDiploma: this.state.Processo,\n ResponsavelRegistro: this.state.responsavelRegistro,\n LivroID: Number(this.state.LivroID),\n DataColacaoGrau: this.state.DataColacao,\n DataExpedicaoDiploma: this.state.DataExpedicao,\n DataRegistroDiploma: this.state.DataRegistro,\n }\n let TermoResponsabilidade = {\n Nome: this.state.responsavelRegistro.Nome,\n CPF: this.state.responsavelRegistro.CPF,\n Cargo: this.state.responsavelRegistro.Cargo,\n }\n // Incluido para teste\n if (window.location.host.includes(\"localhost\") === true && (TermoResponsabilidade.Nome == null || TermoResponsabilidade.Cargo == null)) {\n TermoResponsabilidade.CPF = \"26751439016\";\n TermoResponsabilidade.Nome = \"Analista Teste\";\n TermoResponsabilidade.Cargo = \"Analista de Sistemas\";\n\n LivroRegistro.ResponsavelRegistro.CPF = \"26751439016\";\n LivroRegistro.ResponsavelRegistro.Nome = \"Analista Teste\";\n }\n let dadosRegistro = {\n Diplomado,\n DadosCurso,\n IesEmissoraId: Number(this.state.IesEmissoraId),\n IesRegistradoraId: Number(this.state.IesRegistradoraId),\n Filiacao,\n DataEmissaoHistorico: this.state.DataEmissaoHistorico,\n IngressoCurso,\n LivroRegistro,\n SituacaoAluno: this.state.SituacaoAlunoHistorico,\n SituacaoENADE: this.state.SituacaoENADE,\n Observacao: this.state.Observacao,\n TermoResponsabilidade,\n SegundaVia: false,\n AssinaturasDiploma: this.state.assinaturasDiploma,\n AssinaturasRegistro: this.state.assinaturaDadosRegistro,\n }\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Registro de diploma está sendo salvo.', // add html attribute if you want or remove\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const registroDto = JSON.stringify(dadosRegistro)\n const url = apiURLs.POST_NOVO_REGISTRO\n console.log(url, registroDto);\n apiAxios\n .post(url, registroDto, { headers: { 'Content-Type': 'application/json' } })\n .then((result) => {\n Swal.close()\n Swal.fire({\n icon: 'success',\n title: 'Registro cadastrado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 4000,\n }).then(this.RedirectToConsultaRegistros())\n })\n .catch((ex) => {\n console.log(\"ex\", ex);\n if (ex.response) {\n try {\n console.log(ex.response.data.message);\n const error = JSON.parse(ex.response.data.message);\n Swal.fire({\n icon: 'error',\n title: 'Erro ao salvar registro!',\n html: error.message\n })\n } catch (error3) {\n console.log(error3)\n Swal.fire({\n icon: 'error',\n title: 'Erro ao salvar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n } else {\n Swal.fire({\n icon: 'error',\n title: 'Erro ao salvar registro!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n })\n }\n RedirectToConsultaRegistros = () => {\n window.location.href = '/digital/registros'\n }\n\n _next() {\n let currentStep = this.state.currentStep\n let errors = \"\";\n if (currentStep == 1) {\n if (this.state.Nome === '') {\n errors += 'Nome é obrigatório; '\n } else if (this.state.Nome.length < 2 || this.state.Nome.length > 255) {\n errors += 'Nome deve ter entre 2 e 255 letras; '\n }\n\n if (this.state.NomeSocial != '' && this.state.NomeSocial != null && this.state.NomeSocial != undefined) {\n if (this.state.NomeSocial.length < 2 || this.state.NomeSocial.length > 255) {\n errors += 'Nome Social deve ter entre 2 e 255 letras; '\n }\n }\n\n if (this.state.CPF === '') {\n errors += 'CPF é obrigatório; '\n } else if (this.state.CPF.replace(/\\D+/g, '').length !== 11) {\n errors += 'CPF deve ter 11 dígitos numéricos; '\n }\n if (this.state.Nacionalidade === '') {\n errors += 'Nacionalidade é obrigatório; '\n } else if (this.state.Nacionalidade.length < 2 || this.state.Nacionalidade.length > 255) {\n errors += 'Nacionalidade deve ter entre 2 e 255 letras; '\n }\n\n if (this.state.NomeMunicipioEstrangeiro === null\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Naturalidade - Município Estrangeiro é obrigatório; '\n } else if (\n (this.state.NomeMunicipioEstrangeiro.length < 2 || this.state.NomeMunicipioEstrangeiro.length > 255)\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Naturalidade - Município Estrangeiro deve ter entre 2 e 255 dígitos; ';\n }\n\n if (this.state.DataNascimento === '') {\n errors += 'Data de Nascimento é obrigatória; '\n }\n\n if (this.state.RGNumero === ''\n && (this.state.Nacionalidade.toLowerCase() === 'brasileiro'\n || this.state.Nacionalidade.toLowerCase() === 'brasileira'\n )\n ) {\n errors += 'Número de Documento de Identificação é obrigatório; '\n } else if (this.state.RGNumero.length < 4 || this.state.RGNumero.length > 15\n && (this.state.Nacionalidade.toLowerCase() === 'brasileiro'\n || this.state.Nacionalidade.toLowerCase() === 'brasileira'\n )\n ) {\n errors += 'Número de Documento de Identificação deve ter entre 6 e 15 dígitos; ';\n }\n if (this.state.RGUF == ''\n && (this.state.Nacionalidade.toLowerCase() === 'brasileiro'\n || this.state.Nacionalidade.toLowerCase() === 'brasileira'\n )) {\n errors += 'UF do Documento de Identificação é obrigatório; '\n }\n\n if (this.state.OutroDocumentoIdentificacaoIdentificador === null\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Documento de Identificação - Identificador é obrigatório; '\n } else if (\n (this.state.OutroDocumentoIdentificacaoIdentificador.length < 2 || this.state.OutroDocumentoIdentificacaoIdentificador.length > 255)\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Documento de Identificação - Identificador deve ter entre 2 e 255 dígitos; ';\n }\n\n if (this.state.OutroDocumentoIdentificacaoTipoDocumento === null\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Documento de Identificação - Tipo é obrigatório; '\n } else if (\n (this.state.OutroDocumentoIdentificacaoTipoDocumento.length < 2 || this.state.OutroDocumentoIdentificacaoTipoDocumento.length > 255)\n && this.state.Nacionalidade.toLowerCase() != 'brasileiro'\n && this.state.Nacionalidade.toLowerCase() != 'brasileira'\n ) {\n errors += 'Documento de Identificação - Tipo deve ter entre 2 e 255 dígitos; ';\n }\n\n if (this.state.NaturalidadeUF == ''\n && (this.state.Nacionalidade.toLowerCase() === 'brasileiro'\n || this.state.Nacionalidade.toLowerCase() === 'brasileira'\n )\n ) {\n errors += 'UF de Naturalidade é obrigatório; '\n }\n if ((this.state.NaturalidadeCodigoMunicipio == ''\n && (this.state.Nacionalidade.toLowerCase() === 'brasileiro'\n || this.state.Nacionalidade.toLowerCase() === 'brasileira'\n ) && this.state.NaturalidadeUF.toUpperCase() != \"OU\")\n ) {\n errors += 'Código do Município de Naturalidade é obrigatório; '\n }\n if (this.state.RGOrgaoExpedidor != '') {\n if (this.state.RGOrgaoExpedidor.length < 2 || this.state.RGOrgaoExpedidor.length > 255) {\n errors += 'Orgão Expedidor do RG deve ter entre 2 e 255 letras; '\n }\n }\n if (this.state.Sexo == '') {\n errors += 'Sexo é obrigatório; '\n }\n if (this.state.SexoMae === '') {\n errors += 'Sexo Mãe é obrigatório; '\n }\n if (this.state.SexoPai === '') {\n errors += 'Sexo Pai é obrigatório; '\n }\n if (this.state.NomeMae === '') {\n errors += 'Nome da Mãe é obrigatório; '\n } else if (this.state.NomeMae.length < 2 || this.state.NomeMae.length > 255) {\n errors += 'Nome da Mãe deve ter entre 2 e 255 letras; '\n }\n // if (this.state.NomePai === '') {\n // errors += 'Nome do Pai é obrigatório; '\n // } else \n if (this.state.NomePai.length > 255) { //this.state.NomePai.length < 2 || \n errors += 'Nome do Pai deve ter entre 2 e 255 letras; '\n }\n } else if (currentStep == 2) {\n if (this.state.Modalidade === '') {\n errors += 'Modalidade de curso é obrigatório; '\n }\n if (this.state.Grau === '') {\n errors += 'Grau de curso é obrigatório; '\n }\n if (this.state.TituloConferido === '') {\n errors += 'Título Conferido é obrigatório; '\n }\n if (this.state.ReconhecimentoID === '' || this.state.ReconhecimentoID === 0) {\n errors += 'Reconhecimento de curso é obrigatório; '\n }\n if (this.state.NomeCurso === '') {\n errors += 'Nome do Curso é obrigatório; '\n } else if (this.state.NomeCurso.length < 2 || this.state.NomeCurso.length > 255) {\n errors += 'Nome do Curso deve ter entre 2 e 255 letras; '\n }\n if (this.state.AutorizacaoCurso === '' || this.state.AutorizacaoCurso == null || this.state.AutorizacaoCurso == undefined || this.state.AutorizacaoCurso === 0) {\n errors += 'Autorização do Curso é obrigatório; '\n }\n } else if (currentStep == 3) {\n if (this.state.LivroID === '') {\n errors += 'Livro de Registro é obrigatório; '\n }\n if (this.state.Processo === '') {\n errors += 'Processo é obrigatório; '\n } else if (this.state.Processo.length < 2 || this.state.Processo.length > 255) {\n errors += 'Processo deve ter entre 2 e 255 dígitos numéricos. Simbolos \".\", \"/\", \"-\" são permitidos.; '\n }\n // if (this.state.NumeroFolhaDoDiploma === '') {\n // errors += 'Numero da Folha do Diploma é obrigatório; '\n // } else if (this.state.NumeroFolhaDoDiploma.length < 1 || this.state.NumeroFolhaDoDiploma.length > 5) {\n // errors += 'Numero da Folha do Diploma deve ter entre 1 e 5 dígitos numéricos; '\n // }\n // if (this.state.NumeroSequenciaDoDiploma === '') {\n // errors += 'Numero Sequência do Diploma é obrigatório; '\n // } else if (this.state.NumeroSequenciaDoDiploma.length < 1 || this.state.NumeroSequenciaDoDiploma.length > 5) {\n // errors += 'Numero Sequência do Diploma deve ter entre 1 e 5 dígitos numéricos; '\n // }\n if (this.state.DataRegistro === '') {\n errors += 'Data de Registro é obrigatória; '\n }\n if (this.state.DataExpedicao === '') {\n errors += 'Data de Expedição é obrigatória; '\n }\n if (this.state.DataColacao === '') {\n errors += 'Data de Colação é obrigatória; '\n }\n if (this.state.responsavelRegistro == null ||\n this.state.responsavelRegistro.Nome == null || this.state.responsavelRegistro.Nome == \"\" ||\n this.state.responsavelRegistro.CPF == null || this.state.responsavelRegistro.CPF == \"\" ||\n this.state.responsavelRegistro.IDouNumeroMatricula == null || this.state.responsavelRegistro.IDouNumeroMatricula == \"\") {\n errors += 'Responsável pelo Registro não informado; '\n }\n } else if (currentStep == 4) {\n if (this.state.SituacaoENADE === '') {\n errors += 'Situação ENADE é obrigatório; '\n }\n if (this.state.DataEmissaoHistorico === '') {\n errors += 'Data de Emissão do Histórico é obrigatória; '\n }\n } else if (currentStep == 5) {\n if (this.state.FormaAcesso === '') {\n errors += 'Forma de Acesso é obrigatório; '\n }\n if (this.state.DataIngresso === '' || this.state.DataIngresso == null) {\n errors += 'Data de Ingresso é obrigatória; '\n }\n if (this.state.DataConclusao === '' || this.state.DataConclusao == null) {\n errors += 'Data de Conclusão é obrigatória; '\n }\n }\n\n if (errors.trim().length > 0) {\n Swal.fire({\n icon: 'error',\n title: 'Verfique campos obrigatórios!',\n text: `${errors.trim()}`,\n });\n } else {\n currentStep = currentStep >= 1 && currentStep < this.state.stepFinal ? currentStep + 1 : currentStep\n this.setState({ currentStep: currentStep })\n const inicio = document.getElementById(\"registroNovoForm\")\n if (inicio) {\n window.scrollTo(0, inicio.offsetTop);\n };\n }\n }\n _prev() {\n let currentStep = this.state.currentStep\n currentStep = currentStep <= 1 ? 1 : currentStep - 1\n this.setState({ currentStep: currentStep })\n const inicio = document.getElementById(\"registroNovoForm\")\n if (inicio) {\n window.scrollTo(0, inicio.offsetTop);\n };\n }\n get previousButton() {\n let currentStep = this.state.currentStep\n if (currentStep !== 1) {\n return (\n \n Anterior\n \n )\n }\n return <>>\n }\n get nextButton() {\n if (this.state.currentStep < this.state.stepFinal) {\n return (\n \n Próximo\n \n )\n }\n return <>>\n }\n get registrarButton() {\n if (this.state.currentStep === this.state.stepFinal) {\n return (\n \n Registrar\n \n )\n }\n return <>>\n }\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n render() {\n return (\n {\n let errors = {}\n if (this.state.Sexo === '') {\n errors.Sexo = 'Sexo é obrigatório'\n }\n // if (this.state.RGUF === '') {\n // errors.RGUF = 'UF do Documento de Identificação é obrigatório'\n // }\n // if (this.state.NaturalidadeCodigoMunicipio === '') {\n // errors.NaturalidadeCodigoMunicipio = 'Código do Município de Naturalidade é obrigatório'\n // }\n // if (this.state.NaturalidadeUF === '') {\n // errors.NaturalidadeUF = 'UF de Naturalidade é obrigatório'\n // }\n if (this.state.Modalidade === '') {\n errors.Modalidade = 'Modalidade de curso é obrigatório'\n }\n if (this.state.Grau === '') {\n errors.Grau = 'Grau de curso é obrigatório'\n }\n if (this.state.ReconhecimentoID === '' || this.state.ReconhecimentoID === 0) {\n errors.ReconhecimentoID = 'Reconhecimento de curso é obrigatório'\n }\n if (this.state.TituloConferido === '') {\n errors.TituloConferido = 'Título Conferido é obrigatório'\n }\n if (this.state.FormaAcesso === '') {\n errors.FormaAcesso = 'Forma de Acesso é obrigatório'\n }\n if (this.state.SituacaoENADE === '') {\n errors.SituacaoENADE = 'Situação ENADE é obrigatório'\n }\n if (this.state.SexoMae === '') {\n errors.SexoMae = 'Sexo Mãe é obrigatório'\n }\n if (this.state.SexoPai === '') {\n errors.SexoPai = 'Sexo Pai é obrigatório'\n }\n if (this.state.LivroID === '') {\n errors.LivroID = 'Livro de Registro é obrigatório'\n }\n if (this.state.DataNascimento === '') {\n errors.DataNascimento = 'Data de Nascimento é obrigatória'\n }\n if (this.state.DataConclusao === '' || this.state.DataConclusao == null) {\n errors.DataConclusao = 'Data de Conclusão é obrigatória'\n }\n if (this.state.DataRegistro === '') {\n errors.DataRegistro = 'Data de Registro é obrigatória'\n }\n if (this.state.DataExpedicao === '') {\n errors.DataExpedicao = 'Data de Expedição é obrigatória'\n }\n if (this.state.DataColacao === '') {\n errors.DataColacao = 'Data de Colação é obrigatória'\n }\n if (this.state.DataIngresso === '' || this.state.DataIngresso == null) {\n errors.DataIngresso = 'Data de Ingresso é obrigatória'\n }\n if (this.state.DataEmissaoHistorico === '') {\n errors.DataEmissaoHistorico = 'Data de Emissão do Histórico é obrigatória'\n }\n if (this.state.Nome === '') {\n errors.Nome = 'Nome é obrigatório'\n } else if (this.state.Nome.length < 2 || this.state.Nome.length > 255) {\n errors.Nome = 'Nome deve ter entre 2 e 255 letras'\n }\n if (this.state.NomeSocial != '' && this.state.NomeSocial != null && this.state.NomeSocial != undefined) {\n if (this.state.NomeSocial.length < 2 || this.state.NomeSocial.length > 255) {\n errors += 'Nome Social deve ter entre 2 e 255 letras; '\n }\n }\n if (this.state.Nacionalidade === '') {\n errors.Nacionalidade = 'Nacionalidade é obrigatório'\n } else if (this.state.Nacionalidade.length < 2 || this.state.Nacionalidade.length > 255) {\n errors.Nacionalidade = 'Nacionalidade deve ter entre 2 e 255 letras'\n }\n if (this.state.CPF === '') {\n errors.CPF = 'CPF é obrigatório'\n } else if (this.state.CPF.replace(/\\D+/g, '').length !== 11) {\n errors.CPF = 'CPF deve ter 11 dígitos numéricos'\n }\n // if (this.state.RGNumero === '') {\n // errors.RGNumero = 'Número de Documento de Identificação é obrigatório'\n // } else if (this.state.RGNumero.length < 6 || this.state.RGNumero.length > 11) {\n // errors.RGNumero = 'Número de Documento de Identificação deve ter entre 6 e 11 dígitos'\n // }\n // if (this.state.RGOrgaoExpedidor === '') {\n // errors.RGOrgaoExpedidor = 'Orgão Expedidor do RG é obrigatório'\n // } else if (this.state.RGOrgaoExpedidor.length < 2 || this.state.RGOrgaoExpedidor.length > 255) {\n // errors.RGOrgaoExpedidor = 'Orgão Expedidor do RG deve ter entre 2 e 255 letras'\n // }\n if (this.state.NomeCurso === '') {\n errors.NomeCurso = 'Nome do Curso é obrigatório'\n } else if (this.state.NomeCurso.length < 2 || this.state.NomeCurso.length > 255) {\n errors.NomeCurso = 'Nome do Curso deve ter entre 2 e 255 letras'\n }\n if (this.state.NomeMae === '') {\n errors.NomeMae = 'Nome da Mãe é obrigatório'\n } else if (this.state.NomeMae.length < 2 || this.state.NomeMae.length > 255) {\n errors.NomeMae = 'Nome da Mãe deve ter entre 2 e 255 letras'\n }\n // if (this.state.NomePai === '') {\n // errors.NomePai = 'Nome do Pai é obrigatório'\n // } else \n if (this.state.NomePai.length > 255) { //this.state.NomePai.length < 2 || \n errors.NomePai = 'Nome do Pai deve ter entre 2 e 255 letras'\n }\n if (this.state.Processo === '') {\n errors.Processo = 'Processo é obrigatório'\n } else if (this.state.Processo.length < 2 || this.state.Processo.length > 255) {\n errors.Processo = 'Processo deve ter entre 2 e 255 dígitos numéricos. Simbolos \".\", \"/\", \"-\" são permitidos.'\n }\n // if (this.state.NumeroFolhaDoDiploma === '') {\n // errors.NumeroFolhaDoDiploma = 'Numero da Folha do Diploma é obrigatório'\n // } else if (this.state.NumeroFolhaDoDiploma.length < 1 || this.state.NumeroFolhaDoDiploma.length > 5 ) {\n // errors.NumeroFolhaDoDiploma = 'Numero da Folha do Diploma deve ter entre 1 e 5 dígitos numéricos'\n // }\n // if (this.state.NumeroSequenciaDoDiploma === '') {\n // errors.NumeroSequenciaDoDiploma = 'Numero Sequência do Diploma é obrigatório'\n // } else if (this.state.NumeroSequenciaDoDiploma.length < 1 || this.state.NumeroSequenciaDoDiploma.length > 5) {\n // errors.NumeroSequenciaDoDiploma = 'Numero Sequência do Diploma deve ter entre 1 e 5 dígitos numéricos'\n // }\n console.log(errors)\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text: 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={({ }) => {\n this.salvarRegistroAPI()\n this.setState({ isSubmitting: false })\n }} >\n {({ touched, errors, isSubmitting }) => (\n \n )}\n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n ufs: state.registros.ufs,\n municipios: state.registros.municipios,\n estudante: state.registros.estudante,\n loading: state.registros.loading,\n error: state.registros.error,\n curso: state.cursos.curso,\n cursosGraus: state.cursos.cursosGraus,\n cursoFormacoes: state.cursos.cursoFormacoes,\n cursoTitulacoes: state.cursos.cursoTitulacoes,\n cursoReconhecimentos: state.cursos.cursoReconhecimentos,\n iesEmissora: state.ies.iesEmissora,\n iesRegistradora: state.ies.iesRegistradora,\n livros: state.livros.livros,\n enade: state.registros.enade,\n})\n\nconst mapDispatchToProps = (dispatch) => ({\n onCreatePressed: (dadosRegistro) => dispatch(addNovoRegistroRequest(dadosRegistro)),\n onReloadMunicipios: (uf) => dispatch(loadMunicipios(uf)),\n dispatch,\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistroNovoForm)","import * as React from 'react'\nimport { Row, Col, Alert, Card, Breadcrumb } from 'react-bootstrap'\nimport RegistroNovoForm from '../../components/Area/CAE/RegistroForm/RegistroNovoForm'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\nimport { Link } from 'react-router-dom'\n\nclass RegistroNovo extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n rga: this.props.match.params.rga,\n iesEmissoraInstituicaoID: 1, //TODO: UFMT\n iesRegistradoraInstituicaoID: 1, //TODO: UFMT\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n render() {\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n \n Consulta de Estudantes Formandos\n \n \n \n Novo Registro\n \n \n\n Novo Registro \n \n Não incluir \"zeros não significativos\" para\n campos numéricos.\n \n \n >\n )\n }\n}\n\nexport default connect((state) => ({\n ufs: state.registros.ufs,\n municipios: state.registros.municipios,\n estudante: state.registros.estudante,\n loading: state.registros.loading,\n error: state.registros.error,\n curso: state.cursos.curso,\n graus: state.cursos.graus,\n cursoFormacoes: state.cursos.cursoFormacoes,\n cursoTitulacoes: state.cursos.cursoTitulacoes,\n cursoReconhecimentos: state.cursos.cursoReconhecimentos,\n iesEmissora: state.ies.iesEmissora,\n iesRegistradora: state.ies.iesRegistradora,\n livros: state.livros.livros,\n enade: state.registros.enade,\n}))(RegistroNovo)","import createHistory from 'history/createBrowserHistory'\nexport default createHistory()\n","import React from \"react\";\nimport { Breadcrumb, Card, Form, Button, Col, Table, Spinner, Row, Alert } from 'react-bootstrap';\nimport axios from 'axios';\nimport Swal from 'sweetalert2';\nimport { IrPortal } from \"../../util/funcoes\";\nimport apiAxios from \"../../api/apiAxios\";\nimport { Link } from \"react-router-dom\";\n\nexport class CadastrarDocumento extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n rga: \"\",\n aluno: null,\n tipos: [],\n tipoId: 0,\n arquivoName: \"Selecione o arquivo\",\n arquivo: null,\n observacao: \"\",\n documentos: [],\n docsObrigatorios: [],\n isLoadingDocumentosEnviado: false\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n async componentDidMount() {\n this.getTiposDocumentos();\n if(this.props.match.params.rga != undefined){\n this.setState({ rga: this.props.match.params.rga })\n }\n }\n\n getDocumentos = async () => {\n this.setState({ isLoadingDocumentosEnviado: true });\n const result = await apiAxios.get(`/api/Documentacao/${this.state.rga}`);\n const documentos = result.data;\n this.setState({ documentos, isLoadingDocumentosEnviado: false });\n }\n\n getTiposDocumentos = async () => {\n const result = await apiAxios.get(\"/api/Documentacao/tipos\");\n const tipos = result.data;\n this.setState({ tipos });\n if (tipos.length > 0) {\n this.setState({ tipoId: tipos[0].documentoTipoId, observacao: tipos[0].nome });\n }\n }\n\n CheckTamanho(file) {\n const tamanho = file.size / 1024 / 1024;\n const tipo = file.type;\n\n if (tamanho >= 7) {\n return false;\n }\n\n return true;\n }\n\n ExcluirDocumento = async (id, index) => {\n const result = await Swal.fire({\n title: 'Deseja realmente excluir esse arquivo?',\n showDenyButton: true,\n confirmButtonText: 'Sim',\n denyButtonText: `Não`,\n });\n\n if (result.isConfirmed) {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Excluindo Arquivo',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n await apiAxios.get(`/api/Documentacao/excluir/${id}`);\n const documentos = [...this.state.documentos];\n documentos.splice(index, 1);\n this.setState({ documentos });\n Swal.close();\n Swal.fire('Arquivo excluido!', '', 'success');\n }\n }\n\n EnviarHistoricoApp = async () => {\n if (this.state.tipoId <= 0) {\n Swal.fire({\n icon: 'warning',\n title: 'Tipo do Arquivo não selecionado!'\n });\n return;\n }\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Enviando Arquivo',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n let form = new FormData();\n form.append(\"rga\", this.state.rga);\n form.append(\"tipoId\", this.state.tipoId.toString());\n\n apiAxios.post(\"/api/Documentacao/enviar/historico\", form).then(result => {\n this.getDocumentos();\n this.limparArquivo();\n Swal.close();\n }).catch(ex => {\n Swal.close();\n if (ex.response) {\n const ret = JSON.parse(ex.response.data.mensagem)\n Swal.fire('Erro ao enviar arquivo', ret.message, 'error');\n }\n else {\n Swal.fire('Erro ao enviar arquivo', `${ex}`, 'error');\n }\n });\n }\n\n DownloadDocumento = async (guid, nome) => {\n apiAxios({\n url: `/api/Documentacao/download/${guid}`,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n console.log(response);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', `${nome}`);\n link.click();\n }).catch(ex => {\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n });\n }\n\n limparAluno = () => {\n const tipos = this.state.tipos;\n this.setState({ aluno: null, rga: \"\", documentos: [] });\n if (tipos.length > 0) {\n this.setState({ tipoId: tipos[0].documentoTipoId, observacao: tipos[0].nome });\n }\n this.limparArquivo();\n }\n\n limparArquivo = () => {\n this.setState({ arquivoName: \"Selecione o arquivo\", arquivo: null });\n document.getElementById(\"imgupload\").value = \"\";\n const tipos = this.state.tipos;\n if (tipos.length > 0)\n this.setState({ tipoId: tipos[0].documentoTipoId });\n }\n\n setArquivo = async () => {\n if (this.state.arquivo == null) {\n Swal.fire({\n icon: 'warning',\n title: 'Arquivo não selecionado!'\n });\n return;\n }\n\n if (!this.state.observacao || this.state.observacao.trim().length == 0) {\n Swal.fire({\n icon: 'warning',\n title: 'Observação não informada, Verifique!'\n });\n return;\n }\n\n if (this.state.tipoId <= 0) {\n Swal.fire({\n icon: 'warning',\n title: 'Tipo do Arquivo não selecionado!'\n });\n return;\n }\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Enviando Arquivo',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n if (this.CheckTamanho(this.state.arquivo)) {\n let form = new FormData();\n form.append(\"file\", this.state.arquivo);\n form.append(\"rga\", this.state.rga);\n form.append(\"tipoId\", this.state.tipoId.toString());\n form.append(\"obs\", this.state.observacao);\n\n apiAxios.post(\"/api/Documentacao/enviar\", form).then(result => {\n this.getDocumentos();\n this.limparArquivo();\n Swal.close();\n }).catch(ex => {\n Swal.close();\n if (ex.response) {\n const ret = JSON.parse(ex.response.data.mensagem)\n Swal.fire('Erro ao enviar arquivo', ret.message, 'error');\n }\n else {\n Swal.fire('Erro ao enviar arquivo', `${ex}`, 'error');\n }\n });\n } else {\n Swal.fire('Oops...', \"O tamanho do arquivo ultrapassa o limite (7 MB).\", 'error');\n }\n }\n\n getEstudante = async () => {\n this.setState({ aluno: null });\n\n if (!this.state.rga) {\n Swal.fire({\n icon: 'warning',\n title: 'RGA não informado!'\n });\n return;\n }\n\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando registros.',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n try {\n const result = await apiAxios.get(`api/Documentacao/estudante/${this.state.rga}`);\n const aluno = result.data;\n if (!aluno) {\n Swal.close()\n Swal.fire({\n icon: 'warning',\n title: 'RGA não encontrado!',\n html: 'Verifique RGA informado',\n });\n } else {\n this.setState({ aluno });\n Swal.close();\n this.getDocumentos();\n }\n } catch (ex) {\n Swal.fire({\n icon: 'error',\n title: 'Erro ao localizar dados!',\n html: 'Tente novamente. Se erro persistir entre em contato com o administrador do sistema.',\n });\n console.log(ex);\n }\n }\n\n renderDocumentos = () => {\n if (this.state.documentos.length > 0) {\n return (<>\n \n \n \n \n Tipo \n Nome \n Observações \n \n \n \n \n {this.state.documentos.map((doc, index) => {\n return \n {doc.tipo} \n {doc.nome} \n {doc.observacao} \n \n this.DownloadDocumento(doc.arquivoGuid, doc.nome)}>\n Download\n \n this.ExcluirDocumento(doc.id, index)}>\n Excluir\n \n \n \n })}\n \n
\n >)\n }\n\n return <>>\n }\n\n renderTipos = () => {\n if (this.state.tipos.length > 0) {\n return (\n \n
\n
Tipo do Arquivo \n {\n this.setState({ tipoId: e.target.value, observacao: e.target.options[e.target.selectedIndex].text })\n }}>\n {this.state.tipos.map(r => {r.nome} )}\n \n \n
\n
Os arquivos devem estar no formato de preservação PDF/A (www.pdfa.org) e NÃO podem passar de 7MB de tamanho \n {\n if (e.target.files != null && e.target.files.length > 0) {\n this.setState({\n arquivoName: e.target.files[0].name,\n arquivo: e.target.files[0]\n })\n } else {\n this.limparArquivo();\n }\n }} />\n \n { document.getElementById(\"imgupload\").click() }}>\n {this.state.arquivo == null ? : } {this.state.arquivoName}\n \n \n
\n )\n }\n\n return <>>\n }\n\n render() {\n return (\n \n
\n \n \n Página Inicial - CAE\n \n \n \n Enviar Documentação comprobatória\n \n \n
\n \n \n Documentação comprobatória \n \n Documentação Acadêmica para Emissão e Registro de Diplomas Digitais\n \n \n \n \n \n \n Obrigatórios \n •\tAta de Colação de Grau; \n • RG e CPF; \n •\tCertificado de E. Médio; \n •\tHistórico Escolar de E. Superior; \n •\tTermo de Responsabilidade para Expedição e Registro; \n \n \n \n \n Opcionais: \n •\tCertidão de Nasc. Ou Casamento;\n \n \n
\n \n \n \n Recomendamos que a conversão sejá feita no formato \"PDF/A-2b\" no programa PDFCreator\n \n \n
\n \n \n \n \n
Nome \n \n \n \n \n \n
RGA \n \n \n \n \n \n
Curso \n \n \n \n \n \n {this.renderTipos()}\n {/* \n \n \n
Observação \n this.setState({ observacao: e.target.value })}\n className=\"form-control\"\n />\n \n \n */}\n \n \n Enviar Arquivo\n \n {this.state.observacao === \"Histórico Escolar do curso superior concluído\" ? \n Enviar Histórico Gerado no Aplicativo\n : <>>} \n \n Voltar\n \n
\n \n Termo de Registro do Diploma deve ser enviado com o tipo 'Outros'\n
\n {this.state.isLoadingDocumentosEnviado ? <> > : <>>}\n {this.renderDocumentos()}\n > :\n <>\n \n
\n
RGA \n this.setState({ rga: e.target.value })}\n className=\"form-control\"\n required\n />\n \n
\n
\n \n Localizar Dados\n \n \n
\n >}\n \n \n \n
\n )\n }\n}\n\nexport default CadastrarDocumento;","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst Stpes = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap\n`\n\nconst Step = styled.div`\n & {\n align-items: center;\n display: flex;\n flex-direction: column;\n position: relative;\n margin: 1rem\n }\n @media (min-width:768px) {\n &:not(:last-child):after {\n content: \"\";\n display: block;\n border-top: .25rem dotted #3b82f6;\n width: 3.46rem;\n position: absolute;\n left: 7.5rem;\n top: .3125rem\n }\n &:not(:first-child):before {\n content: \"\";\n display: block;\n border-top: .25rem dotted #3b82f6;\n width: 3.8125rem;\n position: absolute;\n right: 7.5rem;\n top: .3125rem\n }\n }\n`\n\nconst StepContent = styled.div`\n width: 10rem;\n text-align: center\n`\n\nconst InnerCircle = styled.div`\n & {\n border-radius: 1.5rem;\n height: 1rem;\n width: 1rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: #3b82f6;\n }\n &:before {\n content: \"\";\n background-color: #3b82f6;\n display: inline-block;\n height: 3rem;\n width: 3rem;\n min-width: 3rem;\n border-radius: 6.25rem;\n opacity: .5\n }\n`\n\nconst TimeLine = (props) => {\n return (\n \n
\n
\n {props.itens != null && props.itens.length > 0 && props.itens.map((i, index) =>\n \n \n \n {i.texto}
\n \n )}\n \n
\n
)\n}\n\nexport default TimeLine;","import React from \"react\";\nimport { Breadcrumb } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nconst Menu = ({ title, menus }) => {\n return (\n \n {menus && menus.map((m, i) => {\n return (\n \n \n {m.desc}\n \n \n )\n })}\n \n {title}\n \n \n )\n}\n\nexport default Menu;","import Swal from 'sweetalert2';\n\nexport const exibirMensagemAguarde = (title, mensagem) => {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: title,\n html: mensagem,\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n });\n}\n\nexport const formatarData = (data) => {\n try {\n if (data == undefined || data == null) {\n return null;\n }\n if (data.includes(\"T00:00:00\")) {\n data = data.replace(\"T00:00:00\", \"T07:00:00\");\n }\n return new Date(data);\n } catch (error) {\n console.error(error);\n return null;\n }\n}\n\nexport const exibirMensagemErro = (title, error) => {\n try {\n const jsonError = JSON.parse(error?.request?.response || null);\n if (jsonError && jsonError.message) {\n if (jsonError.message.includes(\"{\")) {\n const jsonErrorDetail = JSON.parse(jsonError.message || null);\n if (jsonErrorDetail && jsonErrorDetail.message) {\n Swal.fire('Erro ao buscar registros', jsonErrorDetail.message, 'error');\n } else {\n Swal.fire('Erro ao buscar registros', jsonError.message, 'error');\n }\n } else {\n Swal.fire('Erro ao buscar registros', jsonError.message, 'error'); \n }\n } else {\n Swal.fire('Erro ao buscar registros', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n }\n console.error(\"try\", error);\n } catch (e) {\n console.error(e);\n Swal.fire(title, `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n }\n}","import React, { useState, useEffect } from \"react\";\nimport { Card, Button, Col, Form, Table, Tooltip, OverlayTrigger, Alert, Spinner } from 'react-bootstrap';\nimport Swal from 'sweetalert2';\nimport DatePicker from \"react-datepicker\";\nimport { Link } from 'react-router-dom';\nimport TimeLine from \"../../components/TimeLine\";\nimport ptBR from 'date-fns/locale/pt-BR';\nimport { IrPortal } from \"../../util/funcoes\";\nimport apiAxios from \"../../api/apiAxios\";\nimport Menu from \"../../components/Menu\";\nimport {exibirMensagemAguarde, exibirMensagemErro} from \"../../util/util\";\n\nexport default function EnviarConector() {\n const [situacaoId, setSituacaoId] = useState(\"0\");\n const [situacaoDesc, setSituacaoDesc] = useState(\"\");\n const [situacoes, setSituacoes] = useState([]);\n const [dataInicial, setDataInicial] = useState(null);\n const [dataFinal, setDataFinal] = useState(null);\n const [nome, setNome] = useState(\"\");\n const [registros, setRegistros] = useState([]);\n const [rga, setRga] = useState(\"\");\n const [exibirEnvio, setExibirEnvio] = useState(false);\n const [processando, setProcessando] = useState(false);\n const [registrosEnviados, setRegistrosEnviados] = useState([]);\n \n useEffect(() => {\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario === null || usuario === undefined || usuario === \"99999999999\") {\n IrPortal();\n }\n \n apiAxios.get(\"/api/Conector/situacoes\").then(({ data }) =>\n {\n if (Array.isArray(data) && data.length > 0)\n {\n data = data.filter(obj => obj.descricao !== 'Diploma digital revogado');\n }\n\n setSituacoes(data);\n });\n }, []);\n\n const selecionarItem = (index, value) => {\n const updatedRegistros = [...registros];\n updatedRegistros[index].selecionado = value;\n setRegistros(updatedRegistros);\n }\n\n const getRegistro = async () => {\n exibirMensagemAguarde(\"Por favor aguarde!\", \"Consultando dados...\");\n const obj = {\n situacaoId: `${situacaoId}`,\n dataInicial: \"\",\n dataFinal: \"\",\n nome: nome,\n rga: rga\n }\n if (dataInicial) {\n obj.dataInicial = `${dataInicial.toISOString().split(\"T\")[0]}`;\n }\n if (dataFinal) {\n obj.dataFinal = `${dataFinal.toISOString().split(\"T\")[0]}`;\n }\n console.log(obj);\n try {\n const { data } = await apiAxios.post(\"/api/Conector/registros\", JSON.stringify(obj), {\n headers: { 'content-type': 'application/json' },\n });\n console.log(\"data\", data);\n setRegistros(data);\n Swal.close()\n }\n catch (ex) {\n Swal.close()\n exibirMensagemErro('Erro ao buscar registros', ex);\n }\n }\n\n const toggleItens = (value) => {\n const updatedRegistros = registros.map(item => ({ ...item, selecionado: value }));\n setRegistros(updatedRegistros);\n }\n\n const atualizarStatus = async () => {\n exibirMensagemAguarde(\"Por favor aguarde!\", \"Buscando atualizações dos registros...\");\n\n try {\n const selecionados = registros.filter(x => x.selecionado);\n if (selecionados.length === 0) {\n Swal.close()\n Swal.fire({ icon: 'warning', title: 'Nenhum registro selecionado, Verifique' });\n return;\n }\n\n const itens = selecionados.map(i => ({ registroId: i.id }))\n await apiAxios.put(\"/api/Conector/atualizar-situacao\", JSON.stringify(itens), {\n headers: { 'content-type': 'application/json' },\n });\n Swal.close()\n Swal.fire('Situação atualizada com sucesso', \"\", 'success').then(result => {\n window.location.reload();\n })\n } catch (ex) {\n Swal.close()\n Swal.fire('Erro ao atualizar situação', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n console.error(\"try\", ex);\n }\n }\n\n const enviarDiplomaDigital = async () => {\n try\n {\n setRegistrosEnviados([]);\n const selecionados = registros.filter(x => x.selecionado);\n if (selecionados.length === 0) {\n Swal.fire({ icon: 'warning', title: 'Nenhum registro selecionado, Verifique' });\n return;\n }\n setProcessando(true);\n setExibirEnvio(true);\n for (let i = 0; i < selecionados.length; i++)\n {\n const envio = selecionados[i]; \n await apiAxios.post(`/api/Conector/enviar/xml-diploma/${envio.id}`).then((response) => {\n envio.success = true;\n console.log(\"response\", response);\n setRegistrosEnviados(prevState => [...prevState, envio]);\n }).catch(ex => {\n envio.success = false;\n envio.error = ex?.request?.response ?? ex;\n setRegistrosEnviados(prevState => [...prevState, envio]);\n console.error(ex);\n console.error(ex?.request?.response);\n });\n }\n setProcessando(false);\n }\n catch (ex)\n {\n setProcessando(false);\n Swal.close()\n Swal.fire('Erro ao enviar XML', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n console.log(\"try\", ex);\n }\n }\n\n const enviarDocumentacaoAcademica = async () => {\n try\n {\n const selecionados = registros.filter(x => x.selecionado);\n setRegistrosEnviados([]);\n if (selecionados.length === 0) {\n Swal.fire({ icon: 'warning', title: 'Nenhum registro selecionado, Verifique' });\n return;\n }\n setProcessando(true);\n setExibirEnvio(true);\n for (let i = 0; i < selecionados.length; i++)\n {\n const envio = selecionados[i];\n const resultValidacao = await apiAxios.get(`/api/Documentacao/valida-envio/${envio.id}`);\n console.log(\"resultValidacao\", resultValidacao);\n if (!resultValidacao.data.envioOk) {\n envio.success = false;\n envio.error = resultValidacao.data.mensagem;\n setRegistrosEnviados(prevState => [...prevState, envio]);\n } else {\n const { data } = await apiAxios.get(`/api/Conector/json/doc-academica/${envio.id}`);\n const urlConector = `${process.env.REACT_APP_CONECTOR}documents`;\n const documentType = \"4\";\n let form = new FormData();\n form.append(\"documentType\", documentType);\n form.append(\"documentData\", JSON.stringify(data));\n form.append(\"documentFile\", \"\");\n const acesso = await apiAxios.get(\"/api/Conector/access\");\n const config = {\n headers: { Authorization: `Bearer ${acesso.data}` }\n };\n await apiAxios.post(urlConector, form, config).then(async (response) => {\n let obj = {};\n obj.documentoUID = `${response.data.documentId}`;\n obj.documentType = documentType;\n obj.registroUID = `${envio.id}`;\n obj.situacaoUID = \"\";\n obj.yourNumber = \"\";\n try {\n obj.yourNumber = data.meta.yourNumber;\n } catch (ex) {\n console.log(\"yourNumber\", ex);\n }\n await apiAxios.post(\"/api/Conector/salvar-envio\", JSON.stringify(obj), {\n headers: { 'content-type': 'application/json' },\n }).catch(error => {\n console.error(\"error\", error);\n });\n envio.success = true;\n setRegistrosEnviados(prevState => [...prevState, envio]);\n }).catch(async ex => {\n const erroJson = {\n message: \"\",\n TipoXml: \"Documentação Acadêmica\",\n validationErrors: []\n };\n if (ex.response?.data?.error?.details) {\n for (let i = 0; i < ex.response.data.error.details.length; i++) {\n erroJson.message += ex.response.data.error.details[i].message + \"\\n\";\n }\n }\n if (erroJson.message.length === 0 && ex.response?.data?.error?.message) {\n erroJson.message = ex.response.data.error.message;\n }\n await apiAxios.post(`/api/Conector/salvar-erro/${envio.id}/9`, JSON.stringify(erroJson), {\n headers: { 'content-type': 'application/json' },\n }).catch(error => {\n console.error(\"error\", error);\n });\n envio.success = false;\n envio.error = erroJson.message;\n setRegistrosEnviados(prevState => [...prevState, envio]);\n });\n }\n }\n setProcessando(false);\n }\n catch (ex)\n {\n setProcessando(false);\n Swal.close()\n Swal.fire('Erro ao enviar XML', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n console.log(\"try\", ex);\n }\n }\n\n const renderTooltipReexecutarProcesso = (props) => (\n \n Utilize essa opção quando: Desejar refazer o processo de envio. Assinaturas deverão ser realizadas novamente.\n \n );\n\n const renderTooltipReiniciarProcesso = (props) => (\n \n Utilize essa opção quando: Houver erros no envio do XML e deseja reiniciar o processamento.\n \n );\n\n const exibirOpcoesDeControles = () => {\n const menuControles = [];\n menuControles.push(<>>);\n if (registros.length > 0) {\n if (situacaoDesc === \"Aguardando envio do XML da documentação acadêmica\") {\n menuControles.push(\n Enviar XML da Documentação Acadêmica\n )\n }\n\n if (situacaoDesc === \"XML da documentação acadêmica enviado\" ||\n situacaoDesc === \"XML do diploma digital enviado\" ||\n situacaoDesc === \"Aguardando assinatura do XML da documentação acadêmica\" ||\n situacaoDesc === 'Aguardando assinatura do diploma digital' ||\n situacaoDesc === \"XML da documentação acadêmica assinado\" ||\n situacaoId === \"0\" ||\n situacaoDesc === \"Aguardando revogação do diploma digital no MEC\" ||\n situacaoDesc === \"XML do diploma digital assinado\") {\n menuControles.push(\n \n Buscar atualização de status\n \n )\n }\n\n if (situacaoDesc === \"Aguardando envio do XML do diploma digital\") {\n menuControles.push(\n \n Enviar XML do Diploma Digital\n \n )\n }\n }\n\n return menuControles.map((menu, index) => (\n \n {menu}\n \n ))\n }\n\n return (\n \n {exibirEnvio ? \n {processando ? \n \n Por favor aguarde! Enviando XML(s)... \n \n \n \n Loading... \n \n
\n : \n \n Processo realizado \n \n \n {\n setRegistros([]);\n setRegistrosEnviados([]);\n setExibirEnvio(false);\n setProcessando(false);\n }}>\n Fechar\n \n
\n }\n \n {Array.isArray(registrosEnviados) && registrosEnviados.length > 0 &&\n \n \n \n \n Nº Registro \n Diplomado \n Detalhes \n \n \n \n {registrosEnviados.map((reg, index) => {\n return (\n \n {reg.id} \n {reg.estudante} \n \n {reg.success ?\n <>\n {\" \"}\n XML enviado com sucesso\n >\n : <>\n {\" \"}\n Erro ao enviar XML: {reg.error}\n >}\n \n \n )\n })}\n \n
\n }\n : \n \n \n Gerenciar Envios dos arquivos XML \n \n \n
\n
\n Fluxo do Processo: \n 1) Fazer o upload da documentação do discente em formato PDF/A no menu: \"Documentação Acadêmica\"; \n 2) Gerar o registro do diploma no menu \"Consultar Registros\"; \n 3) Realizar os envios e assinaturas do XML (conforme próximo quadro); \n 4) Gerar a representação visual do diploma; \n \n
\n
\n
\n Fluxo do Envio do XML: \n 1) realizar o envio do XML da Documentação Acadêmica; \n 2) assinar o XML da Documentação Acadêmica no sistema web RAPSign ; \n 3) realizar a sincronização da situação do XML da Documentação Acadêmica; \n 4) realizar o envio do XML do Diploma Digital; \n 5) assinar o XML da Diploma Digital no sistema web RAPSign ; \n 6) realizar a sincronização da situação do XML do Diploma Digital; \n \n \n
\n \n \n \n \n \n
\n
Data registro inicial \n {\n setDataInicial(data)\n }}\n className=\"form-control\"\n dateFormat=\"dd/MM/yyyy\"\n />\n \n
\n
Data registro final \n {\n setDataFinal(date)\n }}\n className=\"form-control\"\n dateFormat=\"dd/MM/yyyy\"\n />\n \n
\n
Situação \n {\n setSituacaoId(e.target.value);\n setRegistros([]);\n setSituacaoDesc(e.target.options[e.target.selectedIndex].innerHTML)\n }}>\n ***** Selecione uma situação ***** \n {Array.isArray(situacoes) && situacoes.length > 0 && situacoes.map(r => {r.descricao} )}\n \n \n
\n \n \n
\n
\n
Nome \n setNome(e.target.value)} />\n \n \n
\n
\n
RGA \n setRga(e.target.value )} />\n \n \n
\n \n \n \n Localizar Dados\n \n {exibirOpcoesDeControles()}\n
\n {Array.isArray(registros) && registros.length > 0 &&\n \n \n \n toggleItens(true)}>\n Marcos todos registros\n \n toggleItens(false)}>\n Desmarcar todos registros\n \n
\n }\n \n {Array.isArray(registros) && registros.length > 0 &&\n \n \n \n \n Nº Registro \n Diplomado \n RGA \n Data Registro \n Situação \n \n \n \n \n {registros.map((reg, index) => {\n return (\n \n { selecionarItem(index, e.target.checked) }} /> \n {reg.estudante} \n {reg.rga} \n {reg.dataRegistro} \n {reg.situacao} \n \n (\n \n Detalhes\n )}>\n \n \n \n \n \n \n )\n })}\n \n
\n }\n \n \n }\n \n );\n}","import React from \"react\";\nimport { Breadcrumb, Card, Table, Col, Form, Button } from 'react-bootstrap';\nimport axios from \"axios\";\nimport Swal from 'sweetalert2';\nimport { format } from 'date-fns';\nimport { IrPortal } from \"../../util/funcoes\";\nimport apiAxios from \"../../api/apiAxios\";\nimport { Link } from \"react-router-dom\";\n\nexport class DetalheConector extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n registroId: this.props.match.params.registroId,\n nome: \"\",\n curso: \"\",\n rga: \"\",\n situacao: \"\",\n documentos: [],\n erros: []\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n \t\n atualizarStatus = async () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando atualizações do registro...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n try {\n const itens = [];\n itens.push({ registroId: parseInt(this.state.registroId) })\n console.log(itens);\n await apiAxios.put(\"/api/Conector/atualizar-situacao\", JSON.stringify(itens), {\n headers: { 'content-type': 'application/json' },\n });\n\n Swal.close() \n Swal.fire('Situação atualizada com sucesso', \"\", 'success').then(result => {\n window.location.reload();\n })\n } catch (ex) {\n Swal.close()\n Swal.fire('Erro ao atualizar situação', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n console.log(\"try\", ex);\n }\n }\n\n downloadPDF = () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados do diploma...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n apiAxios({\n url: `/api/Conector/download-diploma/${this.state.registroId}`,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? `Diploma_${this.state.registroId}.pdf` : fileNameServidor[0]);\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n }\n\n downloadXML = (tipoDesc) => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados do diploma...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n let tipo = \"\";\n if (tipoDesc == \"Diploma Digital\") {\n tipo = \"xml-diploma\";\n } else if (tipoDesc == \"Documentação acadêmica\") {\n tipo = \"xml-doc-academica\";\n }\n if (tipo) {\n apiAxios({\n url: `/api/Conector/download/${tipo}/${this.state.registroId}`,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? \"XML.xml\" : fileNameServidor[0]);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } else {\n Swal.close();\n Swal.fire('Oops...', 'XML não encontrado', 'warning');\n }\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n\n downloadPreviaXMLSemAssinaturas = (tipoDesc) => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados do diploma...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n let tipo = \"\";\n if (tipoDesc == \"Diploma Digital\") {\n tipo = \"xml-diploma\";\n } else if (tipoDesc == \"Documentação acadêmica\") {\n tipo = \"xml-doc-academica\";\n }\n if (tipo) {\n apiAxios({\n url: `/api/Conector/previa-download/${tipo}/${this.state.registroId}`,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n console.log(response)\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? \"XML.xml\" : fileNameServidor[0]);\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } else {\n Swal.close();\n Swal.fire('Oops...', 'XML não encontrado', 'warning');\n }\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n\n componentDidMount() {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Carregando dados...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n //let url =`api/Conector/info/${this.state.registroId}`;\n let url =`/api/Conector/info/${this.state.registroId}`;\n \n apiAxios.get(url).then(({ data }) => {\n Swal.close();\n console.log(\"data\", data);\n this.setState({\n nome: data.diplomado,\n curso: data.curso,\n rga: data.rga\n });\n if (data.situacao != null && data.situacao != undefined) {\n this.setState({ situacao: data.situacao });\n }\n if (data.documentos != null && data.documentos != undefined) {\n this.setState({ documentos: data.documentos });\n } else {\n if (!data.situacao) {\n this.setState({ situacao: \"Aguardando envio do XML da documentação acadêmica\" });\n }\n }\n if (data.erros != null && data.erros != undefined) {\n this.setState({ erros: data.erros });\n }\n }).catch(ex => {\n console.log(ex);\n Swal.fire('Erro ao carregar dados', `Tente novamente. Se erro persistir entre em contato com o administrador do sistema.`, 'error');\n Swal.close()\n })\n }\n\n render() {\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Gerenciar Envios dos arquivos XML\n \n \n \n Detalhes do Registro\n \n \n \n \n \n Detalhes do Registro {this.state.registroId}\n \n \n \n \n \n Nome \n \n \n \n \n \n RGA \n \n \n \n \n \n Curso \n \n \n \n \n \n \n \n Situação \n \n \n \n \n\n {this.state.situacao != \"Diploma digital válido\" && this.state.situacao != \"Diploma digital suspenso\" && this.state.situacao != \"Diploma digital revogado\" ?\n <>\n \n { this.downloadPreviaXMLSemAssinaturas('Diploma Digital') }}>\n Prévia XML Diplomado (Sem Assinaturas)\n \n { this.downloadPreviaXMLSemAssinaturas('Documentação acadêmica') }}>\n Prévia XML Documentação Acadêmica (Sem Assinaturas)\n \n
\n >\n : <>>\n }\n {this.state.situacao == \"Diploma digital válido\" ?\n \n \n {this.downloadPDF()}}>\n Representação Visual PDF\n \n \n \n : (this.state.documentos.length > 0 ?\n \n \n \n Buscar atualização de status\n \n \n \n : <>>)}\n \n \n \n {this.state.documentos.length > 0 ?\n <>\n {this.state.documentos.map((documento, index) => {\n return (\n <>\n \n \n \n \n \n XML \n \n \n \n \n \n Situação \n \n {documento.situacaoConector == \"Documento Válido\" && \n (documento.tipo == \"Documentação acadêmica\" || documento.tipo == \"Diploma Digital\") ?\n <>\n this.downloadXML(documento.tipo)}>\n Download XML\n \n >\n : <>>}\n \n \n \n {documento.log && documento.log.length > 0 ?\n \n \n \n \n Situação Anterior \n Situação Atual \n Data \n Informações \n \n \n \n {documento.log.map((log, index) => {\n return (\n \n {log.situacaoAnterior} \n {log.situacaoAtual} \n {format(new Date(Date.parse(log.dataHora)), 'dd/MM/yyyy HH:mm:ss')} \n {log.info} \n \n )\n })}\n \n
\n \n : <>>}\n {documento.assinaturas && documento.assinaturas.length > 0 ? \n <>\n \n \n \n Assinaturas \n \n \n \n Responsável \n Tipo \n Situação \n Tag \n \n \n \n {documento.assinaturas.map((assinatura, index) => {\n return (\n \n {assinatura.responsavel} \n {assinatura.arquivamento ? \"Arquivamento \" : \"\"}{assinatura.tipo} \n {assinatura.situacao} \n {assinatura.tag} \n \n )\n })}\n \n
\n \n > \n : <>>}\n \n \n \n >\n )\n })}\n >\n : <>>}\n \n {this.state.erros.length > 0 ?\n \n \n \n \n \n Erro(s): \n \n \n \n \n \n \n \n Data \n XML \n Erro \n \n \n \n {this.state.erros.map((erro, index) => {\n return (\n \n {format(new Date(Date.parse(erro.dataHora)), 'dd/MM/yyyy HH:mm:ss')} \n {erro.xml} \n {erro.erro} \n \n )\n })}\n \n
\n \n \n \n : <>>}\n >\n )\n }\n}\n\nexport default DetalheConector;","import React from \"react\";\nimport axios from \"axios\";\nimport Swal from 'sweetalert2';\nimport { Card, Form, Col, Button, Table } from 'react-bootstrap';\nimport { IrPortal } from \"../../util/funcoes\";\nimport apiAxios from \"../../api/apiAxios\";\nimport * as api from '../../api/api'\nimport { format } from 'date-fns';\n\nexport class ValidarDiploma extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n codigo: this.props.match.params.codigo,\n registroId: this.props.match.params.registroUID,\n curso: \"\",\n codigoValidacao: \"\",\n dataConclusao: \"\",\n dataColacaoGrau: \"\",\n estado: \"\",\n nome: \"\",\n rg: \"\",\n titulo: \"\", \n valido: null,\n nacionalidade: \"\",\n naturalidade: \"\",\n anotacoes: null,\n situacao: \"\" \n }\n\n this.validarDiploma();\n }\n\n validarDiploma = async () => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Validando diploma.',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n\n try {\n const response = this.state.codigo && this.state.codigo.trim() !== \"\" ? await apiAxios.get(`/api/Conector/valida-diploma/${this.state.codigo}`) : await apiAxios.get(`/api/Conector/info-diploma/${this.state.registroId}`);\n const { curso, registroId, nome, titulo, nacionalidade, dataConclusao, dataColacaoGrau, dataExpedicao, naturalidade, codigoValidacao, suspenso, revogado } = response.data;\n this.setState({ valido: true, situacao: suspenso ? \"Suspenso\" : (revogado ? \"Revogado\" : \"Válido\"), codigo: codigoValidacao, nome, registroId, curso, titulo, nacionalidade, dataConclusao, dataColacaoGrau, dataExpedicao, naturalidade });\n\n const resultado = await api.getRegistroAnotacoesPorID(registroId);\n this.setState({ anotacoes: resultado && resultado.length > 0 ? resultado.sort((a, b) => new Date(Date.parse(a.dataJustificativa)) - new Date(Date.parse(b.dataJustificativa))) : null });\n\n Swal.close()\n } catch (ex) {\n Swal.close()\n this.setState({ valido: false })\n }\n }\n\n iconDiploma = () => {\n return (\n \n \n \n \n \n \n \n \n \n )\n }\n\n Download = () => {\n apiAxios({\n url: `/api/Conector/download-diploma/${this.state.registroId}`,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n fileNameServidor = undefined;\n }\n const fileName = (fileNameServidor == undefined ? `Diploma_${this.state.registroId}.pdf` : fileNameServidor[0]);\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n }\n\n renderResultado = () => {\n if (this.state.valido != null) {\n return (\n <>\n \n \n {this.iconDiploma()}\n {this.state.valido == true ? Diploma {this.state.situacao} : Diploma Não encontrado }\n \n \n {this.state.valido == true ? <>\n \n \n \n Diplomado \n \n \n \n \n \n Curso \n \n \n \n \n \n \n \n Nacionalidade \n \n \n \n \n \n Naturalidade \n \n \n \n \n \n \n \n Titulo conferido \n \n \n \n \n \n Data colação de grau \n \n \n \n \n \n \n \n Data expedição diploma \n \n \n \n \n \n Situação do diploma digital \n \n \n \n \n \n \n \n Anotações/Justificativas \n {this.state.anotacoes && this.state.anotacoes.length > 0 ? \n \n \n \n Data \n Responsável \n Justificativa \n Motivo de Anulação (se aplicável) \n \n \n \n {this.state.anotacoes.map((anotacao) => {\n return (\n \n {format(new Date(Date.parse(anotacao.dataJustificativa)), 'dd/MM/yyyy HH:mm')} \n {anotacao.responsavel}{' - '}{anotacao.responsavelDocumento} \n {anotacao.justificativa} \n {anotacao.motivoAnulacao ? anotacao.motivoAnulacao.nome : \"\"} \n \n )\n })}\n \n
\n :\n \n } \n \n \n \n > : <>>}\n >)\n }\n\n return <>>\n }\n\n render() {\n return (\n \n \n \n \n Validação do Diploma Digital \n \n \n \n \n \n Código de Validação \n this.setState({ codigo: e.target.value })}\n className=\"form-control\"\n required\n />\n \n \n \n \n Validar\n \n {this.state.valido != null && this.state.valido == true && this.state.situacao == \"Válido\" ?\n \n Baixar Representação Visual do Diploma (PDF)\n : <>>}\n \n \n \n {this.renderResultado()}\n \n \n \n
\n )\n }\n}\n\nexport default ValidarDiploma;","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../api/apiAxios\";\nimport DatePicker from 'react-datepicker'\nimport 'react-datepicker/dist/react-datepicker.css'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\nclass AtoRegulatorioForm extends React.Component {\n static displayName = AtoRegulatorioForm.name\n constructor(props) {\n super(props)\n this.state = {\n TipoAtoRegulatorioUid: '',\n Numero: '',\n Data: null,\n VeiculoPublicacao: '', \n DataPublicacao: null,\n SecaoPublicacao: '',\n PaginaPublicacao: '', \n NumeroPublicacao: '', \n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleInputChangeDate = this.handleInputChangeDate.bind(this)\n }\n\n componentDidMount(){ \n if(this.props.atoRegulatorioUid != undefined){\n this.setAtoRegulatorio(); \n }\n }\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n\n let regexpOnlyNumber = /^[0-9\\b]+$/ //só numero\n\n if (name === 'Numero' || name === 'NumeroPublicacao') {\n if (regexpOnlyNumber.test(value) || value.length === 0) {\n this.setState({ [name]: value })\n }\n } else {\n this.setState({\n [name]: value,\n })\n }\n } \n handleInputChangeDate(date, name) {\n if(name === \"Data\"){\n if (date === null) {\n date = new Date()\n }\n }\n this.setState({\n [name]: date,\n })\n }\n\n RedirectToConsultaAutorizacaoCursos = () => {\n window.location.href = '/digital/autorizacaoCurso'\n }\n\n setAtoRegulatorio() {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.atoRegulatorioUid}`;\n const url = apiURLs.GET_ATO_REGULATORIO + this.props.atoRegulatorioUid;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ \n TipoAtoRegulatorioUid: result.data.tipoAtoRegulatorioUid,\n Numero: result.data.numero,\n Data: new Date(result.data.data),\n VeiculoPublicacao: result.data.veiculoPublicacao, \n DataPublicacao: new Date(result.data.dataPublicacao),\n SecaoPublicacao: result.data.secaoPublicacao,\n PaginaPublicacao: result.data.paginaPublicacao,\n NumeroPublicacao: result.data.numeroPublicacao })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n\n salvar = () => {\n try {\n let errors = {}\n if (this.state.TipoAtoRegulatorioUid === '' || this.state.TipoAtoRegulatorioUid == '0') {\n errors.TipoAtoRegulatorioUid = 'Tipo de Ato Regulatório é obrigatório'\n }\n if (this.state.Data === '') {\n errors.Data = 'Data é obrigatória'\n }\n if (this.state.Numero === '') {\n errors.Numero = 'Número'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n return;\n }\n\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Ato Regulatório de Autorização de Curso(s) está sendo salvo.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n var obj = {\n TipoAtoRegulatorioUid: Number(this.state.TipoAtoRegulatorioUid),\n Numero: this.state.Numero,\n Data: this.state.Data, \n };\n\n if(this.props.atoRegulatorioUid != \"\" && this.props.atoRegulatorioUid != undefined){\n obj.AtoRegulatorioUid = Number(this.props.atoRegulatorioUid);\n }\n\n if(this.state.NumeroPublicacao != \"\"){\n obj.NumeroPublicacao = this.state.NumeroPublicacao;\n }\n if(this.state.VeiculoPublicacao != \"\"){\n obj.VeiculoPublicacao = this.state.VeiculoPublicacao;\n }\n if(this.state.PaginaPublicacao != \"\"){\n obj.PaginaPublicacao = Number(this.state.PaginaPublicacao);\n }\n if(this.state.SecaoPublicacao != \"\"){\n obj.SecaoPublicacao = Number(this.state.SecaoPublicacao);\n }\n if(this.state.DataPublicacao != \"\" && this.state.DataPublicacao != null && this.state.DataPublicacao != undefined){\n obj.DataPublicacao = this.state.DataPublicacao;\n }\n\n obj.TipoCadastro = 1;\n const novo = JSON.stringify(obj);\n\n //let url = 'https://localhost:5001/api/reconhecimento/ato-regulatorio/novo'\n\n apiAxios\n .post(apiURLs.POST_ATO_REGULATORIO, novo, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title:\n 'Ato Regulatório de Autorização de Curso(s) cadastrado/alterado com sucesso! Redirecionando...',\n showConfirmButton: false,\n timer: 4000,\n }).then(this.RedirectToConsultaAutorizacaoCursos())\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao cadastrar/editar Ato Regulatório de Autorização de Curso(s)!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.' +\n ' ' +\n error //payload\n ? error//payload\n : '',\n })\n }\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n // console.log(error.response.data);\n // console.log(error.response.status);\n // console.log(error.response.headers);\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the\n // browser and an instance of\n // http.ClientRequest in node.js\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n // Something happened in setting up the request that triggered an Error\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n }) \n\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n \n return (\n {\n this.salvar()\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n \n \n \n Tipo de Ato Regulatório{' '} * \n \n \n \n Selecione...\n \n {this.props.tiposAtoRegulatorio.map((option, index) => (\n \n {option.nome}\n \n ))}\n \n \n \n \n \n \n \n Número{' '} * \n \n \n \n \n \n Data{' '} * {' '}\n \n \n this.handleInputChangeDate(\n date,\n 'Data'\n )\n }\n />\n \n \n\n \n \n \n \n Veículo de Publicação \n \n \n \n \n \n Número da Publicação{' '} \n \n \n \n \n \n\n \n \n \n Data de Publicação {' '}\n \n \n this.handleInputChangeDate(\n date,\n 'DataPublicacao'\n )\n }\n />\n \n \n \n Seção de Publicação \n \n \n \n\n \n Página de Publicação \n \n \n \n \n \n \n Voltar\n {' '}\n \n {(this.props.atoRegulatorioUid != \"\" && this.props.atoRegulatorioUid != undefined) ? \"Editar\" : 'Cadastrar' }\n \n \n )}\n \n )\n }\n}\n\nexport default connect()(AtoRegulatorioForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport AtoRegulatorioForm from '../CAE/AtoRegulatorioForm'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class AutorizacaoCursoNovo extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n autorizacoes: [],\n tiposAtoRegulatorio: [],\n cursos: [],\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.setTiposAtoRegulatorio()\n this.setCursos()\n }\n\n setTiposAtoRegulatorio() {\n //const url = 'https://localhost:5001/api/atoregulatorio/tipos'; \n const url = apiURLs.GET_ATO_REGULATORIO_TIPOS;\n apiAxios\n .get(url) \n .then((result) => {\n console.log('tipos')\n console.log(result)\n this.setState({ tiposAtoRegulatorio: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n }\n\n setCursos() {\n const url = apiURLs.GET_CURSOS_ATIVOS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n\n render() {\n return (\n \n
\n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n Novo Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n
\n \n \n Novo Ato Regulatório de Autorização de Curso(s) \n \n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button, Tooltip, OverlayTrigger } from 'react-bootstrap'\nimport { format } from 'date-fns'\nimport { Link } from 'react-router-dom'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nconst renderTooltip = (props) => (\n \n {props}\n \n)\nconst ActionButtonsCancelado = (props) => {\n return (\n <>\n \n \n \n \n >\n )\n }\n \nconst ActionButtons = (props) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n >\n )\n}\n\nexport const BasicTable = ({ autorizacoes = [] }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = autorizacoes\n .filter((item) =>\n item.tipo.toLowerCase().includes(filterText.toLowerCase())\n || item.numero == filterText\n ).sort().reverse()\n\n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split(' ')\n return (\n \n {dateTimeArray[0]}\n \n )\n } else {\n return \n }\n }\n const columns = [\n /* {\n name: 'ID',\n selector: 'atoRegulatorioUid',\n sortable: true,\n maxWidth: '10%',\n },*/\n {\n name: 'Número',\n selector: 'numero',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Data',\n cell:(props) => (props.data != null && props.data != undefined) ? : '',\n sortable: true,\n maxWidth: '20%',\n },\n {\n name: 'Tipo',\n selector: 'tipo',\n sortable: true,\n maxWidth: '30%',\n },\n {\n name: 'Cursos Vinculados',\n selector: 'totalCursosVinculados',\n sortable: true,\n maxWidth: '15%',\n },\n {\n cell: (props) =>\n props.cancelado === true ? (\n \n ) : (\n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n maxWidth: '20%', \n }\n ]\n \nconst conditionalRowStyles = [\n {\n when: row => row.cancelado,\n style: {\n backgroundColor: \"#ffcccb\",\n }\n }\n ];\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Link } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaAtosAutorizacao from '../../components/Area/CAE/TabelaAtosAutorizacao'\nimport { loadAtosRegulatoriosComVinculosCursosAutorizacao } from '../../store/thunks'\nimport { IrPortal } from \"../../util/funcoes\";\n\nclass AutorizacaoCursoConsulta extends React.Component {\n static displayName = AutorizacaoCursoConsulta.name\n constructor(props) {\n super(props)\n this.state = { autorizacoes: [] }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.props.dispatch(loadAtosRegulatoriosComVinculosCursosAutorizacao())\n }\n\n render() {\n const { autorizacoes } = this.props\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Gerenciar Cursos\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n \n \n \n \n \n Novo\n \n\n \n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n autorizacoes: state.autorizacoes.autorizacoes,\n loading: state.autorizacoes.loading,\n error: state.autorizacoes.error,\n})\n\nexport default connect(mapStateToProps)(AutorizacaoCursoConsulta)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport apiAxios from './../../api/apiAxios';\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\nimport AtoRegulatorioForm from './AtoRegulatorioForm';\n\nexport default class AutorizacaoCursoEdita extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n tiposAtoRegulatorio: []\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.setTiposAtoRegulatorio();\n }\n\n setTiposAtoRegulatorio() {\n //const url = 'https://localhost:5001/api/reconhecimento/tiposAto'; \n apiAxios\n .get(apiURLs.GET_ATO_REGULATORIO_TIPOS)\n .then((result) => {\n this.setState({ tiposAtoRegulatorio: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n }) \n }\n\n render() {\n return (\n \n
\n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n Editar Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n
\n \n \n Editar Ato Regulatório de Autorização de Curso(s) \n \n { }\n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Card, Col, Form } from 'react-bootstrap'\n\nexport class AtoRegulatorioDetalhe extends React.Component {\n render() {\n \n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n //console.log(dataArray)\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n\n return ( \n \n \n \n \n \n \n Tipo de Ato Regulatório:{' '}\n \n {this.props.atoRegulatorio.tipo} \n \n \n \n \n \n Número:{' '} \n {this.props.atoRegulatorio.numero} \n \n \n \n \n Data:{' '} {' '} \n {(this.props.atoRegulatorio.data != null && this.props.atoRegulatorio.data != undefined) ? : ''}\n \n \n\n \n \n \n \n Veículo de Publicação: \n {(this.props.atoRegulatorio.veiculoPublicacao == null || this.props.atoRegulatorio.veiculoPublicacao == \"\" ||\n this.props.atoRegulatorio.veiculoPublicacao == undefined) ? \"--\" : this.props.atoRegulatorio.veiculoPublicacao} \n \n \n Número da Publicação:{' '} \n {this.props.atoRegulatorio.numeroPublicacao} \n \n \n \n\n \n \n \n Data de Publicação: {' '} \n {(this.props.atoRegulatorio.dataPublicacao != null && this.props.atoRegulatorio.dataPublicacao != undefined) ? : ''}\n \n \n \n Seção de Publicação: \n {this.props.atoRegulatorio.secaoPublicacao} \n \n\n \n Página de Publicação: \n {this.props.atoRegulatorio.paginaPublicacao} \n \n \n \n \n )\n }\n}\n\nexport default AtoRegulatorioDetalhe\n","import * as React from 'react'\nimport { Card, Breadcrumb, Alert } from 'react-bootstrap'\nimport apiAxios from './../../api/apiAxios';\nimport { Link } from 'react-router-dom'\nimport Swal from 'sweetalert2'\nimport TabelaAutorizacaoCursosVisualizacao from './../../components/Area/CAE/TabelaAutorizacaoCursosVisualizacao'\nimport AtoRegulatorioDetalhe from './../../components/Area/CAE/AtoRegulatorioDetalhe'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class AutorizacaoCursoVerDetalhe extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n atoRegulatorio: {} ,\n AutorizacaoCursos: [],\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n if(this.props.match.params.id != undefined){\n this.setAtoRegulatorio(); \n this.setAutorizacaoCursos();\n }\n }\n \n setAtoRegulatorio() {\n //const url = `https://localhost:5001/api/autorizacao/ato-regulatorio/dados/${this.props.match.params.id}`; \n const url = apiURLs.GET_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ \n atoRegulatorio: result.data\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n } \n setAutorizacaoCursos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos vinculados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n\n //const url = `https://localhost:5001/api/autorizacao/cursos-ato-regulatorio/${this.props.match.params.id}`;\n const url = apiURLs.GET_CURSO_VINCULADOS_AUTORIZACAO_CURSOS + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n AutorizacaoCursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }) \n }\n\n render() {\n return (\n \n
\n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n Detalhes de Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n
\n \n \n Detalhes de Ato Regulatório de Autorização de Curso(s) \n \n \n {(this.state.atoRegulatorio.cancelado) ? \n Ato Regulatório de Autorização de Curso(s) Cancelado\n : <>>} \n \n\n\n \n \n \n \n\n \n \n Voltar\n {' '}\n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Card, Breadcrumb, Button } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport apiAxios from './../../api/apiAxios';\nimport AtoRegulatorioDetalhe from '../../components/Area/CAE/AtoRegulatorioDetalhe'\nimport Swal from 'sweetalert2'\nimport apiURLs from './../../api/apiURLs';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class AutorizacaoCursoExclui extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n atoRegulatorioUid: 0,\n atoRegulatorio: {} \n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.handleExcluir = this.handleExcluir.bind(this)\n }\n\n componentDidMount() {\n if(this.props.match.params.id != undefined){\n this.setAtoRegulatorio(); \n }\n }\n \n setAtoRegulatorio() {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.match.params.id}`;\n const url = apiURLs.GET_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n console.log( result.data)\n this.setState({ \n atoRegulatorio: result.data,\n atoRegulatorioUid: result.data.atoRegulatorioUid\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n } \n \n RedirectToConsultaAutorizacaoCurso = () => {\n window.location.href = '/autorizacaoCurso'\n }\n\n handleExcluir(event) {\n Swal.fire({\n title: 'Deseja cancelar Ato Regulatorio de Autorização de Curso(s)?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n // const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/cancela/${this.state.atoRegulatorioUid}`;\n const url = apiURLs.CANCELA_ATO_REGULATORIO_POR_ID + this.props.match.params.id;\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Cancelado com sucesso!', '', 'success')\n this.RedirectToConsultaAutorizacaoCurso();\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n }\n render() {\n return (\n \n
\n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n Excluir Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n
\n \n \n \n Excluir Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n \n Voltar\n {' '}\n \n Excluir\n \n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\nimport Swal from 'sweetalert2'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ autorizacaoCursos = [], updateListAutorizacaoCursos }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = autorizacaoCursos; //.filter((item) =>item.nome.toLowerCase().includes(filterText.toLowerCase()))\n\n function handleButtonClick(id) {\n Swal.fire({\n title: 'Deseja excluir vinculo com esse curso?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n //const url = `https://localhost:5001/api/curso/exclui-autorizacao/${id}`;\n const url = apiURLs.EXCLUI_VINCULO_AUTORIZACAO_CURSO + id;\n apiAxios\n .delete(url)\n .then((result) => {\n Swal.close()\n Swal.fire('Removido!', '', 'success')\n updateListAutorizacaoCursos()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n //onRemovePressed(id)\n }\n\n const columns = [\n {\n name: 'Código Interno',\n selector: 'codigoInterno',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Curso',\n selector: 'cursoMec.nome',\n sortable: true,\n },\n {\n name: 'Grau',\n selector: 'cursoMec.grau.descricao',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Periodicidade',\n selector: 'periodicidade.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Regime',\n selector: 'regime.nome',\n sortable: true,\n maxWidth: '10%',\n },\n {\n name: 'Turno',\n selector: 'turno.nome',\n sortable: true,\n maxWidth: '15%',\n },\n {\n cell: (row) => (\n handleButtonClick(row.cursoID)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Col, Button, Form } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport Swal from 'sweetalert2'\nimport { Formik, Field, ErrorMessage } from 'formik'\nimport apiAxios from \"./../../../api/apiAxios\";\nimport apiURLs from './../../../api/apiURLs'\nimport Select from 'react-select'\nimport { default as ReactSelect } from \"react-select\";\nimport { Option } from './Option';\n\nconst options = {\n headers: { 'content-type': 'application/json' },\n}\n\nclass NovoAutorizacaoCursoForm extends React.Component {\n static displayName = NovoAutorizacaoCursoForm.name\n constructor(props) {\n super(props)\n this.state = {\n CursoID: [],\n }\n this.handleInputChange = this.handleInputChange.bind(this)\n\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.value\n const name = target.name\n \n this.setState({\n [name]: value,\n })\n }\n\n updateListAutorizacaoCursos = () => {\n this.props.updateListAutorizacaoCursos()\n }\n\n salvar = (cursosIds) => {\n try {\n \n let errors = {}\n // if (this.state.CursoID === '' || this.state.CursoID == '0') {\n // errors.CursoID = 'Curso é obrigatório'\n // }\n if (cursosIds.length == 0) {\n errors.CursoID = 'Curso é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n return;\n }\n\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Curso(s) está sendo vinculado.',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const novo = JSON.stringify({\n AtoRegulatorioUid: Number(this.props.AtoRegulatorioUid),\n CursosUid: cursosIds,\n })\n //console.log('novo:'+novo);\n //const url = `https://localhost:5001/api/autorizacao/novo-vinculo-curso`;\n\n //apiAxios.post(apiURLs.NOVO_VINCULO_AUTORIZACAO_CURSO, novo, options)\n apiAxios.post(apiURLs.NOVO_VINCULO_AUTORIZACAO_CURSO_EM_LOTE, novo, options)\n .then((resp) => {\n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title: 'Curso(s) vinculado com sucesso!',\n showConfirmButton: false,\n timer: 4000,\n })\n this.updateListAutorizacaoCursos()\n })\n .catch((error) => {\n if (error.response) {\n if (error.response.status !== 200) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao vincular curso!',\n html:\n 'Verifique se todos os campos obrigatórios foram preenchidos e tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }\n } else if (error.request) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(error.request)\n } else {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log('Error', error.message)\n }\n })\n } catch (e) {\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n console.log(e)\n }\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({})\n }\n\n render() {\n\n var listOfObjects = [];\n var listOfGroupedObjects = [];\n\n this.props.cursos.forEach(element => {\n var singleObj = {};\n singleObj['label'] = element.codigoInterno + ' - '+ element.cursoMec.campus.sigla +' - '+element.cursoMec.nome+' - '+element.cursoMec.grau.descricao;\n singleObj['value'] = element.cursoID;\n listOfObjects.push(singleObj);\n\n let hasGroup = false;\n\n listOfGroupedObjects.forEach(function(obj) {\n if (obj.label === element.cursoMec.campus.nome && obj.options[0].value != element.cursoID) {\n var newOptions = obj.options;\n newOptions.push(singleObj);\n obj.options = newOptions;\n hasGroup = true;\n }\n });\n\n if(!hasGroup){\n var groupedObj = {};\n groupedObj['label'] = element.cursoMec.campus.nome;\n groupedObj['options'] = [];\n groupedObj['options'].push(singleObj);\n listOfGroupedObjects.push(groupedObj);\n }\n });\n\n return (\n {\n let errors = {}\n if (this.state.CursoID === '') {\n errors.CursoID =\n 'CursoID é obrigatório'\n }\n if (!this.isEmpty(errors)) {\n Swal.fire({\n icon: 'error',\n title: 'Oops...',\n text:\n 'Existem campos obrigatórios não preenchidos!',\n })\n }\n return errors\n }}\n onSubmit={(values, { resetForm }) => {\n let cursosIds = values.CursoID.map(a => a.value);\n this.salvar(cursosIds)\n this.setState({\n CursoID: null,\n })\n resetForm();\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit, setFieldValue, values }) => (\n \n {/* \n \n Curso\n \n \n \n Selecione...\n \n {this.props.cursos.map((option, index) => (\n \n {option.codigoInterno + ' - '+ option.cursoMec.campus.sigla +' - '+option.cursoMec.nome+' - '+option.cursoMec.grau.descricao}\n \n ))}\n \n \n */} \n \n \n Curso(s):\n \n setFieldValue(\"CursoID\", option)}\n allowSelectAll={true}\n /> \n \n \n \n Cadastrar\n \n \n \n \n )}\n \n )\n }\n}\n\nexport default connect()(NovoAutorizacaoCursoForm)\n","import * as React from 'react'\nimport { Col, Card, Breadcrumb, Button, Form } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport apiAxios from './../../api/apiAxios';\nimport AtoRegulatorioDetalhe from '../../components/Area/CAE/AtoRegulatorioDetalhe'\nimport apiURLs from './../../api/apiURLs'\nimport Swal from 'sweetalert2'\nimport { Formik } from 'formik'\nimport TabelaAutorizacaoCursos from './../../components/Area/CAE/TabelaAutorizacaoCursos'\nimport NovoAutorizacaoCursoForm from './../../components/Area/CAE/NovoAutorizacaoCursoForm';\nimport { IrPortal } from \"../../util/funcoes\";\n\nexport default class AutorizacaoVinculaCursos extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n AtoRegulatorioUid: 0,\n atoRegulatorio: {} ,\n AutorizacaoCursos: [],\n updateCursosNeed: false,\n cursos:[]\n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n this.updateListAutorizacaoCursos = this.updateListAutorizacaoCursos.bind(this)\n }\n\n componentDidMount() {\n if(this.props.match.params.id != undefined){\n this.setAtoRegulatorio(); \n this.setAutorizacaoCursos();\n }\n this.setCursos();\n }\n componentDidUpdate() {\n if (this.state.updateCursosNeed) {\n this.setAutorizacaoCursos()\n\n this.setState({\n updateCursosNeed: false,\n })\n }\n }\n \n setCursos() {\n const url = apiURLs.GET_CURSOS_ATIVOS\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({ cursos: result.data })\n })\n .catch((ex) => {\n console.log(ex)\n })\n }\n setAutorizacaoCursos() {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando cursos vinculados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n\n //const url = `https://localhost:5001/api/cursos/autorizacao-cursos/${this.props.match.params.id}`;\n const url = apiURLs.GET_CURSO_VINCULADOS_AUTORIZACAO_CURSOS + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n this.setState({\n AutorizacaoCursos: result.data,\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n }) \n }\n updateListAutorizacaoCursos() {\n this.setState({\n updateCursosNeed: true,\n })\n }\n setAtoRegulatorio() {\n //const url = `https://localhost:5001/api/reconhecimento/ato-regulatorio/dados/${this.props.match.params.id}`; \n const url = apiURLs.GET_ATO_REGULATORIO + this.props.match.params.id;\n apiAxios\n .get(url)\n .then((result) => {\n console.log( result.data)\n this.setState({ \n atoRegulatorio: result.data,\n AtoRegulatorioUid: result.data.atoRegulatorioUid\n })\n })\n .catch((ex) => {\n console.log(ex)\n })\n } \n \n render() {\n return (\n \n
\n \n \n \n Página Inicial - CAE\n \n \n Consulta de Atos Regulatórios de Autorização de Curso(s)\n \n \n Vincular Cursos ao Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n
\n \n \n \n Vincular Cursos ao Ato Regulatório de Autorização de Curso(s)\n \n \n \n \n\n {\n }}\n >\n {({ touched, errors, isSubmitting, handleSubmit }) => (\n \n )}\n \n \n Voltar\n {' '}\n \n \n
\n )\n }\n}\n","import * as React from 'react'\nimport { Link, useHistory } from 'react-router-dom'\nimport { Col, Form, Button, Card } from 'react-bootstrap'\nimport { connect } from 'react-redux'\nimport { addNovaDataPublicacaoEmLoteRequest } from '../../../store/thunks'\nimport { format } from 'date-fns'\nimport Swal from 'sweetalert2'\n\nconst GravarPublicacaoEmLoteForm = ({\n registrosSelecionados,\n onCreatePressed,\n}) => {\n const history = useHistory()\n const [inputValue, setInputValue] = React.useState('')\n\n const handleRedirect = () => {\n history.push('/registros')\n }\n return (\n \n \n Nova data de Publicação \n setInputValue(e.target.value)}\n className=\"form-control\"\n required\n />\n \n \n \n Voltar\n {' '}\n {\n if (inputValue) {\n onCreatePressed(inputValue, registrosSelecionados)\n setInputValue('')\n handleRedirect()\n }else{ \n Swal.fire({\n icon: 'error',\n title: 'Erro ao salvar data de publicação em lote!',\n html: 'Verifique se os campos obrigatórios foram preenchidos e tente novamente. Se erro persistir entre em contato com o administrador do sistema.'\n })\n }\n }}\n >\n Publicar\n \n \n )\n}\n\nconst mapStateToProps = (state) => ({})\n\nconst mapDispatchToProps = (dispatch) => ({\n onCreatePressed: (data, registrosSelecionados) =>\n dispatch(addNovaDataPublicacaoEmLoteRequest(data, registrosSelecionados)),\n})\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(GravarPublicacaoEmLoteForm)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport GravarPublicacaoEmLoteForm from '../../components/Area/CAE/GravarPublicacaoEmLoteForm'\nimport { loadRegistro, loadRegistrosSelecionados } from './../../store/thunks'\nimport { connect } from 'react-redux'\nimport { IrPortal } from \"../../util/funcoes\";\n\nclass GravarPublicacao extends React.Component {\n constructor(props) {\n super(props)\n this.state = { \n registrosSelecionados: [] \n }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n componentDidMount() {\n // this.props.dispatch(loadRegistrosSelecionados(this.props.registrosSelecionados));\n }\n\n render() {\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Registros\n \n \n Gravar Data de Publicação em Lote\n \n \n \n \n \n \n \n Data de Publicação de Registro \n Informe a data de publicação no DOU. \n \n \n \n \n \n
\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n registrosSelecionados: state.registros.registrosSelecionados,\n registrosSelecionadosDados: state.registros.registrosSelecionadosDados,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(GravarPublicacao)\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport RevogaCancelamentoRegistroForm from '../../components/Area/CAE/RevogaCancelamentoRegistroForm'\nimport { loadRegistro, loadAnotacoes } from '../../store/thunks'\nimport { connect } from 'react-redux'\nimport SituacaoRegistro from './../../components/Area/Publica/SituacaoRegistro'\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2'\nimport * as api from './../../api/api'\nimport { Link } from 'react-router-dom'\n\nclass VerCancelamentoRegistro extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n registroId: this.props.match.params.registroId,\n }\n\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n componentDidMount() {\n this.props.dispatch(loadRegistro(this.state.registroId))\n this.props.dispatch(loadAnotacoes(this.state.registroId))\n }\n\n handleRedirect() {\n window.location.href = '/digital/registros'\n }\n\n render() {\n return (\n <>\n \n \n \n Página Inicial - CAE\n \n \n \n \n Consulta de Registros\n \n \n \n Detalhes do Cancelamento de Registro\n \n \n\n Detalhes do Cancelamento de Registro \n\n \n \n Voltar\n \n >\n )\n }\n}\nconst mapStateToProps = (state) => ({\n registros: state.registros.registros,\n registro: state.registros.registro,\n anotacoes: state.registros.anotacoes,\n loading: state.registros.loading,\n error: state.registros.error,\n})\n\nexport default connect(mapStateToProps)(VerCancelamentoRegistro)\n","import * as React from 'react'\nimport styled from 'styled-components'\nimport DataTable from 'react-data-table-component'\nimport { Button } from 'react-bootstrap'\n\nconst TextField = styled.input`\n height: 32px;\n width: 230px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nconst ClearButton = styled(Button)`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 34px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst FilterComponent = ({ filterText, onFilter, onClear }) => (\n <>\n \n \n \n \n >\n)\n\nexport const BasicTable = ({ diplomasAnulados = [], onDownloadXMLPressed }) => {\n const [filterText, setFilterText] = React.useState('')\n const [resetPaginationToggle, setResetPaginationToggle] = React.useState(\n false\n )\n const filteredItems = diplomasAnulados;\n\n function handleButtonClick(id, sequencia) {\n onDownloadXMLPressed(id, sequencia)\n }\n\n function FormatDate(props) {\n if (props.data != null) {\n let dateTimeArray = props.data.split('T')\n let dataArray = dateTimeArray[0].split('-')\n //console.log(dataArray)\n return (\n \n {dataArray[2]}/{dataArray[1]}/{dataArray[0]}\n \n )\n } else {\n return \n }\n }\n const columns = [\n {\n name: 'Nº Sequencia',\n selector: 'numeroDeSequencia',\n sortable: true,\n maxWidth: '15%',\n },\n {\n name: 'Data de Criação', \n cell:(props) => (props.dataCriacao != null && props.dataCriacao != undefined) ? : '',\n sortable: true,\n },\n {\n name: 'Data Máxima Próxima Atualização',\n cell:(props) => (props.dataMaximaProximaAtualizacao != null && props.dataMaximaProximaAtualizacao != undefined) ? : '',\n sortable: true,\n },\n {\n cell: (row) => (\n handleButtonClick(row.controleDiplomasAnuladosUID, row.numeroDeSequencia)}\n >\n \n \n ),\n ignoreRowClick: true,\n allowOverflow: true,\n button: true,\n },\n ]\n const subHeaderComponentMemo = React.useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle)\n setFilterText('')\n }\n }\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n />\n )\n }, [filterText, resetPaginationToggle])\n return (\n \n )\n}\n\nexport default BasicTable\n","import * as React from 'react'\nimport { Card, Breadcrumb } from 'react-bootstrap'\nimport TabelaDiplomaListaAnulados from './../../components/Area/CAE/TabelaDiplomaListaAnulados'\nimport { Link } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { loadLivros, removeLivroRequest } from './../../store/thunks'\nimport { IrPortal } from \"../../util/funcoes\";\nimport Swal from 'sweetalert2'\nimport apiURLs from '../../api/apiURLs'\nimport apiAxios from \"../../api/apiAxios\";\nimport { Button } from 'react-bootstrap'\nimport axios from \"axios\";\n\nclass DiplomaListaAnulados extends React.Component {\n static displayName = DiplomaListaAnulados.name\n constructor(props) {\n super(props)\n this.state = { diplomasAnulados: [], listaAtualDiplomasAnulados:{} }\n \n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n console.log(\"usuario\", usuario);\n if (usuario == null || usuario == undefined || usuario == \"99999999999\") {\n IrPortal();\n }\n }\n\n componentDidMount() {\n this.getListas();\n }\n\n getListas(){\n \n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Carregando listas de diplomas anulados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GET_LISTAS_DIPLOMAS_ANULADOS\n //const url = apiURLs.GET_LISTA_DIPLOMAS_ANULADOS\n apiAxios\n .get(url)\n .then((result) => {\n console.log(result.data);\n // var diplomasAnulados = new Array();\n // diplomasAnulados.push(result.data);\n this.setState({\n diplomasAnulados: result.data,\n // listaAtualDiplomasAnulados: result.data,\n // diplomasAnulados: diplomasAnulados\n })\n Swal.close()\n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n Swal.fire({\n icon: 'error',\n title: 'Erro ao processar ação!',\n html:\n 'Tente novamente. ' +\n 'Se erro persistir entre em contato com o administrador do sistema.',\n })\n })\n }\n \n gerarNovaLista() {\n \n Swal.fire({\n title: 'Deseja gerar nova lista de diplomas anulados?',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Sim`,\n denyButtonText: `Não`,\n }).then((result) => {\n if (result.isConfirmed) {\n Swal.fire({\n showCancelButton: false,\n showConfirmButton: false,\n title: 'Por favor aguarde!',\n html: 'Gerando nova lista de diplomas anulados...',\n allowOutsideClick: false,\n willOpen: () => {\n Swal.showLoading()\n },\n })\n const url = apiURLs.GERAR_LISTA_DIPLOMAS_ANULADOS\n //const url = apiURLs.GET_LISTA_DIPLOMAS_ANULADOS\n apiAxios\n .get(url)\n .then((result) => {\n \n Swal.close()\n\n Swal.fire({\n icon: 'success',\n title: 'Nova lista de diplomas anulados gerada com sucesso!',\n showConfirmButton: false,\n timer: 4000,\n }).then(this.getListas())\n \n })\n .catch((ex) => {\n console.log(ex)\n Swal.close()\n // Swal.fire({\n // icon: 'error',\n // title: 'Erro ao processar ação!',\n // html:\n // 'Tente novamente. ' +\n // 'Se erro persistir entre em contato com o administrador do sistema.',\n // })\n })\n } else if (result.isDenied) {\n //Swal.fire('Changes are not saved', '', 'info')\n }\n })\n }\n\n onDownloadXMLPressed = (id, numeroDeSequencia) => {\n Swal.fire({\n showCancelButton: false, // There won't be any cancel button\n showConfirmButton: false, // There won't be any confirm button\n title: 'Por favor aguarde!',\n html: 'Buscando dados da lista...',\n allowOutsideClick: false,\n onBeforeOpen: () => {\n Swal.showLoading()\n },\n });\n try {\n \n //const url = apiURLs.GET_XML_LISTA_DIPLOMAS_ANULADOS\n const url = apiURLs.GET_XML_LISTA_DIPLOMAS_ANULADOS_POR_ID + id;\n axios({\n url: url,\n method: 'GET',\n responseType: 'blob',\n }).then(response => {\n Swal.close();\n console.log(response)\n let fileNameServidor;\n try {\n fileNameServidor = response.headers[\"content-disposition\"].split(\"filename=\")[1].split(\";\")\n } catch (ex) {\n console.log(ex);\n fileNameServidor = undefined;\n }\n const fileName = `ListaDiplomasAnulados${numeroDeSequencia}.xml`;\n const url = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n link.click();\n }).catch(ex => {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex.Mensagem, 'error');\n });\n } catch (ex) {\n Swal.close();\n Swal.fire('Oops...', 'Erro ao baixar o arquivo :' + ex, 'error');\n }\n }\n\n render() {\n // const { diplomasAnulados } = this.props //error, loading,\n return (\n \n \n \n \n \n Página Inicial - CAE\n \n \n Consulta de Listas de Diplomas Anulados\n \n \n \n \n \n \n this.gerarNovaLista()}\n >\n Gerar Nova Lista de Diplomas Anulados\n \n\n \n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n loading: state.livros.loading,\n error: state.livros.error,\n})\n\nexport default connect(mapStateToProps)(DiplomaListaAnulados)\n","import React, { Component } from 'react';\nimport Layout from '@ufmt/layout.padrao.react';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom'\nimport ConsultaPublica from './components/Area/Publica/ConsultaPublica'\nimport RegistroPublicoAnuladoDetalhe from './components/Area/Publica/RegistroPublicoAnuladoDetalhe'\nimport LocalizarDiploma from './components/Area/Publica/LocalizarDiploma'\nimport ConsultarDiploma from './components/Area/Publica/ConsultarDiploma'\nimport Home from './pages/CAE/Home'\nimport LivroRegistroConsulta from './pages/CAE/LivroRegistroConsulta'\nimport LivroRegistroNovo from './pages/CAE/LivroRegistroNovo'\nimport LivroRegistroExclui from './pages/CAE/LivroRegistroExclui'\nimport ReconhecimentoConsulta from './pages/CAE/ReconhecimentoConsulta'\nimport ReconhecimentoNovo from './pages/CAE/ReconhecimentoNovo'\nimport ReconhecimentoEdita from './pages/CAE/ReconhecimentoEdita'\nimport ReconhecimentoExclui from './pages/CAE/ReconhecimentoExclui'\nimport ReconhecimentoVinculaCursos from './pages/CAE/ReconhecimentoVinculaCursos'\nimport ReconhecimentoVerDetalhe from './pages/CAE/ReconhecimentoVerDetalhe'\nimport RegistroConsulta from './pages/CAE/RegistroConsulta'\nimport GravarPublicacao from './pages/CAE/GravarPublicacao'\nimport CancelarRegistro from './pages/CAE/CancelarRegistro'\nimport ReativarRegistro from './pages/CAE/ReativarRegistro'\nimport RevogaCancelamentoRegistro from './pages/CAE/RevogaCancelamentoRegistro'\nimport ConsultarFormandos from './pages/CAE/ConsultarFormandos'\nimport ConsultaIndividualFormandos from './pages/CAE/ConsultaIndividualFormandos'\nimport CursoConsulta from './pages/CAE/CursoConsulta'\nimport CursoFormacaoConsulta from './pages/CAE/CursoFormacaoConsulta'\nimport RegistroConsultarAntigo from './pages/RegistroConsultarAntigo'\nimport RegistroLocalizarAntigo from './pages/RegistroLocalizarAntigo'\nimport GerenciarCurso from './pages/CAE/GerenciarCurso'\nimport RegistroNovo from './pages/CAE/RegistroNovo'\nimport './custom.css'\nimport history from './store/history';\nimport CadastrarDocumento from \"./pages/Documento/CadastrarDocumento\";\nimport EnviarConector from \"./pages/Conector/EnviarConector\";\nimport DetalheConector from \"./pages/Conector/DetalheConector\";\nimport ValidarDiploma from \"./pages/Conector/ValidarDiploma\";\nimport AutorizacaoCursoNovo from './pages/CAE/AutorizacaoCursoNovo';\nimport AutorizacaoCursoConsulta from './pages/CAE/AutorizacaoCursoConsulta';\nimport AutorizacaoCursoEdita from './pages/CAE/AutorizacaoCursoEdita';\nimport AutorizacaoCursoVerDetalhe from './pages/CAE/AutorizacaoCursoVerDetalhe';\nimport AutorizacaoCursoExclui from './pages/CAE/AutorizacaoCursoExclui';\nimport AutorizacaoVinculaCursos from './pages/CAE/AutorizacaoVinculaCursos';\nimport GravarPublicacaoEmLote from './pages/CAE/GravarPublicacaoEmLote';\nimport VerCancelamentoRegistro from './pages/CAE/VerCancelamentoRegistro';\nimport DiplomaListaAnulados from './pages/CAE/DiplomaListaAnulados';\n\nconst App = () => {\n const usuario = sessionStorage.getItem('@ufmt.diploma.app/ResponsavelRegistroCPF');\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n )\n}\nexport default App;","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n)\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const url = process.env.PUBLIC_URL as string\n const publicUrl = new URL(url, window.location.toString())\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl)\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl: string) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing as ServiceWorker\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log(\n 'New content is available; please refresh.'\n )\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n }\n }\n }\n }\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl: string) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (\n response.status === 404 ||\n (contentType && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl)\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister()\n })\n }\n}\n","import 'bootstrap/dist/css/bootstrap.css'\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\n//import { BrowserRouter } from 'react-router-dom'\n//import { createBrowserHistory } from 'history'\nimport { configureStore } from './store'\nimport App from './App'\nimport registerServiceWorker from './registerServiceWorker'\nimport { Provider } from 'react-redux'\nimport { persistStore } from 'redux-persist'\nimport { PersistGate } from 'redux-persist/lib/integration/react'\n\nconst rootElement = document.getElementById('root')\n\nconst store = configureStore()\nconst persistor = persistStore(store)\n\nReactDOM.render(\n \n Loading...}>\n \n \n ,\n rootElement\n)\n\nregisterServiceWorker()"],"sourceRoot":""}