{"version":3,"file":"main.f2175c34a4ea4d88.js","mappings":"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O,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACIkK,MAAO,QACPlK,MAAO,YAEX,CACI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ACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,YACxB,CACCkK,MAAO,QAASlK,MAAO,Y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AO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,GAAO,MAAO,KAAO,MAAO,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,IAAQ,OAAQ,MAAQ,OAAQ,KAI71KA,oBAA2B,CAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IA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EC,SA1BGC,MACAC,KACAC,KACAC,KACAC,cAAoB,CAACC,KAAMjC,GAAaxgD,GAAIihD,KAC5CyB,KACA3C,GACA4C,KACAC,MACAC,aAAqB,CACjBttB,QAAS,IACTC,cAAe,kBACfstB,mBAAmB,IAEvBC,KACAC,KACAC,KACAC,IACAC,MACAC,MACAC,gBACAC,QCjOJvyD,iBACAwyD,SAGHrkD,OAAeskD,GAAK,CACjBj5B,OAAQ,CACJk5B,KAAM,QAIdC,OACKC,gBAAgB9B,IAChB+B,MAAO1+C,GAAQtQ,QAAQJ,MAAM0Q,GAAI,kBClBtC,OACA,0BACA,KACA,wEAGA,cACA,aACA,mCACA,8CACA,gCACAzD,IAIA,kBACA,0BACAoiD,KAEA,CACAC,0BACAA,UACAC,6BCtBA,OACA,YACA,eACA,WACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,cACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,YACA,cACA,iBACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,kBACA,eACA,kBACA,eACA,YACA,eACA,YACA,eACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,cACA,iBACA,eACA,kBACA,cACA,iBACA,eACA,kBACA,eACA,kBACA,YACA,eACA,YACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,aACA,gBACA,YACA,eACA,YACA,eACA,kBACA,eACA,kBACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,YACA,eACA,kBACA,qBACA,kBACA,qBACA,YACA,eACA,YACA,eACA,WACA,cACA,WACA,cACA,YACA,eACA,eACA,kBACA,YACA,eACA,YACA,eACA,YACA,eACA,kBACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,WACA,cACA,YACA,gBACA,mBACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,UACA,aACA,YACA,eACA,YACA,eACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,kBACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,YACA,eACA,WACA,eACA,kBACA,cACA,YACA,eACA,eACA,kBACA,cACA,iBACA,YACA,eACA,YACA,eACA,kBACA,eACA,YACA,eACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,iBACA,oBACA,eACA,YACA,eACA,WACA,cACA,YACA,eACA,YACA,eACA,YACA,eACA,aACA,gBACA,YACA,eACA,YACA,eACA,YACA,eACA,eACA,kBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,YACA,kBACA,qBACA,eACA,cACA,iBACA,YACA,eACA,YACA,eACA,YACA,iBACA,oBACA,eACA,YACA,eACA,kBACA,qBACA,YACA,eACA,eACA,kBACA,eACA,kBACA,eACA,kBACA,eACA,mBAIA,cACA,WACA,WACA,CACA,cACA,cACA,8CACA,gCACAtiD,CACA,CACA,WACA,CACAuiD,kBACA,qBACA,EACAA,YACAD,YACAC","names":["getHeaders","data","accessToken","localStorage","getItem","HttpHeaders","Authorization","environment","AppService","constructor","router","toastr","http","modalService","this","getDadosUsuarioLogadoStorage","user","userStorage","JSON","parse","openModal","component","options","size","backdrop","open","closeModal","dismissAll","loginByAuth","email","senha","Promise","resolve","reject","clear","body","params","URLSearchParams","key","hasOwnProperty","set","toString","urlEncode","username","password","grant_type","headers","_this","post","api","subscribe","next","response","access_token","get","usuario","success","setItem","stringify","RedefinirSenha","navigate","includes","Perfil","ID","error","obtemUsuarioLogado","idUsuario","_this2","console","log","recuperarSenha","_this3","Email","res","registerUser","_this4","obterDadosConvite","hash","reenviarCodigo","_this5","validarCodigo","_this6","getProfile","_this7","logout","verificarEmail","_this8","removeItem","getObterMenus","static","core","factory","AcessoAvaliadorGuard","appService","canActivate","route","state","avaliadorPerfisIDS","canActivateChild","AuthGuard","DynamicRouteGuard","nomeUsuario","fragment","split","redirectUrl","navigateByUrl","NonAuthGuard","TOGGLE_SIDEBAR_MENU","TOGGLE_CONTROL_SIDEBAR","TOGGLE_DARK_MODE","SET_NAVBAR_VARIANT","SET_SIDEBAR_SKIN","ToggleSidebarMenu","payload","DadosCadastraisService","BehaviorSubject","_dadosCadastraisPublico","asObservable","getDadosCadastrais","classeContexto","dadosCadastrais","getPerfis","AnamneseService","_anamnese","_anamneseDadosValidarEtapas","_loadingAnamnese","getAnamneseDadosValidarEtapas","getValue","setAnamneseDadosValidarEtapas","newValue","getAnamnese","setAnamnese","newAnamnese","getAnamneseRequest","hashAnamnese","getObterLinkAvaliacao","postAnamneseConsultar","dataPesquisa","putDevolverAnamnese","put","putAnamnese","dadosAnamneseAtualizados","comecarAnamnese","Hash","obterTempoSentado","validarAnamnese","carregandoValidarAnamnese","retornarResultadoAnamnese","anamnese_hash","finalizarAnamnese","getVisualizarAnamnese","getBuscarMedicamentos","ProfessorService","getIdadePacientes","getConsultaZPorGenero","getConsultaBiomarcadores","getListaPacientesProfessor","id","getCupomProfessor","getAvaliacaoAnamnese","postListaUsuariosAvaliador","getListaClientesProfessor","postListaUsuariosAvaliacoes","putDevolverAvaliacao","putEditarAvaliacao","finalizarAvaliacao","postEnviarSenha","postIncluirUsuario","postAtualizarDadosCadastrais","putEditarUsuario","getConsultarEvolucaoPorGenero","getObterListaAvaliadores","getObterListaClientesSelect","getObterListaClientesGrupoSelect","getObterCheckupsUsuario","IDUsuario","getObterListaClientes","getListaPlanosAtivos","getObterDadosCadastro","postRemoverClienteAvaliador","postNovoCheckup","getListaSenhasProvisorias","postConsultarCheckup","getObterCheckup","postIncluirCheckup","putIncluirCheckup","postRedefinirSenha","postAlterarSenha","getObterCheckupsCliente","getListarUsuariosOnlines","generateUrlProfilePic","filename","guardaFotoS3","url","file","fileType","openCloseAnimation","trigger","style","height","AUTO_STYLE","transition","animate","rotateAnimation","transform","MenuAvaliadorService","menuState","toggleMenu","value","setMenuState","i0","MenuItemComponent","menuService","ngOnInit","menuItem","children","length","isExpandable","calculateIsActive","events","pipe","filter","event","NavigationEnd","textColor","menuState$","isMenuExtended","handleMainMenuAction","onclick","isMainActive","isOneOfChildrenActive","forEach","item","path","window","innerWidth","selectors","ctx","BASE_CLASSES","MenuSidebarComponent","store","anamneseService","dadosCadastraisService","ac","professorService","isMenuOpen","toggleMenuMobile","anamnese","ui","select","classes","sidebarSkin","profilePic","ProfileImage","anamneseSubscription","ananmese$","novoValor","tipoZ","Z","usuarioLogado","isAvaliador","perfilTipo","montarMenuAvaliador","montarMenuAluno","onFileSelected","fileInput","target","files","maxSizeInMB","alert","reader","FileReader","onload","e","result","readAsDataURL","name","type","mudarPerfil","ebooks","portalSafe","inscricaoSafe","duvidaSafe","graficosSafe","comunidadeSafe","suporteSafe","inicioAluno","meusDados","meusCheckups","alterarSenhaAluno","menu","navigator","splice","push","ngOnDestroy","unsubscribe","menus","menuExiste","find","m","category","Categoria","iconClasses","Icone","submenu","Nome","formatarURLObterMenus","Url","pegarPrimeiroNomeESegundoNomeDaString","nome","partesNome","trim","ContainerMainAlunoComponent","renderer","removeClass","document","querySelector","addClass","menuSidebarCollapsed","controlSidebarCollapsed","darkMode","source","_value","dispatch","ContainerMainAvaliadorComponent","onToggleMenuSidebar","checkupsAluno","listaPacientes","nenhumUsuarioEncontrado","loadingListaPacientes","err","abrirLaudo","formatDate","date","DateTime","toFormat","ApiService","buscarViaCEP","cep","ModalTermineCadastroComponent","apiservice","FormGroup","FormControl","AceitaCorrespondencia","Ativo","Login","TelefoneCelular","TelefoneFixo","DataNascimento","Ocupacao","Sexo","EstadoCivil","Raca","GrauEscolaridade","CEP","Cidade","UFEndereco","Bairro","Logradouro","Numero","PerfilID","Complemento","PlanoID","IdentificadorHash","UsuarioInclusao","PerfilIDPreferencial","DataInclusao","UsuarioAlteracao","DataAlteracao","Idade","label","getDadosUsuario","buscarEnderecoPorCEP","etapa1Data","replace","test","dados","patchValue","logradouro","bairro","localidade","uf","loadingDadosUsuario","toISODate","Avaliadores","Avaliador","Message","handleClickFecharModal","onSalvar","dadosParaSalvar","parseInt","isLoadingSalvar","erro","messages","Array","isArray","mensagem","Mensagem","CheckupClienteService","_checkup","getCheckupCliente","classeContext","arrayResponse","from","checkupNaoPreenchido","ObterHashAnamneseAberta","ultimoCheckupPreenchido","ObterHashUltimoCheckUp","checkups","anamnesesAbertas","c","DataAnamnese","finalizados","SituacaoCheckup","ModalBioAnteriorComponent","handleClickProximoModal","ModalBioConfirmarEnvioComponent","handleClickConfirmarModal","carregandoConfirmarAnamnese","sucessoConfirmarAnamnese","urlLaudo","Modal1InicioComponent","desativarCampos","handleClickVoltarModal","ModalDadosPessoaisComponent","carregandoAtualizarAnamnese","novaAnamneseAtualizada","Etapa1","DataInicioPreenchimento","Date","etapaInvalida","etapa","erroAvancarAnamnese","response2","formatarDataParaDDMMYYYY","dataString","ano","mes","dia","formatarDataParaYYYYMMDD","indexOf","substring","createMask","alias","inputFormat","parser","values","year","month","alunoIdSubscription","formGroupEtapa2","NumeroEtapa","disabled","AnamneseID","Etapa2","Peso","Altura","Pressao","PressaoPart1","PressaoPart2","Gestante","MesesGestacao","TemConjuge","DataNascConjuge","formataDataParaAmericana","DatasNascFilhosTexto","DatasNascFilhos","FazendoDieta","TemNutricionista","DescricaoDieta","ProblemaCardiaco","DorToraxAtivFisica","UltimoMesDorTorax","PerdeuEquilibrio","ProblemaOsseo","RemedioPressao","FisicoImpedeAtivFisica","TesteEsforco","NivelAtividadeFisica","Tabagista","QtdCigarros","DataInicio","DataFim","temFilhos","dataNascimentoFilho","valueChanges","setValue","emitEvent","enable","disable","listaFilhos","map","Math","random","adicionarFilho","deletarFilho","f","toggleCheckbox","checkboxName","toggleCheckboxWidthValue","formatarDataNascimento","ModalInfoSobreSaudeComponent","getRawValue","filho","undefined","campoinvalido","campo","formGroupEtapa3","Etapa3","DadosMedico","HipArtSist","HipArtSistMeses","Fibromialgia","FibromialgiaMeses","Lupos","LuposMeses","Hipotireoidismo","HipotireoidismoMeses","Diabetes","DiabetesMeses","SindromeSjogren","SindromeSjogrenMeses","NefriteLupica","NefriteLupicaMeses","Dislipidemia","DislipidemiaMeses","ArtriteReumatoide","ArtriteReumatoideMeses","Osteoartrite","OsteoartriteMeses","Osteoporose","OsteoporoseMeses","Neoplasia","NeoplasiaMeses","Osteopenia","OsteopeniaMeses","NeoplasiaPreExistente","NeoplasiaPreExistenteMeses","Depressao","DepressaoMeses","TranstornoDeAnsiedade","TranstornoDeAnsiedadeMeses","CriseDePanico","CriseDePanicoMeses","Anorexia","AnorexiaMeses","Bulimia","BulimiaMeses","Alcoolismo","AlcoolismoMeses","LocalStOsteoartrite","OutraEnfermidade","HistQuedas","DtEnfermidadesPreExistentes","Covid19","DataCovid19","ModalQuestFarmPrelimComponent","formGroupEtapa4","Etapa4","AlergiaMedicamentos","MedicamentosAlergenicos","AlergiaOutros","Produtos","FrequenciaHorarioMedicamentos","ExercicioRegular","Caminhada","CaminhadaFrequencia","CaminhadaIntensidade","CaminhadaDuracao","Corrida","CorridaFrequencia","CorridaIntensidade","CorridaDuracao","Musculacao","MusculacaoFrequencia","MusculacaoIntensidade","MusculacaoDuracao","Danca","DancaFrequencia","DancaIntensidade","DancaDuracao","Hidroginastica","HidroginasticaFrequencia","HidroginasticaIntensidade","HidroginasticaDuracao","OutroExercicio","OutroExercicioFrequencia","OutroExercicioIntensidade","OutroExercicioDuracao","DescOutroExercicio","QtdExercicioSemana","Intensidade","DuracaoSessao","SomaSemanal","SuplementoAlimentar","DescSuplemento","MedicamentosEmUso","MedicamentosEmUsoSIM","CafeDaManha","Lanche1","Almoco","Lanche2","Jantar","Ceia","listaMedicamentos","FormArray","MedicamentoId","Dose","Periodicidade","loadingBuscaMed","opcoesMedicamentos","addMedicamentosToForm","medicamentos","med","medicamentoGroup","Produto","Medicamento","Finalidade","Horario","handleAdicionarMedicamento","medID","medNome","medDose","medPeriodicidade","warning","medProduto","medicamentoForm","Number","reset","handleRemoverMedicamento","index","removeAt","ModalCheckBoxesComponent","cdr","formGroupEtapa5","Etapa5","ProxIdeal","VidaExcelente","SatisfeitoVida","DesejeiVida","MudariaNada","scrollToField","fieldName","elementRef","proxIdealRef","vidaExcelenteRef","satisfeitoVidaRef","desejeiVidaRef","mudariaNadaRef","detectChanges","nativeElement","setTimeout","scrollIntoView","behavior","block","inline","ModalPercepSaudeComponent","formGroupEtapa6","Etapa6","Dor","LocalDor","Ansiedade","Fadiga","Gratidao","Animo","Sono","Disposicao","Percepcao","CapacidadeFuncional","Estresse","Felicidade","ModalSaudEmocFuncComponent","formGroupEtapa7","Etapa7","IpacDiasCaminhando","IpacTempoCaminhando","IpacDiasAtivModerada","IpacTempoAtivModerada","IpacDiasAtivVigorosa","IpacTempoAtivVigorosa","IpacTempoTrabalhoDia","IpacTempoTransporteDia","IpacTempoTvDia","IpacTempoComputadorDia","IpacTempoDescansoDia","IpacTempoLeituraDia","IpacTempoTrabalhoFDS","IpacTempoTransporteFDS","IpacTempoTvFDS","IpacTempoComputadorFDS","IpacTempoDescansoFDS","IpacTempoLeituraFDS","TotaisTempoSentado","IpacTempoTotalSentadoDia","IpacTempoTotalSentadoFDS","IpacDiasCaminhandoRef","IpacTempoCaminhandoRef","IpacDiasAtivModeradaRef","IpacTempoAtivModeradaRef","IpacDiasAtivVigorosaRef","IpacTempoAtivVigorosaRef","IpacTempoTrabalhoDiaRef","IpacTempoTransporteDiaRef","IpacTempoTvDiaRef","IpacTempoComputadorDiaRef","IpacTempoLeituraDiaRef","IpacTempoDescansoDiaRef","IpacTempoTrabalhoFDSRef","IpacTempoTransporteFDSRef","IpacTempoTvFDSRef","IpacTempoComputadorFDSRef","IpacTempoLeituraFDSRef","IpacTempoDescansoFDSRef","ModalCheckBoxes2Component","arrayTempoTotal","TempoTotalSentadoDia","TempoTotalSentadoFDS","formGroupEtapa8","Etapa8","Saude","SaudeComparada","AtivVigorosas","AtivModeradas","Compras","SubirEscadas","SubirEscada","Ajoelhar","AndarAcimaUmKm","AndarVariosQuarteiroes","AndarUmQuarteirao","Banho","DiminuiuTempoAtiv","MenosTarefas","NaoTrabalhou","DificuldadeTrabalho","QtdTempoTrabalho","MenosTarefasGostaria","TarefasCuidado","InterferenciaSocial","DorCorpo","InterferenciaDorCorpo","Vigor","TempoNervoso","TempoDeprimido","TempoCalmo","TempoEnergia","TempoAbatido","TempoEsgotado","TempoFeliz","TempoCansado","TempoSaudeInterferiu","AdoecerComparado","Saudavel","SaudePiorar","SaudeExcelente","SaudeRef","SaudeComparadaRef","AtivVigorosasRef","AtivModeradasRef","ComprasRef","SubirEscadasRef","SubirEscadaRef","AjoelharRef","AndarAcimaUmKmRef","AndarVariosQuarteiroesRef","AndarUmQuarteiraoRef","BanhoRef","DiminuiuTempoAtivRef","MenosTarefasRef","NaoTrabalhouRef","DificuldadeTrabalhoRef","QtdTempoTrabalhoRef","MenosTarefasGostariaRef","TarefasCuidadoRef","InterferenciaSocialRef","DorCorpoRef","InterferenciaDorCorpoRef","VigorRef","TempoNervosoRef","TempoDeprimidoRef","TempoCalmoRef","TempoEnergiaRef","TempoAbatidoRef","TempoEsgotadoRef","TempoFelizRef","TempoCansadoRef","TempoSaudeInterferiuRef","AdoecerComparadoRef","SaudavelRef","SaudePiorarRef","SaudeExcelenteRef","ModalCheckBoxes3SonoComponent","formGroupEtapa9","Etapa9","SentadoLendo","AssistindoTv","QuietoLugarPublico","AndandoCarro","QuietoAlmoco","ParadoCarro","SentadoConversando","DeitadoDescanso","SentidoVida","MedidaSentidoVida","ForcaDificuldade","EntenderDificuldades","TemReligiao","Religiao","FrequentaSemanalmente","LocalFrequenta","FrequentaVezes","EspiritualidadeFrequenciaTemplo","EspiritualidadeLeituraFrequencia","EspiritualidadePresencaDeus","EspiritualidadeCrencasReligiosas","EspiritualidadeEsforcoViver","SentadoLendoRef","AssistindoTvRef","QuietoLugarPublicoRef","AndandoCarroRef","QuietoAlmocoRef","ParadoCarroRef","SentadoConversandoRef","DeitadoDescansoRef","SentidoVidaRef","MedidaSentidoVidaRef","ForcaDificuldadeRef","EntenderDificuldadesRef","TemReligiaoRef","ReligiaoRef","FrequentaSemanalmenteRef","LocalFrequentaRef","FrequentaVezesRef","EspiritualidadeFrequenciaTemploRef","EspiritualidadeLeituraFrequenciaRef","EspiritualidadePresencaDeusRef","EspiritualidadeCrencasReligiosasRef","EspiritualidadeEsforcoViverRef","ModalRetaFinalComponent","formGroupEtapa10","Etapa10","AgradecerVida","ListaMuitoLonga","MotivosAgradecer","MuitaGente","HistoriaVida","AlguemAlgumaCoisa","EscalaBristol","Perdao","SuicidioPensou","SuicidioUltimoAno","SuicidioTentou","CodigoSuicidio","DistraemAnteriores","NaoDesanimam","PerdiInteresse","MuitoTrabalhador","SubstituoOutra","SeremConcluidos","QueConheco","SouEsforcado","Termo","AgradecerVidaRef","ListaMuitoLongaRef","MotivosAgradecerRef","MuitaGenteRef","HistoriaVidaRef","AlguemAlgumaCoisaRef","PerdaoRef","SuicidioPensouRef","SuicidioUltimoAnoRef","SuicidioTentouRef","DistraemAnterioresRef","NaoDesanimamRef","PerdiInteresseRef","MuitoTrabalhadorRef","SubstituoOutraRef","SeremConcluidosRef","QueConhecoRef","SouEsforcadoRef","EscalaBristolRef","TermoRef","BiomarcadorItemComponent","handleClickAbrirBioMarcador","desativar","modal","BiomarcadoresComponent","montarBiomarcadores","desativarBiomarcadores","scrollPrevious","list","scrollLeft","scrollNext","resultadoValidacao","etapa1","etapa2","etapa3","etapa4","etapa5","etapa6","etapa7","etapa8","etapa9","etapa10","etapas","validada","biomarcadores","titulo","iconPath","active","nextModal","previousModal","onWheel","preventDefault","scrollBy","left","deltaY","DadosTeiaComponent","checkupClienteService","createChartRadar","checkupSubscription","checkup$","checkupAtualizado","DadosTeia","width","dadosTeia","mergedData","config","labels","datasets","backgroundColor","borderColor","pointBackgroundColor","pointBorderColor","pointHoverBackgroundColor","pointHoverBorderColor","scale","ticks","beginAtZero","min","max","elements","line","borderWidth","responsive","maintainAspectRatio","plugins","title","display","text","font","weight","color","chartRadar","destroy","Chart","tour","scrollTo","cancelIcon","enabled","canClickTarget","popperOptions","modifiers","offset","modalOverlayOpeningPadding","modalOverlayOpeningRadius","attachTo","element","on","buttons","DashboardAlunoComponent","guideTour","nivel","recomendacao","isAlunoAvaliador","loadingIsAlunoAvaliador","desativarCamposAnamnese","usuarioId","dadosCadastraisSubscription","dadosCadastraisPublico$","abrirModalDadosPessoais","HashAnamnese","imcDados","BiomarcadorID","idadeBiologicaDadosCardio","idadeBiologicaDadosForca","imcAluno","ValorAlcancado","spanDescricaoImcMenuSidebar","getElementById","innerHTML","idadeBioCardio","idadeBiologicaAlunoCardio","idadeBiologicaAtual","idadeBiologicaAlunoForca","prescricaoCandidato","prescricoesEstiloDeVida","loadingAnamnseSubscription","loadingAnamnse$","loadingAnamnese","startTour","defaultStepOptions","confirmCancel","addSteps","start","hasOpenModals","MeusDados","isSelected","onSelectStepper","stepperSelected","loading","onSair","history","back","getCurrentDate","today","getMonth","day","getDate","getFullYear","redefinirSenhaAluno","localUser","formRecover","SenhaAtual","SenhaNova","ConfirmacaoSenha","toggleMostrarSenha","mostrarSenha","toggleMostrarNovaSenha","mostrarNovaSenha","toggleMostrarConfirmarSenha","mostrarConfirmarSenha","onClickRecover","loadingRecover","AnamnesesVisualizar","number","location","pathname","pop","anamneseProtocolo","Protocolo","steppers","stepper","ModalReenviarSenhaComponent","onListarClientes","loadingListaClientes","listaClientes","handleClickEnviar","dataForm","carregandoEnviarSenha","ModalSoliciarCheckupComponent","ClienteID","AvaliadorID","DataConsulta","Situacao","Tipo","TipoLaudo","Presencial","ContadoresService","getContadores","ConsultarContadoresComponent","contadoresService","contador","isAdministrador","ConsultarPorIdadeComponent","loadingGetDadosConsultaPorIdade","createChart","totalHomens","totalMulheres","Feminino","Inicio","Fim","Total","Masculino","chart","aspectRatio","update","ConsultarNiveisPacientesPorGeneroComponent","loadingGetDadosConsultaZporGenero","z1","z2","z3","z4","z5","arrayZ","Resultados","Homens","Mulheres","scales","yAxes","showCancelLink","showNavigationArrows","scrollToHandler","DashboardAvaliadorComponent","copiarMeuLink","copyText","setSelectionRange","execCommand","gerarLinkAvaliador","listaCheckups","fezCheckup","some","checkup","timeOut","positionClass","isMobile","buscaFiltrada","loadingCupom","cupom","ajustarNome","base64","btoa","urlSafe","origin","meuLink","handleClickAbrirModalReenviarSenha","handleClickAbrirModalSoliciarCheckup","handleClickCheckupMente","handleClickCheckupFisico","buscarPacientesPorFiltro","filtroBuscaInput","paciente","Cliente","toLowerCase","copiarCupom","el","createElement","appendChild","removeChild","copiarLink","cod","toggleCheckboxBaixarLaudo","laudoSemDados","baixarLaudo","handleLaudoIAPacienteID","partes","RelatorioCadastroService","getRelatorioCheckupsPeriodo","getRelatorioAniversariantes","mesID","getRelatorioEvolucao","postRelatorioRanking","AniversariantesComponent","relatorioCadastroService","formCadastro","atualizarListagemRelatorio","relatorioList","sort","a","b","nenhumRegistro","scrollToElementById","formatarCelular","celular","dateToDDMMYYYY","toLocaleDateString","getGenero","idGenero","RelatorioAutoConscienciaService","getRelatoriosAutoConsciencia","RelatorioAutoConscienciaComponent","relatorioAutoConscienciaService","formAutoConsciencia","PeriodoDe","PeriodoAte","atualizarListaAvaliadores","relatorioAutoConscienciaList","listaAvaliadores","retornarRelatoriosDoUsuario","usuarioID","r","Usuario","CupomService","getCuponsAtivos","getTodosCupons","listarAtivos","getCupomByHash","salvarCupom","RelatorioBiomarcadoresSafeComponent","cupomService","formRelatorioBiomarcadores","GrupoID","CupomID","Base","Escolaridade","FixaEtaria","UF","isAdm","cupons","Descricao","localeCompare","baixarPDF","doc","jsPDF","logo","Image","src","addImage","totalCheckups","relatorios","TotalBiomarcadores","setFontSize","getLabelFiltrarPor","avaliador","autoTable","head","relatorio","Biomarcador","PercentualAprovado","PercentualReprovado","Aprovados","Reprovados","startY","save","onChangeCheckboxValue","onClickPesquisar","isLoadingRelatorios","calcularPositionTextoGradient","gradientId","gradientTextId","porcentagem","gradientElement","getComputedStyle","gradientTextPosition","getPropertyValue","CheckupsEvolucaoComponent","relatorioCheckupList","Lista","TotalizadorCadastro","TotalizadorCheckup","TotalizadorCheckupFeitoNovamente","zValues","ListaZ","z","Quantidade","NomeAvaliador","NovosClientes","NovosCheckups","CheckupsFeitoNovamente","toISOString","slice","baixarExcel","Z1","Z2","Z3","Z4","Z5","workbook","Sheets","XLSX","SheetNames","excelBuffer","bookType","saveAsExcelFile","buffer","fileName","Blob","EXCEL_TYPE","saveAs","EXCEL_EXTENSION","CheckupsPeriodoComponent","relatorioCheckupPeriodoList","avaliadorSelecionado","periodoDeRaw","periodoAteRaw","periodoDe","isValid","addDays","periodoAte","Cadastro","InicioCheckup","EnvioCheckup","Avaliacao","RelatorioPreCadastroService","getRelatorioPreCadastro","RelatorioPreCadastroComponent","relatorioPreCadastroService","atualizarListaPreCadastro","relatorioPreCadastroList","RelatorioRankingAvaliadores","NumeroMinimoDeCheckups","TotalAnamneses","TotalAvaliacoes","TotalPacientes","QtdeAnamneses","QtdeAvaliacoes","QtdePacientes","Anamneses","Pacientes","RelatorioTabelaGorduraService","getRelatorioTabelaGordura","RelatorioTabelaGorduraComponent","relatorioTabelaGorduraService","formTabelaGordura","relatorioTabelaGorduraList","AnamnesesComponent","Paciente","Grupo","Cupom","Evento","Status","Preenchida","Avaliada","descricao","getListaAnamneses","loadingListaAnamneses","anamnesesSelecionadas","listaAnamneses","nenhumaAnamneseEncontrada","buscaDadosDeCadaPaciente","Valor","catchError","of","loadingPDF","listaAnamnesesSemPreenchimento","concatMap","toArray","pacientesComEmail","totalAnamneses","Professor","columnStyles","cellWidth","styles","fontSize","cellPadding","overflow","columnWidth","onerror","loadingExcel","dataForExcel","Profissão","worksheet","blob","selectAll","querySelectorAll","checkbox","checked","selecionarPaciente","pacienteId","pacienteIdSelecionado","handleDevolverAnamnese","loadingDevolverAnamnese","onAvaliar","avaliarLoading","urlParts","handleVisualizarCadastro","handleLaudo","context","handleLaudoIA","handleVisualizarPacienteAnamnese","handleVisualizarAnamnese","CheckupsAdicionar","DataAgendamento","HoraAgendamento","Observacoes","BloquearEmissaoLaudo","DataFimBloqueio","ChaveGrupo","Anamnese","onListarAvaliadores","onListarGrupos","urlCodeHash","onObterCheckup","loadingListaAvaliadores","trackByClienteID","cliente","onAvaliadorChange","controls","listaClientesGrupo","toggleDateTimeFields","isPresencial","showDateTimeFields","loadingObterCheckup","IDRes","dataFormEdit","toISO","loadingSalvar","dataedit","CheckupsComponent","DataCadastro","getListaPacientes","pacientesSelecionados","novoCheckup","href","alterarCheckup","AdicionarCupomComponent","formGroupCupom","Validators","Codigo","DiasProdutoCheckup","Vencimento","TornarAvaliador","BloquearLaudo","Itens","Desconto","ativos","avaliadores","loadingSalvarCupom","onVoltar","onRemover","i","ItensLista","onAdicionar","produto","ativo","ValorProduto","ValorFinal","ProdutoID","CuponsComponent","minus","days","ontem","atualizarListaCupons","loadingCupons","selecionarCupom","cupomSelecionado","novoCupom","alterarCupom","EditarCupomComponent","Checkups","URL","onTransformaDateTimeEmData","dataSomente","DadosAlunoComponent","snapshot","paramMap","MeusClientesComponent","SenhasProvisoriasComponent","nenhumaSenhaEncontrada","UsuariosOnlinesComponent","formatTemp","temp","duvidasComponent","fill","downloadCheckupdaSaude","link","download","click","remove","downloadRitual","downloadGuiaPratico","downloadGuiaDef","ebooksComponent","GraficosPlataformaComponent","LoginModel","LoadingLoginPage","login","formLogin","onClickLogin","carregandoLogin","valid","error_description","handleCadastrarClick","LoginPageComponent","RecuperarSenhaPageComponent","submitRecover","carregandoEnviar","handleVoltarClick","RedefinirSenhaComponent","idPerfil","RegisterPageCupomComponent","formRegister","CodigoPais","CodigoCupom","AvaliadorSAFE","CPF","Senha","confirmarSenha","CodigoSMS","SMSEnviado","EmailEnviado","SMSValidado","updatePhoneMask","urlSplit","maxTentativas","tentativaAtual","loadingObterDadosConvite","avaliadorNome","countryCode","mascaraTelefone","mask","keepStatic","onInputChange","errors","errorMessage","errorMessageString","msg","voltarCadastro","zerarFormulario","voltarLogin","Celular","carregandoReenvia","onInputChangeSMS","NaoValidaSMS","carregandoValida","RegisterPageComponent","then","UsuarioID","Nascimento","Genero","CodPais","TokenPageComponent","formToken","UsuariosAlterar","Telefone","getCheckupsCliente","getClientesAvaliador","listaCheckupsCliente","loadingListaClientesAvaliadores","listaClientesAvaliador","nenhumClienteEncontrado","listaPlanosAtivos","nenhumAvaliadorEncontrado","Plano","plano","onRemoverClienteAvaliador","onVisualizarLaudo","AnamneseHash","onNovoCheckup","UsuariosAvaliacoesAlterar","guide","AvaliacaoID","PressaoArterialSistolica","PressaoArterialDiastolica","FrequenciaCardiaca","SaturacaoOxigenio","Anemia","VitaminaD","VitaminaB12","Indicacao","Observacao","Medicacao","RotinaDiaria","Cigarros","ReligiaoEspiritualidade","suplementos","alergiaMedicamentos","enfermidades","exercicio","etapa2Data","Estatura","EstaturaAutorelatada","MassaCorporal","MassaCorporalAutorelatada","MassaMagra","MassaGorda","GorduraVisceral","Glicemia","TaxaMetabolica","Estrutura","EstruturaAutorelatada","DensidadeCorporal","PercentualGorduraBioimpedancia","PercentualMassaMuscular","etapa3Data","CircunferenciaPescoco","CircunferenciaCintura","CircunferenciaQuadril","RazaoCinturaEstatura","ProporcaoCircunferenciaCinturaQuadril","IndiceAdiposidadeCorporal","Imc","BracoDireitoRelaxado","BracoEsquerdoRelaxado","AssimetriaBracoRelaxado","BracoDireitoContraido","BracoEsquerdoContraido","AssimetriaBracoContraido","AnteBracoDireito","AnteBracoEsquerdo","AssimetriaAnteBraco","CoxaDireita","CoxaEsquerda","AssimetriaCoxa","PanturrilhaDireita","PanturrilhaEsquerda","AssimetriaPanturrilha","CircunferenciaCoxaDireita","CircunferenciaCoxaEsquerda","etapa4Data","ForcaDirPriTentativa","ForcaDirSegTentativa","ForcaDirMaiTentativa","ForcaDirRelativa","ForcaEsqPriTentativa","ForcaEsqSegTentativa","ForcaEsqMaiTentativa","ForcaEsqRelativa","MaiRelacaoDuas","Assimetria","ForcaRelativa","DireitaInferiorPri","DireitaInferiorSeg","DireitaInferiorMaior","EsquerdaInferiorPri","EsquerdaInferiorSeg","EsquerdaInferiorMaior","DireitaSuperiorPri","DireitaSuperiorSeg","DireitaSuperiorMaior","EsquerdaSuperiorPri","EsquerdaSuperiorSeg","EsquerdaSuperiorMaior","SoloPontuacao","SentarLevantarTentativa1","SentarLevantarTentativa2","SentarLevantarMaior","Esforco","PercepcaoSubjetivaEsforco","SPO2LevantarSentar","FrequenciaCardiacaSentarLevantar","CotoveloPrimeira","CotoveloSegunda","CotoveloMaior","BracoPrimeira","BracoSegunda","BracoMaior","FlexaoBracoPercepcaoSubjetiva","FlexaoBracoSPO2","FlexaoBracoFrequenciaCardiaca","UnipodalPrimeira","UnipodalSegunda","UnipodalMaior","UnipodalRelativa","IrVirPrimeira","IrVirSegunda","IrVirMenor","IrVirMaior","CaminhadaEstatica","SpoFinal","PercepcaoSubEsforco","FreqCardFinal","CaminhadaSeisMin","FreqCardiacaFinal","SpoDoisFinal","PercSubEsforco","PercDistPerc","DistanciaEsperada","FcMaxPredita","PercFcMax","CoxaPrimeiraTentativa","CoxaSegundaTentativa","CoxaMaiorTentativa","CoxaForcaRelativa","TricepsPrimeiraTentativa","TricepsSegundaTentativa","TricepsMaiorTentativa","TricepsForcaRelativa","SuprailiacaPrimeiraTentativa","SuprailiacaSegundaTentativa","SuprailiacaMaiorTentativa","SuprailiacaForcaRelativa","hashAvaliacao","loadingBuscarAvaliacao","isAvaliacaoFinalizada","DataFinalizacao","avaliacaoInicial","Checkup","String","efetuarCalculos","opcoesPeso","gerarIntervalosPeso","formatValue","razaoCinturaEstatura","circunferenciaCintura","estatura","razao","circunferenciaCinturaQuadril","circunferenciaQuadril","resultado","membroInferiorDireito","direitaInferiorPri","direitaInferiorSeg","maiorNumero","membroInferiorEsquerda","esquerdaInferiorPri","esquerdaInferiorSeg","membroSuperiorDireito","direitaSuperiorPri","direitaSuperiorSeg","membroSuperiorEsquerdo","esquerdaSuperiorPri","esquerdaSuperiorSeg","sentarLevantarMaior","sentarLevantarTentativa1","sentarLevantarTentativa2","flexaoCotoveloMaior","cotoveloPrimeira","cotoveloSegunda","forcaMaiorUnipodal","unipodalPrimeira","unipodalSegunda","testeIrVirMenorTempo","irVirPrimeira","irVirSegunda","menorNumero","forcaMaiorDireita","forcaDirPriTentativa","forcaDirSegTentativa","maior","calculosForcaMaior","forcaMaiorEsquerda","forcaEsqPriTentativa","forcaEsqSegTentativa","calcularAssimetria","forcaRelativa","maiorTentativaRelacaoDuas","maiorEsquerda","maiorDireita","primeira","segunda","massaCorporal","menor","numeroPreenchido","toFixed","numero","numeroNaoPreenchido","primeiro","segundo","paramsInvalidos","maiorCoxa","coxaPrimeiraTentativa","coxaSegundaTentativa","flexaoBracoMaior","bracoPrimeira","bracoSegunda","testeIrVir","maiorSuprailiaca","suprailiacaPrimeiraTentativa","suprailiacaSegundaTentativa","maiorTricepes","tricepsPrimeiraTentativa","tricepsSegundaTentativa","isNaN","kgs","inicial","final","aux","kg","g","montarKilos","parseFloat","calcularAssimetriaETP3","direito","esquerdo","assimetria","bracoEsquerdo","bracoDireito","valorAssimetria","abs","calcularAssimetriaETP4","onFinalizarAvaliacao","isLoadingFinalizar","percentualDistanciaPercorridaEsperada","distanciaEsperada","caminhadaSeisMin","percentual","calc","fcMaximaPredita","percentualFCMaximaTeste","fcMaxPredita","freqCardiacaFinal","imc","altura","pow","iac","UsuariosAvaliacoesComponent","visualizarAvaliacao","devolverAvaliacao","loadingDevolverAvaliacao","UsuariosIncluir","UsuariosComponent","handleEnviarSenha","loadingEnviarSenha","getDescricaoPerfil","perfil","perfilEncontrado","perfilPesquisa","handleNovo","handleAlterar","routes","expectedParams","redirectTo","AppRoutingModule","RouterModule","AppComponent","LOAD_USER","initialState","isLoggedIn","token","currentUser","picture","authReducer","action","AuthActions","NAVBAR_LIGHT_VARIANTS","NAVBAR_DARK_VARIANTS","SIDEBAR_DARK_SKINS","SIDEBAR_LIGHT_SKINS","ui_state","navbarVariant","uiReducer","Actions","variant","skin","AppInterceptor","intercept","request","handle","status","throwError","registerLocaleData","localeEn","AppModule","bootstrap","provide","HTTP_INTERCEPTORS","useClass","multi","imports","ProfabricComponentsModule","CommonModule","FormsModule","BrowserModule","StoreModule","auth","HttpClientModule","ReactiveFormsModule","BrowserAnimationsModule","ToastrModule","preventDuplicates","NgbModule","NgbModalModule","InputMaskModule","NgbDatepickerModule","CalendarModule","SliderModule","NgxMaskModule","NgSelectModule","enableProdMode","PF","mode","__NgCli_bootstrap_1","bootstrapModule","catch","__webpack_require__","webpackAsyncContext","module","webpackContext"],"sourceRoot":"webpack:///","sources":["./src/app/utils/getHeaders.ts","./src/environments/environment.ts","./src/app/services/app.service.ts","./src/app/utils/urlEncoded.ts","./src/app/guards/acesso-avaliador.guard.ts","./src/app/guards/auth.guard.ts","./src/app/guards/dynamic-route.guard.ts","./src/app/guards/non-auth.guard.ts","./src/app/store/ui/actions.ts","./src/app/services/dashboard/dados-cadastrais/dados-cadastrais.service.ts","./src/app/services/dashboard/anamnese/anamnese.service.ts","./src/app/services/dashboard/professor/professor.service.ts","./src/app/components/menu-item/menu-item.animations.ts","./src/app/services/dashboard/menu-avaliador/menu-avaliador.service.ts","./src/app/components/menu-item/menu-item.component.html","./src/app/components/menu-item/menu-item.component.ts","./src/app/modules/main/menu-sidebar/menu-sidebar.component.html","./src/app/modules/main/menu-sidebar/menu-sidebar.component.ts","./src/app/modules/main/container/container-main-aluno/container-main-aluno.component.ts","./src/app/modules/main/container/container-main-aluno/container-main-aluno.component.html","./src/app/modules/main/container/container-main-avaliador/container-main-avaliador.component.ts","./src/app/modules/main/container/container-main-avaliador/container-main-avaliador.component.html","./src/app/pages/aluno/checkups-aluno/checkups-aluno.html","./src/app/pages/aluno/checkups-aluno/checkups-aluno.ts","./src/app/services/api.service.ts","./src/app/components/dashboard/modais/ModalTermineCadastro/modal-termine-cadastro.component.html","./src/app/components/dashboard/modais/ModalTermineCadastro/modal-termine-cadastro.component.ts","./src/app/services/dashboard/checkup-cliente/checkup-cliente.service.ts","./src/app/components/dashboard/modais/Modal-BioAnterior/modal-bioAnterior.component.ts","./src/app/components/dashboard/modais/Modal-BioAnterior/modal-bioAnterior.component.html","./src/app/components/dashboard/modais/Modal-BioConfirmarEnvio/modal-bioConfirmarEnvio.component.html","./src/app/components/dashboard/modais/Modal-BioConfirmarEnvio/modal-bioConfirmarEnvio.component.ts","./src/app/components/dashboard/modais/modal1-Inicio/modal-1inicio.component.html","./src/app/components/dashboard/modais/modal1-Inicio/modal-1inicio.component.ts","./src/app/utils/mascaras.ts","./src/app/components/dashboard/modais/Modal2-DadosPessoais/modal-dadospessoais.component.html","./src/app/components/dashboard/modais/Modal2-DadosPessoais/modal-dadospessoais.component.ts","./src/app/components/dashboard/modais/modal3-InfoSobreSaude/modal-infoSobreSaude.component.html","./src/app/components/dashboard/modais/modal3-InfoSobreSaude/modal-infoSobreSaude.component.ts","./src/app/components/dashboard/modais/Modal4-QuestFarmPrelim/modal-questFarmPrelim.component.html","./src/app/components/dashboard/modais/Modal4-QuestFarmPrelim/modal-questFarmPrelim.component.ts","./src/app/components/dashboard/modais/Modal5-CheckBoxes/modal-checkBoxes.component.html","./src/app/components/dashboard/modais/Modal5-CheckBoxes/modal-checkBoxes.component.ts","./src/app/components/dashboard/modais/Modal6-PercepSaude/modal-percepSaude.component.html","./src/app/components/dashboard/modais/Modal6-PercepSaude/modal-percepSaude.component.ts","./src/app/components/dashboard/modais/Modal7-SaudEmocFunc/modal-saudEmocFunc.component.html","./src/app/components/dashboard/modais/Modal7-SaudEmocFunc/modal-saudEmocFunc.component.ts","./src/app/components/dashboard/modais/Modal8-CheckBoxes2/modal-checkBoxes2.component.html","./src/app/components/dashboard/modais/Modal8-CheckBoxes2/modal-checkBoxes2.component.ts","./src/app/components/dashboard/modais/Modal9-CheckBoxes3Sono/modal-checkBoxes3Sono.component.html","./src/app/components/dashboard/modais/Modal9-CheckBoxes3Sono/modal-checkBoxes3Sono.component.ts","./src/app/components/dashboard/modais/Modal10-RetaFinal/modal-retaFinal.component.html","./src/app/components/dashboard/modais/Modal10-RetaFinal/modal-retaFinal.component.ts","./src/app/pages/dashboard/biomarcador-item/biomarcador-item.component.ts","./src/app/pages/dashboard/biomarcador-item/biomarcador-item.component.html","./src/app/pages/dashboard/biomarcadores/biomarcadores.component.html","./src/app/pages/dashboard/biomarcadores/biomarcadores.component.ts","./src/app/components/dashboard/graficos/dados-teia/dados-teia.component.ts","./src/app/components/dashboard/graficos/dados-teia/dados-teia.component.html","./src/app/pages/aluno/dashboard-aluno/dashboard-aluno.component.html","./src/app/pages/aluno/dashboard-aluno/dashboard-aluno.component.ts","./src/app/pages/aluno/meus-dados/meus-dados.html","./src/app/pages/aluno/meus-dados/meus-dados.ts","./src/app/pages/aluno/redefinir-senha-aluno/redefinir-senha-aluno.ts","./src/app/pages/aluno/redefinir-senha-aluno/redefinir-senha-aluno.html","./src/app/pages/anamneses-visualizar/anamneses-visualizar.html","./src/app/pages/anamneses-visualizar/anamneses-visualizar.ts","./src/app/components/dashboard/modais/Modal-ReenviarSenha/modal-reenviarSenha.component.html","./src/app/components/dashboard/modais/Modal-ReenviarSenha/modal-reenviarSenha.component.ts","./src/app/components/dashboard/modais/Modal-SoliciarCheckup/modal-SoliciarCheckup.component.html","./src/app/components/dashboard/modais/Modal-SoliciarCheckup/modal-SoliciarCheckup.component.ts","./src/app/services/dashboard/contadores/contadores.service.ts","./src/app/components/dashboard/graficos/consultar-contadores/consultar-contadores.component.html","./src/app/components/dashboard/graficos/consultar-contadores/consultar-contadores.component.ts","./src/app/components/dashboard/graficos/consultar-por-idade/consultar-por-idade.component.html","./src/app/components/dashboard/graficos/consultar-por-idade/consultar-por-idade.component.ts","./src/app/components/dashboard/graficos/consultar-niveis-pacientes-por-genero/consultar-niveis-pacientes-por-genero.component.html","./src/app/components/dashboard/graficos/consultar-niveis-pacientes-por-genero/consultar-niveis-pacientes-por-genero.component.ts","./src/app/pages/avaliador/dashboard-avaliador/dashboard-avaliador.component.html","./src/app/pages/avaliador/dashboard-avaliador/dashboard-avaliador.component.ts","./src/app/services/relatorios/relatorio-cadastros/relatorio-cadastros.service.ts","./src/app/pages/avaliador/relatorios/relatorio-aniversariantes/relatorio-aniversariantes.component.html","./src/app/pages/avaliador/relatorios/relatorio-aniversariantes/relatorio-aniversariantes.component.ts","./src/app/services/relatorios/relatorio-auto-consciencia/relatorio-auto-consciencia.service.ts","./src/app/pages/avaliador/relatorios/relatorio-auto-consciencia/relatorio-auto-consciencia.component.html","./src/app/pages/avaliador/relatorios/relatorio-auto-consciencia/relatorio-auto-consciencia.component.ts","./src/app/services/dashboard/cupom/cupom.service.ts","./src/app/pages/avaliador/relatorios/relatorio-biomarcadores-safe/relatorio-biomarcadores-safe.component.html","./src/app/pages/avaliador/relatorios/relatorio-biomarcadores-safe/relatorio-biomarcadores-safe.component.ts","./src/app/pages/avaliador/relatorios/relatorio-checkups-evolucao/relatorio-checkups-evolucao.component.html","./src/app/pages/avaliador/relatorios/relatorio-checkups-evolucao/relatorio-checkups-evolucao.component.ts","./src/app/pages/avaliador/relatorios/relatorio-checkups-periodo/relatorio-checkups-periodo.component.html","./src/app/pages/avaliador/relatorios/relatorio-checkups-periodo/relatorio-checkups-periodo.component.ts","./src/app/services/relatorios/relatorio-pre-cadastro/relatorio-pre-cadastro.service.ts","./src/app/pages/avaliador/relatorios/relatorio-pre-cadastro/relatorio-pre-cadastro.component.html","./src/app/pages/avaliador/relatorios/relatorio-pre-cadastro/relatorio-pre-cadastro.component.ts","./src/app/pages/avaliador/relatorios/relatorio-ranking-avaliadores/relatorio-ranking-avaliadores.html","./src/app/pages/avaliador/relatorios/relatorio-ranking-avaliadores/relatorio-ranking-avaliadores.ts","./src/app/services/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.service.ts","./src/app/pages/avaliador/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.component.html","./src/app/pages/avaliador/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.component.ts","./src/app/pages/cadastros/anamneses/anamneses/anamneses.component.html","./src/app/pages/cadastros/anamneses/anamneses/anamneses.component.ts","./src/app/pages/cadastros/checkups/checkups-adicionar/checkups-adicionar.html","./src/app/pages/cadastros/checkups/checkups-adicionar/checkups-adicionar.ts","./src/app/pages/cadastros/checkups/checkups/checkups.component.html","./src/app/pages/cadastros/checkups/checkups/checkups.component.ts","./src/app/pages/cadastros/cupons/adicionar-cupom/adicionar-cupom.component.html","./src/app/pages/cadastros/cupons/adicionar-cupom/adicionar-cupom.component.ts","./src/app/pages/cadastros/cupons/cupons.component.html","./src/app/pages/cadastros/cupons/cupons.component.ts","./src/app/pages/cadastros/cupons/editar-cupom/editar-cupom.component.html","./src/app/pages/cadastros/cupons/editar-cupom/editar-cupom.component.ts","./src/app/pages/cadastros/dados-aluno/dados-aluno/dados-aluno.component.ts","./src/app/pages/cadastros/dados-aluno/dados-aluno/dados-aluno.component.html","./src/app/pages/cadastros/meus-clientes/meus-clientes/meus-clientes.component.html","./src/app/pages/cadastros/meus-clientes/meus-clientes/meus-clientes.component.ts","./src/app/pages/cadastros/senhas-provisorias/senhas-provisorias/senhas-provisorias.component.html","./src/app/pages/cadastros/senhas-provisorias/senhas-provisorias/senhas-provisorias.component.ts","./src/app/pages/cadastros/usuarios-onlines/usuarios-onlines.component.html","./src/app/pages/cadastros/usuarios-onlines/usuarios-onlines.component.ts","./src/app/pages/duvidas/duvidas.component.html","./src/app/pages/duvidas/duvidas.component.ts","./src/app/pages/ebooks/ebooks.component.ts","./src/app/pages/ebooks/ebooks.component.html","./src/app/pages/graficos-plataforma/graficos-plataforma.component.ts","./src/app/pages/graficos-plataforma/graficos-plataforma.component.html","./src/app/models/login.model.ts","./src/app/components/loading-login-page/loading-login-page.component.ts","./src/app/components/loading-login-page/loading-login-page.component.html","./src/app/pages/login-page/login-page.component.html","./src/app/pages/login-page/login-page.component.ts","./src/app/pages/recuperar-senha-page/recuperar-senha-page.component.html","./src/app/pages/recuperar-senha-page/recuperar-senha-page.component.ts","./src/app/pages/redefinir-senha/redefinir-senha.component.ts","./src/app/pages/redefinir-senha/redefinir-senha.component.html","./src/app/pages/register-page-cupom/register-page-cupom.component.html","./src/app/pages/register-page-cupom/register-page-cupom.component.ts","./src/app/pages/register-page/register-page.component.html","./src/app/pages/register-page/register-page.component.ts","./src/app/pages/token-page/token-page.component.ts","./src/app/pages/token-page/token-page.component.html","./src/app/pages/usuarios-alterar/usuarios-alterar.html","./src/app/pages/usuarios-alterar/usuarios-alterar.ts","./src/app/pages/usuarios-avaliacoes-alterar/usuarios-avaliacoes-alterar.html","./src/app/pages/usuarios-avaliacoes-alterar/usuarios-avaliacoes-alterar.ts","./src/app/pages/usuarios-avaliacoes/usuarios-avaliacoes.component.html","./src/app/pages/usuarios-avaliacoes/usuarios-avaliacoes.component.ts","./src/app/pages/usuarios-incluir/usuarios-incluir.html","./src/app/pages/usuarios-incluir/usuarios-incluir.ts","./src/app/pages/usuarios/usuarios.component.html","./src/app/pages/usuarios/usuarios.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/store/auth/actions.ts","./src/app/store/auth/reducer.ts","./src/app/utils/themes.ts","./src/app/store/ui/state.ts","./src/app/store/ui/reducer.ts","./src/app/services/app.interceptor.ts","./src/app/app.module.ts","./src/main.ts","./node_modules/@profabric/web-components/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import {HttpHeaders} from '@angular/common/http';\n\nexport const getHeaders = (data: object = {}): HttpHeaders => {\n const accessToken = localStorage.getItem('token');\n // Set up the headers with the Bearer token\n\n if (accessToken) {\n return new HttpHeaders({\n Authorization: `Bearer ${accessToken}`,\n ...data\n });\n } else {\n return new HttpHeaders({\n ...data\n });\n }\n};\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n endpoint_api: \"https://api.plataformasafe.com.br/api\"\n //endpoint_api: \"http://localhost:2204/api\"\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import {getHeaders} from '@/utils/getHeaders';\nimport {urlEncode} from '@/utils/urlEncoded';\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {environment} from 'environments/environment';\nimport {ToastrService} from 'ngx-toastr';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppService {\n public user: any;\n private api = environment.endpoint_api;\n\n constructor(\n private router: Router,\n private toastr: ToastrService,\n private http: HttpClient,\n private modalService: NgbModal\n ) {}\n\n public getDadosUsuarioLogadoStorage() {\n this.user = localStorage.getItem('user');\n const userStorage = localStorage.getItem('user');\n if (userStorage) {\n this.user = JSON.parse(userStorage);\n return JSON.parse(userStorage);\n } else {\n return {};\n }\n }\n\n public openModal(component, options = {size: 'lg', backdrop: false}) {\n return this.modalService.open(component, options);\n }\n\n public closeModal() {\n return this.modalService.dismissAll();\n }\n\n // No serviço AppService\n async loginByAuth({email, senha}): Promise {\n return new Promise((resolve, reject) => {\n localStorage.clear();\n const body = urlEncode({\n username: email,\n password: senha,\n grant_type: 'password'\n });\n const headers = getHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n });\n\n this.http\n .post(this.api + `/security/token`, body, {headers})\n .subscribe({\n next: (response: {access_token: string}) => {\n const access_token = response.access_token;\n const headers = getHeaders({\n Authorization: `bearer ${access_token}`\n });\n\n this.http\n .get(this.api + `/Usuario/ObterUsuarioLogado`, {\n headers\n })\n .subscribe({\n next: (usuario: any) => {\n this.toastr.success(\n 'Login efetuado com sucesso.'\n );\n this.user = usuario;\n localStorage.setItem('token', access_token);\n localStorage.setItem(\n 'user',\n JSON.stringify(usuario)\n );\n\n if (usuario?.RedefinirSenha) {\n localStorage.setItem(\n 'RedefinirSenha',\n JSON.stringify(\n usuario?.RedefinirSenha\n )\n );\n this.router.navigate([\n '/redefinir-senha'\n ]);\n resolve(usuario);\n return;\n }\n\n if (\n [1, 3, 4].includes(usuario?.Perfil?.ID)\n ) {\n this.router.navigate([\n '/dashboard/acesso-avaliador'\n ]);\n } else {\n this.router.navigate([\n '/dashboard/acesso-aluno'\n ]);\n }\n resolve(usuario);\n },\n error: (error) => {\n reject(error); // Rejeite a promise em caso de erro ao obter o usuário\n }\n });\n },\n error: (error) => {\n reject(error);\n }\n });\n });\n }\n\n async obtemUsuarioLogado(idUsuario): Promise {\n const headers = getHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n });\n this.http\n .get(\n this.api +\n `/Usuario/ObterUsuario/${idUsuario}\n `,\n {headers}\n )\n .subscribe({\n next: (usuario: any) => {\n this.user = usuario;\n localStorage.setItem('user', JSON.stringify(usuario));\n },\n error: (error) => {\n console.log(error);\n }\n });\n }\n\n async recuperarSenha(email): Promise {\n return new Promise((resolve, reject) => {\n this.http\n .post(this.api + `/Usuario/RecuperarSenha`, {Email: email})\n .subscribe({\n next: (res: any) => {\n resolve(res);\n },\n error: (error) => {\n reject(error);\n }\n });\n });\n }\n\n async registerUser(body): Promise {\n return new Promise((resolve, reject) => {\n localStorage.clear();\n const headers = getHeaders({'Content-Type': 'application/json'});\n\n this.http\n .post(this.api + `/Usuario/ValidarAutoCadastroEtapa1`, body, {\n headers\n })\n .subscribe({\n next: (response) => {\n resolve(response); // Resolva a promise em caso de sucesso ao fazer cadastro\n },\n error: (error) => {\n reject(error); // Rejeite a promise em caso de erro ao fazer cadastro\n //retorna erro\n return error;\n }\n });\n });\n }\n\n obterDadosConvite(hash: string) {\n const headers = getHeaders();\n return this.http.get(this.api + '/Usuario/DadosConvite/' + hash, {\n headers\n });\n }\n\n async reenviarCodigo(body): Promise {\n return new Promise((resolve, reject) => {\n localStorage.clear();\n const headers = getHeaders({'Content-Type': 'application/json'});\n\n this.http\n .post(this.api + `/Usuario/ReenviarCodigoAutoCadastro`, body, {\n headers\n })\n .subscribe({\n next: (response) => {\n resolve(response);\n },\n error: (error) => {\n reject(error);\n return error;\n }\n });\n });\n }\n\n async validarCodigo(body): Promise {\n return new Promise((resolve, reject) => {\n localStorage.clear();\n const headers = getHeaders({'Content-Type': 'application/json'});\n\n this.http\n .post(this.api + `/Usuario/SalvarAutoCadastro`, body, {headers})\n .subscribe({\n next: (response) => {\n resolve(response);\n },\n error: (error) => {\n reject(error);\n return error;\n }\n });\n });\n }\n\n async getProfile() {\n const headers = getHeaders();\n return this.http\n .get(this.api + `/Usuario/ObterUsuarioLogado`, {headers})\n .subscribe({\n next: (usuario: any) => {\n this.user = usuario;\n localStorage.setItem('user', JSON.stringify(usuario));\n },\n error: (error) => {\n this.logout();\n throw error;\n }\n });\n }\n\n async verificarEmail(email) {\n return new Promise((resolve, reject) => {\n this.http\n .get(this.api + `/Usuario/VerificarPreCadastro?email=${email}`)\n .subscribe({\n next: (response: any) => {\n resolve(response);\n },\n error: (error) => {\n reject(error);\n }\n });\n });\n }\n\n logout() {\n localStorage.removeItem('token');\n localStorage.removeItem('user');\n this.user = null;\n this.router.navigate(['/login']);\n }\n\n getObterMenus() {\n const headers = getHeaders();\n return this.http.get(this.api + `/Usuario/ObterMenu`, {headers});\n }\n}\n","export const urlEncode = (data: any): string => {\n const params = new URLSearchParams();\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n params.set(key, data[key]);\n }\n }\n return params.toString();\n}","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot, UrlTree} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {AppService} from \"@services/app.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AcessoAvaliadorGuard implements CanActivate, CanActivateChild {\n\n /**\n *\n * @private\n *\n * Se o perfil do avaliador (appService.user.Perfil.ID) tiver algum desses IDS, ele tem total acesso as features de avaliador\n *\n */\n private avaliadorPerfisIDS = [4, 3, 1]\n\n constructor(private appService: AppService) {\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n\n return this.avaliadorPerfisIDS.includes(this.appService.user?.Perfil?.ID)\n }\n\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this.canActivate(next, state);\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n Router,\n RouterStateSnapshot,\n UrlTree\n} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {AppService} from '@services/app.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate, CanActivateChild {\n constructor(private router: Router, private appService: AppService) {\n }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this.getProfile();\n }\n\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this.canActivate(next, state);\n }\n\n async getProfile() {\n return !!this.appService.getDadosUsuarioLogadoStorage()?.ID\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicRouteGuard implements CanActivate {\n\n constructor(private router: Router) {}\n\n canActivate(route: ActivatedRouteSnapshot): boolean {\n\n //home/index#!/convite/Roberto-Assis/Mjg2MzU= envia para cadastro/Roberto-Assis#!/Mjg2MzU=\n const nomeUsuario = route.fragment.split('/')[1];\n const hash = route.fragment.split('/')[3];\n\n \n\n console.log('hash', hash);\n\n if (nomeUsuario && hash) {\n const redirectUrl = `cadastro/${nomeUsuario}#!/${hash}`;\n this.router.navigateByUrl(redirectUrl);\n return false; // Bloqueia a ativação da rota atual\n } else {\n return true; // Permite a ativação da rota atual\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n CanActivate,\n CanActivateChild,\n Route,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n Router\n} from '@angular/router';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NonAuthGuard implements CanActivate, CanActivateChild {\n constructor(private router: Router) {}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n if (!localStorage.getItem('token')) {\n return true;\n }\n this.router.navigate(['/']);\n return false;\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ):\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this.canActivate(next, state);\n }\n}\n","import {Action} from '@ngrx/store';\n\nexport const TOGGLE_SIDEBAR_MENU: string = 'TOGGLE_SIDEBAR_MENU';\nexport const TOGGLE_CONTROL_SIDEBAR: string = 'TOGGLE_CONTROL_SIDEBAR';\nexport const TOGGLE_DARK_MODE: string = 'TOGGLE_DARK_MODE';\nexport const SET_NAVBAR_VARIANT: string = 'SET_NAVBAR_VARIANT';\nexport const SET_SIDEBAR_SKIN: string = 'SET_SIDEBAR_SKIN';\nexport const SET_WINDOWS_SIZE: string = 'SET_WINDOWS_SIZE';\n\nexport class ToggleSidebarMenu implements Action {\n readonly type: string = TOGGLE_SIDEBAR_MENU;\n constructor(public payload?: string) {}\n}\nexport class ToggleControlSidebar implements Action {\n readonly type: string = TOGGLE_CONTROL_SIDEBAR;\n constructor(public payload?: string) {}\n}\n\nexport class ToggleDarkMode implements Action {\n readonly type: string = TOGGLE_DARK_MODE;\n constructor(public payload?: string) {}\n}\n\nexport class SetNavbarVariant implements Action {\n readonly type: string = SET_NAVBAR_VARIANT;\n constructor(public payload: string) {}\n}\n\nexport class SetSidebarSkin implements Action {\n readonly type: string = SET_SIDEBAR_SKIN;\n constructor(public payload: string) {}\n}\nexport class SetWindowSize implements Action {\n readonly type: string = SET_WINDOWS_SIZE;\n constructor(public payload: any) {}\n}\n\nexport type UiAction =\n | SetNavbarVariant\n | SetSidebarSkin\n | ToggleSidebarMenu\n | ToggleControlSidebar\n | ToggleDarkMode\n | SetWindowSize;\n","import { getHeaders } from '@/utils/getHeaders';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\nimport { BehaviorSubject } from 'rxjs';\n\n\ninterface DadosCadastrais {\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DadosCadastraisService {\n private api = environment.endpoint_api\n public dadosCadastrais: any = {}\n public _dadosCadastraisPublico: BehaviorSubject = new BehaviorSubject({})\n\n dadosCadastraisPublico$: any = this._dadosCadastraisPublico.asObservable()\n\n constructor(\n private http: HttpClient\n ) {}\n\n getDadosCadastrais(idUsuario: number | string) {\n const classeContexto = this\n const headers = getHeaders()\n\n this.http.get(this.api + \"/Usuario/ObterDadosCadastrais/\" + idUsuario, { headers }).subscribe({\n next(response) {\n classeContexto.dadosCadastrais = response\n classeContexto._dadosCadastraisPublico.next(response)\n },\n error(error) {\n }\n })\n }\n getPerfis() {\n const headers = getHeaders()\n\n this.http.get(this.api + \"/Perfil/ListarAtivos\", { headers }).subscribe({\n next(response) {\n },\n error(error) {\n }\n })\n }\n\n}\n","import {getHeaders} from '@/utils/getHeaders';\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {environment} from 'environments/environment';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnamneseService {\n private api = environment.endpoint_api\n public carregandoValidarAnamnese: boolean = false\n\n private _anamneseDadosValidarEtapas: BehaviorSubject = new BehaviorSubject({})\n private _anamnese: BehaviorSubject = new BehaviorSubject({})\n private _loadingAnamnese: BehaviorSubject = new BehaviorSubject(false)\n\n ananmese$: Observable = this._anamnese.asObservable()\n ananmeseDadosValidarEtapas$: Observable = this._anamneseDadosValidarEtapas.asObservable()\n loadingAnamnse$: Observable = this._loadingAnamnese.asObservable()\n\n constructor(private http: HttpClient) {\n }\n\n getAnamneseDadosValidarEtapas() {\n return this._anamneseDadosValidarEtapas.getValue()\n }\n\n setAnamneseDadosValidarEtapas(newValue: any) {\n return this._anamneseDadosValidarEtapas.next(newValue)\n }\n\n getAnamnese() {\n return this._anamnese.getValue()\n }\n\n setAnamnese(newAnamnese: any) {\n this._anamnese.next(newAnamnese)\n }\n\n getAnamneseRequest(hashAnamnese: string) {\n const headers = getHeaders();\n this._loadingAnamnese.next(true);\n \n this.http.get(this.api + \"/Anamnese/ObterPorHash/\" + hashAnamnese, { headers }).subscribe({\n next: (response) => {\n this._anamnese.next(response);\n this._loadingAnamnese.next(false);\n },\n error: (error) => {\n this._loadingAnamnese.next(false);\n console.error('Erro ao obter anamnese:', error);\n }\n });\n }\n\n getObterLinkAvaliacao(hashAnamnese: string) {\n const headers = getHeaders()\n return this.http.get(this.api + \"/Anamnese/ObterLinkParaAvaliacao/\" + hashAnamnese, {headers})\n }\n\n //post anamnese/consultar\n postAnamneseConsultar(dataPesquisa: any) {\n const headers = getHeaders()\n return this.http.post(`${this.api}/Anamnese/Consultar`, { ...dataPesquisa }, { headers })\n }\n\n putDevolverAnamnese(data: any) {\n const headers = getHeaders()\n return this.http.put(`${this.api}/Anamnese/DevolverAnamnese`, { ...data }, { headers })\n }\n \n\n putAnamnese(dadosAnamneseAtualizados: any) {\n const headers = getHeaders()\n return this.http.put(this.api + \"/Anamnese/AtualizarAnamnese\", dadosAnamneseAtualizados, {headers})\n }\n\n comecarAnamnese(hash: string) {\n const headers = getHeaders()\n\n const body = {\n Hash: hash\n }\n return this.http.put(this.api + \"/Anamnese/ComecarAnamnese\", body, {headers})\n }\n\n obterTempoSentado(dadosAnamneseAtualizados: any) {\n const headers = getHeaders()\n\n return this.http.post(this.api + \"/Anamnese/ObterTemposSentado\", dadosAnamneseAtualizados, {headers})\n }\n\n validarAnamnese(dadosAnamneseAtualizados: any) {\n const headers = getHeaders()\n this.carregandoValidarAnamnese = true\n\n return this.http.put(this.api + \"/Anamnese/ValidarEtapas\", dadosAnamneseAtualizados, {headers})\n }\n\n\n retornarResultadoAnamnese(hashAnamnese: string) {\n const classeContexto = this\n const headers = getHeaders()\n return this.http.get(this.api + \"/Checkup/RetornarResultados\", {headers, params: {anamnese_hash: hashAnamnese}})\n }\n\n finalizarAnamnese() {\n const headers = getHeaders()\n return this.http.put(this.api + \"/Anamnese/FinalizarAnamnese\", this.getAnamnese(), {headers})\n }\n\n getVisualizarAnamnese(hashAnamnese: string) {\n const headers = getHeaders()\n return this.http.get(this.api + \"/Anamnese/ObterPorHash/\" + hashAnamnese, {headers})\n }\n\n getBuscarMedicamentos() {\n const headers = getHeaders()\n return this.http.get(this.api + \"/Medicamento/BuscarMedicamentos\", {headers})\n }\n}\n","import {getHeaders} from '@/utils/getHeaders';\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {environment} from 'environments/environment';\n\n@Injectable({providedIn: 'root'})\nexport class ProfessorService {\n private api = environment.endpoint_api;\n\n constructor(private http: HttpClient) {}\n\n getIdadePacientes() {\n const headers = getHeaders();\n return this.http.get(\n this.api + '/AcessoAdministrador/ConsultarIdadePorGenero',\n {headers}\n );\n }\n\n getConsultaZPorGenero() {\n const headers = getHeaders();\n return this.http.get(\n this.api + '/AcessoAdministrador/ConsultarZPorGenero',\n {headers}\n );\n }\n\n getConsultaBiomarcadores() {\n const headers = getHeaders();\n return this.http.get(\n this.api + '/AcessoAdministrador/ObterResultadosBiomarcadores',\n {headers}\n );\n }\n\n getListaPacientesProfessor(id) {\n const headers = getHeaders();\n return this.http.get(this.api + `/Usuario/ListarClientes/${id}`, {\n headers\n });\n }\n\n getCupomProfessor() {\n const headers = getHeaders();\n return this.http.get(this.api + '/Cupom/ConsultarMeusCupons', {\n headers\n });\n }\n\n getAvaliacaoAnamnese(hashAnamnese) {\n const headers = getHeaders();\n return this.http.get(\n this.api + '/Avaliacao/ObterPorHash/' + hashAnamnese,\n {headers}\n );\n }\n\n //page /acesso-avaliador/usuarios\n postListaUsuariosAvaliador(data: any) {\n const headers = getHeaders();\n return this.http.post(\n this.api + '/Usuario/Consultar',\n {...data},\n {headers}\n );\n }\n\n //page /acesso-avaliador/meus-clientes\n getListaClientesProfessor() {\n const headers = getHeaders();\n return this.http.get(this.api + `/Usuario/ListarClientes`, {headers});\n }\n\n //page /acesso-avaliador/usuarios-avaliacoes\n postListaUsuariosAvaliacoes(data: any) {\n const headers = getHeaders();\n return this.http.post(\n this.api + '/Avaliacao/Consultar',\n {...data},\n {headers}\n );\n }\n\n putDevolverAvaliacao(data: any) {\n const headers = getHeaders();\n return this.http.put(\n this.api + '/Avaliacao/DevolverAvaliacao',\n {...data},\n {headers}\n );\n }\n\n putEditarAvaliacao(data: any) {\n const headers = getHeaders();\n return this.http.put(this.api + '/Avaliacao', {...data}, {headers});\n }\n\n finalizarAvaliacao(data: any) {\n const headers = getHeaders();\n return this.http.put(\n this.api + '/Avaliacao/FinalizarAvaliacao/',\n {...data},\n {headers}\n );\n }\n\n postEnviarSenha(data: any) {\n const headers = getHeaders();\n return this.http.post(\n this.api + '/Usuario/ReenviarSenha',\n {...data},\n {headers}\n );\n }\n\n comecarAnamnese(hash: string) {\n const headers = getHeaders();\n\n const body = {\n Hash: hash\n };\n return this.http.put(this.api + '/Anamnese/ComecarAnamnese', body, {\n headers\n });\n }\n\n postIncluirUsuario(data: any) {\n const headers = getHeaders();\n return this.http.post(this.api + '/Usuario', {...data}, {headers});\n }\n\n postAtualizarDadosCadastrais(data: any) {\n const headers = getHeaders();\n return this.http.post(\n this.api + '/Usuario/AtualizarDadosCadastrais',\n {...data},\n {headers}\n );\n }\n\n putEditarUsuario(data: any) {\n const headers = getHeaders();\n return this.http.put(this.api + '/Usuario', {...data}, {headers});\n }\n\n getConsultarEvolucaoPorGenero() {\n const headers = getHeaders();\n return this.http.get(\n `${this.api}/AcessoAdministrador/ConsultarEvolucaoPorGenero`,\n {headers}\n );\n }\n\n getObterListaAvaliadores() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Usuario/ObterListaAvaliadores`, {\n headers\n });\n }\n\n getObterListaClientesSelect() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Usuario/ObterListaClientes`, {\n headers\n });\n }\n\n getObterListaClientesGrupoSelect() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Grupo/ListarAtivos`, {headers});\n }\n\n getObterCheckupsUsuario(IDUsuario: string) {\n const headers = getHeaders();\n return this.http.get(\n `${this.api}/Usuario/CheckupsUsuario/${IDUsuario}`,\n {headers}\n );\n }\n\n getObterListaClientes(IDUsuario: string) {\n const headers = getHeaders();\n return this.http.get(\n `${this.api}/Usuario/listarClientes/${IDUsuario}`,\n {headers}\n );\n }\n\n getListaPlanosAtivos() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Plano/ListarAtivos`, {headers});\n }\n\n getObterDadosCadastro(IDUsuario: string) {\n const headers = getHeaders();\n return this.http.get(\n `${this.api}/Usuario/ObterDadosCadastrais/${IDUsuario}`,\n {headers}\n );\n }\n\n postRemoverClienteAvaliador(data: any) {\n const headers = getHeaders();\n return this.http.post(\n `${this.api}/Usuario/RemoverClienteAvaliador`,\n {...data},\n {headers}\n );\n }\n\n postNovoCheckup(data: any) {\n const headers = getHeaders();\n return this.http.post(`${this.api}/Checkup`, {...data}, {headers});\n }\n\n getListaSenhasProvisorias() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Usuario/ListarSenhasProvisorias`, {\n headers\n });\n }\n\n //post /Checkup/Consultar\n postConsultarCheckup(data: any) {\n const headers = getHeaders();\n return this.http.post(\n `${this.api}/Checkup/Consultar`,\n {...data},\n {headers}\n );\n }\n\n getObterCheckup(hash: string) {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Checkup/ObterPorHash/${hash}`, {\n headers\n });\n }\n\n postIncluirCheckup(data: any) {\n const headers = getHeaders();\n return this.http.post(`${this.api}/Checkup`, {...data}, {headers});\n }\n\n putIncluirCheckup(data: any) {\n const headers = getHeaders();\n return this.http.put(`${this.api}/Checkup`, {...data}, {headers});\n }\n\n //redefinir-senha\n postRedefinirSenha(data: any) {\n const headers = getHeaders();\n return this.http.post(\n `${this.api}/Usuario/RedefinirSenha`,\n {...data},\n {headers}\n );\n }\n //alterar senha aluno\n postAlterarSenha(data: any) {\n const headers = getHeaders();\n return this.http.post(\n `${this.api}/Usuario/AlterarSenha`,\n {...data},\n {headers}\n );\n }\n\n //get ObterCheckupsCliente\n getObterCheckupsCliente(id: string) {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Usuario/ObterCheckupsCliente/${id}`, {\n headers\n });\n }\n\n //get /ListarUsuariosOnlines\n getListarUsuariosOnlines() {\n const headers = getHeaders();\n return this.http.get(`${this.api}/Usuario/ListarUsuariosOnlines`, {\n headers\n });\n }\n\n //post generate-url profile pic\n generateUrlProfilePic(idUsuario: number | string, filename: string) {\n const headers = getHeaders();\n const body = {filename};\n\n return this.http.post(\n `${this.api}/Usuario/generate-url/${idUsuario}`,\n body,\n {headers}\n );\n }\n\n //put guardaFotoS3\n guardaFotoS3(url: string, file: File, fileType: string) {\n // fileType: 'image/jpeg'\n return this.http.put(url, file, {\n headers: {\n 'Content-Type': fileType\n }\n });\n }\n}\n","import {animate, AUTO_STYLE, state, style, transition, trigger} from '@angular/animations';\n\nconst TRANSITION_DURATION = 250;\n\nexport const openCloseAnimation = trigger('openClose', [\n state('true', style({ height: AUTO_STYLE })),\n state('false', style({ height: 0 })),\n transition('false <=> true', animate(`${TRANSITION_DURATION}ms ease-in`))\n]);\n\nexport const rotateAnimation = trigger('rotate', [\n state('true', style({ transform: 'rotate(90deg)' })),\n transition('false <=> true', animate(`${TRANSITION_DURATION}ms ease-out`))\n]);\n","// menu.service.ts\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuAvaliadorService {\n public menuState = new BehaviorSubject(false);\n menuState$ = this.menuState.asObservable();\n\n toggleMenu() {\n this.menuState.next(!this.menuState.value);\n }\n\n setMenuState(state: boolean) {\n this.menuState.next(state);\n }\n}\n","
\n\n\n\n\n\n\n\n \n

{{ menuItem.name }}

\n 0\"\n class=\"rotate\"\n [@rotate]=\"isMenuExtended\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n \n \n \n\n\n\n
  • \n \n

    {{ item.name }}

    \n \n
  • \n\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { openCloseAnimation, rotateAnimation } from './menu-item.animations';\nimport { MenuAvaliadorService } from '@services/dashboard/menu-avaliador/menu-avaliador.service';\n \n@Component({\n selector: 'app-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n animations: [openCloseAnimation, rotateAnimation]\n})\nexport class MenuItemComponent implements OnInit {\n @Input() menuItem: any = null;\n @Input() textColor: any = 'text-white';\n public isExpandable: boolean = false;\n @HostBinding('class.nav-item') isNavItem: boolean = true;\n @HostBinding('class.menu-open') isMenuExtended: boolean = false;\n public isMainActive: boolean = false;\n public isOneOfChildrenActive: boolean = false;\n\n constructor(private router: Router, private menuService: MenuAvaliadorService) {}\n\n ngOnInit(): void {\n if (this.menuItem && this.menuItem.children && this.menuItem.children.length > 0) {\n this.isExpandable = true;\n }\n this.calculateIsActive(this.router.url);\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.calculateIsActive(event.url);\n });\n if (this?.menuItem?.textColor) {\n this.textColor = this.menuItem.textColor;\n }\n\n // Subscrição para o estado do menu\n this.menuService.menuState$.subscribe(state => {\n this.isMenuExtended = state;\n });\n }\n\n public handleMainMenuAction() {\n if (this.isExpandable) {\n this.toggleMenu();\n return;\n }\n this.menuItem.onclick();\n }\n\n public toggleMenu() {\n this.isMenuExtended = !this.isMenuExtended;\n }\n\n public calculateIsActive(url: string) {\n this.isMainActive = false;\n this.isOneOfChildrenActive = false;\n if (this.isExpandable) {\n this.menuItem.children.forEach((item) => {\n if (item.path[0] === url) {\n this.isOneOfChildrenActive = true;\n this.isMenuExtended = true;\n }\n });\n } else if (this.menuItem.path[0] === url) {\n this.isMainActive = true;\n }\n if (!this.isMainActive && !this.isOneOfChildrenActive) {\n this.isMenuExtended = false;\n }\n if (window.innerWidth <= 926) {\n this.isMenuExtended = true;\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 Alterar Foto\n \n \n
    \n\n
    \n
    \n\n
    \n \n {{\n pegarPrimeiroNomeESegundoNomeDaString(\n user?.Nome\n )\n }}\n \n\n
    \n \n Classificação de saúde:\n \n \n \n {{ tipoZ }}\n \n
    \n\n
    \n Idade: \n \n \n \n {{\n dadosCadastraisService.dadosCadastrais.Idade\n ? dadosCadastraisService.dadosCadastrais\n .Idade + ' anos'\n : 'Sem informação'\n }}\n \n
    \n\n
    \n Peso: \n \n {{\n anamnese?.Etapa2?.Peso\n ? anamnese?.Etapa2?.Peso + ' kg'\n : 'Sem informação'\n }}\n \n
    \n\n
    \n IMC: \n \n Sem informação\n \n
    \n
    \n
    \n \n\n \n\n \n \n\n \n \n Equipe SAFE®\n \n \n \n \n \n \n \n \n\n","import {AppState} from '@/store/state';\nimport {UiState} from '@/store/ui/state';\nimport {Component, HostBinding, Input, OnDestroy, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {Store} from '@ngrx/store';\nimport {AppService} from '@services/app.service';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {DadosCadastraisService} from '@services/dashboard/dados-cadastrais/dados-cadastrais.service';\nimport {ProfessorService} from '@services/dashboard/professor/professor.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {Observable, Subscription} from 'rxjs';\n\nconst BASE_CLASSES = 'main-sidebar d-flex align-items-center';\n\n@Component({\n selector: 'app-menu-sidebar',\n templateUrl: './menu-sidebar.component.html',\n styleUrls: ['./menu-sidebar.component.scss']\n})\nexport class MenuSidebarComponent implements OnInit, OnDestroy {\n @HostBinding('class') classes: string = BASE_CLASSES;\n public ui: Observable;\n public user;\n public profilePic;\n public menu = [];\n public menusBackend = [];\n public anamnese: any;\n public usuarioLogado = null;\n @Input() perfilTipo: number;\n public isAvaliador: boolean = false;\n public tipoZ: number | any;\n public hoverImage = false;\n public isMenuOpen = false;\n\n anamneseSubscription: Subscription;\n imc = 0;\n\n constructor(\n public appService: AppService,\n private store: Store,\n private anamneseService: AnamneseService,\n public dadosCadastraisService: DadosCadastraisService,\n private router: Router,\n private ac: ActivatedRoute,\n private toastr: ToastrService,\n private professorService: ProfessorService\n ) {}\n\n public toggleMenu() {\n this.isMenuOpen = !this.isMenuOpen;\n }\n\n public toggleMenuMobile() {\n if (window.innerWidth < 926) {\n this.isMenuOpen = !this.isMenuOpen;\n }\n }\n\n ngOnInit() {\n this.anamnese = this.anamneseService.getAnamnese();\n // this.getObterMenus()\n this.ui = this.store.select('ui');\n this.ui.subscribe((state: UiState) => {\n this.classes = `${BASE_CLASSES} ${state.sidebarSkin}`;\n });\n this.user = this.appService.getDadosUsuarioLogadoStorage();\n this.profilePic = this.user?.ProfileImage;\n this.anamneseSubscription = this.anamneseService.ananmese$.subscribe(\n (novoValor) => {\n this.anamnese = novoValor;\n\n if (novoValor?.Z) {\n this.tipoZ = `Z` + novoValor?.Z;\n } else if (novoValor?.Z == 0) {\n this.tipoZ = `Z` + 0;\n } else {\n this.tipoZ = 'Sem informação';\n }\n }\n );\n\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage();\n if (this.usuarioLogado?.ID) {\n this.dadosCadastraisService.getDadosCadastrais(\n this.usuarioLogado.ID\n );\n }\n\n /**\n * Perfil tipo 3 = aluno\n * Perfil 1, 2 e 4 = Avaliador\n *\n */\n const isAvaliador: boolean = this.perfilTipo != 3;\n this.isAvaliador = isAvaliador;\n if (isAvaliador) {\n this.montarMenuAvaliador();\n } else {\n this.montarMenuAluno();\n }\n }\n\n onFileSelected(event: Event) {\n const fileInput = event.target as HTMLInputElement;\n if (fileInput.files && fileInput.files.length > 0) {\n const file = fileInput.files[0];\n\n const maxSizeInMB = 2;\n if (file.size > maxSizeInMB * 1024 * 1024) {\n alert(`A imagem deve ter no máximo ${maxSizeInMB}MB.`);\n return;\n }\n\n const reader = new FileReader();\n reader.onload = (e: ProgressEvent) => {\n const result = e.target?.result;\n if (result) {\n this.profilePic = result as string;\n }\n };\n reader.readAsDataURL(file);\n\n const filename = file.name;\n this.professorService\n .generateUrlProfilePic(this.usuarioLogado.ID, filename)\n .subscribe({\n next: (response: any) => {\n const url = response.url;\n this.professorService\n .guardaFotoS3(url, file, file.type)\n .subscribe({\n next: () => {\n this.toastr.success(\n 'Sucesso',\n 'Imagem de perfil atualizada'\n );\n this.appService.obtemUsuarioLogado(\n this.usuarioLogado.ID\n );\n },\n error: () => {\n this.toastr.error(\n 'Erro',\n 'Erro ao atualizar imagem de perfil'\n );\n }\n });\n },\n error: () => {\n this.toastr.error(\n 'Erro',\n 'Erro ao atualizar imagem de perfil'\n );\n }\n });\n }\n }\n\n mudarPerfil() {\n if (this.router.url.includes('/acesso-avaliador')) {\n this.router.navigate(['/dashboard/acesso-aluno']);\n return;\n }\n\n if (this.router.url.includes('/acesso-aluno')) {\n this.router.navigate(['/dashboard/acesso-avaliador']);\n return;\n }\n }\n\n ebooks() {\n this.router.navigate(['/dashboard/acesso-avaliador/ebooks']);\n }\n\n portalSafe() {\n window.open(\n 'https://www.portal.metodosafe.com.br/auth/login',\n '_blank'\n );\n }\n\n inscricaoSafe() {\n window.open('https://imersao.metodosafe.com.br/inscricao', '_blank');\n }\n\n duvidaSafe() {\n this.router.navigate(['/dashboard/acesso-avaliador/duvidas']);\n }\n\n graficosSafe() {\n console.log('graficos');\n this.router.navigate(['/graficos-plataforma']);\n }\n\n comunidadeSafe() {\n window.open(\n 'https://www.facebook.com/groups/2364783083736796',\n '_blank'\n );\n }\n\n suporteSafe() {\n window.open(\n 'https://api.whatsapp.com/send?phone=556182516727',\n '_blank'\n );\n }\n\n inicioAluno() {\n this.router.navigate(['/dashboard/acesso-aluno']);\n }\n\n meusDados() {\n this.router.navigate(['/dashboard/acesso-aluno/meus-dados']);\n }\n\n meusCheckups() {\n this.router.navigate(['/dashboard/acesso-aluno/meus-checkups']);\n }\n\n alterarSenhaAluno() {\n this.router.navigate(['/dashboard/acesso-aluno/alterar-senha-aluno']);\n }\n\n // monta o menu lateral do professor\n montarMenuAvaliador() {\n const classeContexto = this;\n this.menu = [\n {\n name: 'Página Inicial',\n path: ['/dashboard/acesso-avaliador'],\n onclick() {\n classeContexto.router.navigate([\n '/dashboard/acesso-avaliador'\n ]);\n },\n children: []\n },\n {\n name: 'Cadastros',\n path: ['/dashboard/acesso-avaliador'],\n onclick: function () {},\n children: [\n {\n name: 'Dados Pessoais completos',\n path: ['/dashboard/acesso-avaliador/usuarios'],\n id: 'menu-item-dados'\n },\n {\n name: 'Meus Clientes',\n path: ['/dashboard/acesso-avaliador/meus-clientes'],\n id: 'menu-item-clientes'\n },\n {\n name: 'Avaliação Física',\n path: [\n '/dashboard/acesso-avaliador/usuarios-avaliacoes'\n ],\n id: 'menu-item-avaliacaofisica'\n },\n {\n name: 'Avaliação Mente',\n path: ['/dashboard/acesso-avaliador/anamneses'],\n id: 'menu-item-avaliacaomente'\n },\n {\n name: 'Senha do cliente reenviada',\n path: [\n '/dashboard/acesso-avaliador/senhas-provisorias'\n ],\n id: 'menu-item-senhacliente'\n },\n {\n name: 'Cadastrar nova avaliação',\n path: ['/dashboard/acesso-avaliador/checkups'],\n id: 'menu-item-cadastrarnovaavaliacao'\n }\n ]\n },\n {\n name: 'Relatórios',\n path: ['/dashboard/acesso-avaliador'],\n onclick: function () {\n this.router.navigator(['/dashboard/acesso-avaliador']);\n },\n children: [\n {\n name: 'Relatório dos meus CHECK-UPS ',\n path: [\n '/dashboard/acesso-avaliador/relatorios/relatorio-evolucao'\n ],\n id: 'menu-item-relatoriomeuscheckups'\n },\n {\n name: 'Biomarcadores SAFE®',\n path: [\n '/dashboard/acesso-avaliador/relatorios/biomarcadores-safe'\n ],\n id: 'menu-item-relatoriobiomarcadoressafe'\n },\n {\n name: 'Código para cadastrar meu cliente',\n path: [\n '/dashboard/acesso-avaliador/relatorios/pre-cadastro'\n ],\n id: 'menu-item-relatorioprecadastro'\n },\n {\n name: 'CHECK-UPS por período',\n path: [\n '/dashboard/acesso-avaliador/relatorios/relatorio-checkup-por-periodo'\n ],\n id: 'menu-item-relatoriocheckupssafeporperiodo'\n },\n {\n name: 'Aniversariantes do Mês',\n path: [\n '/dashboard/acesso-avaliador/relatorios/relatorio-aniversariantes-mes'\n ],\n id: 'menu-item-relatorioaniversariantemes'\n }\n /* {\n name: 'Tabela de Gordura',\n path: ['/dashboard/acesso-avaliador/tabela-gordura']\n },{\n name: 'Auto Consciência',\n path: ['/dashboard/acesso-avaliador/relatorios/auto-consciencia']\n }, */\n ]\n },\n {\n name: 'Livros',\n path: [],\n id: 'menu-item-livrosdigitais',\n onclick: () => this.ebooks(),\n children: []\n },\n {\n name: 'SAFEFLIX',\n path: [],\n id: 'menu-item-safeflix',\n onclick: () => this.portalSafe(),\n children: []\n },\n {\n name: 'Tire sua dúvida aqui',\n path: [],\n id: 'menu-item-duvida',\n onclick: () => this.duvidaSafe(),\n children: []\n },\n {\n name: 'Comunidade SAFE®',\n path: [],\n id: 'menu-item-comunidade',\n onclick: () => this.comunidadeSafe(),\n children: []\n },\n {\n name: 'Suporte SAFE®',\n path: [],\n id: 'menu-item-suporte',\n onclick: () => this.suporteSafe(),\n children: []\n },\n {\n name: 'Gráficos SAFE®',\n path: [],\n id: 'menu-item-graficos',\n onclick: () => this.graficosSafe(),\n children: []\n },\n {\n name: 'Sair',\n onclick: () => this.appService.logout(),\n children: [],\n path: []\n }\n ];\n\n if (this.user?.Perfil?.ID == 4 || this.user?.Perfil?.ID == 1) {\n this.menu.splice(1, 0, {\n name: 'Mudar Perfil',\n path: ['/dashboard/acesso-avaliador'],\n onclick: () => this.mudarPerfil(),\n children: []\n });\n }\n\n if (this.user?.Perfil?.ID == 1) {\n //adiciona o menu de cupons em cadastros\n this.menu[2].children.push({\n name: 'Meus Links',\n path: ['/dashboard/acesso-avaliador/cupons']\n });\n }\n if (this.user?.Perfil?.ID == 1) {\n //adiciona o menu de cupons em cadastros\n this.menu[3].children.push({\n name: 'Ranking dos avaliadores',\n path: [\n '/dashboard/acesso-avaliador/relatorios/relatorio-ranking-avaliadores'\n ]\n });\n }\n if (this.user?.Perfil?.ID == 1) {\n //adiciona o menu de cupons em cadastros\n this.menu[2].children.push({\n name: 'Usuários Onlines',\n path: ['/dashboard/acesso-avaliador/usuarios-onlines']\n });\n }\n }\n\n // monta o menu lateral do aluno\n montarMenuAluno() {\n this.menu = [\n {\n name: 'Página Inicial',\n path: ['/dashboard/acesso-aluno'],\n children: [],\n onclick: () => this.inicioAluno()\n },\n\n {\n name: 'CHECK-UPS',\n path: ['/dashboard/acesso-aluno/meus-checkups'],\n children: [],\n onclick: () => this.meusCheckups()\n },\n {\n name: 'Alterar Senha',\n path: ['/dashboard/acesso-aluno/alterar-senha-aluno'],\n children: [],\n onclick: () => this.alterarSenhaAluno()\n },\n {\n name: 'Gráficos SAFE®',\n path: ['/graficos-plataforma'],\n onclick: () => this.graficosSafe(),\n children: []\n },\n {\n name: 'Sair',\n children: [],\n onclick: () => this.appService.logout(),\n path: []\n }\n ];\n\n if (this.user?.Perfil?.ID == 4 || this.user?.Perfil?.ID == 1) {\n this.menu.splice(1, 0, {\n name: 'Mudar Perfil',\n path: ['/dashboard/acesso-aluno'],\n onclick: () => this.mudarPerfil(),\n children: []\n });\n }\n if (this.user?.Perfil?.ID == 3 || this.user?.Perfil?.ID == 2) {\n this.menu.splice(2, 0, {\n name: 'Meus Dados',\n path: ['/dashboard/acesso-aluno/meus-dados'],\n onclick: () => this.meusDados(),\n children: []\n });\n }\n }\n\n logout() {\n this.appService.logout();\n }\n\n ngOnDestroy() {\n this.anamneseSubscription.unsubscribe();\n }\n\n /**\n *\n * Essa funcao pega os menus da API (do sistema antigo)\n *\n */\n getObterMenus() {\n this.appService.getObterMenus().subscribe({\n next: (response: Array) => {\n const menus = [];\n for (const menu of response) {\n // verifico se o menu existe pela Categoria (Só pode haver 1 categoria no menu)\n let menuExiste = menus.find(\n (m) => m.category == menu?.Categoria\n );\n\n if (!menuExiste) {\n // se ele não existir, crio um menu virtual\n menuExiste = {\n category: menu?.Categoria,\n name: menu?.Categoria,\n iconClasses: menu?.Icone,\n children: []\n };\n\n // depois, adiciono nesse menu virtual todos os submenus dele, de acordo com a categoria\n for (const submenu of response) {\n if (menu?.Categoria == submenu?.Categoria) {\n menuExiste.children.push({\n name: submenu?.Nome,\n iconClasses: submenu?.Icone,\n path: [\n this.formatarURLObterMenus(submenu?.Url)\n ]\n });\n }\n }\n\n // adiciono o menu virtual a lista de menus (com todos teus respectivos submenus)\n menus.push(menuExiste);\n }\n }\n this.menu = menus;\n },\n error: (error) => {}\n });\n }\n\n /**\n *\n *\n * URL armazena a URL do sistema antigo (que é meio zuada)\n * Aqui a gente converte pra uma URL que da pra usar no sistema novo\n *\n */\n formatarURLObterMenus(url: string | undefined) {\n if (!url) return '';\n const urlFormatada = url.split('Dashboard/#!')[1];\n return `/dashboard/${urlFormatada}`;\n }\n\n pegarPrimeiroNomeESegundoNomeDaString(nome: string | undefined) {\n if (!nome) return '';\n\n // Divide o nome completo em partes separadas pelo espaço em branco\n const partesNome = nome.trim().split(' ');\n\n // Verifica se há mais de um elemento no array partesNome\n if (partesNome.length > 1) {\n // Se houver mais de um elemento, retorna o primeiro nome e o primeiro sobrenome\n return partesNome[0] + ' ' + partesNome[partesNome.length - 1];\n } else {\n // Se houver apenas um elemento, retorna somente o nome\n return partesNome[0];\n }\n }\n}\n\nexport const MENU = [\n {\n name: 'Dashboard',\n iconClasses: 'fas fa-tachometer-alt',\n path: ['/']\n },\n {\n name: 'Blank',\n iconClasses: 'fas fa-file',\n path: ['/blank']\n },\n {\n name: 'Main Menu',\n iconClasses: 'fas fa-folder',\n children: [\n {\n name: 'Sub Menu',\n iconClasses: 'far fa-address-book',\n path: ['/sub-menu-1']\n },\n {\n name: 'Blank',\n iconClasses: 'fas fa-file',\n path: ['/sub-menu-2']\n }\n ]\n }\n];\n","import {Component, HostBinding, OnInit, Renderer2} from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {UiState} from \"@/store/ui/state\";\nimport {Store} from \"@ngrx/store\";\nimport {AppState} from \"@/store/state\";\nimport {AppService} from \"@services/app.service\";\nimport {DadosCadastraisService} from \"@services/dashboard/dados-cadastrais/dados-cadastrais.service\";\nimport {AnamneseService} from \"@services/dashboard/anamnese/anamnese.service\";\nimport {ToggleSidebarMenu} from \"@/store/ui/actions\";\n\n@Component({\n selector: 'app-container-main-aluno',\n templateUrl: './container-main-aluno.component.html',\n styleUrls: ['./container-main-aluno.component.scss']\n})\nexport class ContainerMainAlunoComponent implements OnInit {\n @HostBinding('class') class = 'wrapper';\n public ui: Observable;\n public usuarioLogado = null\n\n constructor(private renderer: Renderer2, private store: Store, private appService: AppService, public dadosCadastraisService: DadosCadastraisService, public anamneseService: AnamneseService) {\n }\n\n ngOnInit() {\n this.ui = this.store.select('ui');\n this.renderer.removeClass(document.querySelector('app-root'), 'login-page');\n this.renderer.removeClass(document.querySelector('app-root'), 'register-page');\n this.renderer.addClass(document.querySelector('app-root'), 'layout-fixed');\n \n this.ui.subscribe(({menuSidebarCollapsed, controlSidebarCollapsed, darkMode}) => {\n if (menuSidebarCollapsed) {\n this.renderer.removeClass(document.querySelector('app-root'), 'sidebar-open');\n this.renderer.addClass(document.querySelector('app-root'), 'sidebar-collapse');\n } else {\n this.renderer.removeClass(document.querySelector('app-root'), 'sidebar-collapse');\n this.renderer.addClass(document.querySelector('app-root'), 'sidebar-open');\n }\n\n if (controlSidebarCollapsed) {\n this.renderer.removeClass(document.querySelector('app-root'), 'control-sidebar-slide-open');\n } else {\n this.renderer.addClass(document.querySelector('app-root'), 'control-sidebar-slide-open');\n }\n\n if (darkMode) {\n this.renderer.addClass(document.querySelector('app-root'), 'dark-mode');\n } else {\n this.renderer.removeClass(document.querySelector('app-root'), 'dark-mode');\n }\n });\n\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n if (this.usuarioLogado?.ID) {\n this.dadosCadastraisService.getDadosCadastrais(this.usuarioLogado.ID)\n }\n\n\n //se for dispositivo mobile, deixar o menu lateral fechado\n // @ts-ignore\nif (window.innerWidth < 926 && this.store?.source?._value?.ui?.menuSidebarCollapsed == false) {\n this.store.dispatch(new ToggleSidebarMenu());\n}\n }\n\n \n}\n","\n
    \n \n \n
    \n \n
    \n \n \n \n
    \n","import {Component, HostBinding, OnInit, Renderer2} from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {UiState} from \"@/store/ui/state\";\nimport {Store} from \"@ngrx/store\";\nimport {AppState} from \"@/store/state\";\nimport {AppService} from \"@services/app.service\";\nimport {DadosCadastraisService} from \"@services/dashboard/dados-cadastrais/dados-cadastrais.service\";\nimport {AnamneseService} from \"@services/dashboard/anamnese/anamnese.service\";\nimport {ToggleSidebarMenu} from \"@/store/ui/actions\";\n\n@Component({\n selector: 'app-container-main-avaliador',\n templateUrl: './container-main-avaliador.component.html',\n styleUrls: ['./container-main-avaliador.component.scss']\n})\nexport class ContainerMainAvaliadorComponent implements OnInit {\n @HostBinding('class') class = 'wrapper';\n public ui: Observable;\n public usuarioLogado = null\n\n constructor(private renderer: Renderer2, private store: Store, private appService: AppService, public dadosCadastraisService: DadosCadastraisService, public anamneseService: AnamneseService) {\n }\n\n ngOnInit() {\n this.ui = this.store.select('ui');\n this.renderer.removeClass(document.querySelector('app-root'), 'login-page');\n this.renderer.removeClass(document.querySelector('app-root'), 'register-page');\n this.renderer.addClass(document.querySelector('app-root'), 'layout-fixed');\n\n this.ui.subscribe(({menuSidebarCollapsed, controlSidebarCollapsed, darkMode}) => {\n if (menuSidebarCollapsed) {\n this.renderer.removeClass(document.querySelector('app-root'), 'sidebar-open');\n this.renderer.addClass(document.querySelector('app-root'), 'sidebar-collapse');\n } else {\n this.renderer.removeClass(document.querySelector('app-root'), 'sidebar-collapse');\n this.renderer.addClass(document.querySelector('app-root'), 'sidebar-open');\n }\n\n if (controlSidebarCollapsed) {\n this.renderer.removeClass(document.querySelector('app-root'), 'control-sidebar-slide-open');\n } else {\n this.renderer.addClass(document.querySelector('app-root'), 'control-sidebar-slide-open');\n }\n\n if (darkMode) {\n this.renderer.addClass(document.querySelector('app-root'), 'dark-mode');\n } else {\n this.renderer.removeClass(document.querySelector('app-root'), 'dark-mode');\n }\n });\n\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n if (this.usuarioLogado?.ID) {\n this.dadosCadastraisService.getDadosCadastrais(this.usuarioLogado.ID)\n }\n\n // @ts-ignore\nif (window.innerWidth < 926 && this.store?.source?._value?.ui?.menuSidebarCollapsed == false) {\n this.store.dispatch(new ToggleSidebarMenu());\n}\n }\n\n onToggleMenuSidebar() {\n this.store.dispatch(new ToggleSidebarMenu());\n }\n}\n","
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n","
    \n
    \n
    \n
    \n \n
    \n\n \n Meus CHECK-UPS\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 Avaliador\n \n CHECK UP Virtual\n \n Avaliação Física\n \n Z\n \n Laudo\n
    \n Nenhum Checkup encontrado.\n
    {{ paciente.Avaliador }}\n {{ paciente.DataCheckup ?\n formatDate(paciente.DataCheckup) : 'Não\n realizado' }}\n \n {{ paciente.DataAvaliacao ?\n formatDate(paciente.DataAvaliacao) : 'Não\n realizado' }}\n {{ paciente.Z }}\n \n Baixar\n \n
    \n \n Loading...\n \n
    \n
    \n
    \n
    \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppService } from '@services/app.service';\n \n@Component({\n selector: 'app-checkups-aluno',\n templateUrl: './checkups-aluno.html',\n styleUrls: ['./checkups-aluno.scss']\n})\nexport class checkupsAluno {\n public listaPacientes: any;\n public nenhumUsuarioEncontrado: boolean = true;\n public loadingListaPacientes: boolean = false;\n public usuarioLogado: any\n \n \n\n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private appService: AppService\n ) {}\n\n ngOnInit(): void {\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n if (this.usuarioLogado?.ID) {\n this.professorService.getObterCheckupsCliente(this.usuarioLogado.ID).subscribe((res: any) => {\n this.listaPacientes = res\n this.nenhumUsuarioEncontrado = this.listaPacientes.length === 0 ? true : false\n this.loadingListaPacientes = false\n }, err => {\n this.loadingListaPacientes = false\n this.toastr.error('Erro ao buscar checkups do cliente')\n } \n )\n }\n\n }\n\n abrirLaudo(hash) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${hash}`, \"_blank\")\n\n }\n \n\nformatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n}\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n constructor(private http: HttpClient) {\n }\n\n buscarViaCEP(cep:string) {\n return this.http.get(`https://viacep.com.br/ws/${cep}/json/`);\n }\n}\n","
    \n
    \n\n
    \n
    \n
    \n
    \n SAFE®\n
    \n
    \n \n Termine seu cadastro!\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n

    Dados Pessoais

    \n \n Bem vindo! Para finalizar seu cadastro, precisamos de algumas informações adicionais.\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 \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
    ","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { AppService } from '@services/app.service';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { DateTime } from 'luxon';\nimport { ApiService } from '@services/api.service';\n\n@Component({\n selector: 'app-modal-termine-cadastro',\n templateUrl: './modal-termine-cadastro.component.html',\n styleUrls: ['./modal-termine-cadastro.component.scss']\n})\nexport class ModalTermineCadastroComponent implements OnInit {\n public etapa1Data = new FormGroup({\n ID: new FormControl(''),\n AceitaCorrespondencia: new FormControl(''),\n Ativo: new FormControl(true),\n Nome: new FormControl(''),\n Login: new FormControl(''),\n TelefoneCelular: new FormControl(''),\n TelefoneFixo: new FormControl(''),\n Email: new FormControl(''),\n DataNascimento: new FormControl(''),\n Ocupacao: new FormControl(''),\n Sexo: new FormControl(''),\n EstadoCivil: new FormControl(''),\n Raca: new FormControl(''),\n GrauEscolaridade: new FormControl(''),\n CEP: new FormControl(''),\n Cidade: new FormControl(''),\n UFEndereco: new FormControl(''),\n Bairro: new FormControl(''),\n Logradouro: new FormControl(''),\n Numero: new FormControl(''),\n PerfilID: new FormControl(''),\n Complemento: new FormControl(''),\n PlanoID: new FormControl(''),\n IdentificadorHash: new FormControl(''),\n UsuarioInclusao: new FormControl(''),\n PerfilIDPreferencial: new FormControl(''),\n DataInclusao: new FormControl(''),\n UsuarioAlteracao: new FormControl(''),\n DataAlteracao: new FormControl(''),\n Idade: new FormControl(''),\n })\n public user: any;\n public isLoadingSalvar = false;\n public loadingDadosUsuario = false;\n public opcoesSexo = [\n { value: 3, label: 'Não Informar' },\n { value: 1, label: 'Masculino' },\n { value: 2, label: 'Feminino' },\n ];\n\n public opcoesEstadoCivil = [\n { value: 1, label: 'Solteiro(a)' },\n { value: 2, label: 'Casado(a)' },\n { value: 3, label: 'União Estável' },\n { value: 4, label: 'Divorciado(a)' },\n { value: 5, label: 'Viúvo(a)' },\n { value: 6, label: 'Outros' },\n ];\n\n public opcoesRaca = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Caboclo(a)' },\n { value: 2, label: 'Mulato(a)' },\n { value: 3, label: 'Cafuzo(a)' },\n { value: 4, label: 'Branco(a)' },\n { value: 5, label: 'Negro(a)' },\n { value: 6, label: 'Índio(a)' }\n ]\n\n public grauEscolaridade = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Ensino Fundamental' },\n { value: 2, label: 'Ensino Médio' },\n { value: 3, label: 'Ensino Superior' },\n { value: 4, label: 'Pós Graduação' },\n { value: 5, label: 'Doutorado' },\n { value: 6, label: 'Pós Doutorado' }\n ]\n\n \n \n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private appService: AppService, private apiservice: ApiService,\n ) {}\n\n ngOnInit(): void {\n this.getDadosUsuario();\n }\n\n buscarEnderecoPorCEP() {\n var cep = this.etapa1Data.value.CEP.replace(/\\D/g, '');\n if (cep != \"\") {\n var validacep = /^[0-9]{8}$/;\n if (validacep.test(cep)) {\n this.apiservice.buscarViaCEP(cep).subscribe((dados: any) => {\n this.etapa1Data.patchValue({\n Logradouro: dados.logradouro,\n Bairro: dados.bairro,\n Cidade: dados.localidade,\n UFEndereco: dados.uf\n });\n });\n }\n }\n \n }\n\n getDadosUsuario(): void {\n let id = JSON.parse(localStorage.getItem('user'))?.ID\n \n this.loadingDadosUsuario = true;\n this.professorService.getObterDadosCadastro(id).subscribe({\n next: (response : any) => {\n this.etapa1Data = new FormGroup({\n ID: new FormControl(response.ID),\n AceitaCorrespondencia: new FormControl(response.AceitaCorrespondencia),\n Ativo: new FormControl(response.Ativo),\n Nome: new FormControl(response.Nome),\n Login: new FormControl(response.Login),\n TelefoneCelular: new FormControl(response.TelefoneCelular),\n TelefoneFixo: new FormControl(response.TelefoneFixo),\n Email: new FormControl(response.Email),\n DataNascimento: new FormControl(DateTime.fromISO(response.DataNascimento).toISODate()),\n Ocupacao: new FormControl(response.Ocupacao),\n Sexo: new FormControl(response.Sexo),\n EstadoCivil: new FormControl(response.EstadoCivil),\n Raca: new FormControl(response.Raca),\n GrauEscolaridade: new FormControl(response.GrauEscolaridade),\n CEP: new FormControl(response.CEP),\n Cidade: new FormControl(response.Cidade),\n UFEndereco: new FormControl(response.UFEndereco),\n Bairro: new FormControl(response.Bairro),\n Logradouro: new FormControl(response.Logradouro),\n Numero: new FormControl(response.Numero),\n PerfilID: new FormControl(response.PerfilID),\n Complemento: new FormControl(response.Complemento),\n PlanoID: new FormControl(response.PlanoID),\n Idade: new FormControl(response.Idade),\n IdentificadorHash: new FormControl(response.IdentificadorHash),\n PerfilIDPreferencial: new FormControl(response.PerfilID),\n UsuarioInclusao: new FormControl(response?.Avaliadores[0]?.Avaliador?.UsuarioInclusao),\n DataInclusao: new FormControl(response?.Avaliadores[0]?.Avaliador?.DataInclusao),\n UsuarioAlteracao: new FormControl(response?.Avaliadores[0]?.Avaliador?.UsuarioAlteracao),\n DataAlteracao: new FormControl(response?.Avaliadores[0]?.Avaliador?.DataAlteracao),\n\n });\n \n this.loadingDadosUsuario = false;\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar dados do usuário, contate o suporte')\n }\n this.loadingDadosUsuario = false;\n }\n });\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n onSalvar() {\n\n\n let dadosParaSalvar = {\n ...this.etapa1Data.value,\n DataNascimento: DateTime.fromISO(this.etapa1Data.value.DataNascimento).toISODate(),\n PerfilID: parseInt(this.etapa1Data.value.PerfilID),\n Sexo: parseInt(this.etapa1Data.value.Sexo),\n EstadoCivil: parseInt(this.etapa1Data.value.EstadoCivil),\n Raca: parseInt(this.etapa1Data.value.Raca),\n GrauEscolaridade: parseInt(this.etapa1Data.value.GrauEscolaridade),\n AceitaCorrespondencia: false,\n Ativo: true,\n PerfilIDPreferencial: parseInt(this.etapa1Data.value.PlanoID),\n }\n \n\n this.isLoadingSalvar = true;\n this.professorService.postAtualizarDadosCadastrais(dadosParaSalvar).subscribe({\n next: (res: any) => {\n this.toastr.success('Usuário salvo com sucesso');\n this.isLoadingSalvar = false;\n this.appService.closeModal()\n },\n error: (erro: any) => {\n if (erro && erro.error && erro.error.Message) {\n const messages = JSON.parse(erro.error.Message);\n if (Array.isArray(messages)) {\n // Itera sobre cada mensagem de erro e exibe no Toastr\n messages.forEach((mensagem: any) => {\n if (mensagem.Mensagem) {\n this.toastr.error(mensagem.Mensagem, 'Erro ao salvar os dados');\n }\n });\n }\n } else {\n // Caso o formato de erro seja inesperado, exibe uma mensagem genérica\n this.toastr.error('Erro ao salvar os dados. Tente novamente mais tarde.');\n console.error('Erro ao processar a resposta de erro:', erro);\n }\n this.isLoadingSalvar = false;\n }\n });\n\n }\n}\n","import {getHeaders} from '@/utils/getHeaders';\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {environment} from 'environments/environment';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\ninterface CheckupDadosTeia {\n Dor: null\n Felicidade: null\n Estresse: null\n CapacidadeFuncional: null\n Percepcao: null\n Disposicao: null\n Sono: null\n Animo: null\n Gratidao: null\n Fadiga: null\n Ansiedade: null\n}\n\ninterface Checkup {\n IdentificadorHash: string\n ID: number\n SituacaoCheckup: number\n DataCheckup: Date\n DataAnamnese: Date\n DataAvaliacao: Date\n Avaliador: string\n Z: number,\n HashAnamnese: string\n HashAvaliacao: string\n DadosTeia: CheckupDadosTeia | null | undefined\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CheckupClienteService {\n private api = environment.endpoint_api\n public _checkup: BehaviorSubject = new BehaviorSubject({})\n\n checkup$: Observable = this._checkup.asObservable()\n\n constructor(private http: HttpClient,) {\n }\n\n\n getCheckupCliente(idUsuario: number | string) {\n const headers = getHeaders()\n const classeContext = this\n\n this.http.get(this.api + \"/Usuario/ObterCheckupsCliente/\" + idUsuario, {headers}).subscribe({\n next(response) {\n // @ts-ignore\n const arrayResponse = Array.from(response)\n if (arrayResponse.length) {\n {\n // @ts-ignore\n // const checkupNaoPreenchido = arrayResponse.find(checkup => checkup?.DataAnamnese === null) as Checkup | undefined\n const checkupNaoPreenchido = classeContext.ObterHashAnamneseAberta(arrayResponse)\n const ultimoCheckupPreenchido = classeContext.ObterHashUltimoCheckUp(arrayResponse)\n\n if (checkupNaoPreenchido) {\n classeContext._checkup.next(checkupNaoPreenchido)\n } else if (ultimoCheckupPreenchido) {\n classeContext._checkup.next(ultimoCheckupPreenchido)\n }\n }\n }\n }, error(error) {\n }\n })\n }\n\n\n ObterHashAnamneseAberta(checkups) {\n const anamnesesAbertas = checkups.filter(c => !c.DataAnamnese || c.DataAnamnese.toString() === \"0001-01-01T00:00:00\");\n if (anamnesesAbertas.length) {\n const checkup = anamnesesAbertas[anamnesesAbertas.length - 1];\n return checkup;\n }\n\n return null;\n }\n\n ObterHashUltimoCheckUp(checkups) {\n const finalizados = checkups.filter(c => !!c.DataAnamnese\n // && !!c.DataAvaliacao\n && c.SituacaoCheckup === 1);\n if (finalizados.length) {\n const checkup = finalizados[finalizados.length - 1];\n return checkup;\n }\n return null;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AppService } from '@services/app.service';\nimport { ModalPercepSaudeComponent } from '../Modal6-PercepSaude/modal-percepSaude.component';\n\n@Component({\n selector: 'app-modal-bioAnterior',\n templateUrl: './modal-bioAnterior.component.html',\n styleUrls: ['./modal-bioAnterior.component.scss']\n})\nexport class ModalBioAnteriorComponent implements OnInit {\n valorSlider: number = 0\n constructor(\n private appService: AppService\n ) {\n }\n\n ngOnInit(): void {\n\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n\n handleClickProximoModal() {\n this.appService.closeModal()\n // const modalRef = this.appService.openModal(ModalLimAspectosFisicosComponent, { size: 'lg', backdrop: false })\n }\n}\n","
    \n
    \n\n
    \n
    \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Biomarcador \n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n
    \n 1/\n 10\n
    \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n Você precisa responder o biomarcador anterior.\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","
    \n
    \n
    \n
    \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Enviar Anamnese\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Atenção!\n

    \n
    \n
    \n \n Tem certeza que deseja enviar sua anamnese para avaliação agora?\n \n
    \n
    \n \n Após esse envio não conseguirá mais fazer nenhuma alteração, ok?\n \n
    \n
    \n\n \n Mas antes iremos verificar se ficou algum campo obrigatório sem preencher e mostraremos no\n meio da tela e na cor vermelha qual é o campo pendente e em qual passo ele se encontra.\n \n
    \n
    \n\n \n E caso esteja tudo certo você receberá uma confirmação de envio com sucesso pelo seu e-mail\n cadastrado.\n \n
    \n
    \n\n \n Parabéns,\n \n
    \n
    \n\n \n Equipe SAFE\n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n Laudo gerado com sucesso, clique\n aqui para visualizar o laudo completo.\n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AppService } from '@services/app.service';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-modal-bioConfirmarEnvio',\n templateUrl: './modal-bioConfirmarEnvio.component.html',\n styleUrls: ['./modal-bioConfirmarEnvio.component.scss'],\n})\nexport class ModalBioConfirmarEnvioComponent implements OnInit {\n\n carregandoConfirmarAnamnese: boolean = false\n sucessoConfirmarAnamnese: boolean = false\n urlLaudo: any = \"\"\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private toastr: ToastrService,\n\n ) {\n }\n\n ngOnInit(): void {\n\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n handleClickConfirmarModal() {\n const classeContexto = this\n const anamnese = this.anamneseService.getAnamnese()\n\n classeContexto.carregandoConfirmarAnamnese = true\n classeContexto.sucessoConfirmarAnamnese = false\n\n classeContexto.anamneseService.finalizarAnamnese().subscribe({\n next() {\n classeContexto.carregandoConfirmarAnamnese = false\n classeContexto.sucessoConfirmarAnamnese = true\n\n\n classeContexto.toastr.success(\"Sucesso\", \"Anamnese enviada com sucesso\")\n classeContexto.urlLaudo = `https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${anamnese?.IdentificadorHash}`\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${anamnese?.IdentificadorHash}`, \"_blank\")\n },\n error(error) {\n classeContexto.toastr.error(\"Erro\", \"Não foi possível enviar a anamnese, tente novamente\")\n }\n })\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Método SAFE® - CHECK-UP SAFE\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n
    \n 1/\n 10\n
    \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n

    Preencha os Dados

    \n
    \n
    \n

    \n (Avaliação da saúde funcional)

    \n Parabéns por estar cuidando de você!

    \n Orientamos que seja bem sincero nas respostas e que elas são confidenciais, caso não consiga\n terminar de preencher agora não tem problema.

    \n Lembre-se, quanto mais ricas forem suas respostas neste formulário, mais conteúdo teremos para\n trabalhar.
    \n Preparado?\n

    \n
    \n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n
    \n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ModalDadosPessoaisComponent} from '../Modal2-DadosPessoais/modal-dadospessoais.component';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {Router} from \"@angular/router\";\n\n@Component({\n selector: 'app-modal-1inicio',\n templateUrl: './modal-1inicio.component.html',\n styleUrls: ['./modal-1inicio.component.scss']\n})\nexport class Modal1InicioComponent implements OnInit {\n public erroAvancarAnamnese: string | any = \"\"\n public carregandoAtualizarAnamnese: boolean = false\n public desativarCampos: boolean = false\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router\n ) {\n }\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador')\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n handleClickVoltarModal() {\n this.handleClickFecharModal()\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal()\n this.appService.openModal(ModalDadosPessoaisComponent)\n return\n }\n\n const anamnese = this.anamneseService.getAnamnese()\n const classeContexto = this\n\n this.carregandoAtualizarAnamnese = true\n\n const novaAnamneseAtualizada = {\n ...anamnese, Etapa1: {\n ...anamnese?.Etapa1, DataInicioPreenchimento: new Date(),\n }\n }\n\n this.anamneseService.comecarAnamnese(anamnese?.IdentificadorHash).subscribe({\n next(res) {\n classeContexto.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (typeof response?.etapaInvalida?.mensagem == 'string' && response?.etapaInvalida?.etapa === 1) {\n // @ts-ignore\n classeContexto.erroAvancarAnamnese = response?.etapaInvalida?.mensagem\n classeContexto.carregandoAtualizarAnamnese = false\n return\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService.putAnamnese(novaAnamneseAtualizada).subscribe({\n next(response2) {\n\n classeContexto.carregandoAtualizarAnamnese = false\n classeContexto.anamneseService.setAnamnese(response2)\n classeContexto.appService.closeModal()\n classeContexto.appService.openModal(ModalDadosPessoaisComponent)\n }, error(response) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = response?.error?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao atualizar a anamnese\"\n }\n }\n })\n\n }, error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao validar as informações preenchidas\"\n }\n }\n })\n }, error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao iniciar a anamnese\"\n }\n }\n })\n }\n}\n","export function formatarDataParaDDMMYYYY(dataString: string): string {\n // Dividir a string da data nos componentes ano, mês e dia\n const [ano, mes, dia] = dataString.split('-');\n\n // Formatar a data no formato 'dd/mm/yyyy'\n const dataFormatada = `${dia}/${mes}/${ano}`;\n\n return dataFormatada;\n}\n\nexport function formatarDataDDMMYYYY2(dataString: string): string {\n const data = dataString.split('T')[0];\n const ano = data.substring(0, 4);\n const mes = data.substring(5, 7);\n const dia = data.substring(8, 10);\n\n // Formatar a data no formato 'dd/mm/yyyy'\n const dataFormatada = `${dia}/${mes}/${ano}`;\n return dataFormatada;\n}\n\n\nexport function formatarDataParaYYYYMMDD(dataString: string): string {\n //se ja estiver no formato yyyy-mm-dd\n if (dataString.indexOf('-') > 0) {\n return dataString;\n }\n if (dataString === '') {\n return '';\n }\n if (dataString === null) {\n return '';\n }\n // Dividir a string da data nos componentes dia, mês e ano\n const dia = dataString.substring(0, 2);\n const mes = dataString.substring(2, 4);\n const ano = dataString.substring(4, 8);\n\n // Formatar a data no formato 'yyyy-mm-dd'\n const dataFormatada = `${ano}-${mes}-${dia}`;\n return dataFormatada;\n}","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Dados Pessoais\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 2/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n Peso:
    Informe seu peso atual em KG\n \n
    \n
    \n Altura:
    Informe sua altura em CM\n\n \n
    \n
    \n \n Pressão arterial:
    Informe sua pressão em mmHg\n\n
    \n \n \n por\n
    \n \n
    \n
    \n
    \n
    \n
    \n Tem Cônjuge:\n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n Nascimento Cônjuge\n
    \n \n
    \n
    \n\n
    \n
    \n Tem Filhos:\n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n\n \n Digite a data de nascimento do filho
    \n
    \n \n\n \n Adicionar\n \n
    \n\n
    0\" class=\"mt-2\">\n Filhos cadastrados\n\n
    \n \n
    \n \n \n\n \n \n
    \n
    \n
    \n \n \n \n \n\n
    \n
    \n Está fazendo alguma dieta?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n Tem algum acompanhamento por\n nutricionista?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n Descreva sua Dieta\n \n \n\n Descreva sua dieta atual, se não estiver fazendo\n nenhuma dieta, descreva sua dieta habitual.\n
    \n
    \n

    \n Este questionário tem objetivo de identificar a\n necessidade de avaliação clínica e médica antes do\n início da atividade física. Caso você marque um SIM,\n é fortemente sugerida a realização da avaliação\n clínica e médica. Contudo, qualquer pessoa pode\n participar de uma atividade física de esforço\n moderado, respeitando as restrições médicas.
    \n O PAR-Q foi elaborado para auxiliar você a se\n auto-ajudar. Os exercícios praticados regularmente\n estão associados a muitos benefícios de saúde.\n Completar o PAR-Q representa o primeiro passo\n importante a ser tomado, principalmente se você está\n interessado em incluir a atividade física com maior\n freqüência e regularidade no seu dia a dia. O bom\n senso é o seu melhor guia ao responder estas\n questões. Por favor, leia atentamente cada questão e\n marque SIM ou NÃO.\n

    \n
    \n
    \n \n
    \n \n Alguma vez seu médico disse que você possui\n algum problema cardíaco e recomendou que\n você só praticasse atividade física sob\n prescrição médica?\n \n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n\n
    \n \n
    \n \n Você sente dor no tórax quando pratica uma\n atividade física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n No último mês você sentiu dor torácica\n quando não estava praticando atividade\n física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n Você perdeu o equilíbrio em virtude de\n tonturas ou perdeu a consciência quando\n estava praticando atividade física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n Você tem algum problema ósseo ou articular\n que poderia ser agravado com a prática de\n atividades físicas?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n Seu médico já recomendou o uso de\n medicamentos para controle da sua pressão\n arterial ou condição cardiovascular?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n Você tem conhecimento de alguma outra razão\n física que o impeça de participar de\n atividades físicas?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n \n
    \n \n Realizou teste de esforço com\n eletrocardiograma com o cardiologista no\n último ano?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n
    \n

    \n Este instrumento é apenas uma ferramenta na\n tentativa da identificação dos riscos com a prática\n da atividade física e não é infalível.
    \n Instituições como o Colégio Americano de Medicina\n Desportiva e a Sociedade Brasileira de Cardiologia,\n recomendam a realização de exames complementares\n como o teste de esforço, e o exame sangüíneo.
    \n Procedimentos recomendados principalmente para\n indivíduos sintomáticos, indivíduos com doenças\n conhecidas como a hipertensão arterial, a diabetes,\n a obesidade, as doenças cardiovasculares ou para\n indivíduos acima dos trinta e cinco anos.\n

    \n
    \n
    \n \n
    \n \n Nível de atividade física:\n \n
    \n
    \n
    \n \n \n Não realiza nenhum tipo de atividade\n física: Sedentário\n
    \n
    \n
    \n
    \n \n Exercita de forma regular 3-6 dias na\n semana: Ativo\n
    \n
    \n
    \n
    \n \n\n Realiza de 5 a 7 vezes na semana\n treinamento de alta intensidade de mais\n de 45' ou moderado acima de 90':\n Atleta\n
    \n
    \n
    \n \n
    \n \n
    \n Tabagista?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Quantos cigarros por dia:\n \n
    \n
    \n \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n \n\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {Modal1InicioComponent} from '../modal1-Inicio/modal-1inicio.component';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {createMask} from '@ngneat/input-mask';\nimport {\n ModalInfoSobreSaudeComponent\n} from \"@components/dashboard/modais/modal3-InfoSobreSaude/modal-infoSobreSaude.component\";\nimport {formatarDataParaDDMMYYYY} from \"@/utils/mascaras\";\nimport {Router} from \"@angular/router\";\nimport {Subscription} from \"rxjs\";\n\n@Component({\n selector: 'app-modal-dadospessoais',\n templateUrl: './modal-dadospessoais.component.html',\n styleUrls: ['./modal-dadospessoais.component.scss']\n})\nexport class ModalDadosPessoaisComponent implements OnInit, OnDestroy {\n public erroAvancarAnamnese: string | any = \"\";\n public carregandoAtualizarAnamnese: boolean = false;\n public formGroupEtapa2: FormGroup;\n public opcoesPeso: number[] = [];\n public listaFilhos = [];\n public desativarCampos: boolean = false;\n public alunoIdSubscription: Subscription;\n public campoinvalido: string = '';\n dateInputMask = createMask({\n alias: 'datetime',\n inputFormat: 'dd/mm/yyyy',\n parser: (value: string) => {\n const values = value.split('/');\n const year = +values[2];\n const month = +values[1] - 1;\n const date = +values[0];\n return new Date(year, month, date);\n },\n });\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router\n ) {\n }\n\n ngOnDestroy() {\n this.alunoIdSubscription.unsubscribe();\n }\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n\n const anamnese = this.anamneseService.getAnamnese();\n this.formGroupEtapa2 = new FormGroup({\n NumeroEtapa: new FormControl({value: 2, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa2?.AnamneseID, disabled: this.desativarCampos}),\n Peso: new FormControl({value: anamnese?.Etapa2?.Peso, disabled: this.desativarCampos}),\n Altura: new FormControl({value: anamnese?.Etapa2?.Altura, disabled: this.desativarCampos}),\n Pressao: new FormControl({value: anamnese?.Etapa2?.Pressao, disabled: this.desativarCampos}),\n PressaoPart1: new FormControl({value: anamnese?.Etapa2?.PressaoPart1, disabled: this.desativarCampos}),\n PressaoPart2: new FormControl({value: anamnese?.Etapa2?.PressaoPart2, disabled: this.desativarCampos}),\n Gestante: new FormControl({value: anamnese?.Etapa2?.Gestante, disabled: this.desativarCampos}),\n MesesGestacao: new FormControl({value: anamnese?.Etapa2?.MesesGestacao, disabled: this.desativarCampos}),\n TemConjuge: new FormControl({value: !!anamnese?.Etapa2?.TemConjuge, disabled: this.desativarCampos}),\n DataNascConjuge: new FormControl(\n {\n value: anamnese?.Etapa2?.DataNascConjuge ? this.formataDataParaAmericana(anamnese?.Etapa2?.DataNascConjuge) : null,\n disabled: this.desativarCampos\n }\n ),\n DatasNascFilhosTexto: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhosTexto,\n disabled: this.desativarCampos\n }),\n DatasNascFilhos: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhos,\n disabled: this.desativarCampos\n }),\n FazendoDieta: new FormControl({value: anamnese?.Etapa2?.FazendoDieta, disabled: this.desativarCampos}),\n TemNutricionista: new FormControl({\n value: anamnese?.Etapa2?.TemNutricionista,\n disabled: this.desativarCampos\n }),\n DescricaoDieta: new FormControl({value: anamnese?.Etapa2?.DescricaoDieta, disabled: anamnese?.Etapa2?.FazendoDieta ? false : true}),\n ProblemaCardiaco: new FormControl({\n value: anamnese?.Etapa2?.ProblemaCardiaco,\n disabled: this.desativarCampos\n }),\n DorToraxAtivFisica: new FormControl({\n value: anamnese?.Etapa2?.DorToraxAtivFisica,\n disabled: this.desativarCampos\n }),\n UltimoMesDorTorax: new FormControl({\n value: anamnese?.Etapa2?.UltimoMesDorTorax,\n disabled: this.desativarCampos\n }),\n PerdeuEquilibrio: new FormControl({\n value: anamnese?.Etapa2?.PerdeuEquilibrio,\n disabled: this.desativarCampos\n }),\n ProblemaOsseo: new FormControl({value: anamnese?.Etapa2?.ProblemaOsseo, disabled: this.desativarCampos}),\n RemedioPressao: new FormControl({value: anamnese?.Etapa2?.RemedioPressao, disabled: this.desativarCampos}),\n FisicoImpedeAtivFisica: new FormControl({\n value: anamnese?.Etapa2?.FisicoImpedeAtivFisica,\n disabled: this.desativarCampos\n }),\n TesteEsforco: new FormControl({value: anamnese?.Etapa2?.TesteEsforco, disabled: this.desativarCampos}),\n NivelAtividadeFisica: new FormControl({\n value: anamnese?.Etapa2?.NivelAtividadeFisica,\n disabled: this.desativarCampos\n }),\n Tabagista: new FormControl({value: anamnese?.Etapa2?.Tabagista, disabled: this.desativarCampos}),\n QtdCigarros: new FormControl({value: anamnese?.Etapa2?.QtdCigarros, disabled: this.desativarCampos}),\n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl({value: anamnese?.Etapa2?.DataFim, disabled: this.desativarCampos}),\n\n // campos por fora (temporarios para armazenar a data no DatasNascFilhos\n temFilhos: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhos?.length > 0,\n disabled: this.desativarCampos\n }),\n dataNascimentoFilho: new FormControl({value: '', disabled: this.desativarCampos})\n });\n\n this.formGroupEtapa2.get('QtdCigarros').valueChanges.subscribe((value) => {\n this.formGroupEtapa2.get('QtdCigarros').setValue(value.replace(/\\D/g, ''), {emitEvent: false});\n });\n this.formGroupEtapa2.get('FazendoDieta').valueChanges.subscribe((value) => {\n //habilita ou desabilita o campo de descrição da dieta\n if(value){\n this.formGroupEtapa2.get('DescricaoDieta').enable();\n }\n else{\n this.formGroupEtapa2.get('DescricaoDieta').disable();\n this.formGroupEtapa2.get('DescricaoDieta').setValue('');\n this.formGroupEtapa2.get('TemNutricionista').setValue(false);\n }\n });\n\n // aceita apenas números e ponto\n this.formGroupEtapa2.get('Pressao').valueChanges.subscribe((value) => {\n this.formGroupEtapa2.get('Pressao').setValue(value.replace(/[^0-9.]/g, ''), {emitEvent: false});\n });\n\n \n\n // atualiza o valor do array de filhos ao carregar a página\n this.listaFilhos = this.formGroupEtapa2.get('DatasNascFilhos').value?.map(data => ({\n id: Math.random() * 100000,\n value: data\n }));\n }\n\n formataDataParaAmericana(data) {\n // recebe 2024-04-12T00:00:00\n // retorna 2024-04-12\n return data.split('T')[0];\n }\n\n adicionarFilho() {\n const dataNascimentoFilho = this.formGroupEtapa2.get('dataNascimentoFilho').value;\n this.listaFilhos.push({id: Math.random() * 10000000, value: dataNascimentoFilho});\n this.formGroupEtapa2.get('DatasNascFilhos').setValue(this.listaFilhos);\n }\n\n deletarFilho(id) {\n this.listaFilhos = this.listaFilhos.filter(f => f.id != id);\n this.formGroupEtapa2.get('DatasNascFilhos').setValue(this.listaFilhos);\n }\n\n toggleCheckbox(checkboxName, newValue = false) {\n this.formGroupEtapa2.get(checkboxName).setValue(newValue);\n }\n\n toggleCheckboxWidthValue(checkboxName: string, value: any) {\n this.formGroupEtapa2.get(checkboxName).setValue(value);\n }\n\n formatarDataNascimento(data) {\n let dataFormatada = data.split('T')[0];\n return formatarDataParaDDMMYYYY(dataFormatada);\n }\n\n \n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n const modalRef = this.appService.openModal(Modal1InicioComponent, {size: 'lg', backdrop: false});\n }\n\n handleClickProximoModal() {\n // Format the weight before submission\n //se peso ou altura length for 3, adiciona 00 no final\n\n \n\n // caso os campos estejam desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalInfoSobreSaudeComponent);\n return;\n }\n\n const anamnese = this.anamneseService.getAnamnese();\n const classeContexto = this;\n\n this.carregandoAtualizarAnamnese = true;\n \n \n \n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa2: {\n ...anamnese?.Etapa2,\n ...this.formGroupEtapa2.getRawValue(),\n DataFim: new Date(),\n DatasNascFilhos: this.listaFilhos.map(filho => filho.value),\n dataNascimentoFilho: undefined,\n // Peso: parseFloat( this.formGroupEtapa2.get('Peso').value),\n // Altura: parseFloat(alturaAtualizada),\n }\n };\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (typeof response?.etapaInvalida?.mensagem == 'string' && response?.etapaInvalida?.etapa === 2) {\n // @ts-ignore\n classeContexto.erroAvancarAnamnese = response?.etapaInvalida?.mensagem;\n // @ts-ignore\n classeContexto.campoinvalido = response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false;\n return;\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService.putAnamnese(novaAnamneseAtualizada).subscribe({\n next(response2) {\n classeContexto.carregandoAtualizarAnamnese = false;\n classeContexto.anamneseService.setAnamnese(response2);\n classeContexto.appService.closeModal();\n classeContexto.appService.openModal(ModalInfoSobreSaudeComponent);\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = response?.error?.Message;\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao atualizar a anamnese\";\n }\n }\n });\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message;\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao validar as informações preenchidas\";\n }\n }\n });\n }\n}\n","
    \n
    \n\n
    \n
    \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Informações sobre saúde\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n
    \n 3/\n 10\n
    \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n Nome, telefone e e-mail do Médico:
    No espaço abaixo, informe o nome do médico, telefone e e-mail (incluir mais de um médico, se for o caso)
    \n \n
    \n\n
    \n
    \n Enfermidades pré-existentes:
    Informar mais de uma, se for o caso
    \n
    \n
    \n
    \n
    \n\n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n\n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n Meses (diagnóstico):\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n Se você marcou COVID-19 informe a data do diagnóstico:\n\n\n
    \n\n \n\n
    \n\n
    \n
    \n Se você marcou Osteoartrite ou Osteoporose ou Osteopenia ou Neoplasia informe o Local: \n \n
    \n
    \n Caso tenha outra enfermidade favor descrever: \n \n
    \n
    \n Histórico de quedas no último ano: \n \n
    \n
    \n Favor informar data de diagnóstico da(s) enfermidade(s) pré-existentes (Ex: osteoporose em janeiro de 2014): \n\n
    \n\n\n \n
    \n\n
    \n\n
    \n
    \n {{ erroAvancarAnamnese }}\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","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\n// import { ModalLimAspectosFisicosComponent } from '../Modal2-InfoSobreSaude/modal-limAspectosFisicos.component';\nimport {ModalDadosPessoaisComponent} from '../Modal2-DadosPessoais/modal-dadospessoais.component';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {\n ModalQuestFarmPrelimComponent\n} from \"@components/dashboard/modais/Modal4-QuestFarmPrelim/modal-questFarmPrelim.component\";\nimport {Router} from \"@angular/router\";\n\n@Component({\n selector: 'app-modal-infoSobreSaude',\n templateUrl: './modal-infoSobreSaude.component.html',\n styleUrls: ['./modal-infoSobreSaude.component.scss']\n})\nexport class ModalInfoSobreSaudeComponent implements OnInit {\n public erroAvancarAnamnese\n public formGroupEtapa3: FormGroup\n public carregandoAtualizarAnamnese: boolean = false\n public desativarCampos: boolean = false\n public campoinvalido: string\n\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router\n ) {\n }\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador')\n const anamnese = this.anamneseService.getAnamnese()\n\n this.formGroupEtapa3 = new FormGroup({\n NumeroEtapa: new FormControl(3),\n AnamneseID: new FormControl({value: anamnese?.Etapa3?.AnamneseID, disabled: this.desativarCampos}),\n DadosMedico: new FormControl({value: anamnese?.Etapa3?.DadosMedico, disabled: this.desativarCampos}),\n HipArtSist: new FormControl({value: anamnese?.Etapa3?.HipArtSist, disabled: this.desativarCampos}),\n HipArtSistMeses: new FormControl({\n value: anamnese?.Etapa3?.HipArtSistMeses,\n disabled: this.desativarCampos\n }),\n Fibromialgia: new FormControl({value: anamnese?.Etapa3?.Fibromialgia, disabled: this.desativarCampos}),\n FibromialgiaMeses: new FormControl({\n value: anamnese?.Etapa3?.FibromialgiaMeses,\n disabled: this.desativarCampos\n }),\n Lupos: new FormControl({value: anamnese?.Etapa3?.Lupos, disabled: this.desativarCampos}),\n LuposMeses: new FormControl({value: anamnese?.Etapa3?.LuposMeses, disabled: this.desativarCampos}),\n Hipotireoidismo: new FormControl({\n value: anamnese?.Etapa3?.Hipotireoidismo,\n disabled: this.desativarCampos\n }),\n HipotireoidismoMeses: new FormControl({\n value: anamnese?.Etapa3?.HipotireoidismoMeses,\n disabled: this.desativarCampos\n }),\n Diabetes: new FormControl({value: anamnese?.Etapa3?.Diabetes, disabled: this.desativarCampos}),\n DiabetesMeses: new FormControl({value: anamnese?.Etapa3?.DiabetesMeses, disabled: this.desativarCampos}),\n SindromeSjogren: new FormControl({\n value: anamnese?.Etapa3?.SindromeSjogren,\n disabled: this.desativarCampos\n }),\n SindromeSjogrenMeses: new FormControl({\n value: anamnese?.Etapa3?.SindromeSjogrenMeses,\n disabled: this.desativarCampos\n }),\n NefriteLupica: new FormControl({value: anamnese?.Etapa3?.NefriteLupica, disabled: this.desativarCampos}),\n NefriteLupicaMeses: new FormControl({\n value: anamnese?.Etapa3?.NefriteLupicaMeses,\n disabled: this.desativarCampos\n }),\n Dislipidemia: new FormControl({value: anamnese?.Etapa3?.Dislipidemia, disabled: this.desativarCampos}),\n DislipidemiaMeses: new FormControl({\n value: anamnese?.Etapa3?.DislipidemiaMeses,\n disabled: this.desativarCampos\n }),\n ArtriteReumatoide: new FormControl({\n value: anamnese?.Etapa3?.ArtriteReumatoide,\n disabled: this.desativarCampos\n }),\n ArtriteReumatoideMeses: new FormControl({\n value: anamnese?.Etapa3?.ArtriteReumatoideMeses,\n disabled: this.desativarCampos\n }),\n Osteoartrite: new FormControl({value: anamnese?.Etapa3?.Osteoartrite, disabled: this.desativarCampos}),\n OsteoartriteMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteoartriteMeses,\n disabled: this.desativarCampos\n }),\n Osteoporose: new FormControl({value: anamnese?.Etapa3?.Osteoporose, disabled: this.desativarCampos}),\n OsteoporoseMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteoporoseMeses,\n disabled: this.desativarCampos\n }),\n Neoplasia: new FormControl({value: anamnese?.Etapa3?.Neoplasia, disabled: this.desativarCampos}),\n NeoplasiaMeses: new FormControl({value: anamnese?.Etapa3?.NeoplasiaMeses, disabled: this.desativarCampos}),\n Osteopenia: new FormControl({value: anamnese?.Etapa3?.Osteopenia, disabled: this.desativarCampos}),\n OsteopeniaMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteopeniaMeses,\n disabled: this.desativarCampos\n }),\n NeoplasiaPreExistente: new FormControl({\n value: anamnese?.Etapa3?.NeoplasiaPreExistente,\n disabled: this.desativarCampos\n }),\n NeoplasiaPreExistenteMeses: new FormControl({\n value: anamnese?.Etapa3?.NeoplasiaPreExistenteMeses,\n disabled: this.desativarCampos\n }),\n Depressao: new FormControl({value: anamnese?.Etapa3?.Depressao, disabled: this.desativarCampos}),\n DepressaoMeses: new FormControl({value: anamnese?.Etapa3?.DepressaoMeses, disabled: this.desativarCampos}),\n TranstornoDeAnsiedade: new FormControl({\n value: anamnese?.Etapa3?.TranstornoDeAnsiedade,\n disabled: this.desativarCampos\n }),\n TranstornoDeAnsiedadeMeses: new FormControl({\n value: anamnese?.Etapa3?.TranstornoDeAnsiedadeMeses,\n disabled: this.desativarCampos\n }),\n CriseDePanico: new FormControl({value: anamnese?.Etapa3?.CriseDePanico, disabled: this.desativarCampos}),\n CriseDePanicoMeses: new FormControl({\n value: anamnese?.Etapa3?.CriseDePanicoMeses,\n disabled: this.desativarCampos\n }),\n Anorexia: new FormControl({value: anamnese?.Etapa3?.Anorexia, disabled: this.desativarCampos}),\n AnorexiaMeses: new FormControl({value: anamnese?.Etapa3?.AnorexiaMeses, disabled: this.desativarCampos}),\n Bulimia: new FormControl({value: anamnese?.Etapa3?.Bulimia, disabled: this.desativarCampos}),\n BulimiaMeses: new FormControl({value: anamnese?.Etapa3?.BulimiaMeses, disabled: this.desativarCampos}),\n Alcoolismo: new FormControl({value: anamnese?.Etapa3?.Alcoolismo, disabled: this.desativarCampos}),\n AlcoolismoMeses: new FormControl({\n value: anamnese?.Etapa3?.AlcoolismoMeses,\n disabled: this.desativarCampos\n }),\n LocalStOsteoartrite: new FormControl({\n value: anamnese?.Etapa3?.LocalStOsteoartrite,\n disabled: this.desativarCampos\n }),\n OutraEnfermidade: new FormControl({\n value: anamnese?.Etapa3?.OutraEnfermidade,\n disabled: this.desativarCampos\n }),\n HistQuedas: new FormControl({value: anamnese?.Etapa3?.HistQuedas, disabled: this.desativarCampos}),\n DtEnfermidadesPreExistentes: new FormControl({\n value: anamnese?.Etapa3?.DtEnfermidadesPreExistentes,\n disabled: this.desativarCampos\n }),\n Covid19: new FormControl({value: anamnese?.Etapa3?.Covid19, disabled: this.desativarCampos}),\n DataCovid19: new FormControl({\n value: anamnese?.Etapa3?.DataCovid19 ? this.formataDataParaAmericana(anamnese?.Etapa3?.DataCovid19) : null,\n disabled: this.desativarCampos\n }),\n\n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl({value: null, disabled: true})\n })\n //escuta mudanças no formulário e aceita apenas valores numéricos nos campos de meses\n this.formGroupEtapa3.get('HipArtSistMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('HipArtSistMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('FibromialgiaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('FibromialgiaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('LuposMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('LuposMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('HipotireoidismoMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('HipotireoidismoMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('DiabetesMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('DiabetesMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('SindromeSjogrenMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('SindromeSjogrenMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('NefriteLupicaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('NefriteLupicaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('DislipidemiaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('DislipidemiaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('ArtriteReumatoideMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('ArtriteReumatoideMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('OsteoartriteMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('OsteoartriteMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('OsteoporoseMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('OsteoporoseMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('NeoplasiaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('NeoplasiaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('OsteopeniaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('OsteopeniaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('NeoplasiaPreExistenteMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('NeoplasiaPreExistenteMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('DepressaoMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('DepressaoMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('TranstornoDeAnsiedadeMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('TranstornoDeAnsiedadeMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('CriseDePanicoMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('CriseDePanicoMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('AnorexiaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('AnorexiaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('BulimiaMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('BulimiaMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n this.formGroupEtapa3.get('AlcoolismoMeses').valueChanges.subscribe((value) => {\n this.formGroupEtapa3.get('AlcoolismoMeses').setValue(value.replace(/\\D/g, ''), {emitEvent: false})\n });\n\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal()\n const modalRef = this.appService.openModal(ModalDadosPessoaisComponent, {size: 'lg', backdrop: false})\n }\n\n formataDataParaAmericana(data) {\n //recebe 2024-04-12T00:00:00\n // retorna 2024-04-12\n return data.split('T')[0]\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal()\n this.appService.openModal(ModalQuestFarmPrelimComponent)\n return\n }\n\n const anamnese = this.anamneseService.getAnamnese()\n const classeContexto = this\n\n this.carregandoAtualizarAnamnese = true\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa3: {\n ...anamnese?.Etapa3,\n ...this.formGroupEtapa3.getRawValue(),\n DataFim: new Date(),\n }\n }\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (typeof response?.etapaInvalida?.mensagem == 'string' && response?.etapaInvalida?.etapa === 3) {\n // @ts-ignore\n classeContexto.erroAvancarAnamnese = response?.etapaInvalida?.mensagem\n // @ts-ignore\n classeContexto.campoinvalido = response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false\n return\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService.putAnamnese(novaAnamneseAtualizada).subscribe({\n next(response2) {\n\n classeContexto.carregandoAtualizarAnamnese = false\n classeContexto.anamneseService.setAnamnese(response2)\n classeContexto.appService.closeModal()\n classeContexto.appService.openModal(ModalQuestFarmPrelimComponent)\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = response?.error?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao atualizar a anamnese\"\n }\n }\n })\n\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao validar as informações preenchidas\"\n }\n }\n })\n\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Questionário Farmacêutico Preliminar\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 4/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n \n
    \n \n Alergia a medicamentos:\n \n
    \n\n \n \n\n \n
    \n
    \n
    \n\n
    \n \n \n Se você marcou \"Sim\", informe qual medicamento:\n \n
    \n \n \n
    \n \n
    \n \n
    \n \n Alergias a outros produtos:\n \n
    \n\n \n \n\n \n
    \n \n \n
    \n \n \n Se você marcou \"Sim\", informe qual produto:\n \n
    \n \n \n \n \n\n
    \n
    \n
    \n\n
    \n \n Utiliza algum medicamento? Em caso positivo, informe\n qual(is) medicamento(s), finalidade, dose,\n frequência e horário:\n \n \n \n \n
    \n \n\n \n
    \n Produto\n \n \n
    \n \n Loading...\n
    \n
    \n \n
    \n Nome Comercial\n \n
    \n
    \n Dose\n \n
    \n
    \n Periodicidade\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n Adicionar\n \n \n
    \n 0\"\n >\n Medicamentos cadastrados\n
    \n \n
    \n Produto\n \n
    \n
    \n Nome Comercial\n \n
    \n
    \n Dose\n \n
    \n
    \n Periodicidade\n \n
    \n \n Remover\n \n \n \n\n
    \n
    \n
    \n
    \n \n \n Faz exercício regularmente há mais de 3 meses:\n \n\n
    \n\n \n \n\n \n
    \n \n \n \n \n Em caso positivo. Qual exercício?\n \n
    \n
    \n
    \n \n Caminhada\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade
    \n
    \n\n \n \n \n {{ opcao.value }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n\n \n
    \n
    \n
    \n \n Corrida\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n\n \n
    \n
    \n
    \n \n Musculação\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n\n \n
    \n
    \n
    \n \n Dança\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n\n \n\n
    \n
    \n
    \n \n Hidroginástica\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n\n \n
    \n
    \n
    \n \n Outro\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n
    \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n
    \n \n
    \n
    \n
    \n \n \n \n \n \n\n \n
    \n \n Informar se pratica \"outro\" tipo de exercício:\n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n Quantas vezes por semana?\n \n
    \n \n \n\n \n
    \n
    \n \n
    \n \n Qual a intensidade?\n \n
    \n \n \n\n \n
    \n
    \n \n
    \n \n A duração de cada sessão (tempo)?\n \n \n Informe os minutos\n \n \n
    \n
    \n \n Somatório semanal em minutos:\n \n \n Informe os minutos\n \n \n
    \n
    \n
    \n
    \n \n\n
    \n

    Suplementação Alimentar

    \n
    \n
    \n \n Faz uso de suplemento alimentar?\n \n
    \n \n \n\n \n
    \n
    \n \n\n \n \n Em caso positivo. Favor especificar qual suplemento\n alimentar, dose e frequëncia.\n \n
    \n \n
    \n \n\n
    \n
    \n
    \n\n
    \n

    Alimentação Diária

    \n
    \n
    \n
    \n \n \n Café da manhã\n \n
    \n \n \n
    \n
    \n
    \n\n
    \n \n Lanche \n
    \n \n \n
    \n
    \n \n\n
    \n \n Almoço \n
    \n \n \n
    \n
    \n \n\n
    \n \n Lanche \n
    \n \n \n
    \n
    \n \n\n
    \n \n Jantar \n
    \n \n \n
    \n
    \n \n\n
    \n \n Ceia \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {FormArray, FormControl, FormGroup} from '@angular/forms';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ModalInfoSobreSaudeComponent} from '../modal3-InfoSobreSaude/modal-infoSobreSaude.component';\nimport {ModalCheckBoxesComponent} from '@components/dashboard/modais/Modal5-CheckBoxes/modal-checkBoxes.component';\nimport {Router} from '@angular/router';\nimport {ToastrService} from 'ngx-toastr';\n\n@Component({\n selector: 'app-modal-questFarmPrelim',\n templateUrl: './modal-questFarmPrelim.component.html',\n styleUrls: ['./modal-questFarmPrelim.component.scss']\n})\nexport class ModalQuestFarmPrelimComponent implements OnInit {\n public erroAvancarAnamnese: string | any = '';\n public campoinvalido: string | any = '';\n public carregandoAtualizarAnamnese: boolean = false;\n public formGroupEtapa4: FormGroup;\n public desativarCampos: boolean = false;\n\n public opcoesFrequencia: Array = [1, 2, 3, 4, 5, 6, 7];\n public opcoesCheckboxSimOuNao = [\n {\n label: 'Sim',\n value: true\n },\n {\n label: 'Não',\n value: false\n }\n ];\n public opcoesCheckboxSimOuNao2 = [\n {\n label: 'Sim',\n value: true\n },\n {\n label: 'Não',\n value: false\n }\n ];\n public opcoesIntensidade = [\n {\n label: 'Baixa',\n value: 1\n },\n {\n label: 'Média',\n value: 2\n },\n {\n label: 'Alta',\n value: 3\n }\n ];\n\n public opcoesMedicamentos = [];\n public listaMedicamentos: FormArray;\n public loadingBuscaMed: boolean = false;\n\n // Campos de estado para adicionar medicamentos\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private toastr: ToastrService\n ) {}\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n const anamnese = this.anamneseService.getAnamnese();\n\n this.formGroupEtapa4 = new FormGroup({\n NumeroEtapa: new FormControl(4),\n AnamneseID: new FormControl(anamnese?.Etapa4?.AnamneseID),\n AlergiaMedicamentos: new FormControl({\n value: anamnese?.Etapa4?.AlergiaMedicamentos,\n disabled: this.desativarCampos\n }),\n MedicamentosAlergenicos: new FormControl({\n value: anamnese?.Etapa4?.MedicamentosAlergenicos,\n disabled: this.desativarCampos\n }),\n AlergiaOutros: new FormControl({\n value: anamnese?.Etapa4?.AlergiaOutros,\n disabled: this.desativarCampos\n }),\n Produtos: new FormControl({\n value: anamnese?.Etapa4?.Produtos,\n disabled: this.desativarCampos\n }),\n FrequenciaHorarioMedicamentos: new FormControl({\n value: anamnese?.Etapa4?.FrequenciaHorarioMedicamentos,\n disabled: this.desativarCampos\n }),\n ExercicioRegular: new FormControl({\n value: anamnese?.Etapa4?.ExercicioRegular,\n disabled: this.desativarCampos\n }),\n Caminhada: new FormControl({\n value: anamnese?.Etapa4?.Caminhada,\n disabled: this.desativarCampos\n }),\n CaminhadaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaFrequencia,\n disabled: this.desativarCampos\n }),\n CaminhadaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaIntensidade,\n disabled: this.desativarCampos\n }),\n CaminhadaDuracao: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaDuracao,\n disabled: this.desativarCampos\n }),\n Corrida: new FormControl({\n value: anamnese?.Etapa4?.Corrida,\n disabled: this.desativarCampos\n }),\n CorridaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.CorridaFrequencia,\n disabled: this.desativarCampos\n }),\n CorridaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.CorridaIntensidade,\n disabled: this.desativarCampos\n }),\n CorridaDuracao: new FormControl({\n value: anamnese?.Etapa4?.CorridaDuracao,\n disabled: this.desativarCampos\n }),\n Musculacao: new FormControl({\n value: anamnese?.Etapa4?.Musculacao,\n disabled: this.desativarCampos\n }),\n MusculacaoFrequencia: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoFrequencia,\n disabled: this.desativarCampos\n }),\n MusculacaoIntensidade: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoIntensidade,\n disabled: this.desativarCampos\n }),\n MusculacaoDuracao: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoDuracao,\n disabled: this.desativarCampos\n }),\n Danca: new FormControl({\n value: anamnese?.Etapa4?.Danca,\n disabled: this.desativarCampos\n }),\n DancaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.DancaFrequencia,\n disabled: this.desativarCampos\n }),\n DancaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.DancaIntensidade,\n disabled: this.desativarCampos\n }),\n DancaDuracao: new FormControl({\n value: anamnese?.Etapa4?.DancaDuracao,\n disabled: this.desativarCampos\n }),\n Hidroginastica: new FormControl({\n value: anamnese?.Etapa4?.Hidroginastica,\n disabled: this.desativarCampos\n }),\n HidroginasticaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaFrequencia,\n disabled: this.desativarCampos\n }),\n HidroginasticaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaIntensidade,\n disabled: this.desativarCampos\n }),\n HidroginasticaDuracao: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaDuracao,\n disabled: this.desativarCampos\n }),\n OutroExercicio: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicio,\n disabled: this.desativarCampos\n }),\n OutroExercicioFrequencia: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioFrequencia,\n disabled: this.desativarCampos\n }),\n OutroExercicioIntensidade: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioIntensidade,\n disabled: this.desativarCampos\n }),\n OutroExercicioDuracao: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioDuracao,\n disabled: this.desativarCampos\n }),\n DescOutroExercicio: new FormControl({\n value: anamnese?.Etapa4?.DescOutroExercicio,\n disabled: this.desativarCampos\n }),\n QtdExercicioSemana: new FormControl({\n value: anamnese?.Etapa4?.QtdExercicioSemana,\n disabled: this.desativarCampos\n }),\n Intensidade: new FormControl({\n value: anamnese?.Etapa4?.Intensidade,\n disabled: this.desativarCampos\n }),\n DuracaoSessao: new FormControl({\n value: anamnese?.Etapa4?.DuracaoSessao,\n disabled: this.desativarCampos\n }),\n SomaSemanal: new FormControl({\n value: anamnese?.Etapa4?.SomaSemanal,\n disabled: this.desativarCampos\n }),\n SuplementoAlimentar: new FormControl({\n value: anamnese?.Etapa4?.SuplementoAlimentar,\n disabled: this.desativarCampos\n }),\n DescSuplemento: new FormControl({\n value: anamnese?.Etapa4?.DescSuplemento,\n disabled: this.desativarCampos\n }),\n MedicamentosEmUso: new FormControl({\n value: anamnese?.Etapa4?.MedicamentosEmUso,\n disabled: this.desativarCampos\n }),\n MedicamentosEmUsoSIM: new FormControl({\n value: anamnese?.Etapa4?.MedicamentosEmUsoSIM,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl({\n value: new Date(),\n disabled: this.desativarCampos\n }),\n DataFim: new FormControl(null),\n CafeDaManha: new FormControl({\n value: anamnese?.Etapa4?.CafeDaManha,\n disabled: this.desativarCampos\n }),\n Lanche1: new FormControl({\n value: anamnese?.Etapa4?.Lanche1,\n disabled: this.desativarCampos\n }),\n Almoco: new FormControl({\n value: anamnese?.Etapa4?.Almoco,\n disabled: this.desativarCampos\n }),\n Lanche2: new FormControl({\n value: anamnese?.Etapa4?.Lanche2,\n disabled: this.desativarCampos\n }),\n Jantar: new FormControl({\n value: anamnese?.Etapa4?.Jantar,\n disabled: this.desativarCampos\n }),\n Ceia: new FormControl({\n value: anamnese?.Etapa4?.Ceia,\n disabled: this.desativarCampos\n }),\n listaMedicamentos: new FormArray([]),\n MedicamentoId: new FormControl({\n value: '',\n disabled: this.desativarCampos\n }),\n Nome: new FormControl({value: '', disabled: this.desativarCampos}), // { value: '', disabled: this.desativarCampos\n Dose: new FormControl({value: '', disabled: this.desativarCampos}), // { value: '', disabled: this.desativarCampos\n Periodicidade: new FormControl({\n value: '',\n disabled: this.desativarCampos\n }) // { value: '', disabled: this.desativarCampos\n });\n\n // Busca medicamento e guarda getBuscarMedicamentos\n this.loadingBuscaMed = true;\n this.anamneseService.getBuscarMedicamentos().subscribe({\n next: (response: any) => {\n this.loadingBuscaMed = false;\n this.opcoesMedicamentos = response;\n },\n error: (error) => {\n this.loadingBuscaMed = false;\n }\n });\n\n // Inicializa lista de medicamentos como um FormArray\n this.listaMedicamentos = this.formGroupEtapa4.get(\n 'listaMedicamentos'\n ) as FormArray;\n\n this.addMedicamentosToForm(anamnese?.Etapa4?.MedicamentosEmUso);\n }\n\n addMedicamentosToForm(medicamentos: any[]) {\n if (!medicamentos || medicamentos.length === 0) {\n this.formGroupEtapa4.get('MedicamentosEmUsoSIM').setValue(false);\n console.log(\n 'medicamento não encontrado',\n this.formGroupEtapa4.get('MedicamentosEmUsoSIM').value\n );\n return;\n }\n console.log('medicamento encontrado', medicamentos);\n medicamentos.forEach((med) => {\n this.formGroupEtapa4.get('MedicamentosEmUsoSIM').setValue(true);\n\n const medicamentoGroup = new FormGroup({\n Produto: new FormControl({\n value: med.Medicamento.Produto.Produto,\n disabled: true\n }),\n Nome: new FormControl({value: med.Nome, disabled: true}),\n Dose: new FormControl({value: med.Dose, disabled: true}),\n Periodicidade: new FormControl({\n value: med.Periodicidade,\n disabled: true\n }),\n AnamneseID: new FormControl(\n this.formGroupEtapa4.get('AnamneseID')?.value\n ),\n Finalidade: new FormControl({value: '', disabled: true}),\n ID: new FormControl(Math.random() * 10000000),\n Horario: new FormControl({value: new Date(), disabled: true}),\n Medicamento: new FormControl({\n value: med.Medicamento.Produto.Produto,\n disabled: true\n }),\n MedicamentoId: new FormControl({\n value: med.Medicamento.Produto.ID,\n disabled: true\n })\n });\n this.listaMedicamentos.push(medicamentoGroup);\n });\n }\n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n this.appService.openModal(ModalInfoSobreSaudeComponent);\n }\n\n handleAdicionarMedicamento() {\n const medID = this.formGroupEtapa4?.get('MedicamentoId')?.value;\n const medNome = this.formGroupEtapa4?.get('Nome')?.value;\n const medDose = this.formGroupEtapa4?.get('Dose')?.value;\n const medPeriodicidade =\n this.formGroupEtapa4?.get('Periodicidade')?.value;\n\n if (!medID || !medNome || !medDose || !medPeriodicidade) {\n this.toastr.warning(\n 'Preencha todos os campos para adicionar um medicamento',\n 'Erro ao adicionar medicamento'\n );\n\n return;\n }\n\n //busca no array de medicamentos o medicamento selecionado\n const medProduto = this.opcoesMedicamentos.find(\n (med) => med.ID === medID\n ).Produto;\n const medicamentoForm = new FormGroup({\n AnamneseID: new FormControl(\n this.formGroupEtapa4.get('AnamneseID')?.value\n ),\n Dose: new FormControl({value: medDose, disabled: true}),\n Finalidade: new FormControl({value: '', disabled: true}),\n ID: new FormControl(Math.random() * 10000000),\n Horario: new FormControl({value: new Date(), disabled: true}),\n Produto: new FormControl({value: medProduto, disabled: true}),\n Medicamento: new FormControl({value: medProduto, disabled: true}),\n MedicamentoId: new FormControl({value: medID, disabled: true}),\n Nome: new FormControl({value: medNome, disabled: true}),\n Periodicidade: new FormControl({\n value: Number(medPeriodicidade),\n disabled: true\n })\n });\n\n this.listaMedicamentos.push(medicamentoForm);\n\n // Reseta os campos de entrada\n this.formGroupEtapa4.get('MedicamentoId')?.reset();\n this.formGroupEtapa4.get('Nome')?.reset();\n this.formGroupEtapa4.get('Dose')?.reset();\n this.formGroupEtapa4.get('Periodicidade')?.reset();\n }\n\n handleRemoverMedicamento(index: number) {\n this.listaMedicamentos.removeAt(index);\n }\n\n handleClickProximoModal() {\n // Caso os campos estejam desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informações\n // Logo, a gente não atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalCheckBoxesComponent);\n return;\n }\n\n const anamnese = this.anamneseService.getAnamnese();\n\n this.carregandoAtualizarAnamnese = true;\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa4: {\n ...anamnese?.Etapa4,\n ...this.formGroupEtapa4.getRawValue(),\n DataFim: new Date(),\n MedicamentosEmUso: this.listaMedicamentos.getRawValue()\n }\n };\n\n // Primeiro, validamos a anamnese para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next: (response) => {\n // Verifico se há etapas inválidas (endpoint retorna 200 mesmo para dados inválidos)\n if (\n // @ts-ignore\n typeof response?.etapaInvalida?.mensagem == 'string' &&\n // @ts-ignore\n response?.etapaInvalida?.etapa === 4\n ) {\n // @ts-ignore\n this.erroAvancarAnamnese =\n // @ts-ignore\n response?.etapaInvalida?.mensagem;\n // @ts-ignore\n this.campoinvalido = response?.etapaInvalida?.campo;\n this.carregandoAtualizarAnamnese = false;\n return;\n }\n\n // Atualiza a anamnese se tudo estiver ok\n this.anamneseService\n .putAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next: (response2) => {\n this.carregandoAtualizarAnamnese = false;\n this.anamneseService.setAnamnese(response2);\n this.appService.closeModal();\n this.appService.openModal(ModalCheckBoxesComponent);\n },\n error: (response) => {\n this.carregandoAtualizarAnamnese = false;\n if (typeof response?.error?.Message == 'string') {\n this.erroAvancarAnamnese =\n response?.error?.Message;\n } else {\n this.erroAvancarAnamnese =\n 'Ocorreu um erro ao atualizar a anamnese';\n }\n }\n });\n },\n error: (erro) => {\n this.carregandoAtualizarAnamnese = false;\n if (typeof erro?.Message == 'string') {\n this.erroAvancarAnamnese = erro?.Message;\n } else {\n this.erroAvancarAnamnese =\n 'Ocorreu um erro ao validar as informações preenchidas';\n }\n }\n });\n }\n}\n","
    \n
    \n\n
    \n
    \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Chegamos ao meio, vamos em frente.\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n
    \n
    \n 5/\n 10\n
    \n
    \n\n\n
    \n \"\"\n
    \n
    \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n Usando um escala de 1 a 7 , indique o quanto você concorda com cada item, marcando a opção mais apropriada na linha que depende de cada afirmação. \n
    \n
    \n
    \n\n Na maioria dos aspectos minha vida está próxima do meu ideal. \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 As condições da minha vida são excelentes.\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 Estou inteiramente satisfeito com minha vida. \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 Até hoje, consegui as coisas mais importantes que desejei na vida. \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 Se pudesse viver outra vez, não mudaria nada. \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 {{ erroAvancarAnamnese }}\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","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ModalQuestFarmPrelimComponent} from '../Modal4-QuestFarmPrelim/modal-questFarmPrelim.component';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ModalPercepSaudeComponent} from '@components/dashboard/modais/Modal6-PercepSaude/modal-percepSaude.component';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-modal-checkBoxes',\n templateUrl: './modal-checkBoxes.component.html',\n styleUrls: ['./modal-checkBoxes.component.scss']\n})\nexport class ModalCheckBoxesComponent implements OnInit {\n @ViewChild('proxIdeal') proxIdealRef: ElementRef;\n @ViewChild('vidaExcelente') vidaExcelenteRef: ElementRef;\n @ViewChild('satisfeitoVida') satisfeitoVidaRef: ElementRef;\n @ViewChild('desejeiVida') desejeiVidaRef: ElementRef;\n @ViewChild('mudariaNada') mudariaNadaRef: ElementRef;\n\n public erroAvancarAnamnese: string | any = '';\n public carregandoAtualizarAnamnese: boolean = false;\n public formGroupEtapa5: FormGroup;\n public desativarCampos: boolean = false;\n public campoinvalido: string | any = '';\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n const anamnese = this.anamneseService.getAnamnese();\n\n this.formGroupEtapa5 = new FormGroup({\n NumeroEtapa: new FormControl({\n value: anamnese?.Etapa5.NumeroEtapa,\n disabled: this.desativarCampos\n }),\n AnamneseID: new FormControl({\n value: anamnese?.Etapa5.AnamneseID,\n disabled: this.desativarCampos\n }),\n ProxIdeal: new FormControl({\n value: anamnese?.Etapa5.ProxIdeal,\n disabled: this.desativarCampos\n }),\n VidaExcelente: new FormControl({\n value: anamnese?.Etapa5.VidaExcelente,\n disabled: this.desativarCampos\n }),\n SatisfeitoVida: new FormControl({\n value: anamnese?.Etapa5.SatisfeitoVida,\n disabled: this.desativarCampos\n }),\n DesejeiVida: new FormControl({\n value: anamnese?.Etapa5.DesejeiVida,\n disabled: this.desativarCampos\n }),\n MudariaNada: new FormControl({\n value: anamnese?.Etapa5.MudariaNada,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl({\n value: new Date(),\n disabled: this.desativarCampos\n }),\n DataFim: new FormControl(null)\n });\n }\n scrollToField(fieldName: string) {\n const elementMap = {\n ProxIdeal: this.proxIdealRef,\n VidaExcelente: this.vidaExcelenteRef,\n SatisfeitoVida: this.satisfeitoVidaRef,\n DesejeiVida: this.desejeiVidaRef,\n MudariaNada: this.mudariaNadaRef\n };\n\n const elementRef = elementMap[fieldName];\n\n // Detecta mudanças e aguarda o render do DOM\n this.cdr.detectChanges();\n\n if (elementRef && elementRef.nativeElement) {\n // Usamos `setTimeout` para garantir que o elemento esteja disponível\n setTimeout(() => {\n elementRef.nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n }, 100); // Atraso de 100ms\n }\n }\n\n toggleCheckboxWidthValue(checkboxName: string, value: any) {\n this.formGroupEtapa5.get(checkboxName).setValue(value);\n }\n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n this.appService.openModal(ModalQuestFarmPrelimComponent, {\n size: 'lg',\n backdrop: false\n });\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalPercepSaudeComponent);\n return;\n }\n\n const anamnese = this.anamneseService.getAnamnese();\n const classeContexto = this;\n\n this.carregandoAtualizarAnamnese = true;\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa5: {\n ...anamnese?.Etapa5,\n ...this.formGroupEtapa5.getRawValue(),\n DataFim: new Date()\n }\n };\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (\n // @ts-ignore\n typeof response?.etapaInvalida?.mensagem == 'string' &&\n // @ts-ignore\n response?.etapaInvalida?.etapa === 5\n ) {\n // @ts-ignore\n const campo = response?.etapaInvalida?.campo;\n // @ts-ignore\n classeContexto.scrollToField(campo);\n classeContexto.erroAvancarAnamnese =\n // @ts-ignore\n response?.etapaInvalida?.mensagem;\n // @ts-ignore\n classeContexto.campoinvalido =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false;\n return;\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService\n .putAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next(response2) {\n classeContexto.carregandoAtualizarAnamnese = false;\n classeContexto.anamneseService.setAnamnese(\n response2\n );\n classeContexto.appService.closeModal();\n classeContexto.appService.openModal(\n ModalPercepSaudeComponent\n );\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese =\n response?.error?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao atualizar a anamnese';\n }\n }\n });\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao validar as informações preenchidas';\n }\n }\n });\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Percepção saúde\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 6/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n Essa etapa é muito interessante, preste atenção nas\n repostas, pois sempre com o valor 0 sendo\n considerado o Melhor resultado e o valor 10 sendo\n considerado o Pior resultado.\n \n
    \n De acordo com a escala visual analógica (EVA) favor\n pontuar de 0 a 10 o que sentiu em média na última\n semana nos parâmetros abaixo.\n
    \n
    \n
    \n
    \n Dor:\n {{ formGroupEtapa6.get('Dor').value }}\n
    \n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Dor').value < 8 &&\n formGroupEtapa6.get('Dor').value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Dor').value <= 3\n ? 'p-slider-verde'\n : ''\n }}\n\n\n \"\n >\n
    \n
    \n
    \n
    \n
    0\">\n Citar local(is) onde sente dor:\n \n
    \n
    \n
    \n
    \n Tensão/ansiedade:\n {{\n formGroupEtapa6.get('Ansiedade').value\n }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Ansiedade').value <\n 8 &&\n formGroupEtapa6.get('Ansiedade')\n .value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Ansiedade')\n .value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Fadiga:\n {{ formGroupEtapa6.get('Fadiga').value }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Fadiga').value <\n 8 &&\n formGroupEtapa6.get('Fadiga').value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Fadiga').value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Gratidão (Qual o seu nível de gratidão em\n relação a sua vida, família, trabalho, saúde e\n relacionamentos):\n {{\n formGroupEtapa6.get('Gratidao').value\n }}\n
    \n\n
    \n
    \n \n =\n 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Gratidao').value <\n 8 &&\n formGroupEtapa6.get('Gratidao').value >=\n 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Gratidao').value <=\n 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Ânimo:\n {{ formGroupEtapa6.get('Animo').value }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Animo').value <\n 8 &&\n formGroupEtapa6.get('Animo').value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Animo').value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Qualidade do sono:\n {{ formGroupEtapa6.get('Sono').value }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Sono').value < 8 &&\n formGroupEtapa6.get('Sono').value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Sono').value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Disposição ao acordar:\n {{\n formGroupEtapa6.get('Disposicao').value\n }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Disposicao')\n .value < 8 &&\n formGroupEtapa6.get('Disposicao')\n .value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Disposicao')\n .value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Percepção de saúde geral:\n {{\n formGroupEtapa6.get('Percepcao').value\n }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Percepcao').value <\n 8 &&\n formGroupEtapa6.get('Percepcao')\n .value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Percepcao')\n .value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Relato da capacidade funcional (atividades do\n dia a dia):\n {{\n formGroupEtapa6.get('CapacidadeFuncional')\n .value\n }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get(\n 'CapacidadeFuncional'\n ).value < 8 &&\n formGroupEtapa6.get(\n 'CapacidadeFuncional'\n ).value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get(\n 'CapacidadeFuncional'\n ).value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n\n
    \n
    \n Nível de estresse:\n {{\n formGroupEtapa6.get('Estresse').value\n }}\n
    \n\n
    \n
    \n \n =\n 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Estresse').value <\n 8 &&\n formGroupEtapa6.get('Estresse').value >=\n 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Estresse').value <=\n 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Percepção de felicidade:\n {{\n formGroupEtapa6.get('Felicidade').value\n }}\n
    \n\n
    \n
    \n \n = 8\n ? 'p-slider-vermelho'\n : ''\n }}\n {{\n formGroupEtapa6.get('Felicidade')\n .value < 8 &&\n formGroupEtapa6.get('Felicidade')\n .value >= 4\n ? 'p-slider-amarelo'\n : ''\n }}\n {{\n formGroupEtapa6.get('Felicidade')\n .value <= 3\n ? 'p-slider-verde'\n : ''\n }}\"\n >\n
    \n
    \n
    \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n
    \n\n \n \n Carregando\n \n
    \n
    \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AppService} from '@services/app.service';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ModalCheckBoxesComponent} from '../Modal5-CheckBoxes/modal-checkBoxes.component';\nimport {ModalSaudEmocFuncComponent} from '../Modal7-SaudEmocFunc/modal-saudEmocFunc.component';\nimport {Router} from \"@angular/router\";\n\n@Component({\n selector: 'app-modal-percepSaude',\n templateUrl: './modal-percepSaude.component.html',\n styleUrls: ['./modal-percepSaude.component.scss']\n})\nexport class ModalPercepSaudeComponent implements OnInit {\n public erroAvancarAnamnese: string | any = \"\"\n public formGroupEtapa6: FormGroup\n public carregandoAtualizarAnamnese: boolean = false\n public desativarCampos: boolean = false\n\n\n constructor(private appService: AppService, private anamneseService: AnamneseService, private router: Router) {\n }\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador')\n const anamnese = this.anamneseService.getAnamnese()\n\n this.formGroupEtapa6 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa6?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa6?.AnamneseID),\n Dor: new FormControl({value: anamnese?.Etapa6?.Dor || 0, disabled: this.desativarCampos}),\n LocalDor: new FormControl({value: anamnese?.Etapa6?.LocalDor || '', disabled: this.desativarCampos}),\n Ansiedade: new FormControl({value: anamnese?.Etapa6?.Ansiedade || 0, disabled: this.desativarCampos}),\n Fadiga: new FormControl({value: anamnese?.Etapa6?.Fadiga || 0, disabled: this.desativarCampos}),\n Gratidao: new FormControl({value: anamnese?.Etapa6?.Gratidao || 0, disabled: this.desativarCampos}),\n Animo: new FormControl({value: anamnese?.Etapa6?.Animo || 0, disabled: this.desativarCampos}),\n Sono: new FormControl({value: anamnese?.Etapa6?.Sono || 0, disabled: this.desativarCampos}),\n Disposicao: new FormControl({value: anamnese?.Etapa6?.Disposicao || 0, disabled: this.desativarCampos}),\n Percepcao: new FormControl({value: anamnese?.Etapa6?.Percepcao || 0, disabled: this.desativarCampos}),\n CapacidadeFuncional: new FormControl({\n value: anamnese?.Etapa6?.CapacidadeFuncional || 0,\n disabled: this.desativarCampos\n }),\n Estresse: new FormControl({value: anamnese?.Etapa6?.Estresse || 0, disabled: this.desativarCampos}),\n Felicidade: new FormControl({value: anamnese?.Etapa6?.Felicidade || 0, disabled: this.desativarCampos}),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal()\n this.appService.openModal(ModalCheckBoxesComponent, {size: 'lg', backdrop: false})\n }\n\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal()\n this.appService.openModal(ModalSaudEmocFuncComponent)\n return\n }\n\n\n const anamnese = this.anamneseService.getAnamnese()\n const classeContexto = this\n\n this.carregandoAtualizarAnamnese = true\n\n const novaAnamneseAtualizada = {\n ...anamnese, Etapa6: {\n ...anamnese?.Etapa6, ...this.formGroupEtapa6.getRawValue(), DataFim: new Date(),\n }\n }\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (typeof response?.etapaInvalida?.mensagem == 'string' && response?.etapaInvalida?.etapa === 6) {\n // @ts-ignore\n classeContexto.erroAvancarAnamnese = response?.etapaInvalida?.mensagem\n classeContexto.carregandoAtualizarAnamnese = false\n return\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService.putAnamnese(novaAnamneseAtualizada).subscribe({\n next(response2) {\n\n classeContexto.carregandoAtualizarAnamnese = false\n classeContexto.anamneseService.setAnamnese(response2)\n classeContexto.appService.closeModal()\n classeContexto.appService.openModal(ModalSaudEmocFuncComponent)\n }, error(response) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = response?.error?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao atualizar a anamnese\"\n }\n }\n })\n\n }, error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao validar as informações preenchidas\"\n }\n }\n })\n\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Saúde emocional saúde funcional\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 7/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n Vamos ver o quanto você gosta de esportes\n
    \n
    \n
    \n
    \n
    \n
    \n \n Nós estamos interessados em saber que tipos de\n atividade física você realiza no seu cotidiano. As\n perguntas estão relacionadas ao tempo que cada\n pessoa gasta fazendo atividade física na ÚLTIMA\n SEMANA. As perguntas incluem as atividades, ou seja,\n o quanto se movimenta fazendo o seu trabalho (no\n escritório, em casa ou no jardim) nos momentos de\n lazer, praticando esporte ou outros tipos de\n exercício ou como parte das suas atividades. Por\n favor, responda cada questão mesmo que considere que\n não seja ativo.\n \n
    \n
    \n \n
    Para responder as questões lembre que: -\n atividades físicas VIGOROSAS são aquelas que\n precisam de um grande esforço físico e que fazem\n respirar MUITO mais forte que o normal - atividades\n físicas MODERADAS são aquelas que precisam de algum\n esforço físico e que fazem respirar UM POUCO mais\n forte que o normal Para responder as perguntas pense\n somente nas atividades que você realiza por pelo\n menos 10 minutos contínuos de cada vez.\n
    \n
    \n
    \n \n
    \n \n Em quantos dias da última semana você\n caminhou por pelo menos 10 minutos contínuos\n em casa ou no trabalho, como forma de\n transporte para ir de um lugar para outro,\n por lazer, por prazer ou como forma de\n exercício?\n \n \n
    \n Informe o número de dias por semana. Escolha\n \"0\", caso não tenha feito atividades em\n nenhum dia da semana.\n
    \n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n
    \n
    \n \n
    \n \n Nos dias em que você caminhou por pelo menos\n 10 minutos contínuos quanto tempo no total\n você gastou caminhando por dia?\n \n \n
    \n Informe o total de horas e minutos.\n
    \n
    \n
    \n \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n
    \n
    \n \n
    \n \n Em quantos dias da última semana, você\n realizou atividades moderadas por pelo menos\n 10 minutos contínuos, como por exemplo,\n pedalar leve na bicicleta, nadar, dançar,\n fazer ginástica aeróbica leve, jogar vôlei\n recreativo, carregar pesos leves, fazer\n serviços domésticos na casa, no quintal ou\n no jardim como varrer, aspirar, cuidar do\n jardim, ou qualquer atividade que fez\n aumentar moderadamente sua respiração ou\n batimentos do coração (POR FAVOR NÃO INCLUA\n CAMINHADA)\n \n \n
    Informe o número de dias por semana.\n Selecione \"0\", caso seja nenhum dia da\n semana.\n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n
    \n\n
    \n \n
    \n \n Nos dias em que você fez essas atividades\n moderadas por pelo menos 10 minutos\n contínuos, quanto tempo no total você gastou\n fazendo essas atividades por dia?\n \n \n
    Informe o total de horas e\n minutos\n
    \n
    \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n \n\n
    \n \n
    \n \n Em quantos dias da última semana, você\n realizou atividades VIGOROSAS por pelo menos\n 10 minutos contínuos, como por exemplo,\n correr, fazer ginástica aeróbia, jogar\n futebol, pedalar rápido na bicicleta, jogar\n basquete, fazer serviços domésticos pesados\n em casa, no quintal ou cavoucar no jardim,\n carregar pesos elevados ou qualquer\n atividade que fez aumentar MUITO sua\n respiração ou batimentos do coração.\n \n \n
    Informe o número de dias por semana.\n Selecione \"0\", caso seja nenhum dia da\n semana.\n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n \n\n
    \n \n
    \n \n Nos dias em que você fez essas atividades\n vigorosas por pelo menos 10 minutos\n contínuos, quanto tempo no total você gastou\n fazendo essas atividades por dia?\n \n \n
    Informe o total de horas e\n minutos\n
    \n
    \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n \n\n
    \n \n Estas últimas questões são sobre o tempo que você\n permanece sentado todo dia, no trabalho, na escola\n ou faculdade, em casa e durante seu tempo livre.\n Isto inclui o tempo sentado estudando, sentado\n enquanto descansa, fazendo lição de casa visitando\n um amigo, lendo, sentado ou deitado assistindo TV.\n Inclua o tempo gasto sentando durante o transporte\n em ônibus, trem, metrô ou carro.\n \n
    \n \n
    Quanto tempo no total você gasta sentado durante\n um dia de semana?\n
    \n
    \n \n \n
    Trabalho\n
    \n\n \n c\n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Transporte\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Assistindo TV\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Celular / Computador\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    Leitura\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    Descanso\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n \n
    Quanto tempo no total você gasta sentado durante\n um final de semana? (total:\n {{ formGroupEtapa7.get('TotaisTempoSentado').value }}\n )\n
    \n
    \n \n \n
    Trabalho\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Transporte\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Assistindo TV\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    \n Celular / Computador\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    Leitura\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n \n \n
    Descanso\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n \n\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ModalPercepSaudeComponent} from '../Modal6-PercepSaude/modal-percepSaude.component';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ModalCheckBoxes2Component} from '@components/dashboard/modais/Modal8-CheckBoxes2/modal-checkBoxes2.component';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-modal-saudEmocFunc',\n templateUrl: './modal-saudEmocFunc.component.html',\n styleUrls: ['./modal-saudEmocFunc.component.scss']\n})\nexport class ModalSaudEmocFuncComponent implements OnInit {\n @ViewChild('IpacDiasCaminhando') IpacDiasCaminhandoRef: ElementRef;\n @ViewChild('IpacTempoCaminhando') IpacTempoCaminhandoRef: ElementRef;\n @ViewChild('IpacDiasAtivModerada') IpacDiasAtivModeradaRef: ElementRef;\n @ViewChild('IpacTempoAtivModerada') IpacTempoAtivModeradaRef: ElementRef;\n @ViewChild('IpacDiasAtivVigorosa') IpacDiasAtivVigorosaRef: ElementRef;\n @ViewChild('IpacTempoAtivVigorosa') IpacTempoAtivVigorosaRef: ElementRef;\n @ViewChild('IpacTempoTrabalhoDia') IpacTempoTrabalhoDiaRef: ElementRef;\n @ViewChild('IpacTempoTransporteDia') IpacTempoTransporteDiaRef: ElementRef;\n @ViewChild('IpacTempoTvDia') IpacTempoTvDiaRef: ElementRef;\n @ViewChild('IpacTempoComputadorDia') IpacTempoComputadorDiaRef: ElementRef;\n @ViewChild('IpacTempoLeituraDia') IpacTempoLeituraDiaRef: ElementRef;\n @ViewChild('IpacTempoDescansoDia') IpacTempoDescansoDiaRef: ElementRef;\n @ViewChild('IpacTempoTrabalhoFDS') IpacTempoTrabalhoFDSRef: ElementRef;\n @ViewChild('IpacTempoTransporteFDS') IpacTempoTransporteFDSRef: ElementRef;\n @ViewChild('IpacTempoTvFDS') IpacTempoTvFDSRef: ElementRef;\n @ViewChild('IpacTempoComputadorFDS') IpacTempoComputadorFDSRef: ElementRef;\n @ViewChild('IpacTempoLeituraFDS') IpacTempoLeituraFDSRef: ElementRef;\n @ViewChild('IpacTempoDescansoFDS') IpacTempoDescansoFDSRef: ElementRef;\n\n public erroAvancarAnamnese: string | any = '';\n public campoinvalido: string | any = '';\n public formGroupEtapa7: FormGroup;\n public carregandoAtualizarAnamnese: boolean = false;\n public opcoesDiasDaSemana = [0, 1, 2, 3, 4, 5, 6, 7];\n public desativarCampos: boolean = false;\n public opcoesTempo = [\n {\n label: 'Selecione',\n value: null\n },\n {\n label: '00:00',\n value: '00:00:00'\n },\n {\n label: '00:05',\n value: '00:05:00'\n },\n {\n label: '00:10',\n value: '00:10:00'\n },\n {\n label: '00:30',\n value: '00:30:00'\n },\n {\n label: '00:40',\n value: '00:40:00'\n },\n {\n label: '01:00',\n value: '01:00:00'\n },\n {\n label: '01:05',\n value: '01:05:00'\n },\n {\n label: '01:10',\n value: '01:10:00'\n },\n {\n label: '01:30',\n value: '01:30:00'\n },\n {\n label: '01:40',\n value: '01:40:00'\n },\n {\n label: '02:00',\n value: '02:00:00'\n },\n {\n label: '02:05',\n value: '02:05:00'\n },\n {\n label: '02:10',\n value: '02:10:00'\n },\n {\n label: '02:30',\n value: '02:30:00'\n },\n {\n label: '02:40',\n value: '02:40:00'\n },\n {\n label: '03:00',\n value: '03:00:00'\n },\n {\n label: '03:05',\n value: '03:05:00'\n },\n {\n label: '03:10',\n value: '03:10:00'\n },\n {\n label: '03:30',\n value: '03:30:00'\n },\n {\n label: '03:40',\n value: '03:40:00'\n },\n {\n label: '04:00',\n value: '04:00:00'\n },\n {\n label: '04:05',\n value: '04:05:00'\n },\n {\n label: '04:10',\n value: '04:10:00'\n },\n {\n label: '04:30',\n value: '04:30:00'\n },\n {\n label: '04:40',\n value: '04:40:00'\n },\n {\n label: '05:00',\n value: '05:00:00'\n },\n {\n label: '05:05',\n value: '05:05:00'\n },\n {\n label: '05:10',\n value: '05:10:00'\n },\n {\n label: '05:30',\n value: '05:30:00'\n },\n {\n label: '05:40',\n value: '05:40:00'\n },\n {\n label: '06:00',\n value: '06:00:00'\n },\n {\n label: '06:05',\n value: '06:05:00'\n },\n {\n label: '06:10',\n value: '06:10:00'\n },\n {\n label: '06:30',\n value: '06:30:00'\n },\n {\n label: '06:40',\n value: '06:40:00'\n },\n {\n label: '07:00',\n value: '07:00:00'\n },\n {\n label: '07:05',\n value: '07:05:00'\n },\n {\n label: '07:10',\n value: '07:10:00'\n },\n {\n label: '07:30',\n value: '07:30:00'\n },\n {\n label: '07:40',\n value: '07:40:00'\n },\n {\n label: '08:00',\n value: '08:00:00'\n },\n {\n label: '08:05',\n value: '08:05:00'\n },\n {\n label: '08:10',\n value: '08:10:00'\n },\n {\n label: '08:30',\n value: '08:30:00'\n },\n {\n label: '08:40',\n value: '08:40:00'\n },\n {\n label: '09:00',\n value: '09:00:00'\n },\n {\n label: '09:05',\n value: '09:05:00'\n },\n {\n label: '09:10',\n value: '09:10:00'\n },\n {\n label: '09:30',\n value: '09:30:00'\n },\n {\n label: '09:40',\n value: '09:40:00'\n },\n {\n label: '10:00',\n value: '10:00:00'\n },\n {\n label: '10:05',\n value: '10:05:00'\n },\n {\n label: '10:10',\n value: '10:10:00'\n },\n {\n label: '10:30',\n value: '10:30:00'\n },\n {\n label: '10:40',\n value: '10:40:00'\n },\n {\n label: '11:00',\n value: '11:00:00'\n },\n {\n label: '11:05',\n value: '11:05:00'\n },\n {\n label: '11:10',\n value: '11:10:00'\n },\n {\n label: '11:30',\n value: '11:30:00'\n },\n {\n label: '11:40',\n value: '11:40:00'\n },\n {\n label: '12:00',\n value: '12:00:00'\n },\n {\n label: '12:05',\n value: '12:05:00'\n },\n {\n label: '12:10',\n value: '12:10:00'\n },\n {\n label: '12:30',\n value: '12:30:00'\n },\n {\n label: '12:40',\n value: '12:40:00'\n }\n ];\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n const anamnese = this.anamneseService.getAnamnese();\n\n this.formGroupEtapa7 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa7?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa7?.AnamneseID),\n IpacDiasCaminhando: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasCaminhando,\n disabled: this.desativarCampos\n }),\n IpacTempoCaminhando: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoCaminhando,\n disabled: this.desativarCampos\n }),\n IpacDiasAtivModerada: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasAtivModerada,\n disabled: this.desativarCampos\n }),\n IpacTempoAtivModerada: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoAtivModerada,\n disabled: this.desativarCampos\n }),\n IpacDiasAtivVigorosa: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasAtivVigorosa,\n disabled: this.desativarCampos\n }),\n IpacTempoAtivVigorosa: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoAtivVigorosa,\n disabled: this.desativarCampos\n }),\n IpacTempoTrabalhoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTrabalhoDia,\n disabled: this.desativarCampos\n }),\n IpacTempoTransporteDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTransporteDia,\n disabled: this.desativarCampos\n }),\n IpacTempoTvDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTvDia,\n disabled: this.desativarCampos\n }),\n IpacTempoComputadorDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoComputadorDia,\n disabled: this.desativarCampos\n }),\n IpacTempoDescansoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoDescansoDia,\n disabled: this.desativarCampos\n }),\n IpacTempoLeituraDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoLeituraDia,\n disabled: this.desativarCampos\n }),\n IpacTempoTrabalhoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTrabalhoFDS,\n disabled: this.desativarCampos\n }),\n IpacTempoTransporteFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTransporteFDS,\n disabled: this.desativarCampos\n }),\n IpacTempoTvFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTvFDS,\n disabled: this.desativarCampos\n }),\n IpacTempoComputadorFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoComputadorFDS,\n disabled: this.desativarCampos\n }),\n IpacTempoDescansoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoDescansoFDS,\n disabled: this.desativarCampos\n }),\n IpacTempoLeituraFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoLeituraFDS,\n disabled: this.desativarCampos\n }),\n TotaisTempoSentado: new FormControl({\n value: anamnese?.Etapa7?.TotaisTempoSentado,\n disabled: this.desativarCampos\n }),\n IpacTempoTotalSentadoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTotalSentadoDia,\n disabled: this.desativarCampos\n }),\n IpacTempoTotalSentadoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTotalSentadoFDS,\n disabled: this.desativarCampos\n }),\n\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n });\n }\n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n this.appService.openModal(ModalPercepSaudeComponent, {\n size: 'lg',\n backdrop: false\n });\n }\n\n scrollToField(fieldName: string) {\n const elementMap = {\n IpacDiasCaminhando: this.IpacDiasCaminhandoRef,\n IpacTempoCaminhando: this.IpacTempoCaminhandoRef,\n IpacDiasAtivModerada: this.IpacDiasAtivModeradaRef,\n IpacTempoAtivModerada: this.IpacTempoAtivModeradaRef,\n IpacDiasAtivVigorosa: this.IpacDiasAtivVigorosaRef,\n IpacTempoAtivVigorosa: this.IpacTempoAtivVigorosaRef,\n IpacTempoTrabalhoDia: this.IpacTempoTrabalhoDiaRef,\n IpacTempoTransporteDia: this.IpacTempoTransporteDiaRef,\n IpacTempoTvDia: this.IpacTempoTvDiaRef,\n IpacTempoComputadorDia: this.IpacTempoComputadorDiaRef,\n IpacTempoLeituraDia: this.IpacTempoLeituraDiaRef,\n IpacTempoDescansoDia: this.IpacTempoDescansoDiaRef,\n IpacTempoTrabalhoFDS: this.IpacTempoTrabalhoFDSRef,\n IpacTempoTransporteFDS: this.IpacTempoTransporteFDSRef,\n IpacTempoTvFDS: this.IpacTempoTvFDSRef,\n IpacTempoComputadorFDS: this.IpacTempoComputadorFDSRef,\n IpacTempoLeituraFDS: this.IpacTempoLeituraFDSRef,\n IpacTempoDescansoFDS: this.IpacTempoDescansoFDSRef\n };\n\n const elementRef = elementMap[fieldName];\n\n // Detecta mudanças e aguarda o render do DOM\n this.cdr.detectChanges();\n\n if (elementRef && elementRef.nativeElement) {\n // Usamos `setTimeout` para garantir que o elemento esteja disponível\n setTimeout(() => {\n elementRef.nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n }, 100); // Atraso de 100ms\n }\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalCheckBoxes2Component);\n return;\n }\n\n const anamnese = this.anamneseService.getAnamnese();\n const classeContexto = this;\n\n this.carregandoAtualizarAnamnese = true;\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa7: {\n ...anamnese?.Etapa7,\n ...this.formGroupEtapa7.getRawValue(),\n DataFim: new Date()\n }\n };\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService\n .obterTempoSentado(novaAnamneseAtualizada)\n .subscribe({\n next(arrayTempoTotal) {\n // @ts-ignore\n [\n novaAnamneseAtualizada.Etapa7\n .TempoTotalSentadoDia = '00:00',\n novaAnamneseAtualizada.Etapa7\n .TempoTotalSentadoFDS = '00:00'\n ] = arrayTempoTotal;\n\n // agora eu calculo o tempo total das atividades sentados. Essencial se não esse endpoint retorna um erro nessa etapa\n classeContexto.anamneseService\n .validarAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n if (\n // @ts-ignore\n typeof response?.etapaInvalida?.mensagem ==\n 'string' &&\n // @ts-ignore\n response?.etapaInvalida?.etapa === 7\n ) {\n // @ts-ignore\n const campo =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n // @ts-ignore\n classeContexto.scrollToField(campo);\n // @ts-ignore\n classeContexto.erroAvancarAnamnese =\n // @ts-ignore\n response?.etapaInvalida?.mensagem;\n // @ts-ignore\n classeContexto.campoinvalido =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese =\n false;\n return;\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService\n .putAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next(response2) {\n classeContexto.carregandoAtualizarAnamnese =\n false;\n classeContexto.anamneseService.setAnamnese(\n response2\n );\n classeContexto.appService.closeModal();\n classeContexto.appService.openModal(\n ModalCheckBoxes2Component\n );\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese =\n false;\n if (\n typeof response?.error\n ?.Message == 'string'\n ) {\n classeContexto.erroAvancarAnamnese =\n response?.error?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao atualizar a anamnese';\n }\n }\n });\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese =\n false;\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese =\n erro?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao validar as informações preenchidas';\n }\n }\n });\n }\n });\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n CheckList 2\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 8/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n

    Beba uma água e vamos continuar!
    \n
    \n
    \n
    \n
    \n \n Instruções: Esta pesquisa nos dá informações sobre a\n sua saúde. As informações fornecidas nos mostrarão\n como você se sente e o quão bem você é capaz de\n fazer suas atividades da vida diária. Responda cada\n questão marcando a resposta como indicado. Caso você\n esteja inseguro em como responder, por favor, tente\n responder o melhor que puder.\n \n
    \n\n \n
    \n \n \n Em geral, você diria que sua saúde é:\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 Comparada há um ano atrás, como você classifica\n sua saúde em geral, agora?\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 Os seguintes itens são sobre atividades que você\n poderia fazer atualmente durante um dia comum.\n Devido a sua saúde, você tem dificuldades para fazer\n essas atividades? Neste caso, quanto?\n \n
    \n\n \n
    \n \n
    Atividades vigorosas, que exigem muito\n esforço, tais como correr, levantar objetos\n pesados, participar em esportes árduos\n
    \n\n \n \n \n
    \n
    \n \n \n\n \n
    \n \n \n Atividades moderadas, tais como mover uma mesa,\n passar aspirador de pó, jogar bola, varrer a\n casa\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Levantar ou carregar mantimentos (compras)\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n Subir vários lances de escada\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Subir um lance de escada\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Curvar-se, ajoelhar-se ou dobrar-se\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Andar mais de 1 quilômetro\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Andar vários quarteirões (quadras)\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Andar um quarteirão (quadras)\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Tomar banho ou vestir-se\n \n \n \n \n
    \n \n \n \n\n
    \n \n Durante as últimas 4 semanas, você teve algum dos\n seguintes problemas com o seu trabalho ou com alguma\n atividade diária regular, como consequência de sua\n saúde física?\n \n
    \n\n \n
    \n \n \n Você diminuiu a quantidade de tempo que se\n dedicava ao seu trabalho ou a outras atividades?\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Realizou menos tarefas do que você gostaria?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Esteve limitado no seu tipo de trabalho ou em\n outras atividades? (p. ex. necessitou de um\n esforço extra)?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Teve dificuldade de fazer seu trabalho ou outras\n atividades (exemplo: necessitou de um esforço\n extra)?\n \n\n \n \n \n
    \n \n \n \n\n
    \n \n Durante as últimas 4 semanas, você teve algum dos\n seguintes problemas com seu trabalho ou outra\n atividade regular diária, como consequência de algum\n problema emocional (como sentir-se deprimido ou\n ansioso)?\n \n
    \n\n \n
    \n \n \n Você diminuiu a quantidade de tempo que se\n dedicava ao seu trabalho ou a outras atividades?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n Realizou menos tarefa do que você gostaria?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Não trabalhou ou não fez qualquer das atividades\n com tanto cuidado como geralmente faz?\n \n
    \n \n \n \n {{ opcao.label }}\n \n
    \n
    \n \n \n \n\n
    \n \n \n Durante as últimas 4 semanas, de que maneira sua\n saúde física ou problemas emocionais interferiam\n nas suas atividades sociais (festas, casa de\n amigos, aniversário) normais, em relação à\n família, vizinhos, amigos ou em grupo?\n \n\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanta dor no corpo você teve durante as últimas\n 4 semanas?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Durante as últimas 4 semanas, quanto a dor\n interferiu com o seu trabalho normal (incluindo\n tanto o trabalho, fora de casa e dentro de\n casa)?\n \n\n \n \n \n
    \n \n \n \n\n
    \n As perguntas abaixo são para saber como você se\n sente e como tudo tem acontecido com você nas\n últimas quatro semanas. Para cada questão, por\n favor, dê uma resposta que mais se aproxime da\n maneira com você se sente. Em relação às últimas\n quatro semanas.\n \n
    \n\n \n
    \n \n Cheio de vigor, cheio de vontade, cheio de\n força?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido uma pessoa\n muito nervosa?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido tão deprimido\n que nada pode te animar?\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Por quanto tempo você tem se sentido calmo ou\n tranquilo?\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido com muita\n energia?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido desanimado e\n abatido?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido esgotado?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido uma pessoa\n feliz?\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Quanto tempo você tem se sentido cansado?\n \n\n \n \n \n
    \n \n \n \n\n
    \n Durante as últimas 4 semanas, quanto do seu tempo a\n sua saúde física ou problemas emocionais interferiam\n com as suas atividades sociais (como visitar amigos,\n parentes, festas etc)?\n \n
    \n\n \n
    \n \n \n \n \n
    \n \n \n \n\n
    \n \n O quanto verdadeiro ou falso é cada uma das\n afirmações para você?\n \n
    \n\n \n
    \n \n \n Eu costumo adoecer um pouco mais facilmente que\n as outras pessoas\n \n\n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Eu sou tão saudável quanto qualquer pessoa que\n eu conheço\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Eu acho que a minha saúde vai piorar\n \n \n \n \n
    \n \n \n \n\n \n
    \n \n \n Minha saúde é excelente\n \n \n \n \n
    \n \n \n \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n \n\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ModalCheckBoxes3SonoComponent } from '@components/dashboard/modais/Modal9-CheckBoxes3Sono/modal-checkBoxes3Sono.component';\nimport { AppService } from '@services/app.service';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { ModalSaudEmocFuncComponent } from '../Modal7-SaudEmocFunc/modal-saudEmocFunc.component';\n\n@Component({\n selector: 'app-modal-checkBoxes2',\n templateUrl: './modal-checkBoxes2.component.html',\n styleUrls: ['./modal-checkBoxes2.component.scss']\n})\nexport class ModalCheckBoxes2Component implements OnInit {\n @ViewChild('Saude') SaudeRef: ElementRef;\n @ViewChild('SaudeComparada') SaudeComparadaRef: ElementRef;\n @ViewChild('AtivVigorosas') AtivVigorosasRef: ElementRef;\n @ViewChild('AtivModeradas') AtivModeradasRef: ElementRef;\n @ViewChild('Compras') ComprasRef: ElementRef;\n @ViewChild('SubirEscadas') SubirEscadasRef: ElementRef;\n @ViewChild('SubirEscada') SubirEscadaRef: ElementRef;\n @ViewChild('Ajoelhar') AjoelharRef: ElementRef;\n @ViewChild('AndarAcimaUmKm') AndarAcimaUmKmRef: ElementRef;\n @ViewChild('AndarVariosQuarteiroes') AndarVariosQuarteiroesRef: ElementRef;\n @ViewChild('AndarUmQuarteirao') AndarUmQuarteiraoRef: ElementRef;\n @ViewChild('Banho') BanhoRef: ElementRef;\n @ViewChild('DiminuiuTempoAtiv') DiminuiuTempoAtivRef: ElementRef;\n @ViewChild('MenosTarefas') MenosTarefasRef: ElementRef;\n @ViewChild('NaoTrabalhou') NaoTrabalhouRef: ElementRef;\n @ViewChild('DificuldadeTrabalho') DificuldadeTrabalhoRef: ElementRef;\n @ViewChild('QtdTempoTrabalho') QtdTempoTrabalhoRef: ElementRef;\n @ViewChild('MenosTarefasGostaria') MenosTarefasGostariaRef: ElementRef;\n @ViewChild('TarefasCuidado') TarefasCuidadoRef: ElementRef;\n @ViewChild('InterferenciaSocial') InterferenciaSocialRef: ElementRef;\n @ViewChild('DorCorpo') DorCorpoRef: ElementRef;\n @ViewChild('InterferenciaDorCorpo') InterferenciaDorCorpoRef: ElementRef;\n @ViewChild('Vigor') VigorRef: ElementRef;\n @ViewChild('TempoNervoso') TempoNervosoRef: ElementRef;\n @ViewChild('TempoDeprimido') TempoDeprimidoRef: ElementRef;\n @ViewChild('TempoCalmo') TempoCalmoRef: ElementRef;\n @ViewChild('TempoEnergia') TempoEnergiaRef: ElementRef;\n @ViewChild('TempoAbatido') TempoAbatidoRef: ElementRef;\n @ViewChild('TempoEsgotado') TempoEsgotadoRef: ElementRef;\n @ViewChild('TempoFeliz') TempoFelizRef: ElementRef;\n @ViewChild('TempoCansado') TempoCansadoRef: ElementRef;\n @ViewChild('TempoSaudeInterferiu') TempoSaudeInterferiuRef: ElementRef;\n @ViewChild('AdoecerComparado') AdoecerComparadoRef: ElementRef;\n @ViewChild('Saudavel') SaudavelRef: ElementRef;\n @ViewChild('SaudePiorar') SaudePiorarRef: ElementRef;\n @ViewChild('SaudeExcelente') SaudeExcelenteRef: ElementRef;\n\n public erroAvancarAnamnese: string | any = '';\n public formGroupEtapa8: FormGroup;\n public campoinvalido: string | any = '';\n public carregandoAtualizarAnamnese: boolean = false;\n public desativarCampos: boolean = false;\n public opcoesDificuldade = [\n {\n label: 'Sim. Dificulta muito',\n value: 1\n },\n {\n label: 'Sim. Dificulta um pouco',\n value: 2\n },\n {\n label: 'Não. Não dificulta de modo algum',\n value: 3\n }\n ];\n opcoesSimOuNao = [\n {\n label: 'Sim',\n value: true\n },\n {\n label: 'Não',\n value: false\n }\n ];\n opcoesGravidade = [\n {\n label: 'Nenhum',\n value: 1\n },\n {\n label: 'Muito leve',\n value: 2\n },\n {\n label: 'Leve',\n value: 3\n },\n {\n label: 'Moderada',\n value: 4\n },\n {\n label: 'Grave',\n value: 5\n },\n {\n label: 'Muito grave',\n value: 6\n }\n ];\n opcoesTempo = [\n {\n label: 'Todo tempo',\n value: 1\n },\n {\n label: 'Maioria do tempo',\n value: 2\n },\n {\n label: 'Uma boa parte do tempo',\n value: 3\n },\n {\n label: 'Alguma parte do tempo',\n value: 4\n },\n {\n label: 'Uma pequena parte do tempo',\n value: 5\n },\n {\n label: 'Nunca',\n value: 6\n }\n ];\n\n opcoesVeracidade = [\n {\n label: 'Definitivamente verdadeira',\n value: 1\n },\n {\n label: 'A maioria das vezes verdadeira',\n value: 2\n },\n {\n label: 'Não sei',\n value: 3\n },\n {\n label: 'A maioria das vezes falsa',\n value: 4\n },\n {\n label: 'Definitivamente falsa',\n value: 5\n }\n ];\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n const anamnese = this.anamneseService.getAnamnese();\n\n this.formGroupEtapa8 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa8?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa8?.AnamneseID),\n Saude: new FormControl({\n value: anamnese?.Etapa8?.Saude,\n disabled: this.desativarCampos\n }),\n SaudeComparada: new FormControl({\n value: anamnese?.Etapa8?.SaudeComparada,\n disabled: this.desativarCampos\n }),\n AtivVigorosas: new FormControl({\n value: anamnese?.Etapa8?.AtivVigorosas,\n disabled: this.desativarCampos\n }),\n AtivModeradas: new FormControl({\n value: anamnese?.Etapa8?.AtivModeradas,\n disabled: this.desativarCampos\n }),\n Compras: new FormControl({\n value: anamnese?.Etapa8?.Compras,\n disabled: this.desativarCampos\n }),\n SubirEscadas: new FormControl({\n value: anamnese?.Etapa8?.SubirEscadas,\n disabled: this.desativarCampos\n }),\n SubirEscada: new FormControl({\n value: anamnese?.Etapa8?.SubirEscada,\n disabled: this.desativarCampos\n }),\n Ajoelhar: new FormControl({\n value: anamnese?.Etapa8?.Ajoelhar,\n disabled: this.desativarCampos\n }),\n AndarAcimaUmKm: new FormControl({\n value: anamnese?.Etapa8?.AndarAcimaUmKm,\n disabled: this.desativarCampos\n }),\n AndarVariosQuarteiroes: new FormControl({\n value: anamnese?.Etapa8?.AndarVariosQuarteiroes,\n disabled: this.desativarCampos\n }),\n AndarUmQuarteirao: new FormControl({\n value: anamnese?.Etapa8?.AndarUmQuarteirao,\n disabled: this.desativarCampos\n }),\n Banho: new FormControl({\n value: anamnese?.Etapa8?.Banho,\n disabled: this.desativarCampos\n }),\n DiminuiuTempoAtiv: new FormControl({\n value: anamnese?.Etapa8?.DiminuiuTempoAtiv,\n disabled: this.desativarCampos\n }),\n MenosTarefas: new FormControl({\n value: anamnese?.Etapa8?.MenosTarefas,\n disabled: this.desativarCampos\n }),\n NaoTrabalhou: new FormControl({\n value: anamnese?.Etapa8?.NaoTrabalhou,\n disabled: this.desativarCampos\n }),\n DificuldadeTrabalho: new FormControl({\n value: anamnese?.Etapa8?.DificuldadeTrabalho,\n disabled: this.desativarCampos\n }),\n QtdTempoTrabalho: new FormControl({\n value: anamnese?.Etapa8?.QtdTempoTrabalho,\n disabled: this.desativarCampos\n }),\n MenosTarefasGostaria: new FormControl({\n value: anamnese?.Etapa8?.MenosTarefasGostaria,\n disabled: this.desativarCampos\n }),\n TarefasCuidado: new FormControl({\n value: anamnese?.Etapa8?.TarefasCuidado,\n disabled: this.desativarCampos\n }),\n InterferenciaSocial: new FormControl({\n value: anamnese?.Etapa8?.InterferenciaSocial,\n disabled: this.desativarCampos\n }),\n DorCorpo: new FormControl({\n value: anamnese?.Etapa8?.DorCorpo,\n disabled: this.desativarCampos\n }),\n InterferenciaDorCorpo: new FormControl({\n value: anamnese?.Etapa8?.InterferenciaDorCorpo,\n disabled: this.desativarCampos\n }),\n Vigor: new FormControl({\n value: anamnese?.Etapa8?.Vigor,\n disabled: this.desativarCampos\n }),\n TempoNervoso: new FormControl({\n value: anamnese?.Etapa8?.TempoNervoso,\n disabled: this.desativarCampos\n }),\n TempoDeprimido: new FormControl({\n value: anamnese?.Etapa8?.TempoDeprimido,\n disabled: this.desativarCampos\n }),\n TempoCalmo: new FormControl({\n value: anamnese?.Etapa8?.TempoCalmo,\n disabled: this.desativarCampos\n }),\n TempoEnergia: new FormControl({\n value: anamnese?.Etapa8?.TempoEnergia,\n disabled: this.desativarCampos\n }),\n TempoAbatido: new FormControl({\n value: anamnese?.Etapa8?.TempoAbatido,\n disabled: this.desativarCampos\n }),\n TempoEsgotado: new FormControl({\n value: anamnese?.Etapa8?.TempoEsgotado,\n disabled: this.desativarCampos\n }),\n TempoFeliz: new FormControl({\n value: anamnese?.Etapa8?.TempoFeliz,\n disabled: this.desativarCampos\n }),\n TempoCansado: new FormControl({\n value: anamnese?.Etapa8?.TempoCansado,\n disabled: this.desativarCampos\n }),\n TempoSaudeInterferiu: new FormControl({\n value: anamnese?.Etapa8?.TempoSaudeInterferiu,\n disabled: this.desativarCampos\n }),\n AdoecerComparado: new FormControl({\n value: anamnese?.Etapa8?.AdoecerComparado,\n disabled: this.desativarCampos\n }),\n Saudavel: new FormControl({\n value: anamnese?.Etapa8?.Saudavel,\n disabled: this.desativarCampos\n }),\n SaudePiorar: new FormControl({\n value: anamnese?.Etapa8?.SaudePiorar,\n disabled: this.desativarCampos\n }),\n SaudeExcelente: new FormControl({\n value: anamnese?.Etapa8?.SaudeExcelente,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n });\n }\n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n this.appService.openModal(ModalSaudEmocFuncComponent, {\n size: 'lg',\n backdrop: false\n });\n }\n\n scrollToField(fieldName: string) {\n const elementMap = {\n Saude: this.SaudeRef,\n SaudeComparada: this.SaudeComparadaRef,\n AtivVigorosas: this.AtivVigorosasRef,\n AtivModeradas: this.AtivModeradasRef,\n Compras: this.ComprasRef,\n SubirEscadas: this.SubirEscadasRef,\n SubirEscada: this.SubirEscadaRef,\n Ajoelhar: this.AjoelharRef,\n AndarAcimaUmKm: this.AndarAcimaUmKmRef,\n AndarVariosQuarteiroes: this.AndarVariosQuarteiroesRef,\n AndarUmQuarteirao: this.AndarUmQuarteiraoRef,\n Banho: this.BanhoRef,\n DiminuiuTempoAtiv: this.DiminuiuTempoAtivRef,\n MenosTarefas: this.MenosTarefasRef,\n NaoTrabalhou: this.NaoTrabalhouRef,\n DificuldadeTrabalho: this.DificuldadeTrabalhoRef,\n QtdTempoTrabalho: this.QtdTempoTrabalhoRef,\n MenosTarefasGostaria: this.MenosTarefasGostariaRef,\n TarefasCuidado: this.TarefasCuidadoRef,\n InterferenciaSocial: this.InterferenciaSocialRef,\n DorCorpo: this.DorCorpoRef,\n InterferenciaDorCorpo: this.InterferenciaDorCorpoRef,\n Vigor: this.VigorRef,\n TempoNervoso: this.TempoNervosoRef,\n TempoDeprimido: this.TempoDeprimidoRef,\n TempoCalmo: this.TempoCalmoRef,\n TempoEnergia: this.TempoEnergiaRef,\n TempoAbatido: this.TempoAbatidoRef,\n TempoEsgotado: this.TempoEsgotadoRef,\n TempoFeliz: this.TempoFelizRef,\n TempoCansado: this.TempoCansadoRef,\n TempoSaudeInterferiu: this.TempoSaudeInterferiuRef,\n AdoecerComparado: this.AdoecerComparadoRef,\n Saudavel: this.SaudavelRef,\n SaudePiorar: this.SaudePiorarRef,\n SaudeExcelente: this.SaudeExcelenteRef\n };\n\n const elementRef = elementMap[fieldName];\n\n // Detecta mudanças e aguarda o render do DOM\n this.cdr.detectChanges();\n\n if (elementRef && elementRef.nativeElement) {\n // Usamos `setTimeout` para garantir que o elemento esteja disponível\n setTimeout(() => {\n elementRef.nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n }, 100); // Atraso de 100ms\n }\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalCheckBoxes3SonoComponent);\n return;\n }\n\n const anamnese = this.anamneseService.getAnamnese();\n const classeContexto = this;\n\n this.carregandoAtualizarAnamnese = true;\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa8: {\n ...anamnese?.Etapa8,\n ...this.formGroupEtapa8.getRawValue(),\n DataFim: new Date()\n }\n };\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n if (\n // @ts-ignore\n typeof response?.etapaInvalida?.mensagem == 'string' &&\n // @ts-ignore\n response?.etapaInvalida?.etapa === 8\n ) {\n const campo =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n // @ts-ignore\n classeContexto.scrollToField(campo);\n classeContexto.erroAvancarAnamnese =\n // @ts-ignore\n response?.etapaInvalida?.mensagem;\n classeContexto.campoinvalido =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false;\n return;\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService\n .putAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next(response2) {\n classeContexto.carregandoAtualizarAnamnese = false;\n classeContexto.anamneseService.setAnamnese(\n response2\n );\n classeContexto.appService.closeModal();\n classeContexto.appService.openModal(\n ModalCheckBoxes3SonoComponent\n );\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese =\n response?.error?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao atualizar a anamnese';\n }\n }\n });\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao validar as informações preenchidas';\n }\n }\n });\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Será que você está tendo bons sonhos?\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 9/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n \n Qual a probabilidade de você cochilar ou dormir, e\n não apenas se sentir cansado, nas seguintes\n situações? Considere o modo de vida que você tem\n levado recentemente. Mesmo que você não tenha feito\n algumas destas coisas recentemente, tente imaginar\n como elas o afetariam.\n
    \n Escolha o número mais apropriado para responder cada\n questão.\n
    \n
    \n
    \n \n \n Sentado e lendo:\n \n\n \n \n \n
    \n
    \n
    \n\n
    \n \n \n Assistindo TV:\n \n\n \n \n \n
    \n
    \n \n
    \n \n \n Sentado, quieto, em lugar público (por exemplo,\n no teatro, reunião ou palestra):\n \n\n \n \n \n
    \n \n \n
    \n \n \n Andando de carro por uma hora sem parar, como\n passageiro:\n \n\n \n \n \n
    \n \n \n
    \n \n \n Sentado quieto após o almoço sem bebida\n alcoólica:\n \n\n \n \n \n
    \n \n \n
    \n \n \n Em um carro, parado no trânsito por alguns\n minutos:\n \n\n \n \n \n
    \n \n \n
    \n \n \n Sentado e conversando com alguém:\n \n\n \n \n \n
    \n \n \n
    \n \n \n Deitado para descansar a tarde quando as\n circunstâncias permitem:\n \n\n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n

    \n Muito bom, já estamos quase no fim.\n

    \n
    \n
    \n \n As questões seguintes referem-se às suas crenças\n pessoais, e o quanto elas afetam a sua qualidade de\n vida. As questões dizem respeito à religião, à\n espiritualidade e outras crenças que você possa ter.\n Uma vez mais, elas referem-se às duas últimas\n semanas\n \n
    \n
    \n \n \n Suas crenças dão sentido à sua vida:\n \n\n \n \n \n
    \n \n \n
    \n \n \n Em que medida você acha que sua vida tem\n sentido?\n \n\n \n \n \n
    \n \n \n
    \n \n \n Em que medida suas crenças pessoais lhe dão\n força para enfrentar dificuldade?\n \n\n \n \n \n
    \n \n \n
    \n \n \n Em que medida suas crenças pessoais lhe ajudam a\n entender as dificuldades da vida?\n \n\n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n Tem religião?* :\n \n\n \n \n \n
    \n \n \n\n \n \n \n Qual o religião?:\n \n\n \n \n \n\n
    \n \n \n Frequenta algum local semanalmente para realizar\n suas orações ou preces* :\n \n\n \n \n \n
    \n \n \n\n \n \n \n Qual o local?:\n \n\n \n \n \n\n \n \n Quantas vezes? :\n \n\n \n \n \n\n
    \n \n \n Com que frequência você vai a uma igreja, templo\n ou outro encontro religioso?\n \n\n \n \n \n
    \n \n \n\n
    \n \n \n Com que frequência você dedica o seu tempo a\n atividades religiosas individuais, como preces,\n rezas, meditações, leitura da bíblia ou de\n outros textos religiosos?\n \n\n \n \n \n
    \n \n \n\n
    \n \n A seção seguinte contém três frases a respeito de\n crenças ou experiências religiosas. Por favor, anote\n o quanto cada frase se aplica a você.\n \n
    \n
    \n \n \n Em minha vida, eu sinto a presença de Deus (ou\n do Espírito Santo).\n \n\n \n \n \n
    \n \n \n\n
    \n \n \n As minhas crenças religiosas estão realmente por\n trás de toda a minha maneira de viver.\n \n\n \n \n \n
    \n \n \n\n
    \n \n \n Eu me esforço muito para viver a minha religião\n em todos os aspectos da vida.\n \n\n \n \n \n
    \n \n \n\n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n \n\n","import {ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild} from '@angular/core';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {AppService} from '@services/app.service';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ModalRetaFinalComponent} from '../Modal10-RetaFinal/modal-retaFinal.component';\nimport {ModalCheckBoxes2Component} from '../Modal8-CheckBoxes2/modal-checkBoxes2.component';\nimport {Router} from \"@angular/router\";\nimport {ModalPercepSaudeComponent} from \"@components/dashboard/modais/Modal6-PercepSaude/modal-percepSaude.component\";\n\n@Component({\n selector: 'app-modal-checkBoxes3Sono',\n templateUrl: './modal-checkBoxes3Sono.component.html',\n styleUrls: ['./modal-checkBoxes3Sono.component.scss']\n})\nexport class ModalCheckBoxes3SonoComponent implements OnInit {\n @ViewChild('SentadoLendo') SentadoLendoRef: ElementRef;\n @ViewChild('AssistindoTv') AssistindoTvRef: ElementRef;\n @ViewChild('QuietoLugarPublico') QuietoLugarPublicoRef: ElementRef;\n @ViewChild('AndandoCarro') AndandoCarroRef: ElementRef;\n @ViewChild('QuietoAlmoco') QuietoAlmocoRef: ElementRef;\n @ViewChild('ParadoCarro') ParadoCarroRef: ElementRef;\n @ViewChild('SentadoConversando') SentadoConversandoRef: ElementRef;\n @ViewChild('DeitadoDescanso') DeitadoDescansoRef: ElementRef;\n @ViewChild('SentidoVida') SentidoVidaRef: ElementRef;\n @ViewChild('MedidaSentidoVida') MedidaSentidoVidaRef: ElementRef;\n @ViewChild('ForcaDificuldade') ForcaDificuldadeRef: ElementRef;\n @ViewChild('EntenderDificuldades') EntenderDificuldadesRef: ElementRef;\n @ViewChild('TemReligiao') TemReligiaoRef: ElementRef;\n @ViewChild('Religiao') ReligiaoRef: ElementRef;\n @ViewChild('FrequentaSemanalmente') FrequentaSemanalmenteRef: ElementRef;\n @ViewChild('LocalFrequenta') LocalFrequentaRef: ElementRef;\n @ViewChild('FrequentaVezes') FrequentaVezesRef: ElementRef;\n @ViewChild('EspiritualidadeFrequenciaTemplo') EspiritualidadeFrequenciaTemploRef: ElementRef;\n @ViewChild('EspiritualidadeLeituraFrequencia') EspiritualidadeLeituraFrequenciaRef: ElementRef;\n @ViewChild('EspiritualidadePresencaDeus') EspiritualidadePresencaDeusRef: ElementRef;\n @ViewChild('EspiritualidadeCrencasReligiosas') EspiritualidadeCrencasReligiosasRef: ElementRef;\n @ViewChild('EspiritualidadeEsforcoViver') EspiritualidadeEsforcoViverRef: ElementRef;\n\n erroAvancarAnamnese: string | any = \"\"\n campoinvalido: string | any = \"\"\n formGroupEtapa9: FormGroup\n carregandoAtualizarAnamnese: boolean = false\n public desativarCampos: boolean = false\n\n opcoesCochilar = [{\n label: \"Nunca cochilaria\", value: 0\n }, {\n label: \"Pequena probabilidade de cochilar\", value: 1\n }, {\n label: \"Probabilidade média de cochilar\", value: 2\n }, {\n label: \"Grande probabilidade de cochilar\", value: 3\n },]\n\n opcoesExtremo = [{\n label: \"Nada\", value: 1\n }, {\n label: \"Muito pouco\", value: 2\n }, {\n label: \"Mais ou menos\", value: 3\n }, {\n label: \"Bastante\", value: 4\n }, {\n label: \"Extremamente\", value: 5\n },]\n\n opcoesSimNao = [{\n label: \"Sim\", value: true\n }, {\n label: \"Não\", value: false\n }]\n\n opcoesFrequenciaSemanal = [{\n label: \"Mais do que uma vez por semana\", value: 1\n }, {\n label: \"Uma vez por semana\", value: 2\n }, {\n label: \"Duas a três vezes por mês\", value: 3\n }, {\n label: \"Algumas vezes por ano\", value: 4\n }, {\n label: \"Uma vez por ano mais ou menos\", value: 5\n }, {\n label: \"Nunca\", value: 6\n },]\n\n opcoesFrequenciaDiaria = [{\n label: \"Mais do que uma vez ao dia\", value: 1\n }, {\n label: \"Diariamente\", value: 2\n }, {\n label: \"Duas ou mais vezes por semana\", value: 3\n }, {\n label: \"Uma vez por semana\", value: 4\n }, {\n label: \"Poucas vezes por mês\", value: 5\n }, {\n label: \"Raramente ou nunca\", value: 6\n },]\n\n opcoesVeracidade = [{\n label: \"Totalmente verdade para mim\", value: 1\n }, {\n label: \"Em geral é verdade\", value: 2\n }, {\n label: \"Nunca\", value: 3\n }, {\n label: \"Em geral não é verdade\", value: 4\n }, {\n label: \"Não é verdade\", value: 5\n },]\n\n constructor(private appService: AppService, private anamneseService: AnamneseService, private router: Router, private cdr: ChangeDetectorRef) {\n }\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador')\n\n const anamnese = this.anamneseService.getAnamnese()\n\n this.formGroupEtapa9 = new FormGroup({\n NumeroEtapa: new FormControl({value: anamnese?.Etapa9?.NumeroEtapa, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa9?.AnamneseID, disabled: this.desativarCampos}),\n SentadoLendo: new FormControl({value: anamnese?.Etapa9?.SentadoLendo, disabled: this.desativarCampos}),\n AssistindoTv: new FormControl({value: anamnese?.Etapa9?.AssistindoTv, disabled: this.desativarCampos}),\n QuietoLugarPublico: new FormControl({\n value: anamnese?.Etapa9?.QuietoLugarPublico,\n disabled: this.desativarCampos\n }),\n AndandoCarro: new FormControl({value: anamnese?.Etapa9?.AndandoCarro, disabled: this.desativarCampos}),\n QuietoAlmoco: new FormControl({value: anamnese?.Etapa9?.QuietoAlmoco, disabled: this.desativarCampos}),\n ParadoCarro: new FormControl({value: anamnese?.Etapa9?.ParadoCarro, disabled: this.desativarCampos}),\n SentadoConversando: new FormControl({\n value: anamnese?.Etapa9?.SentadoConversando,\n disabled: this.desativarCampos\n }),\n DeitadoDescanso: new FormControl({\n value: anamnese?.Etapa9?.DeitadoDescanso,\n disabled: this.desativarCampos\n }),\n SentidoVida: new FormControl({value: anamnese?.Etapa9?.SentidoVida, disabled: this.desativarCampos}),\n MedidaSentidoVida: new FormControl({\n value: anamnese?.Etapa9?.MedidaSentidoVida,\n disabled: this.desativarCampos\n }),\n ForcaDificuldade: new FormControl({\n value: anamnese?.Etapa9?.ForcaDificuldade,\n disabled: this.desativarCampos\n }),\n EntenderDificuldades: new FormControl({\n value: anamnese?.Etapa9?.EntenderDificuldades,\n disabled: this.desativarCampos\n }),\n TemReligiao: new FormControl({value: anamnese?.Etapa9?.TemReligiao, disabled: this.desativarCampos}),\n Religiao: new FormControl({value: anamnese?.Etapa9?.Religiao, disabled: this.desativarCampos}),\n FrequentaSemanalmente: new FormControl({\n value: anamnese?.Etapa9?.FrequentaSemanalmente,\n disabled: this.desativarCampos\n }),\n LocalFrequenta: new FormControl({value: anamnese?.Etapa9?.LocalFrequenta, disabled: this.desativarCampos}),\n FrequentaVezes: new FormControl({value: anamnese?.Etapa9?.FrequentaVezes, disabled: this.desativarCampos}),\n EspiritualidadeFrequenciaTemplo: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeFrequenciaTemplo,\n disabled: this.desativarCampos\n }),\n EspiritualidadeLeituraFrequencia: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeLeituraFrequencia,\n disabled: this.desativarCampos\n }),\n EspiritualidadePresencaDeus: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadePresencaDeus,\n disabled: this.desativarCampos\n }),\n EspiritualidadeCrencasReligiosas: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeCrencasReligiosas,\n disabled: this.desativarCampos\n }),\n EspiritualidadeEsforcoViver: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeEsforcoViver,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal()\n this.appService.openModal(ModalCheckBoxes2Component, {size: 'lg', backdrop: false})\n }\n\n scrollToField(fieldName: string) {\n const elementMap = {\n SentadoLendo: this.SentadoLendoRef,\n AssistindoTv: this.AssistindoTvRef,\n QuietoLugarPublico: this.QuietoLugarPublicoRef,\n AndandoCarro: this.AndandoCarroRef,\n QuietoAlmoco: this.QuietoAlmocoRef,\n ParadoCarro: this.ParadoCarroRef,\n SentadoConversando: this.SentadoConversandoRef,\n DeitadoDescanso: this.DeitadoDescansoRef,\n SentidoVida: this.SentidoVidaRef,\n MedidaSentidoVida: this.MedidaSentidoVidaRef,\n ForcaDificuldade: this.ForcaDificuldadeRef,\n EntenderDificuldades: this.EntenderDificuldadesRef,\n TemReligiao: this.TemReligiaoRef,\n Religiao: this.ReligiaoRef,\n FrequentaSemanalmente: this.FrequentaSemanalmenteRef,\n LocalFrequenta: this.LocalFrequentaRef,\n FrequentaVezes: this.FrequentaVezesRef,\n EspiritualidadeFrequenciaTemplo: this.EspiritualidadeFrequenciaTemploRef,\n EspiritualidadeLeituraFrequencia: this.EspiritualidadeLeituraFrequenciaRef,\n EspiritualidadePresencaDeus: this.EspiritualidadePresencaDeusRef,\n EspiritualidadeCrencasReligiosas: this.EspiritualidadeCrencasReligiosasRef,\n EspiritualidadeEsforcoViver: this.EspiritualidadeEsforcoViverRef\n }\n\n const elementRef = elementMap[fieldName];\n\n // Detecta mudanças e aguarda o render do DOM\n this.cdr.detectChanges();\n\n if (elementRef && elementRef.nativeElement) {\n // Usamos `setTimeout` para garantir que o elemento esteja disponível\n setTimeout(() => {\n elementRef.nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n }, 100); // Atraso de 100ms\n }\n }\n\n\n handleClickProximoModal() {\n\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal()\n this.appService.openModal(ModalRetaFinalComponent)\n return\n }\n\n const anamnese = this.anamneseService.getAnamnese()\n const classeContexto = this\n\n classeContexto.carregandoAtualizarAnamnese = true\n\n const novaAnamneseAtualizada = {\n ...anamnese, Etapa9: {\n ...anamnese?.Etapa9, ...this.formGroupEtapa9.getRawValue(), DataFim: new Date(),\n }\n }\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (typeof response?.etapaInvalida?.mensagem == 'string' && response?.etapaInvalida?.etapa === 9) {\n // @ts-ignore\n const campo =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n // @ts-ignore\n classeContexto.scrollToField(campo);\n // @ts-ignore\n classeContexto.erroAvancarAnamnese = response?.etapaInvalida?.mensagem\n // @ts-ignore\n classeContexto.campoinvalido = response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false\n return\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService.putAnamnese(novaAnamneseAtualizada).subscribe({\n next(response2) {\n\n classeContexto.carregandoAtualizarAnamnese = false\n classeContexto.anamneseService.setAnamnese(response2)\n classeContexto.appService.closeModal()\n classeContexto.appService.openModal(ModalRetaFinalComponent)\n }, error(response) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = response?.error?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao atualizar a anamnese\"\n }\n }\n })\n\n }, error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message\n } else {\n classeContexto.erroAvancarAnamnese = \"Ocorreu um erro ao validar as informações preenchidas\"\n }\n }\n })\n }\n}\n","
    \n
    \n\n
    \n \n
    \n
    \n Biomarcadores SAFE®\n
    \n
    \n \n Reta Final\n \n
    \n
    \n
    \n \"\"\n
    \n
    \n\n \n
    \n 10/\n 10\n
    \n \n\n
    \n \"\"\n
    \n \n
    \n

    Preencha os Dados

    \n
    \n
    \n
    \n
    \n \n Usando como guia a escala apresentada a seguir,\n marque a opção ao lado de cada afirmativa, para\n indicar o quanto você concorda com ela.\n \n
    \n
    \n \n \n Tenho muito o que agradecer na vida.\n \n\n \n \n \n
    \n
    \n
    \n\n
    \n \n \n Se eu fizesse uma lista de tudo o que tenho a\n agradecer, seria uma lista muito longa.\n \n \n \n \n
    \n
    \n \n\n
    \n \n \n Quando olho para o mundo, não vejo muitos\n motivos para agradecer.\n \n \n \n \n
    \n \n \n
    \n \n \n Sou grato(a) a muita gente.\n \n\n \n \n \n
    \n \n \n
    \n \n \n Com o passar dos anos, cada vez mais me sinto\n inclinado (a) a apreciar as pessoas, os\n acontecimentos e as situações que fazem parte da\n história da minha vida.\n \n\n \n \n \n
    \n \n \n
    \n \n \n Pode passar muito tempo ainda, antes que eu me\n sinta grato (a) a alguém ou alguma coisa.\n \n\n \n \n \n
    \n \n \n\n
    \n
    \n
    \n
    \n

    Perdão

    \n
    \n
    \n \n Indicar em relações anteriores o quanto você perdoou\n seu parceiro ou pessoas de relacionamentos:\n \n
    \n\n
    \n \n \n \n \n Eu nunca perdôo\n \n \n Eu posso perdoá-lo\n \n \n Eu estou tentando perdoá-lo\n \n \n Eu perdôo-lhe\n \n \n
    \n \n\n
    \n
    \n
    \n
    \n \n Com o aumento da taxa de suicídio no mundo, existe\n uma preocupação grande da OMS, com isso estamos\n pesquisando pensamentos, tentativas e/ou convívio\n com pessoas com pensamento suicida, portanto:\n \n
    \n
    \n \n \n Você já pensou em suicídio?\n \n \n \n \n
    \n \n \n\n \n \n \n Nos últimos 12 meses?\n \n \n \n \n \n \n \n \n \n \n \n Você já tentou suicídio?\n \n \n \n \n \n \n \n\n
    \n
    \n
    \n
    \n \n Parabéns, últimas perguntas!\n \n
    \n
    \n
    \n \n \n Novas ideias às vezes me distraem das\n anteriores.*\n \n \n \n \n
    \n
    \n \n
    \n \n \n Os contratempos não me desanimam.\n \n\n \n \n \n
    \n \n \n
    \n \n \n Fiquei obcecado (a) por uma ideia ou projeto por\n um curto período de tempo, mas depois perdi o\n interesse.*\n \n\n \n \n \n
    \n \n \n
    \n \n \n Sou muito trabalhador(a).\n \n\n \n \n \n
    \n \n \n
    \n \n \n Com frequência me proponho uma meta que depois\n substituo por outra.*\n \n\n \n \n \n
    \n \n \n
    \n \n \n Tenho dificuldades em manter a atenção focada em\n projetos que exigiram mais do que uns poucos\n meses para serem concluídos.*\n \n\n \n \n \n
    \n \n \n
    \n \n \n Eu termino tudo o que começo.\n \n \n \n \n
    \n \n \n
    \n \n \n Sou esforçado(a)\n \n\n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n Escala de Bristol \n
    \n
    \n \n
    \n
    \n \n \n Conforme imagem acima, classifique suas fezes.\n \n\n \n \n \n {{ opcao.label }}\n \n \n
    \n \n
    \n
    \n
    \n
    \n

    AUTORIZAÇÃO DE USO DE DADOS

    \n
    \n
    \n \n Esses dados estão de acordo com a Lei Geral de Proteção\n de Dados (LGPD). Informamos também que os dados serão\n anonimizados, de forma que não será possível identificar\n dados pessoais. Os dados serão utilizados exclusivamente\n para fins de pesquisa e saúde pública.\n \n
    \n
    \n \n Declaro para os devidos fins, que cederei o acesso\n completo, aos dados de (Anamneses e Avaliações) para\n serem utilizados em pesquisas orientadas sob o Metodo\n SAFE.\n \n
    \n
    \n \n \n Autoriza o uso das suas informações?\n \n\n \n \n \n
    \n \n \n
    \n
    \n {{ erroAvancarAnamnese }}\n
    \n
    \n\n \n
    \n \n Fechar\n \n
    \n
    \n \n Voltar\n \n
    \n\n \n \n Próximo\n \n \n\n \n \n Carregando\n \n \n \n \n \n \n\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {ModalBioConfirmarEnvioComponent} from '@components/dashboard/modais/Modal-BioConfirmarEnvio/modal-bioConfirmarEnvio.component';\nimport {AppService} from '@services/app.service';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {ModalCheckBoxes3SonoComponent} from '../Modal9-CheckBoxes3Sono/modal-checkBoxes3Sono.component';\n\n@Component({\n selector: 'app-modal-retaFinal',\n templateUrl: './modal-retaFinal.component.html',\n styleUrls: ['./modal-retaFinal.component.scss']\n})\nexport class ModalRetaFinalComponent implements OnInit {\n @ViewChild('AgradecerVida') AgradecerVidaRef: ElementRef;\n @ViewChild('ListaMuitoLonga') ListaMuitoLongaRef: ElementRef;\n @ViewChild('MotivosAgradecer') MotivosAgradecerRef: ElementRef;\n @ViewChild('MuitaGente') MuitaGenteRef: ElementRef;\n @ViewChild('HistoriaVida') HistoriaVidaRef: ElementRef;\n @ViewChild('AlguemAlgumaCoisa') AlguemAlgumaCoisaRef: ElementRef;\n @ViewChild('Perdao') PerdaoRef: ElementRef;\n @ViewChild('SuicidioPensou') SuicidioPensouRef: ElementRef;\n @ViewChild('SuicidioUltimoAno') SuicidioUltimoAnoRef: ElementRef;\n @ViewChild('SuicidioTentou') SuicidioTentouRef: ElementRef;\n @ViewChild('DistraemAnteriores') DistraemAnterioresRef: ElementRef;\n @ViewChild('NaoDesanimam') NaoDesanimamRef: ElementRef;\n @ViewChild('PerdiInteresse') PerdiInteresseRef: ElementRef;\n @ViewChild('MuitoTrabalhador') MuitoTrabalhadorRef: ElementRef;\n @ViewChild('SubstituoOutra') SubstituoOutraRef: ElementRef;\n @ViewChild('SeremConcluidos') SeremConcluidosRef: ElementRef;\n @ViewChild('QueConheco') QueConhecoRef: ElementRef;\n @ViewChild('SouEsforcado') SouEsforcadoRef: ElementRef;\n @ViewChild('EscalaBristol') EscalaBristolRef: ElementRef;\n @ViewChild('Termo') TermoRef: ElementRef;\n\n public erroAvancarAnamnese: string | any = '';\n public campoinvalido: string | any = '';\n public carregandoAtualizarAnamnese: boolean = false;\n public formGroupEtapa10: FormGroup;\n public desativarCampos: boolean = false;\n\n opcoesConcordancia = [\n {\n label: 'Discordo plenamente',\n value: 1\n },\n {\n label: 'Discordo',\n value: 2\n },\n {\n label: 'Discordo um pouco',\n value: 3\n },\n {\n label: 'Não concordo e nem discordo',\n value: 4\n },\n {\n label: 'Concordo um pouco',\n value: 5\n },\n {\n label: 'Concordo',\n value: 6\n },\n {\n label: 'Concordo plenamente',\n value: 7\n }\n ];\n\n opcoesSemelhancaComigo = [\n {\n label: 'Nada parecido comigo',\n value: 1\n },\n {\n label: 'Pouco parecido comigo',\n value: 2\n },\n {\n label: 'Algo parecido comigo',\n value: 3\n },\n {\n label: 'Bastante parecido comigo',\n value: 4\n },\n {\n label: 'Muito parecido comigo',\n value: 5\n }\n ];\n\n opcoesSimNao = [\n {\n label: 'Sim',\n value: true\n },\n {\n label: 'Não',\n value: false\n }\n ];\n\n opcoesSimNaoSuicidio = [\n {\n label: 'Sim',\n value: 1\n },\n {\n label: 'Não',\n value: 2\n }\n ];\n\n opcoesClassificacaoFezes = [\n {\n label: '1 - Pequenas bolinhas',\n value: 1\n },\n {\n label: '2 - Pequenas grumos',\n value: 2\n },\n {\n label: '3 - Fezes alongadas com fissuras',\n value: 3\n },\n {\n label: '4 - Fezes alongadas lisas',\n value: 4\n },\n {\n label: '5 - Pedaços macios',\n value: 5\n },\n {\n label: '6 - Massa pastosa',\n value: 6\n },\n {\n label: '7 - Fezes líquidas',\n value: 7\n }\n ];\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private toastr: ToastrService,\n private router: Router,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.desativarCampos = this.router.url.includes('acesso-avaliador');\n const anamnese = this.anamneseService.getAnamnese();\n\n this.formGroupEtapa10 = new FormGroup({\n NumeroEtapa: new FormControl({\n value: anamnese?.Etapa10?.NumeroEtapa,\n disabled: this.desativarCampos\n }),\n AnamneseID: new FormControl({\n value: anamnese?.Etapa10?.AnamneseID,\n disabled: this.desativarCampos\n }),\n AgradecerVida: new FormControl({\n value: anamnese?.Etapa10?.AgradecerVida,\n disabled: this.desativarCampos\n }),\n ListaMuitoLonga: new FormControl({\n value: anamnese?.Etapa10?.ListaMuitoLonga,\n disabled: this.desativarCampos\n }),\n MotivosAgradecer: new FormControl({\n value: anamnese?.Etapa10?.MotivosAgradecer,\n disabled: this.desativarCampos\n }),\n MuitaGente: new FormControl({\n value: anamnese?.Etapa10?.MuitaGente,\n disabled: this.desativarCampos\n }),\n HistoriaVida: new FormControl({\n value: anamnese?.Etapa10?.HistoriaVida,\n disabled: this.desativarCampos\n }),\n AlguemAlgumaCoisa: new FormControl({\n value: anamnese?.Etapa10?.AlguemAlgumaCoisa,\n disabled: this.desativarCampos\n }),\n EscalaBristol: new FormControl({\n value: anamnese?.Etapa10?.EscalaBristol,\n disabled: this.desativarCampos\n }),\n Perdao: new FormControl({\n value: anamnese?.Etapa10?.Perdao,\n disabled: this.desativarCampos\n }),\n SuicidioPensou: new FormControl({\n value: anamnese?.Etapa10?.SuicidioPensou,\n disabled: this.desativarCampos\n }),\n SuicidioUltimoAno: new FormControl({\n value: anamnese?.Etapa10?.SuicidioUltimoAno,\n disabled: this.desativarCampos\n }),\n SuicidioTentou: new FormControl({\n value: anamnese?.Etapa10?.SuicidioTentou,\n disabled: this.desativarCampos\n }),\n CodigoSuicidio: new FormControl({\n value: anamnese?.Etapa10?.CodigoSuicidio,\n disabled: this.desativarCampos\n }),\n DistraemAnteriores: new FormControl({\n value: anamnese?.Etapa10?.DistraemAnteriores,\n disabled: this.desativarCampos\n }),\n NaoDesanimam: new FormControl({\n value: anamnese?.Etapa10?.NaoDesanimam,\n disabled: this.desativarCampos\n }),\n PerdiInteresse: new FormControl({\n value: anamnese?.Etapa10?.PerdiInteresse,\n disabled: this.desativarCampos\n }),\n MuitoTrabalhador: new FormControl({\n value: anamnese?.Etapa10?.MuitoTrabalhador,\n disabled: this.desativarCampos\n }),\n SubstituoOutra: new FormControl({\n value: anamnese?.Etapa10?.SubstituoOutra,\n disabled: this.desativarCampos\n }),\n SeremConcluidos: new FormControl({\n value: anamnese?.Etapa10?.SeremConcluidos,\n disabled: this.desativarCampos\n }),\n QueConheco: new FormControl({\n value: anamnese?.Etapa10?.QueConheco,\n disabled: this.desativarCampos\n }),\n SouEsforcado: new FormControl({\n value: anamnese?.Etapa10?.SouEsforcado,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null),\n Termo: new FormControl(null)\n });\n }\n\n handleClickFecharModal() {\n this.appService.closeModal();\n }\n\n handleClickVoltarModal() {\n this.appService.closeModal();\n this.appService.openModal(ModalCheckBoxes3SonoComponent, {\n size: 'lg',\n backdrop: false\n });\n }\n\n scrollToField(fieldName: string) {\n const elementMap = {\n AgradecerVida: this.AgradecerVidaRef,\n ListaMuitoLonga: this.ListaMuitoLongaRef,\n MotivosAgradecer: this.MotivosAgradecerRef,\n MuitaGente: this.MuitaGenteRef,\n HistoriaVida: this.HistoriaVidaRef,\n AlguemAlgumaCoisa: this.AlguemAlgumaCoisaRef,\n Perdao: this.PerdaoRef,\n SuicidioPensou: this.SuicidioPensouRef,\n SuicidioUltimoAno: this.SuicidioUltimoAnoRef,\n SuicidioTentou: this.SuicidioTentouRef,\n DistraemAnteriores: this.DistraemAnterioresRef,\n NaoDesanimam: this.NaoDesanimamRef,\n PerdiInteresse: this.PerdiInteresseRef,\n MuitoTrabalhador: this.MuitoTrabalhadorRef,\n SubstituoOutra: this.SubstituoOutraRef,\n SeremConcluidos: this.SeremConcluidosRef,\n QueConheco: this.QueConhecoRef,\n SouEsforcado: this.SouEsforcadoRef,\n EscalaBristol: this.EscalaBristolRef,\n Termo: this.TermoRef\n };\n\n const elementRef = elementMap[fieldName];\n\n // Detecta mudanças e aguarda o render do DOM\n this.cdr.detectChanges();\n\n if (elementRef && elementRef.nativeElement) {\n // Usamos `setTimeout` para garantir que o elemento esteja disponível\n setTimeout(() => {\n elementRef.nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n }, 100); // Atraso de 100ms\n }\n }\n\n handleClickProximoModal() {\n // caso os campos esteja desativados,\n // significa que é o professor acessando a tela\n // E ele só pode visualizar as informacoes\n // Logo, a gente nao atualiza a anamnese, apenas\n // Redireciona para a nova tela\n if (this.desativarCampos) {\n this.appService.closeModal();\n this.appService.openModal(ModalBioConfirmarEnvioComponent);\n return;\n }\n\n /* if (this.formGroupEtapa10.getRawValue()?.Termo != true) {\n this.toastr.error(\"Necessário aceitar os termos para prosseguir\")\n return\n } */\n\n const anamnese = this.anamneseService.getAnamnese();\n const classeContexto = this;\n\n this.carregandoAtualizarAnamnese = true;\n\n const novaAnamneseAtualizada = {\n ...anamnese,\n Etapa10: {\n ...anamnese?.Etapa10,\n ...this.formGroupEtapa10.getRawValue(),\n DataFim: new Date(),\n //SuicidioPensou for 2, SuicidioUltimoAno e SuicidioTentou é 2\n SuicidioUltimoAno:\n this.formGroupEtapa10.getRawValue()?.SuicidioPensou == 2\n ? 2\n : this.formGroupEtapa10.getRawValue()\n ?.SuicidioUltimoAno,\n SuicidioTentou:\n this.formGroupEtapa10.getRawValue()?.SuicidioPensou == 2\n ? 2\n : this.formGroupEtapa10.getRawValue()?.SuicidioTentou\n }\n };\n\n // primeiro, validamos a anamnese, para ver se os campos obrigatórios foram todos preenchidos\n // Caso estejam preenchidos, deixamos avançar\n this.anamneseService.validarAnamnese(novaAnamneseAtualizada).subscribe({\n next(response) {\n // verifico se há etapas inválidas (endpoint retorna 200 mesmo pra dados inválidos)\n // @ts-ignore\n if (\n // @ts-ignore\n typeof response?.etapaInvalida?.mensagem == 'string' &&\n // @ts-ignore\n response?.etapaInvalida?.etapa === 10\n ) {\n // @ts-ignore\n const campo =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n // @ts-ignore\n classeContexto.scrollToField(campo);\n // @ts-ignore\n classeContexto.erroAvancarAnamnese =\n // @ts-ignore\n response?.etapaInvalida?.mensagem;\n classeContexto.campoinvalido =\n // @ts-ignore\n response?.etapaInvalida?.campo;\n classeContexto.carregandoAtualizarAnamnese = false;\n return;\n }\n\n // atualiza a anamnese se tudo estiver ok\n classeContexto.anamneseService\n .putAnamnese(novaAnamneseAtualizada)\n .subscribe({\n next(response2) {\n classeContexto.carregandoAtualizarAnamnese = false;\n classeContexto.anamneseService.setAnamnese(\n response2\n );\n classeContexto.appService.closeModal();\n classeContexto.appService.openModal(\n ModalBioConfirmarEnvioComponent\n );\n },\n error(response) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof response?.error?.Message == 'string') {\n classeContexto.erroAvancarAnamnese =\n response?.error?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao atualizar a anamnese';\n }\n }\n });\n },\n error(erro) {\n classeContexto.carregandoAtualizarAnamnese = false;\n if (typeof erro?.Message == 'string') {\n classeContexto.erroAvancarAnamnese = erro?.Message;\n } else {\n classeContexto.erroAvancarAnamnese =\n 'Ocorreu um erro ao validar as informações preenchidas';\n }\n }\n });\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AppService } from '@services/app.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-biomarcador-item',\n templateUrl: './biomarcador-item.component.html',\n styleUrls: ['./biomarcador-item.component.scss']\n})\nexport class BiomarcadorItemComponent implements OnInit {\n @Input() item: any = null\n @Input() desativar: boolean = true\n constructor(\n public appService: AppService,\n private toastr: ToastrService,\n\n ) { }\n\n ngOnInit() { }\n\n handleClickAbrirBioMarcador() {\n if (this.desativar) {\n this.toastr.warning(\"Nenhuma anamnese disponível para preenchimento\")\n return\n }\n\n // @ts-ignore\n if (this.item?.modal) {\n // @ts-ignore\n this.appService.openModal(this.item.modal)\n\n }\n }\n}\n","
    \n

    \n {{ item.titulo }}\n

    \n\n \"\"\n
    ","
    \n
    \n

    \n Biomarcadores SAFE®\n

    \n \n Baixar Laudo\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n","import {Component, ElementRef, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ModalBioAnteriorComponent} from '@components/dashboard/modais/Modal-BioAnterior/modal-bioAnterior.component';\nimport {ModalRetaFinalComponent} from '@components/dashboard/modais/Modal10-RetaFinal/modal-retaFinal.component';\nimport {\n ModalDadosPessoaisComponent\n} from '@components/dashboard/modais/Modal2-DadosPessoais/modal-dadospessoais.component';\nimport {\n ModalQuestFarmPrelimComponent\n} from '@components/dashboard/modais/Modal4-QuestFarmPrelim/modal-questFarmPrelim.component';\nimport {ModalCheckBoxesComponent} from '@components/dashboard/modais/Modal5-CheckBoxes/modal-checkBoxes.component';\nimport {ModalPercepSaudeComponent} from '@components/dashboard/modais/Modal6-PercepSaude/modal-percepSaude.component';\nimport {\n ModalSaudEmocFuncComponent\n} from '@components/dashboard/modais/Modal7-SaudEmocFunc/modal-saudEmocFunc.component';\nimport {ModalCheckBoxes2Component} from '@components/dashboard/modais/Modal8-CheckBoxes2/modal-checkBoxes2.component';\nimport {\n ModalCheckBoxes3SonoComponent\n} from '@components/dashboard/modais/Modal9-CheckBoxes3Sono/modal-checkBoxes3Sono.component';\nimport {Modal1InicioComponent} from '@components/dashboard/modais/modal1-Inicio/modal-1inicio.component';\nimport {\n ModalInfoSobreSaudeComponent\n} from '@components/dashboard/modais/modal3-InfoSobreSaude/modal-infoSobreSaude.component';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'app-biomarcadores',\n templateUrl: './biomarcadores.component.html',\n styleUrls: ['./biomarcadores.component.scss']\n})\nexport class BiomarcadoresComponent implements OnInit, OnDestroy {\n @ViewChild('list', {static: false}) list: ElementRef;\n @Input() usuarioId: number | string = \"\"\n\n\n private anamneseSubscription: Subscription\n public desativarBiomarcadores: boolean = true\n public biomarcadores = []\n public urlLaudo: string = \"\"\n\n constructor(\n private anamneseService: AnamneseService,\n private toastr: ToastrService,\n ) {\n }\n\n\n ngOnInit(): void {\n const classeContexto = this\n this.montarBiomarcadores()\n this.anamneseSubscription = this.anamneseService.ananmese$.subscribe(novoValor => {\n\n if (novoValor?.ID) {\n // baixar laudo\n this.urlLaudo = `https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${novoValor?.IdentificadorHash}`\n\n // validar anamnese\n this.anamneseService.validarAnamnese(novoValor).subscribe({\n next(response) {\n classeContexto.montarBiomarcadores(response)\n },\n error() {\n classeContexto.toastr.error(\"Ocorreu um erro\", \"Ocorreu um erro ao validar o preenchimento da anamnese\")\n }\n })\n this.desativarBiomarcadores = false\n } else {\n this.desativarBiomarcadores = true\n }\n })\n }\n\n ngOnDestroy(): void {\n // Certifique-se de cancelar a inscrição para evitar vazamentos de memória\n this.anamneseSubscription.unsubscribe();\n this.anamneseService.setAnamnese({})\n this.anamneseService.setAnamneseDadosValidarEtapas({})\n }\n\n\n scrollPrevious() {\n this.list.nativeElement.scrollLeft -= 250; // Ajuste o valor conforme necessário\n }\n\n scrollNext() {\n \n this.list.nativeElement.scrollLeft += 250; // Ajuste o valor conforme necessário\n }\n\n montarBiomarcadores(resultadoValidacao: any = {}) {\n\n // active - se foi preenchido ou não\n let etapa1 = false\n let etapa2 = false\n let etapa3 = false\n let etapa4 = false\n let etapa5 = false\n let etapa6 = false\n let etapa7 = false\n let etapa8 = false\n let etapa9 = false\n let etapa10 = false\n\n if (resultadoValidacao?.etapas?.length > 0) {\n etapa1 = !!resultadoValidacao?.etapas[0]?.validada\n etapa2 = !!resultadoValidacao?.etapas[1]?.validada\n etapa3 = !!resultadoValidacao?.etapas[2]?.validada\n etapa4 = !!resultadoValidacao?.etapas[3]?.validada\n etapa5 = !!resultadoValidacao?.etapas[4]?.validada\n etapa6 = !!resultadoValidacao?.etapas[5]?.validada\n etapa7 = !!resultadoValidacao?.etapas[6]?.validada\n etapa8 = !!resultadoValidacao?.etapas[7]?.validada\n etapa9 = !!resultadoValidacao?.etapas[8]?.validada\n etapa10 = !!resultadoValidacao?.etapas[9]?.validada\n }\n\n this.biomarcadores = [\n {\n titulo: \"Início\",\n iconPath: \"saude-geral.svg\",\n active: etapa1,\n modal: Modal1InicioComponent,\n nextModal: ModalDadosPessoaisComponent,\n previousModal: null\n },\n {\n titulo: \"Dados Pessoais\",\n iconPath: \"limitacoes-por-aspecto-fisico.svg\",\n active: etapa2,\n modal: etapa1 ? ModalDadosPessoaisComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Informações sobre saúde\",\n iconPath: \"capacidade-funcional-2.svg\",\n active: etapa3,\n modal: etapa2 ? ModalInfoSobreSaudeComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Questionário Farmacêutico Preliminar\",\n iconPath: \"quest-farm-prel.svg\",\n active: etapa4,\n modal: etapa3 ? ModalQuestFarmPrelimComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Checklist\",\n iconPath: \"bio-checklist.svg\",\n active: etapa5,\n modal: etapa4 ? ModalCheckBoxesComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \" Percepção saúde\",\n iconPath: \"percepcao-saude.svg\",\n active: etapa6,\n modal: etapa5 ? ModalPercepSaudeComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Saúde emocional saúde funcional\",\n iconPath: \"bio-checklist.svg\",\n active: etapa7,\n modal: etapa6 ? ModalSaudEmocFuncComponent : ModalBioAnteriorComponent,\n previousModal: null\n\n },\n {\n titulo: \"CheckList 2\",\n iconPath: \"checklist2.svg\",\n active: etapa8,\n modal: etapa7 ? ModalCheckBoxes2Component : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Sono\",\n iconPath: \"sono.svg\",\n active: etapa9,\n modal: etapa8 ? ModalCheckBoxes3SonoComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n {\n titulo: \"Reta Final\",\n iconPath: \"reta-final.svg\",\n active: etapa10,\n modal: etapa9 ? ModalRetaFinalComponent : ModalBioAnteriorComponent,\n previousModal: null\n },\n ]\n }\n\n onWheel(event: WheelEvent) {\n event.preventDefault()\n this.list.nativeElement.scrollBy({\n left: event.deltaY < 0 ? -50 : 50,\n });\n }\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {CheckupClienteService} from '@services/dashboard/checkup-cliente/checkup-cliente.service';\nimport Chart from 'chart.js';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'app-dados-teia',\n templateUrl: './dados-teia.component.html',\n styleUrls: ['./dados-teia.component.scss']\n})\nexport class DadosTeiaComponent implements OnInit, OnDestroy {\n public chartRadar: any;\n public checkupSubscription: Subscription;\n\n constructor(private checkupClienteService: CheckupClienteService) {}\n\n ngOnInit(): void {\n this.createChartRadar(); \n\n this.checkupSubscription =\n this.checkupClienteService.checkup$.subscribe(\n (checkupAtualizado) => {\n this.createChartRadar(checkupAtualizado?.DadosTeia);\n }\n );\n\n //tamanho da largura da tela\n const width = window.innerWidth;\n console.log(width,'largura da tela');\n }\n\n ngOnDestroy() {\n this.checkupSubscription.unsubscribe();\n }\n\n createChartRadar(dadosTeia: any = {}) {\n const defaultData = {\n Dor: 0,\n Felicidade: 0,\n Gratidao: 0,\n Percepcao: 0,\n Sono: 0,\n Fadiga: 0,\n Ansiedade: 0,\n Estresse: 0,\n CapacidadeFuncional: 0,\n Animo: 0,\n Disposicao: 0\n };\n\n const mergedData = {...defaultData, ...dadosTeia};\n\n const data = {\n labels: [\n 'Dor',\n 'Felicidade',\n 'Gratidao',\n 'Percepcao',\n 'Sono',\n 'Fadiga',\n 'Ansiedade',\n 'Estresse',\n 'Capacidade Funcional',\n 'Animo',\n 'Disposicao'\n ],\n datasets: [\n {\n label: 'Teia SAFE',\n data: [\n mergedData.Dor,\n mergedData.Felicidade,\n mergedData.Gratidao,\n mergedData.Percepcao,\n mergedData.Sono,\n mergedData.Fadiga,\n mergedData.Ansiedade,\n mergedData.Estresse,\n mergedData.CapacidadeFuncional,\n mergedData.Animo,\n mergedData.Disposicao\n ],\n backgroundColor: 'rgba(0, 91, 133, 0.2)',\n borderColor: '#005B85',\n pointBackgroundColor: '#005B85',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: '#005B85'\n }\n ]\n };\n\n const config = {\n type: 'radar',\n data: data,\n options: {\n scale: {\n ticks: {\n beginAtZero: true,\n min: 0,\n max: 10\n }\n },\n elements: {\n line: {\n borderWidth: 3\n }\n },\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n title: {\n display: true,\n text: 'Teia SAFE',\n font: {\n size: 18,\n weight: 'bold'\n },\n color: '#005B85'\n }\n }\n }\n };\n\n // Destroy the previous chart instance to avoid errors\n if (this.chartRadar) {\n this.chartRadar.destroy();\n }\n\n this.chartRadar = new Chart('ChartRadar', config);\n }\n}\n","
    \n
    \n
    Teia SAFE®
    \n
    \n \n
    \n
    \n
    \n","
    \n \n\n
    \n \n
    \n \n \n Loading...\n
    \n \n
    \n \n\n \n Tutorial\n \n\n
    \n \n \n \n Resultado SAFE®\n \n\n \n \n Nome completo\n \n \n {{\n dadosCadastraisService.dadosCadastrais.Nome\n ? dadosCadastraisService.dadosCadastrais\n .Nome\n : 'Sem informação'\n }}\n \n
    \n\n \n \n Idade Atual\n \n \n {{\n dadosCadastraisService.dadosCadastrais.Idade\n ? dadosCadastraisService.dadosCadastrais\n .Idade + ' anos'\n : 'Sem informação'\n }}\n \n
    \n\n \n \n Idade Biológica Cárdio\n \n \n Idade biológica cárdio:\n {{ idadeBiologicaAlunoCardio }}\n \n \n\n \n \n Idade Biológica Força\n \n \n Idade biológica força:\n {{ idadeBiologicaAlunoForca }}\n \n \n\n \n \n IMC\n \n \n IMC: {{ imcAluno }} kg/m²\n \n \n \n
    \n \n \n
    \n \n\n
    \n \n \n \n Loading...\n
    \n \n \n \n
    Pirâmide SAFE®
    \n\n \n \n \n \n\n
    \n

    \n Classificação
    do estilo de
    vida\n atual:\n

    \n \n Z{{ tipoZ }}\n

    \n
    \n \n \n\n \n \n \n\n
    \n \n
    \n
    \n \n\n
    \n \n \n Loading...\n
    \n
    \n\n \n \n \n Prescrição de estilo de vida\n \n\n \n \n \n {{ prescricaoCandidato?.nivel }}\n

    \n

    \n {{ prescricaoCandidato?.recomendacao }}\n

    \n \n Sem dados suficientes para prescrição\n

    \n \n \n \n \n \n \n \n\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ModalTermineCadastroComponent } from '@components/dashboard/modais/ModalTermineCadastro/modal-termine-cadastro.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AppService } from \"@services/app.service\";\nimport { AnamneseService } from \"@services/dashboard/anamnese/anamnese.service\";\nimport { CheckupClienteService } from \"@services/dashboard/checkup-cliente/checkup-cliente.service\";\nimport { DadosCadastraisService } from \"@services/dashboard/dados-cadastrais/dados-cadastrais.service\";\nimport { ShepherdService } from 'angular-shepherd';\nimport { Subscription } from \"rxjs\";\n\n\nconst tour = {\n defaultStepOptions: {\n scrollTo: true,\n cancelIcon: {\n enabled: true\n },\n canClickTarget: true,\n popperOptions: {\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 20]\n }\n }\n ]\n },\n modalOverlayOpeningPadding: 8,\n modalOverlayOpeningRadius: 4\n },\n steps: [\n {\n id: \"body-safe\",\n attachTo: {\n element: \".body-safe\",\n on: \"bottom\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Bem vindo ao Tutorial SAFE\",\n text: \"Este é o seu Dashboard, aqui você terá acesso a todas as informações sobre o seu CHECK-UP SAFE®.\"\n },\n {\n id: \"biomarcadores\",\n attachTo: {\n element: \".home-biomarcadores\",\n on: \"bottom\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \" CHECK-UP\",\n text: \" Para começar, inicie o seu CHECK-UP clicando em Início e preencha todas as informações solicitadas.\"\n },\n {\n id: \"resultado\",\n attachTo: {\n element: \".home-resultado\",\n on: \"bottom\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Resultado SAFE®\",\n text: \"Após preencher todas as informações, você terá acesso ao seu resultado SAFE®.\"\n },\n {\n id: \"piramide\",\n attachTo: {\n element: \".home-piramide\",\n on: \"bottom\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Pirâmide SAFE®\",\n text: \"Também será possível visualizar a sua pirâmide SAFE®, com sua classificação do estilo de vida atual.\"\n },\n {\n id: \"laudo\",\n attachTo: {\n element: \".home-laudo\",\n on: \"bottom\"\n },\n buttons: [\n \n {\n classes: \"cancel-button-sair\",\n text: \"Fechar\",\n type: \"cancel\"\n },\n ],\n classes: \"shepherd-content\",\n title: \"Laudo SAFE®\",\n text: \"O laudo SAFE® também estará disponível para você, com todas as informações sobre o seu CHECK-UP.\"\n },\n\n ]\n };\n@Component({\n selector: 'app-dashboard-aluno',\n templateUrl: './dashboard-aluno.component.html',\n styleUrls: ['./dashboard-aluno.component.scss']\n})\nexport class DashboardAlunoComponent implements OnInit, OnDestroy {\n @Input() usuarioId: number | string = \"\"\n @Input() public isAlunoAvaliador: boolean = false\n public desativarCamposAnamnese: boolean = true\n public loadingAnamnese: boolean = false;\n public tipoZ: number = 0\n public imcAluno: string = \"Sem informação\"\n public idadeBiologicaAlunoCardio: string = \"Sem informação\"\n public idadeBiologicaAlunoForca: string = \"\"\n public loadingIsAlunoAvaliador: boolean = false\n public dadosCadastrais: any = {}\n prescricaoCandidato = {\n nivel: \"\", recomendacao: \"\"\n }\n prescricoesEstiloDeVida = {\n 1: {\n nivel: \"Muito abaixo do desejável\",\n recomendacao: \"A partir dos resultados, recomendamos, que neste momento da sua vida, tome algumas atitudes para melhorar a qualidade do seu Estilo de Vida e, consequentemente da sua Saúde Funcional.\"\n }, 2: {\n nivel: \"Abaixo do desejável\",\n recomendacao: \"Recomendamos que Você tome algumas atitudes para melhorar os biomarcadores SAFE destacados nos resultados e para que Você possa ter um estilo de vida mais saudável.\"\n }, 3: {\n nivel: \"Regular\",\n recomendacao: \"Recomendamos que Você dê prioridade aos biomacadores SAFE que foram avaliados abaixo do ideal para melhorar o seu Estilo de Vida.\"\n }, 4: {\n nivel: \"Bom\",\n recomendacao: \"Você está próximo do Z5. Recomendamos apenas que tenha um pouco mais de foco na melhora dos biomacadores SAFE que precisam ser melhorados.\"\n }, 5: {\n nivel: \"Excelente\",\n recomendacao: \"Parabéns! Mantenha-se no Patamar Z5 e não se esqueça de estimular outras pessoas do seu ciclo social a ter a mesma atitude em relação à qualidade da saúde.\"\n },\n }\n private checkupSubscription: Subscription;\n private anamneseSubscription: Subscription\n private loadingAnamnseSubscription: Subscription;\n private dadosCadastraisSubscription: Subscription;\n\n constructor(\n private guideTour: ShepherdService,\n private appService: AppService,\n private checkupClienteService: CheckupClienteService,\n public dadosCadastraisService: DadosCadastraisService,\n public anamneseService: AnamneseService,\n private modalService: NgbModal // Injeção do serviço de modal\n ) {\n }\n\n \n \n ngOnInit(): void {\n const classeContexto = this\n if (this.isAlunoAvaliador) {\n this.loadingIsAlunoAvaliador = true\n }\n this.desativarCamposAnamnese = true\n this.anamneseSubscription = this.anamneseService.ananmese$.subscribe(novoValor => {\n\n if (novoValor?.ID) {\n this.desativarCamposAnamnese = false\n }\n })\n \n \n\n // caso não seja passado o parametro usuarioId, o usuário id padrão será o do usuário logado\n this.usuarioId = this.usuarioId ? this.usuarioId : this.appService.getDadosUsuarioLogadoStorage()?.ID\n\n this.dadosCadastraisService.getDadosCadastrais(this.usuarioId)\n this.dadosCadastraisService.getPerfis()\n this.checkupClienteService.getCheckupCliente(this.usuarioId)\n\n this.dadosCadastraisSubscription = this.dadosCadastraisService.dadosCadastraisPublico$.subscribe({\n next: (dados) => {\n this.dadosCadastrais = dados;\n if (this.dadosCadastrais?.ID && (!this.dadosCadastrais?.Login || this.dadosCadastrais?.Login === \"\")) {\n this.abrirModalDadosPessoais();\n }\n },\n error: (err) => {\n console.error('Erro ao obter dados cadastrais:', err);\n }\n });\n \n // escuta a mudanca de estado do checkup\n this.checkupSubscription = this.checkupClienteService.checkup$.subscribe((novoValor) => {\n if (novoValor?.HashAnamnese) {\n this.anamneseService.getAnamneseRequest(novoValor?.HashAnamnese)\n this.anamneseService.retornarResultadoAnamnese(novoValor?.HashAnamnese).subscribe({\n next(response) {\n // @ts-ignore\n const imcDados = response.find(item => item?.BiomarcadorID == 29);\n // @ts-ignore\n const idadeBiologicaDadosCardio = response.find(item => item?.BiomarcadorID == 55);\n // @ts-ignore\n const idadeBiologicaDadosForca = response.find(item => item?.BiomarcadorID == 54);\n\n\n // ts-ignore\n classeContexto.imcAluno = imcDados?.ValorAlcancado || \"Sem informação\"\n let spanDescricaoImcMenuSidebar = document.getElementById(\"span-descricao-imc-menu-sidebar\")\n if (spanDescricaoImcMenuSidebar) {\n spanDescricaoImcMenuSidebar.innerHTML = imcDados?.ValorAlcancado ? `${imcDados?.ValorAlcancado}KG/M²` : \"Sem informação\"\n }\n\n // cardio\n // ts-ignore\n const idadeBioCardio = idadeBiologicaDadosCardio?.ValorAlcancado ? JSON.parse(idadeBiologicaDadosCardio?.ValorAlcancado) : {}\n // ts-ignore\n classeContexto.idadeBiologicaAlunoCardio = idadeBioCardio?.idadeBiologicaAtual || 'Sem informação'\n\n // força\n // ts-ignore\n // const idadeBioForca = idadeBiologicaDadosCardio?.ValorAlcancado ? JSON.parse(idadeBiologicaDadosForca?.ValorAlcancado) : {}\n // ts-ignore\n classeContexto.idadeBiologicaAlunoForca = idadeBiologicaDadosForca?.ValorAlcancado || 'Sem informação'\n\n\n }, error() {\n\n }\n })\n }\n });\n\n this.anamneseSubscription = this.anamneseService.ananmese$.subscribe(novoValor => {\n if (novoValor?.Z) {\n this.tipoZ = novoValor?.Z\n this.prescricaoCandidato = this.prescricoesEstiloDeVida[novoValor?.Z]\n }\n if (novoValor?.Z == 0) {\n this.tipoZ = 0\n this.prescricaoCandidato = {\n nivel: \"\", recomendacao: \"Sem informação\"\n }\n }\n })\n\n this.loadingAnamnseSubscription = this.anamneseService.loadingAnamnse$.subscribe(novoValor => {\n this.loadingAnamnese = novoValor\n })\n\n this.loadingIsAlunoAvaliador = false\n\n }\n\n \n startTour() {\n this.guideTour.defaultStepOptions = tour.defaultStepOptions;\n this.guideTour.modal = true;\n this.guideTour.confirmCancel = false;\n //@ts-ignore\n this.guideTour.addSteps(tour.steps);\n this.guideTour.start();\n }\n\n abrirModalDadosPessoais() {\n if (this.modalService.hasOpenModals()) {\n return; \n }\n \n const modalRef = this.appService.openModal(ModalTermineCadastroComponent, {size: 'lg', backdrop: false});\n\n }\n\n ngOnDestroy(): void {\n this.checkupSubscription.unsubscribe();\n this.loadingAnamnseSubscription.unsubscribe()\n this.anamneseSubscription.unsubscribe()\n this.isAlunoAvaliador = false\n this.usuarioId = \"\"\n }\n} \n","
    \n \n\n
    \n
    \n
    \n \n
    \n\n \n Meus Dados\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 {{ sexo.label }}\n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ rac.label }}\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
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n Sair\n \n \n {{ loading ? 'Salvando...' : 'Salvar' }}\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ApiService } from '@services/api.service';\nimport { DadosCadastraisService } from '@services/dashboard/dados-cadastrais/dados-cadastrais.service';\nimport { AppService } from '@services/app.service';\n\n@Component({\n selector: 'app-meus-dados',\n templateUrl: './meus-dados.html',\n styleUrls: ['./meus-dados.scss']\n})\nexport class MeusDados {\n public stepperSelected: string = 'Cadastro';\n public loading: boolean = false;\n public usuarioLogado = null;\n public usuario = null;\n public steppers = [\n { name: 'Cadastro', isSelected: false },\n /* { name: 'Plano', isSelected: false },\n { name: 'Checkups', isSelected: false }, */\n ];\n \n \n public opcoesSexo = [\n { value: 3, label: 'Não Informar' },\n { value: 1, label: 'Masculino' },\n { value: 2, label: 'Feminino' },\n ];\n\n public opcoesEstadoCivil = [\n { value: 1, label: 'Solteiro(a)' },\n { value: 2, label: 'Casado(a)' },\n { value: 3, label: 'União Estável' },\n { value: 4, label: 'Divorciado(a)' },\n { value: 5, label: 'Viúvo(a)' },\n { value: 6, label: 'Outros' },\n ];\n\n public opcoesRaca = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Caboclo(a)' },\n { value: 2, label: 'Mulato(a)' },\n { value: 3, label: 'Cafuzo(a)' },\n { value: 4, label: 'Branco(a)' },\n { value: 5, label: 'Negro(a)' },\n { value: 6, label: 'Índio(a)' }\n ]\n\n public grauEscolaridade = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Ensino Fundamental' },\n { value: 2, label: 'Ensino Médio' },\n { value: 3, label: 'Ensino Superior' },\n { value: 4, label: 'Pós Graduação' },\n { value: 5, label: 'Doutorado' },\n { value: 6, label: 'Pós Doutorado' }\n ]\n\n public opcoesPerfil = [\n \n { value: 2, label: 'Cliente' },\n \n ]\n\n public opcoesCorrespondencia = [\n { value: true, label: 'Sim' },\n { value: false, label: 'Não' },\n ]\n\n public etapa1Data: FormGroup\n public etapa2Data: FormGroup\n public etapa3Data: FormGroup\n \n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private anamneseService: AnamneseService, private apiservice: ApiService,\n public dadosCadastraisService: DadosCadastraisService,\n private appService: AppService\n \n ) {}\n\n ngOnInit(): void {\n //obter dados clientes\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n if (this.usuarioLogado?.ID) {\n this.usuario = this.professorService.getObterDadosCadastro(this.usuarioLogado.ID).subscribe((res: any) => {\n this.etapa1Data.patchValue({\n AceitaCorrespondencia: res.AceitaCorrespondencia,\n Ativo: res.Ativo,\n Nome: res.Nome,\n Login: res.Login,\n TelefoneCelular: res.TelefoneCelular,\n TelefoneFixo: res.TelefoneFixo,\n Email: res.Email,\n DataNascimento: DateTime.fromISO(res.DataNascimento).toISODate(),\n Ocupacao: res.Ocupacao,\n Sexo: res.Sexo,\n EstadoCivil: res.EstadoCivil,\n Raca: res.Raca,\n GrauEscolaridade: res.GrauEscolaridade,\n CEP: res.CEP,\n Cidade: res.Cidade,\n UFEndereco: res.UFEndereco,\n Bairro: res.Bairro,\n Logradouro: res.Logradouro,\n Numero: res.Numero,\n PerfilID: res.PerfilID,\n Complemento: res.Complemento,\n });\n })\n }\n\n \n //inicio do form\n this.etapa1Data = new FormGroup({\n AceitaCorrespondencia: new FormControl(''),\n Ativo: new FormControl(true),\n Nome: new FormControl(''),\n Login: new FormControl(''),\n TelefoneCelular: new FormControl(''),\n TelefoneFixo: new FormControl(''),\n Email: new FormControl(''),\n DataNascimento: new FormControl(''),\n Ocupacao: new FormControl(''),\n Sexo: new FormControl(''),\n EstadoCivil: new FormControl(''),\n Raca: new FormControl(''),\n GrauEscolaridade: new FormControl(''),\n CEP: new FormControl(''),\n Cidade: new FormControl(''),\n UFEndereco: new FormControl(''),\n Bairro: new FormControl(''),\n Logradouro: new FormControl(''),\n Numero: new FormControl(''),\n PerfilID: new FormControl(''),\n Complemento: new FormControl(''),\n\n });\n }\n \n \n \n onSelectStepper(stepperSelected: string) {\n this.stepperSelected = stepperSelected;\n \n }\n\n onSalvar() {\n\n if (!this.etapa1Data.value.Nome || this.etapa1Data.value.Nome === '' ||\n !this.etapa1Data.value.Login || this.etapa1Data.value.Login === '' ||\n !this.etapa1Data.value.TelefoneCelular || this.etapa1Data.value.TelefoneCelular === '' ||\n !this.etapa1Data.value.Email || this.etapa1Data.value.Email === '' ||\n !this.etapa1Data.value.DataNascimento || this.etapa1Data.value.DataNascimento === '' ||\n !this.etapa1Data.value.Ocupacao || this.etapa1Data.value.Ocupacao === '' ||\n !this.etapa1Data.value.Sexo || this.etapa1Data.value.Sexo === '' ||\n !this.etapa1Data.value.EstadoCivil || this.etapa1Data.value.EstadoCivil === '' ||\n !this.etapa1Data.value.Raca || this.etapa1Data.value.Raca === '' ||\n !this.etapa1Data.value.GrauEscolaridade || this.etapa1Data.value.GrauEscolaridade === '' ||\n !this.etapa1Data.value.CEP || this.etapa1Data.value.CEP === '' ||\n !this.etapa1Data.value.Cidade || this.etapa1Data.value.Cidade === '' ||\n !this.etapa1Data.value.UFEndereco || this.etapa1Data.value.UFEndereco === '' ||\n !this.etapa1Data.value.Bairro || this.etapa1Data.value.Bairro === '' ||\n !this.etapa1Data.value.Logradouro || this.etapa1Data.value.Logradouro === '' ||\n !this.etapa1Data.value.PerfilID || this.etapa1Data.value.PerfilID === ''\n ) {\n this.toastr.error('Preencha todos os campos.','Erro');\n return;\n }\n \n\n \n \n this.loading = true;\n \n let dadosParaSalvar = {\n ...this.etapa1Data.value,\n ID: this.usuarioLogado.ID,\n DataNascimento: DateTime.fromISO(this.etapa1Data.value.DataNascimento).toISODate(),\n PerfilID: 2,\n Sexo: parseInt(this.etapa1Data.value.Sexo),\n EstadoCivil: parseInt(this.etapa1Data.value.EstadoCivil),\n Raca: parseInt(this.etapa1Data.value.Raca),\n GrauEscolaridade: parseInt(this.etapa1Data.value.GrauEscolaridade),\n AceitaCorrespondencia: this.etapa1Data.value.AceitaCorrespondencia === 'true' ? true : false,\n Ativo: this.etapa1Data.value.Ativo === 'true' ? true : false,\n }\n \n\n this.professorService.postAtualizarDadosCadastrais(dadosParaSalvar).subscribe({ \n next: (res: any) => {\n this.toastr.success('Dados atualizados com sucesso!','Sucesso');\n this.loading = false;\n // window.history.back();\n },\n error: (erro: any) => {\n this.toastr.error('Erro ao atualizar dados!','Erro');\n this.loading = false;\n }\n });\n\n } \n\n onSair() {\n window.history.back();\n }\n\n buscarEnderecoPorCEP() {\n var cep = this.etapa1Data.value.CEP.replace(/\\D/g, '');\n if (cep != \"\") {\n var validacep = /^[0-9]{8}$/;\n if (validacep.test(cep)) {\n this.apiservice.buscarViaCEP(cep).subscribe((dados: any) => {\n this.etapa1Data.patchValue({\n Logradouro: dados.logradouro,\n Bairro: dados.bairro,\n Cidade: dados.localidade,\n UFEndereco: dados.uf\n });\n });\n }\n }\n \n }\n\n getCurrentDate(): string {\n const today = new Date();\n const month = today.getMonth() + 1 < 10 ? '0' + (today.getMonth() + 1) : today.getMonth() + 1;\n const day = today.getDate() < 10 ? '0' + today.getDate() : today.getDate();\n return `${today.getFullYear()}-${month}-${day}`;\n }\n\n\n}\n\n \n\n","import {DateTime} from 'luxon';\nimport {Component} from '@angular/core';\nimport {ProfessorService} from '@services/dashboard/professor/professor.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-redefinir-senha-aluno',\n templateUrl: './redefinir-senha-aluno.html',\n styleUrls: ['./redefinir-senha-aluno.scss']\n})\nexport class redefinirSenhaAluno {\n public loadingRecover: boolean = false;\n public formRecover: FormGroup;\n public mostrarSenha: boolean = false;\n public mostrarNovaSenha: boolean = false;\n public mostrarConfirmarSenha: boolean = false;\n\n constructor(\n private professorService: ProfessorService,\n private toastr: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n let localUser = localStorage.getItem('user');\n let user = JSON.parse(localUser);\n let id = user?.ID;\n\n this.formRecover = new FormGroup({\n SenhaAtual: new FormControl(''),\n SenhaNova: new FormControl(''),\n ConfirmacaoSenha: new FormControl(''),\n ID: new FormControl(id)\n });\n }\n\n toggleMostrarSenha(): void {\n this.mostrarSenha = !this.mostrarSenha;\n }\n\n toggleMostrarNovaSenha(): void {\n this.mostrarNovaSenha = !this.mostrarNovaSenha;\n }\n\n toggleMostrarConfirmarSenha(): void {\n this.mostrarConfirmarSenha = !this.mostrarConfirmarSenha;\n }\n\n onClickRecover() {\n this.loadingRecover = true;\n\n if (\n !this.formRecover.value.SenhaNova ||\n !this.formRecover.value.ConfirmacaoSenha ||\n !this.formRecover.value.SenhaAtual\n ) {\n this.toastr.error('Preencha todos os campos');\n this.loadingRecover = false;\n return;\n }\n\n if (\n this.formRecover.value.SenhaNova !==\n this.formRecover.value.ConfirmacaoSenha\n ) {\n this.toastr.error('As senhas não coincidem');\n this.loadingRecover = false;\n return;\n }\n if (this.formRecover.value.SenhaNova.length < 6) {\n this.toastr.error('A senha deve conter no mínimo 6 caracteres');\n this.loadingRecover = false;\n return;\n }\n\n this.professorService\n .postAlterarSenha(this.formRecover.value)\n .subscribe({\n next: (response) => {\n this.toastr.success('Senha redefinida com sucesso');\n this.router.navigate(['/dashboard/acesso-aluno']);\n this.loadingRecover = false;\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error?.error?.Message);\n } else {\n this.toastr.error('Erro ao redefinir senha');\n }\n this.loadingRecover = false;\n }\n });\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n}\n","
    \n
    \n
    \n
    \n \n
    \n\n \n \n Redefina sua senha\n \n
    \n
    \n

    \n Para alterar sua senha no SISTEMA SAFE, digite abaixo a sua\n senha e a senha atual.\n

    \n
    \n
    \n
    \n \n
    \n Senha atual\n\n
    \n \n\n \n \n {{ mostrarSenha ? 'visibility_off' :\n 'visibility' }}\n \n \n
    \n
    \n
    \n Nova Senha\n
    \n \n\n \n \n {{ mostrarConfirmarSenha ?\n 'visibility_off' : 'visibility' }}\n \n \n
    \n
    \n
    \n Confirmar Senha\n
    \n \n\n \n \n {{ mostrarConfirmarSenha ?\n 'visibility_off' : 'visibility' }}\n \n \n
    \n
    \n
    \n \n {{ loadingRecover ? 'Carregando...' : 'Redefinir\n Senha' }}\n \n
    \n \n
    \n
    \n
    \n
    \n\n","
    \n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n Anamnese\n \n\n
    \n \n Visualizar Anamnese\n \n\n

    \n Protocolo: {{anamneseProtocolo || 'Carregando...'}}\n

    \n

    \n Clique no número para visualizar etapa preenchida.\n

    \n \n \n Loading...\n
    \n
    \n \n
    \n \n
    {{ stepper.number }}
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n\n

    \n (Avaliação da saúde funcional)

    \n Parabéns por estar cuidando de você!

    \n Orientamos que seja bem sincero nas respostas e\n que elas são confidenciais, caso não consiga\n terminar de preencher agora não tem problema.

    \n Lembre-se, quanto mais ricas forem suas\n respostas neste formulário, mais conteúdo\n teremos para trabalhar.
    \n Preparado?\n

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Dados Pessoais\n

    \n \n
    \n
    \n Peso:
    Informe seu peso atual em\n KG\n \n
    \n
    \n Altura:
    Informe sua altura em CM\n\n \n
    \n
    \n Pressão arterial:
    Informe sua pressão em mmHg\n\n
    \n \n \n por\n
    \n \n
    \n
    \n
    \n
    \n Tem Cônjuge:\n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n \n Nascimento Cônjuge\n
    \n \n
    \n
    \n\n
    \n
    \n Tem Filhos:\n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n\n \n Digite a data de nascimento do\n filho\n\n 0\"\n class=\"mt-2\"\n >\n Filhos cadastrados\n\n
    \n \n
    \n \n \n\n \n \n
    \n
    \n
    \n
    \n \n \n \n\n
    \n
    \n Está fazendo alguma dieta?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n Tem algum acompanhamento por\n nutricionista?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n Descreva sua Dieta\n \n\n Descreva sua dieta atual, se não\n estiver fazendo nenhuma dieta, descreva\n sua dieta habitual.\n
    \n
    \n

    \n Este questionário tem objetivo de\n identificar a necessidade de avaliação\n clínica e médica antes do início da\n atividade física. Caso você marque um\n SIM, é fortemente sugerida a realização\n da avaliação clínica e médica. Contudo,\n qualquer pessoa pode participar de uma\n atividade física de esforço moderado,\n respeitando as restrições médicas.
    \n O PAR-Q foi elaborado para auxiliar você\n a se auto-ajudar. Os exercícios\n praticados regularmente estão associados\n a muitos benefícios de saúde. Completar\n o PAR-Q representa o primeiro passo\n importante a ser tomado, principalmente\n se você está interessado em incluir a\n atividade física com maior freqüência e\n regularidade no seu dia a dia. O bom\n senso é o seu melhor guia ao responder\n estas questões. Por favor, leia\n atentamente cada questão e marque SIM ou\n NÃO.\n

    \n
    \n
    \n
    \n \n Alguma vez seu médico disse que você\n possui algum problema cardíaco e\n recomendou que você só praticasse\n atividade física sob prescrição\n médica?\n \n
    \n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n\n
    \n
    \n \n Você sente dor no tórax quando\n pratica uma atividade física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n No último mês você sentiu dor\n torácica quando não estava\n praticando atividade física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Você perdeu o equilíbrio em virtude\n de tonturas ou perdeu a consciência\n quando estava praticando atividade\n física?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Você tem algum problema ósseo ou\n articular que poderia ser agravado\n com a prática de atividades físicas?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Seu médico já recomendou o uso de\n medicamentos para controle da sua\n pressão arterial ou condição\n cardiovascular?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Você tem conhecimento de alguma\n outra razão física que o impeça de\n participar de atividades físicas?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Realizou teste de esforço com\n eletrocardiograma com o\n cardiologista no último ano?\n \n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n

    \n Este instrumento é apenas uma ferramenta\n na tentativa da identificação dos riscos\n com a prática da atividade física e não\n é infalível.
    \n Instituições como o Colégio Americano de\n Medicina Desportiva e a Sociedade\n Brasileira de Cardiologia, recomendam a\n realização de exames complementares como\n o teste de esforço, e o exame\n sangüíneo.
    \n Procedimentos recomendados\n principalmente para indivíduos\n sintomáticos, indivíduos com doenças\n conhecidas como a hipertensão arterial,\n a diabetes, a obesidade, as doenças\n cardiovasculares ou para indivíduos\n acima dos trinta e cinco anos.\n

    \n
    \n
    \n
    \n \n Nível de atividade física:\n \n
    \n
    \n \n \n \n Não realiza nenhum tipo de\n atividade física:\n Sedentário\n
    \n
    \n
    \n \n \n Exercita de forma regular 3-6\n dias na semana: Ativo\n
    \n \n
    \n \n \n\n Realiza de 5 a 7 vezes na\n semana treinamento de alta\n intensidade de mais de 45' ou\n moderado acima de 90':\n Atleta\n
    \n \n \n
    \n
    \n Tabagista?\n
    \n\n
    \n \n\n Sim\n
    \n
    \n \n Não\n
    \n
    \n
    \n
    \n \n Quantos cigarros por dia:\n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Informações sobre saúde\n

    \n \n
    \n
    \n \n Nome, telefone e e-mail do\n Médico:
    \n No espaço abaixo, informe o nome do\n médico, telefone e e-mail (incluir\n mais de um médico, se for o caso)\n
    \n \n
    \n\n
    \n
    \n \n Enfermidades pré-existentes:
    \n Informar mais de uma, se for o\n caso\n
    \n
    \n \n \n \n \n Hipertensão arterial\n sistêmica\n
    \n
    \n
    \n \n Meses (diagnóstico):\n\n \n
    \n \n \n \n \n Lúpus eritematoso sistêmico\n \n
    \n
    \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Hipotireoidismo\n \n
    \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Diabetes\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Síndrome de Sjogren\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Nefrite Lúpica\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Dislipidemia\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Artrite reumatoide\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Osteoartrite\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Osteoporose\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Neoplasia\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Osteopenia\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Neoplasia pré-existente\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Depressão\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Transtorno de ansiedade\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Crise de pânico\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Anorexia\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Bulimia\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n Alcoolismo\n \n \n \n
    \n \n Meses (diagnóstico):\n \n
    \n \n \n \n \n COVID-19\n \n \n \n \n
    \n \n Se você marcou COVID-19 informe a\n data do diagnóstico:\n\n
    \n \n
    \n
    \n
    \n \n Se você marcou Osteoartrite ou\n Osteoporose ou Osteopenia ou\n Neoplasia informe o Local:\n \n \n
    \n
    \n \n Caso tenha outra enfermidade favor\n descrever:\n \n \n
    \n
    \n \n Histórico de quedas no último ano:\n \n \n
    \n
    \n \n Favor informar data de diagnóstico\n da(s) enfermidade(s) pré-existentes\n (Ex: osteoporose em janeiro de\n 2014):\n \n\n
    \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Questionário Farmacêutico Preliminar\n

    \n
    \n
    \n
    \n
    \n
    \n \n Alergia a medicamentos:\n \n
    \n\n \n \n\n {{ opcao.label }}\n
    \n
    \n\n
    \n \n \n Se você marcou \"Sim\", informe qual\n medicamento:\n \n
    \n \n \n
    \n
    \n
    \n
    \n \n Alergias a outros produtos:\n \n
    \n\n \n \n\n {{ opcao.label }}\n
    \n
    \n
    \n \n \n Se você marcou \"Sim\", informe qual\n produto:\n \n
    \n \n \n \n \n\n
    \n
    \n
    \n
    \n \n Utiliza algum medicamento? Em caso\n positivo, informe qual(is)\n medicamento(s), finalidade, dose,\n frequência e horário:\n \n
    \n \n Sim\n\n \n Não\n
    \n
    \n\n \n\n \n
    \n Medicamentos cadastrados\n
    \n
    \n Produto\n \n
    \n
    \n Nome Comercial\n \n
    \n
    \n Dose\n \n
    \n
    \n Periodicidade\n \n
    \n \n\n
    \n
    \n
    \n
    \n \n Faz exercício regularmente há mais de 3\n meses:\n \n\n
    \n\n \n \n\n {{ opcao.label }}\n
    \n \n \n \n Em caso positivo. Qual exercício?\n \n
    \n
    \n \n \n Caminhada\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.value}}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n \n Corrida\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n \n Musculação\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n \n Dança\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n\n \n\n
    \n
    \n \n \n Hidroginástica\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n \n Outro\n
    \n
    \n\n \n \n Frequencia semanal\n\n
    \n \n \n\n \n {{ value }}\n \n \n\n
    \n Intensidade\n
    \n\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n Duração (meses)\n
    \n\n \n \n \n
    \n
    \n \n \n \n \n \n\n \n
    \n \n Informar se pratica \"outro\" tipo de\n exercício:\n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n Quantas vezes por semana?\n \n
    \n \n \n\n {{ opcao.label }}\n
    \n
    \n \n
    \n \n Qual a intensidade?\n \n
    \n \n \n\n {{ opcao.label }}\n
    \n
    \n \n
    \n \n A duração de cada sessão (tempo)?\n \n \n Informe os minutos\n \n \n
    \n
    \n \n Somatório semanal em minutos:\n \n \n Informe os minutos\n \n \n
    \n
    \n
    \n
    \n \n\n
    \n

    Suplementação Alimentar

    \n
    \n
    \n \n Faz uso de suplemento alimentar?\n \n
    \n \n \n\n {{ opcao.label }}\n
    \n
    \n \n\n \n \n Em caso positivo. Favor especificar qual\n suplemento alimentar, dose e frequëncia.\n \n
    \n \n
    \n \n\n
    \n
    \n
    \n\n
    \n

    Alimentação Diária

    \n
    \n
    \n
    \n \n Café da manhã\n \n
    \n \n \n
    \n
    \n
    \n \n Lanche\n \n
    \n \n \n
    \n
    \n
    \n \n Almoço\n \n
    \n \n \n
    \n
    \n
    \n \n Lanche\n \n
    \n \n \n
    \n
    \n
    \n \n Jantar\n \n
    \n \n \n
    \n
    \n
    \n Ceia \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Checklist\n

    \n
    \n \n
    \n
    \n \n Usando um escala de 1 a 7 , indique o\n quanto você concorda com cada item,\n marcando a opção mais apropriada na\n linha que depende de cada afirmação.\n \n
    \n
    \n \n Na maioria dos aspectos minha vida está\n próxima do meu ideal.\n \n
    \n \n 1 - Discordo plenamente\n
    \n
    \n \n 2 - Discordo\n
    \n
    \n \n 3 - Discordo um pouco\n
    \n
    \n \n 4 - Não concordo nem\n discordo\n
    \n
    \n \n 5 - Concordo um pouco\n
    \n
    \n \n 6 - Concordo\n
    \n
    \n \n 7 - Concordo plenamente\n
    \n
    \n
    \n As condições da minha vida são\n excelentes.\n
    \n \n 1 - Discordo plenamente\n
    \n
    \n \n 2 - Discordo\n
    \n
    \n \n 3 - Discordo um pouco\n
    \n
    \n \n 4 - Não concordo nem\n discordo\n
    \n
    \n \n 5 - Concordo um pouco\n
    \n
    \n \n 6 - Concordo\n
    \n
    \n \n 7 - Concordo plenamente\n
    \n
    \n
    \n \n Estou inteiramente satisfeito com minha\n vida.\n \n
    \n \n 1 - Discordo plenamente\n
    \n
    \n \n 2 - Discordo\n
    \n
    \n \n 3 - Discordo um pouco\n
    \n
    \n \n 4 - Não concordo nem\n discordo\n
    \n
    \n \n 5 - Concordo um pouco\n
    \n
    \n \n 6 - Concordo\n
    \n
    \n \n 7 - Concordo plenamente\n
    \n
    \n
    \n \n Até hoje, consegui as coisas mais\n importantes que desejei na vida.\n \n
    \n \n 1 - Discordo plenamente\n
    \n
    \n \n 2 - Discordo\n
    \n
    \n \n 3 - Discordo um pouco\n
    \n
    \n \n 4 - Não concordo nem\n discordo\n
    \n
    \n \n 5 - Concordo um pouco\n
    \n
    \n \n 6 - Concordo\n
    \n
    \n \n 7 - Concordo plenamente\n
    \n
    \n
    \n \n Se pudesse viver outra vez, não mudaria\n nada.\n \n
    \n \n 1 - Discordo plenamente\n
    \n
    \n \n 2 - Discordo\n
    \n
    \n \n 3 - Discordo um pouco\n
    \n
    \n \n 4 - Não concordo nem\n discordo\n
    \n
    \n \n 5 - Concordo um pouco\n
    \n
    \n \n 6 - Concordo\n
    \n
    \n \n 7 - Concordo plenamente\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Percepção saúde\n

    \n
    \n
    \n
    \n
    \n Essa etapa é muito interessante, preste\n atenção nas repostas, pois sempre com o\n valor 0 sendo considerado o Melhor\n resultado e o valor 10 sendo considerado\n o Pior resultado.\n \n
    \n De acordo com a escala visual analógica\n (EVA) favor pontuar de 0 a 10 o que\n sentiu em média na última semana nos\n parâmetros abaixo.\n
    \n
    \n
    \n
    \n Dor: {{\n formGroupEtapa6.get('Dor').value\n }}\n
    \n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Dor').value < 8 && formGroupEtapa6.get('Dor').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Dor').value <=3 ? 'p-slider-verde' : '' }}\n \"\n >\n
    \n
    \n
    \n
    \n 0\"\n >\n Citar local(is) onde sente\n dor:\n \n
    \n
    \n
    \n
    \n Tensão/ansiedade: {{\n formGroupEtapa6.get('Ansiedade').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Ansiedade').value < 8 && formGroupEtapa6.get('Ansiedade').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Ansiedade').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Fadiga: {{\n formGroupEtapa6.get('Fadiga').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Fadiga').value < 8 && formGroupEtapa6.get('Fadiga').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Fadiga').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Gratidão (Qual o seu nível de\n gratidão em relação a sua vida,\n família, trabalho, saúde e\n relacionamentos): {{\n formGroupEtapa6.get('Gratidao').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Gratidao').value < 8 && formGroupEtapa6.get('Gratidao').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Gratidao').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Ânimo: {{\n formGroupEtapa6.get('Animo').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Animo').value < 8 && formGroupEtapa6.get('Animo').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Animo').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Qualidade do sono: {{\n formGroupEtapa6.get('Sono').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Sono').value < 8 && formGroupEtapa6.get('Sono').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Sono').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Disposição ao acordar: {{\n formGroupEtapa6.get('Disposicao').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Disposicao').value < 8 && formGroupEtapa6.get('Disposicao').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Disposicao').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Percepção de saúde geral: {{\n formGroupEtapa6.get('Percepcao').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Percepcao').value < 8 && formGroupEtapa6.get('Percepcao').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Percepcao').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Relato da capacidade funcional\n (atividades do dia a dia): {{\n formGroupEtapa6.get('CapacidadeFuncional').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('CapacidadeFuncional').value < 8 && formGroupEtapa6.get('CapacidadeFuncional').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('CapacidadeFuncional').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n\n
    \n
    \n Nível de estresse: {{\n formGroupEtapa6.get('Estresse').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Estresse').value < 8 && formGroupEtapa6.get('Estresse').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Estresse').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n
    \n Percepção de felicidade: {{\n formGroupEtapa6.get('Felicidade').value\n }}\n
    \n\n
    \n
    \n \n =8 ? 'p-slider-vermelho' : '' }}\n {{ formGroupEtapa6.get('Felicidade').value < 8 && formGroupEtapa6.get('Felicidade').value >=4 ? 'p-slider-amarelo' : '' }}\n {{ formGroupEtapa6.get('Felicidade').value <=3 ? 'p-slider-verde' : '' }}\"\n >\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Saúde emocional e saúde funcional\n

    \n
    \n
    \n
    \n
    \n \n Nós estamos interessados em saber que\n tipos de atividade física você realiza\n no seu cotidiano. As perguntas estão\n relacionadas ao tempo que cada pessoa\n gasta fazendo atividade física na ÚLTIMA\n SEMANA. As perguntas incluem as\n atividades, ou seja, o quanto se\n movimenta fazendo o seu trabalho (no\n escritório, em casa ou no jardim) nos\n momentos de lazer, praticando esporte ou\n outros tipos de exercício ou como parte\n das suas atividades. Por favor, responda\n cada questão mesmo que considere que não\n seja ativo.\n \n
    \n
    \n \n
    Para responder as questões lembre\n que: - atividades físicas VIGOROSAS são\n aquelas que precisam de um grande\n esforço físico e que fazem respirar\n MUITO mais forte que o normal -\n atividades físicas MODERADAS são aquelas\n que precisam de algum esforço físico e\n que fazem respirar UM POUCO mais forte\n que o normal Para responder as perguntas\n pense somente nas atividades que você\n realiza por pelo menos 10 minutos\n contínuos de cada vez.\n
    \n
    \n
    \n
    \n \n Em quantos dias da última semana\n você caminhou por pelo menos 10\n minutos contínuos em casa ou no\n trabalho, como forma de transporte\n para ir de um lugar para outro, por\n lazer, por prazer ou como forma de\n exercício?\n \n \n
    \n Informe o número de dias por semana.\n Escolha \"0\", caso não tenha feito\n atividades em nenhum dia da semana.\n
    \n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n
    \n
    \n \n Nos dias em que você caminhou por\n pelo menos 10 minutos contínuos\n quanto tempo no total você gastou\n caminhando por dia?\n \n \n
    \n Informe o total de horas e minutos.\n
    \n
    \n
    \n \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n
    \n
    \n \n Em quantos dias da última semana,\n você realizou atividades moderadas\n por pelo menos 10 minutos contínuos,\n como por exemplo, pedalar leve na\n bicicleta, nadar, dançar, fazer\n ginástica aeróbica leve, jogar vôlei\n recreativo, carregar pesos leves,\n fazer serviços domésticos na casa,\n no quintal ou no jardim como varrer,\n aspirar, cuidar do jardim, ou\n qualquer atividade que fez aumentar\n moderadamente sua respiração ou\n batimentos do coração (POR FAVOR NÃO\n INCLUA CAMINHADA)\n \n \n
    Informe o número de dias por\n semana. Selecione \"0\", caso seja\n nenhum dia da semana.\n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n\n
    \n
    \n \n Nos dias em que você fez essas\n atividades moderadas por pelo menos\n 10 minutos contínuos, quanto tempo\n no total você gastou fazendo essas\n atividades por dia?\n \n \n
    Informe o total de horas e\n minutos\n
    \n
    \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n\n
    \n
    \n \n Em quantos dias da última semana,\n você realizou atividades VIGOROSAS\n por pelo menos 10 minutos contínuos,\n como por exemplo, correr, fazer\n ginástica aeróbia, jogar futebol,\n pedalar rápido na bicicleta, jogar\n basquete, fazer serviços domésticos\n pesados em casa, no quintal ou\n cavoucar no jardim, carregar pesos\n elevados ou qualquer atividade que\n fez aumentar MUITO sua respiração ou\n batimentos do coração.\n \n \n
    Informe o número de dias por\n semana. Selecione \"0\", caso seja\n nenhum dia da semana.\n
    \n
    \n \n \n \n {{ dia }}\n \n \n
    \n
    \n\n
    \n
    \n \n Nos dias em que você fez essas\n atividades vigorosas por pelo menos\n 10 minutos contínuos, quanto tempo\n no total você gastou fazendo essas\n atividades por dia?\n \n \n
    Informe o total de horas e\n minutos\n
    \n
    \n \n \n {{ opcao.label }}\n \n \n
    \n
    \n\n
    \n \n Estas últimas questões são sobre o tempo\n que você permanece sentado todo dia, no\n trabalho, na escola ou faculdade, em\n casa e durante seu tempo livre. Isto\n inclui o tempo sentado estudando,\n sentado enquanto descansa, fazendo lição\n de casa visitando um amigo, lendo,\n sentado ou deitado assistindo TV. Inclua\n o tempo gasto sentando durante o\n transporte em ônibus, trem, metrô ou\n carro.\n \n
    \n \n
    Quanto tempo no total você gasta\n sentado durante um dia de semana?\n
    \n
    \n \n
    Trabalho\n
    \n\n \n c\n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Transporte\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Assistindo TV\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Celular / Computador\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    Leitura\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    Descanso\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n \n
    Quanto tempo no total você gasta\n sentado durante um final de semana? (total:\n {{\n formGroupEtapa7.get('TotaisTempoSentado').value\n }} )\n
    \n
    \n \n
    Trabalho\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Transporte\n
    \n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Assistindo TV\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    \n Celular / Computador\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    Leitura\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n\n
    \n \n
    Descanso\n
    \n\n \n \n {{ opcao.label }}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Checklist 2\n

    \n
    \n
    \n
    \n
    \n \n Instruções: Esta pesquisa nos dá\n informações sobre a sua saúde. As\n informações fornecidas nos mostrarão\n como você se sente e o quão bem você é\n capaz de fazer suas atividades da vida\n diária. Responda cada questão marcando a\n resposta como indicado. Caso você esteja\n inseguro em como responder, por favor,\n tente responder o melhor que puder.\n \n
    \n\n \n
    \n \n Em geral, você diria que sua saúde é:\n \n
    \n \n Excelente\n
    \n
    \n \n Muito Boa\n
    \n
    \n \n Boa\n
    \n
    \n \n Ruim\n
    \n
    \n \n Muito Ruim\n
    \n
    \n \n\n \n
    \n \n Comparada há um ano atrás, como você\n classifica sua saúde em geral, agora?\n \n
    \n \n Muito melhor agora do que há um ano\n atrás\n
    \n\n
    \n \n \n Um pouco melhor agora do que há um\n ano atrás\n
    \n\n
    \n \n \n Quase a mesma de um ano atrás\n
    \n\n
    \n \n \n Um pouco pior agora do que um ano\n atrás\n
    \n\n
    \n \n \n Muito pior agora do que há um ano\n atrás\n
    \n
    \n \n\n
    \n \n Os seguintes itens são sobre atividades\n que você poderia fazer atualmente\n durante um dia comum. Devido a sua\n saúde, você tem dificuldades para fazer\n essas atividades? Neste caso, quanto?\n \n
    \n\n \n
    \n
    Atividades vigorosas, que exigem\n muito esforço, tais como correr,\n levantar objetos pesados, participar em\n esportes árduos\n
    \n\n \n \n {{opcao.label }}\n \n
    \n
    \n \n\n \n
    \n \n Atividades moderadas, tais como mover\n uma mesa, passar aspirador de pó, jogar\n bola, varrer a casa\n \n\n \n \n {{opcao.label }}\n \n
    \n
    \n \n\n \n
    \n \n Levantar ou carregar mantimentos\n (compras)\n \n\n \n \n {{opcao.label }}\n \n
    \n
    \n \n\n \n
    \n Subir vários lances de escada\n \n \n \n {{opcao.label }}\n \n
    \n
    \n \n\n \n
    \n \n Subir um lance de escada\n \n\n \n \n {{opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Curvar-se, ajoelhar-se ou dobrar-se\n \n \n \n {{opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Andar mais de 1 quilômetro\n \n\n \n \n {{opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Andar vários quarteirões (quadras)\n \n\n \n \n {{opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Andar um quarteirão (quadras)\n \n\n \n \n {{opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Tomar banho ou vestir-se\n \n \n \n {{ opcao.label }}\n
    \n \n \n\n
    \n \n Durante as últimas 4 semanas, você teve\n algum dos seguintes problemas com o seu\n trabalho ou com alguma atividade diária\n regular, como consequência de sua saúde\n física?\n \n
    \n\n \n
    \n \n Você diminuiu a quantidade de tempo que\n se dedicava ao seu trabalho ou a outras\n atividades?\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Realizou menos tarefas do que você\n gostaria?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Esteve limitado no seu tipo de trabalho\n ou em outras atividades? (p. ex.\n necessitou de um esforço extra)?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Teve dificuldade de fazer seu trabalho\n ou outras atividades (exemplo:\n necessitou de um esforço extra)?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n
    \n \n Durante as últimas 4 semanas, você teve\n algum dos seguintes problemas com seu\n trabalho ou outra atividade regular\n diária, como consequência de algum\n problema emocional (como sentir-se\n deprimido ou ansioso)?\n \n
    \n\n \n
    \n \n Você diminuiu a quantidade de tempo que\n se dedicava ao seu trabalho ou a outras\n atividades?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n Realizou menos tarefa do que você\n gostaria?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Não trabalhou ou não fez qualquer das\n atividades com tanto cuidado como\n geralmente faz?\n \n
    \n \n \n \n {{ opcao.label }}\n \n
    \n
    \n \n \n\n
    \n \n Durante as últimas 4 semanas, de que\n maneira sua saúde física ou problemas\n emocionais interferiam nas suas\n atividades sociais (festas, casa de\n amigos, aniversário) normais, em relação\n à família, vizinhos, amigos ou em grupo?\n \n\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanta dor no corpo você teve durante as\n últimas 4 semanas?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Durante as últimas 4 semanas, quanto a\n dor interferiu com o seu trabalho normal\n (incluindo tanto o trabalho, fora de\n casa e dentro de casa)?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n
    \n As perguntas abaixo são para saber como\n você se sente e como tudo tem acontecido\n com você nas últimas quatro semanas.\n Para cada questão, por favor, dê uma\n resposta que mais se aproxime da maneira\n com você se sente. Em relação às últimas\n quatro semanas.\n \n
    \n\n \n
    \n Cheio de vigor, cheio de vontade, cheio\n de força?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido uma\n pessoa muito nervosa?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido tão\n deprimido que nada pode te animar?\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Por quanto tempo você tem se sentido\n calmo ou tranquilo?\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido com\n muita energia?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido\n desanimado e abatido?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido\n esgotado?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido uma\n pessoa feliz?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Quanto tempo você tem se sentido\n cansado?\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n
    \n Durante as últimas 4 semanas, quanto do\n seu tempo a sua saúde física ou\n problemas emocionais interferiam com as\n suas atividades sociais (como visitar\n amigos, parentes, festas etc)?\n \n
    \n\n \n
    \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n
    \n \n O quanto verdadeiro ou falso é cada uma\n das afirmações para você?\n \n
    \n\n \n
    \n \n Eu costumo adoecer um pouco mais\n facilmente que as outras pessoas\n \n\n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Eu sou tão saudável quanto qualquer\n pessoa que eu conheço\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Eu acho que a minha saúde vai piorar\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n\n \n
    \n \n Minha saúde é excelente\n \n \n \n \n {{ opcao.label }}\n \n
    \n \n \n \n \n \n \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    Sono

    \n
    \n
    \n
    \n
    \n \n Qual a probabilidade de você cochilar ou\n dormir, e não apenas se sentir cansado,\n nas seguintes situações? Considere o\n modo de vida que você tem levado\n recentemente. Mesmo que você não tenha\n feito algumas destas coisas\n recentemente, tente imaginar como elas o\n afetariam.\n
    \n Escolha o número mais apropriado para\n responder cada questão.\n
    \n
    \n
    \n \n Sentado e lendo:\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n\n
    \n \n Assistindo TV:\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n
    \n \n Sentado, quieto, em lugar público (por\n exemplo, no teatro, reunião ou\n palestra):\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n
    \n \n Andando de carro por uma hora sem parar,\n como passageiro:\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n
    \n \n Sentado quieto após o almoço sem bebida\n alcoólica:\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Em um carro, parado no trânsito por\n alguns minutos:\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Sentado e conversando com alguém:\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Deitado para descansar a tarde quando as\n circunstâncias permitem:\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n
    \n
    \n
    \n

    \n Muito bom, já estamos quase no fim.\n

    \n
    \n
    \n \n As questões seguintes referem-se às suas\n crenças pessoais, e o quanto elas afetam\n a sua qualidade de vida. As questões\n dizem respeito à religião, à\n espiritualidade e outras crenças que\n você possa ter. Uma vez mais, elas\n referem-se às duas últimas semanas\n \n
    \n
    \n \n Suas crenças dão sentido à sua vida:\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n
    \n \n Em que medida você acha que sua vida tem\n sentido?\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n
    \n \n Em que medida suas crenças pessoais lhe\n dão força para enfrentar dificuldade?\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n
    \n \n Em que medida suas crenças pessoais lhe\n ajudam a entender as dificuldades da\n vida?\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n
    \n
    \n
    \n
    \n \n Tem religião?* :\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n \n \n Qual o religião?:\n \n\n \n \n\n
    \n \n Frequenta algum local semanalmente para\n realizar suas orações ou preces* :\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n \n \n Qual o local?:\n \n\n \n \n\n \n Quantas vezes? :\n \n\n \n \n\n
    \n \n Com que frequência você vai a uma\n igreja, templo ou outro encontro\n religioso?\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n
    \n \n Com que frequência você dedica o seu\n tempo a atividades religiosas\n individuais, como preces, rezas,\n meditações, leitura da bíblia ou de\n outros textos religiosos?\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n
    \n \n A seção seguinte contém três frases a\n respeito de crenças ou experiências\n religiosas. Por favor, anote o quanto\n cada frase se aplica a você.\n \n
    \n
    \n \n Em minha vida, eu sinto a presença de\n Deus (ou do Espírito Santo).\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n
    \n \n As minhas crenças religiosas estão\n realmente por trás de toda a minha\n maneira de viver.\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n\n
    \n \n Eu me esforço muito para viver a minha\n religião em todos os aspectos da vida.\n \n\n \n \n {{ opcao.label }}\n \n
    \n \n \n \n \n \n \n
    \n
    \n

    \n Método SAFE® - Check-up SAFE\n

    \n

    \n Reta Final\n

    \n
    \n
    \n
    \n
    \n \n Usando como guia a escala apresentada a\n seguir, marque a opção ao lado de cada\n afirmativa, para indicar o quanto você\n concorda com ela.\n \n
    \n
    \n \n Tenho muito o que agradecer na vida.\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n\n
    \n \n Se eu fizesse uma lista de tudo o que\n tenho a agradecer, seria uma lista muito\n longa.\n \n \n \n {{ opcao.label }}\n
    \n
    \n\n
    \n \n Quando olho para o mundo, não vejo\n muitos motivos para agradecer.\n \n \n \n {{ opcao.label }}\n
    \n
    \n
    \n \n Sou grato(a) a muita gente.\n \n\n \n \n {{ opcao.label }}\n
    \n
    \n
    \n \n Com o passar dos anos, cada vez mais me\n sinto inclinado (a) a apreciar as\n pessoas, os acontecimentos e as\n situações que fazem parte da história da\n minha vida.\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Pode passar muito tempo ainda, antes que\n eu me sinta grato (a) a alguém ou alguma\n coisa.\n \n\n \n \n {{ opcao.label }}\n
    \n \n\n
    \n
    \n
    \n
    \n

    Perdão

    \n
    \n
    \n \n Indicar em relações anteriores o quanto\n você perdoou seu parceiro ou pessoas de\n relacionamentos:\n \n
    \n\n
    \n \n \n \n Eu nunca perdôo\n \n \n Eu posso perdoá-lo\n \n \n Eu estou tentando perdoá-lo\n \n \n Eu perdôo-lhe\n \n \n
    \n\n
    \n
    \n
    \n
    \n \n Com o aumento da taxa de suicídio no\n mundo, existe uma preocupação grande da\n OMS, com isso estamos pesquisando\n pensamentos, tentativas e/ou convívio\n com pessoas com pensamento suicida,\n portanto:\n \n
    \n
    \n \n Você já pensou em suicídio?\n \n \n \n {{ opcao.label }}\n
    \n \n\n \n \n Nos últimos 12 meses?\n \n \n \n {{ opcao.label }}\n \n \n \n \n Você já tentou suicídio?\n \n \n \n {{ opcao.label }}\n \n \n\n
    \n
    \n
    \n
    \n \n Parabéns, últimas perguntas!\n \n
    \n
    \n \n Novas ideias às vezes me distraem das\n anteriores.*\n \n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Os contratempos não me desanimam.\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Fiquei obcecado (a) por uma ideia ou\n projeto por um curto período de tempo,\n mas depois perdi o interesse.*\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Sou muito trabalhador(a).\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Com frequência me proponho uma meta que\n depois substituo por outra.*\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Tenho dificuldades em manter a atenção\n focada em projetos que exigiram mais do\n que uns poucos meses para serem\n concluídos.*\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Eu termino tudo o que começo.\n \n \n \n {{ opcao.label }}\n
    \n \n
    \n \n Sou esforçado(a)\n \n\n \n \n {{ opcao.label }}\n
    \n \n
    \n
    \n
    \n
    \n \n Escala de Bristol\n \n
    \n
    \n \n
    \n
    \n \n Conforme imagem acima, classifique suas\n fezes.\n \n\n \n \n \n {{ opcao.label }}\n \n \n
    \n \n \n \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {ProfessorService} from '@services/dashboard/professor/professor.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {FormArray, FormControl, FormGroup} from '@angular/forms';\nimport {createMask} from '@ngneat/input-mask';\nimport {Router} from \"@angular/router\";\nimport { formatarDataParaDDMMYYYY } from '@/utils/mascaras';\n\n\ninterface Checkup {\n ID: number\n Idade: number\n Sexo: number\n}\n\n@Component({\n selector: 'app-anamneses-visualizar',\n templateUrl: './anamneses-visualizar.html',\n styleUrls: ['./anamneses-visualizar.scss']\n})\nexport class AnamnesesVisualizar implements OnInit {\n public stepperSelected: number = 1;\n \n public steppers = [\n {number: 1, isSelected: false}, \n {number: 2, isSelected: false}, \n {number: 3, isSelected: false},\n {number: 4, isSelected: false},\n {number: 5, isSelected: false},\n {number: 6, isSelected: false},\n {number: 7, isSelected: false},\n {number: 8, isSelected: false},\n {number: 9, isSelected: false},\n {number: 10, isSelected: false}\n ];\n public anamneseProtocolo: any;\n public loadingAnamnese: boolean = false; \n public formGroupEtapa2: FormGroup\n public formGroupEtapa3: FormGroup\n public formGroupEtapa4: FormGroup\n public formGroupEtapa5: FormGroup\n public formGroupEtapa6: FormGroup\n public formGroupEtapa7: FormGroup\n public formGroupEtapa8: FormGroup\n public formGroupEtapa9: FormGroup\n public formGroupEtapa10: FormGroup\n public desativarCampos = true;\n public listaFilhos = [];\n public opcoesFrequencia: Array = [1, 2, 3, 4, 5, 6, 7]\n public opcoesCheckboxSimOuNao = [{\n label: 'Sim', value: true\n }, {\n label: 'Não', value: false\n }]\n public opcoesCheckboxSimOuNaoMed = [{\n label: 'Sim', value: true\n }, {\n label: 'Não', value: false\n }]\n public opcoesIntensidade = [{\n label: 'Baixa', value: 1\n }, {\n label: 'Média', value: 2,\n }, {\n label: 'Alta', value: 3\n }]\n public opcoesDiasDaSemana = [0, 1, 2, 3, 4, 5, 6, 7]\n public opcoesTempo = [{\n label: \"Selecione\", value: null\n }, {\n label: \"00:00\", value: \"00:00:00\"\n }, {\n label: \"00:05\", value: \"00:05:00\"\n }, {\n label: \"00:10\", value: \"00:10:00\"\n }, {\n label: \"00:30\", value: \"00:30:00\"\n }, {\n label: \"00:40\", value: \"00:40:00\"\n }, {\n label: \"01:00\", value: \"01:00:00\"\n }, {\n label: \"01:05\", value: \"01:05:00\"\n }, {\n label: \"01:10\", value: \"01:10:00\"\n }, {\n label: \"01:30\", value: \"01:30:00\"\n }, {\n label: \"01:40\", value: \"01:40:00\"\n }, {\n label: \"02:00\", value: \"02:00:00\"\n }, {\n label: \"02:05\", value: \"02:05:00\"\n }, {\n label: \"02:10\", value: \"02:10:00\"\n }, {\n label: \"02:30\", value: \"02:30:00\"\n }, {\n label: \"02:40\", value: \"02:40:00\"\n }, {\n label: \"03:00\", value: \"03:00:00\"\n }, {\n label: \"03:05\", value: \"03:05:00\"\n }, {\n label: \"03:10\", value: \"03:10:00\"\n }, {\n label: \"03:30\", value: \"03:30:00\"\n }, {\n label: \"03:40\", value: \"03:40:00\"\n }, {\n label: \"04:00\", value: \"04:00:00\"\n }, {\n label: \"04:05\", value: \"04:05:00\"\n }, {\n label: \"04:10\", value: \"04:10:00\"\n }, {\n label: \"04:30\", value: \"04:30:00\"\n }, {\n label: \"04:40\", value: \"04:40:00\"\n }, {\n label: \"05:00\", value: \"05:00:00\"\n }, {\n label: \"05:05\", value: \"05:05:00\"\n }, {\n label: \"05:10\", value: \"05:10:00\"\n }, {\n label: \"05:30\", value: \"05:30:00\"\n }, {\n label: \"05:40\", value: \"05:40:00\"\n }, {\n label: \"06:00\", value: \"06:00:00\"\n }, {\n label: \"06:05\", value: \"06:05:00\"\n }, {\n label: \"06:10\", value: \"06:10:00\"\n }, {\n label: \"06:30\", value: \"06:30:00\"\n }, {\n label: \"06:40\", value: \"06:40:00\"\n }, {\n label: \"07:00\", value: \"07:00:00\"\n }, {\n label: \"07:05\", value: \"07:05:00\"\n }, {\n label: \"07:10\", value: \"07:10:00\"\n }, {\n label: \"07:30\", value: \"07:30:00\"\n }, {\n label: \"07:40\", value: \"07:40:00\"\n }, {\n label: \"08:00\", value: \"08:00:00\"\n }, {\n label: \"08:05\", value: \"08:05:00\"\n }, {\n label: \"08:10\", value: \"08:10:00\"\n }, {\n label: \"08:30\", value: \"08:30:00\"\n }, {\n label: \"08:40\", value: \"08:40:00\"\n }, {\n label: \"09:00\", value: \"09:00:00\"\n }, {\n label: \"09:05\", value: \"09:05:00\"\n }, {\n label: \"09:10\", value: \"09:10:00\"\n }, {\n label: \"09:30\", value: \"09:30:00\"\n }, {\n label: \"09:40\", value: \"09:40:00\"\n }, {\n label: \"10:00\", value: \"10:00:00\"\n }, {\n label: \"10:05\", value: \"10:05:00\"\n }, {\n label: \"10:10\", value: \"10:10:00\"\n }, {\n label: \"10:30\", value: \"10:30:00\"\n }, {\n label: \"10:40\", value: \"10:40:00\"\n }, {\n label: \"11:00\", value: \"11:00:00\"\n }, {\n label: \"11:05\", value: \"11:05:00\"\n }, {\n label: \"11:10\", value: \"11:10:00\"\n }, {\n label: \"11:30\", value: \"11:30:00\"\n }, {\n label: \"11:40\", value: \"11:40:00\"\n }, {\n label: \"12:00\", value: \"12:00:00\"\n }, {\n label: \"12:05\", value: \"12:05:00\"\n }, {\n label: \"12:10\", value: \"12:10:00\"\n }, {\n label: \"12:30\", value: \"12:30:00\"\n }, {\n label: \"12:40\", value: \"12:40:00\"\n },]\n opcoesCochilar = [{\n label: \"Nunca cochilaria\", value: 0\n }, {\n label: \"Pequena probabilidade de cochilar\", value: 1\n }, {\n label: \"Probabilidade média de cochilar\", value: 2\n }, {\n label: \"Grande probabilidade de cochilar\", value: 3\n },]\n\n opcoesExtremo = [{\n label: \"Nada\", value: 1\n }, {\n label: \"Muito pouco\", value: 2\n }, {\n label: \"Mais ou menos\", value: 3\n }, {\n label: \"Bastante\", value: 4\n }, {\n label: \"Extremamente\", value: 5\n },]\n\n opcoesSimNao = [{\n label: \"Sim\", value: true\n }, {\n label: \"Não\", value: false\n }]\n\n opcoesTempoCheck8 = [{\n label: 'Todo tempo', value: 1\n }, {\n label: 'Maioria do tempo', value: 2\n }, {\n label: 'Uma boa parte do tempo', value: 3\n }, {\n label: 'Alguma parte do tempo', value: 4\n }, {\n label: 'Uma pequena parte do tempo', value: 5\n }, {\n label: 'Nunca', value: 6\n },]\n opcoesFrequenciaSemanal = [{\n label: \"Mais do que uma vez por semana\", value: 1\n }, {\n label: \"Uma vez por semana\", value: 2\n }, {\n label: \"Duas a três vezes por mês\", value: 3\n }, {\n label: \"Algumas vezes por ano\", value: 4\n }, {\n label: \"Uma vez por ano mais ou menos\", value: 5\n }, {\n label: \"Nunca\", value: 6\n },]\n\n opcoesFrequenciaDiaria = [{\n label: \"Mais do que uma vez ao dia\", value: 1\n }, {\n label: \"Diariamente\", value: 2\n }, {\n label: \"Duas ou mais vezes por semana\", value: 3\n }, {\n label: \"Uma vez por semana\", value: 4\n }, {\n label: \"Poucas vezes por mês\", value: 5\n }, {\n label: \"Raramente ou nunca\", value: 6\n },]\n public opcoesDificuldade = [{\n label: 'Sim. Dificulta muito', value: 1,\n }, {\n label: 'Sim. Dificulta um pouco', value: 2,\n }, {\n label: 'Não. Não dificulta de modo algum', value: 3,\n },]\n public opcoesSimOuNao = [{\n label: 'Sim', value: true\n }, {\n label: 'Não', value: false\n }]\n public opcoesGravidade = [{\n label: 'Nenhum', value: 1\n }, {\n label: 'Muito leve', value: 2\n }, {\n label: 'Leve', value: 3\n }, {\n label: 'Moderada', value: 4\n }, {\n label: 'Grave', value: 5\n }, {\n label: 'Muito grave', value: 6\n },]\n \n\n public opcoesVeracidade = [{\n label: 'Definitivamente verdadeira', value: 1,\n }, {\n label: 'A maioria das vezes verdadeira', value: 2,\n }, {\n label: 'Não sei', value: 3,\n }, {\n label: 'A maioria das vezes falsa', value: 4,\n }, {\n label: 'Definitivamente falsa', value: 5,\n },]\n\n public opcoesVeracidadeCheck9 = [{\n label: \"Totalmente verdade para mim\", value: 1\n }, {\n label: \"Em geral é verdade\", value: 2\n }, {\n label: \"Nunca\", value: 3\n }, {\n label: \"Em geral não é verdade\", value: 4\n }, {\n label: \"Não é verdade\", value: 5\n },]\n\n //10\n opcoesSimNaoSuicidio = [{\n label: \"Sim\", value: 1\n }, {\n label: \"Não\", value: 2\n }]\n\n opcoesClassificacaoFezes = [{\n label: \"1 - Pequenas bolinhas\", value: 1\n }, {\n label: \"2 - Pequenas grumos\", value: 2\n }, {\n label: \"3 - Fezes alongadas com fissuras\", value: 3\n }, {\n label: \"4 - Fezes alongadas lisas\", value: 4\n }, {\n label: \"5 - Pedaços macios\", value: 5\n }, {\n label: \"6 - Massa pastosa\", value: 6\n }, {\n label: \"7 - Fezes líquidas\", value: 7\n },]\n\n\n opcoesConcordancia = [{\n label: \"Discordo plenamente\", value: 1\n }, {\n label: \"Discordo\", value: 2\n }, {\n label: \"Discordo um pouco\", value: 3\n }, {\n label: \"Não concordo e nem discordo\", value: 4\n }, {\n label: \"Concordo um pouco\", value: 5\n }, {\n label: \"Concordo\", value: 6\n }, {\n label: \"Concordo plenamente\", value: 7\n },]\n\n opcoesSemelhancaComigo = [{\n label: \"Nada parecido comigo\", value: 1\n }, {\n label: \"Pouco parecido comigo\", value: 2\n }, {\n label: \"Algo parecido comigo\", value: 3\n }, {\n label: \"Bastante parecido comigo\", value: 4\n }, {\n label: \"Muito parecido comigo\", value: 5\n },]\n public listaMedicamentos: FormArray = new FormArray([]);\n\n\n constructor(\n private professorService: ProfessorService,\n private toastr: ToastrService,\n private anamneseService: AnamneseService,\n private router: Router) {\n }\n\n ngOnInit(): void {\n \n //getVisualizarAnamnese é um método do serviço anamneseService que é responsável por buscar os dados da anamnese\n //por meio de um hash que é passado como parâmetro\n const hashAnamnese = window.location.pathname.split('/').pop();\n this.loadingAnamnese = true;\n this.anamneseService.getVisualizarAnamnese(hashAnamnese).subscribe({\n next: (anamnese: any) => {\n this.loadingAnamnese = false;\n this.anamneseProtocolo = anamnese?.Protocolo;\n this.formGroupEtapa2 = new FormGroup({\n NumeroEtapa: new FormControl({value: 2, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa2?.AnamneseID, disabled: this.desativarCampos}),\n Peso: new FormControl({value: anamnese?.Etapa2?.Peso, disabled: this.desativarCampos}),\n Altura: new FormControl({value: anamnese?.Etapa2?.Altura, disabled: this.desativarCampos}),\n Pressao: new FormControl({value: anamnese?.Etapa2?.Pressao, disabled: this.desativarCampos}),\n PressaoPart1: new FormControl({value: anamnese?.Etapa2?.PressaoPart1, disabled: this.desativarCampos}),\n PressaoPart2: new FormControl({value: anamnese?.Etapa2?.PressaoPart2, disabled: this.desativarCampos}),\n Gestante: new FormControl({value: anamnese?.Etapa2?.Gestante, disabled: this.desativarCampos}),\n MesesGestacao: new FormControl({value: anamnese?.Etapa2?.MesesGestacao, disabled: this.desativarCampos}),\n TemConjuge: new FormControl({value: !!anamnese?.Etapa2?.TemConjuge, disabled: this.desativarCampos}),\n DataNascConjuge: new FormControl(\n {\n value: anamnese?.Etapa2?.DataNascConjuge ? this.formataDataParaAmericana(anamnese?.Etapa2?.DataNascConjuge) : null,\n disabled: this.desativarCampos\n }\n ),\n DatasNascFilhosTexto: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhosTexto,\n disabled: this.desativarCampos\n }),\n DatasNascFilhos: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhos,\n disabled: this.desativarCampos\n }),\n FazendoDieta: new FormControl({value: anamnese?.Etapa2?.FazendoDieta, disabled: this.desativarCampos}),\n TemNutricionista: new FormControl({\n value: anamnese?.Etapa2?.TemNutricionista,\n disabled: this.desativarCampos\n }),\n DescricaoDieta: new FormControl({value: anamnese?.Etapa2?.DescricaoDieta, disabled: this.desativarCampos}),\n ProblemaCardiaco: new FormControl({\n value: anamnese?.Etapa2?.ProblemaCardiaco,\n disabled: this.desativarCampos\n }),\n DorToraxAtivFisica: new FormControl({\n value: anamnese?.Etapa2?.DorToraxAtivFisica,\n disabled: this.desativarCampos\n }),\n UltimoMesDorTorax: new FormControl({\n value: anamnese?.Etapa2?.UltimoMesDorTorax,\n disabled: this.desativarCampos\n }),\n PerdeuEquilibrio: new FormControl({\n value: anamnese?.Etapa2?.PerdeuEquilibrio,\n disabled: this.desativarCampos\n }),\n ProblemaOsseo: new FormControl({value: anamnese?.Etapa2?.ProblemaOsseo, disabled: this.desativarCampos}),\n RemedioPressao: new FormControl({value: anamnese?.Etapa2?.RemedioPressao, disabled: this.desativarCampos}),\n FisicoImpedeAtivFisica: new FormControl({\n value: anamnese?.Etapa2?.FisicoImpedeAtivFisica,\n disabled: this.desativarCampos\n }),\n TesteEsforco: new FormControl({value: anamnese?.Etapa2?.TesteEsforco, disabled: this.desativarCampos}),\n NivelAtividadeFisica: new FormControl({\n value: anamnese?.Etapa2?.NivelAtividadeFisica,\n disabled: this.desativarCampos\n }),\n Tabagista: new FormControl({value: anamnese?.Etapa2?.Tabagista, disabled: this.desativarCampos}),\n QtdCigarros: new FormControl({value: anamnese?.Etapa2?.QtdCigarros, disabled: this.desativarCampos}),\n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl({value: anamnese?.Etapa2?.DataFim, disabled: this.desativarCampos}),\n \n // campos por fora (temporarios para armazenar a data no DatasNascFilhos\n temFilhos: new FormControl({\n value: anamnese?.Etapa2?.DatasNascFilhos?.length > 0,\n disabled: this.desativarCampos\n }),\n dataNascimentoFilho: new FormControl({value: '', disabled: this.desativarCampos})\n });\n this.formGroupEtapa3 = new FormGroup({\n NumeroEtapa: new FormControl(3),\n AnamneseID: new FormControl({value: anamnese?.Etapa3?.AnamneseID, disabled: this.desativarCampos}),\n DadosMedico: new FormControl({value: anamnese?.Etapa3?.DadosMedico, disabled: this.desativarCampos}),\n HipArtSist: new FormControl({value: anamnese?.Etapa3?.HipArtSist, disabled: this.desativarCampos}),\n HipArtSistMeses: new FormControl({\n value: anamnese?.Etapa3?.HipArtSistMeses,\n disabled: this.desativarCampos\n }),\n Fibromialgia: new FormControl({value: anamnese?.Etapa3?.Fibromialgia, disabled: this.desativarCampos}),\n FibromialgiaMeses: new FormControl({\n value: anamnese?.Etapa3?.FibromialgiaMeses,\n disabled: this.desativarCampos\n }),\n Lupos: new FormControl({value: anamnese?.Etapa3?.Lupos, disabled: this.desativarCampos}),\n LuposMeses: new FormControl({value: anamnese?.Etapa3?.LuposMeses, disabled: this.desativarCampos}),\n Hipotireoidismo: new FormControl({\n value: anamnese?.Etapa3?.Hipotireoidismo,\n disabled: this.desativarCampos\n }),\n HipotireoidismoMeses: new FormControl({\n value: anamnese?.Etapa3?.HipotireoidismoMeses,\n disabled: this.desativarCampos\n }),\n Diabetes: new FormControl({value: anamnese?.Etapa3?.Diabetes, disabled: this.desativarCampos}),\n DiabetesMeses: new FormControl({value: anamnese?.Etapa3?.DiabetesMeses, disabled: this.desativarCampos}),\n SindromeSjogren: new FormControl({\n value: anamnese?.Etapa3?.SindromeSjogren,\n disabled: this.desativarCampos\n }),\n SindromeSjogrenMeses: new FormControl({\n value: anamnese?.Etapa3?.SindromeSjogrenMeses,\n disabled: this.desativarCampos\n }),\n NefriteLupica: new FormControl({value: anamnese?.Etapa3?.NefriteLupica, disabled: this.desativarCampos}),\n NefriteLupicaMeses: new FormControl({\n value: anamnese?.Etapa3?.NefriteLupicaMeses,\n disabled: this.desativarCampos\n }),\n Dislipidemia: new FormControl({value: anamnese?.Etapa3?.Dislipidemia, disabled: this.desativarCampos}),\n DislipidemiaMeses: new FormControl({\n value: anamnese?.Etapa3?.DislipidemiaMeses,\n disabled: this.desativarCampos\n }),\n ArtriteReumatoide: new FormControl({\n value: anamnese?.Etapa3?.ArtriteReumatoide,\n disabled: this.desativarCampos\n }),\n ArtriteReumatoideMeses: new FormControl({\n value: anamnese?.Etapa3?.ArtriteReumatoideMeses,\n disabled: this.desativarCampos\n }),\n Osteoartrite: new FormControl({value: anamnese?.Etapa3?.Osteoartrite, disabled: this.desativarCampos}),\n OsteoartriteMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteoartriteMeses,\n disabled: this.desativarCampos\n }),\n Osteoporose: new FormControl({value: anamnese?.Etapa3?.Osteoporose, disabled: this.desativarCampos}),\n OsteoporoseMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteoporoseMeses,\n disabled: this.desativarCampos\n }),\n Neoplasia: new FormControl({value: anamnese?.Etapa3?.Neoplasia, disabled: this.desativarCampos}),\n NeoplasiaMeses: new FormControl({value: anamnese?.Etapa3?.NeoplasiaMeses, disabled: this.desativarCampos}),\n Osteopenia: new FormControl({value: anamnese?.Etapa3?.Osteopenia, disabled: this.desativarCampos}),\n OsteopeniaMeses: new FormControl({\n value: anamnese?.Etapa3?.OsteopeniaMeses,\n disabled: this.desativarCampos\n }),\n NeoplasiaPreExistente: new FormControl({\n value: anamnese?.Etapa3?.NeoplasiaPreExistente,\n disabled: this.desativarCampos\n }),\n NeoplasiaPreExistenteMeses: new FormControl({\n value: anamnese?.Etapa3?.NeoplasiaPreExistenteMeses,\n disabled: this.desativarCampos\n }),\n Depressao: new FormControl({value: anamnese?.Etapa3?.Depressao, disabled: this.desativarCampos}),\n DepressaoMeses: new FormControl({value: anamnese?.Etapa3?.DepressaoMeses, disabled: this.desativarCampos}),\n TranstornoDeAnsiedade: new FormControl({\n value: anamnese?.Etapa3?.TranstornoDeAnsiedade,\n disabled: this.desativarCampos\n }),\n TranstornoDeAnsiedadeMeses: new FormControl({\n value: anamnese?.Etapa3?.TranstornoDeAnsiedadeMeses,\n disabled: this.desativarCampos\n }),\n CriseDePanico: new FormControl({value: anamnese?.Etapa3?.CriseDePanico, disabled: this.desativarCampos}),\n CriseDePanicoMeses: new FormControl({\n value: anamnese?.Etapa3?.CriseDePanicoMeses,\n disabled: this.desativarCampos\n }),\n Anorexia: new FormControl({value: anamnese?.Etapa3?.Anorexia, disabled: this.desativarCampos}),\n AnorexiaMeses: new FormControl({value: anamnese?.Etapa3?.AnorexiaMeses, disabled: this.desativarCampos}),\n Bulimia: new FormControl({value: anamnese?.Etapa3?.Bulimia, disabled: this.desativarCampos}),\n BulimiaMeses: new FormControl({value: anamnese?.Etapa3?.BulimiaMeses, disabled: this.desativarCampos}),\n Alcoolismo: new FormControl({value: anamnese?.Etapa3?.Alcoolismo, disabled: this.desativarCampos}),\n AlcoolismoMeses: new FormControl({\n value: anamnese?.Etapa3?.AlcoolismoMeses,\n disabled: this.desativarCampos\n }),\n LocalStOsteoartrite: new FormControl({\n value: anamnese?.Etapa3?.LocalStOsteoartrite,\n disabled: this.desativarCampos\n }),\n OutraEnfermidade: new FormControl({\n value: anamnese?.Etapa3?.OutraEnfermidade,\n disabled: this.desativarCampos\n }),\n HistQuedas: new FormControl({value: anamnese?.Etapa3?.HistQuedas, disabled: this.desativarCampos}),\n DtEnfermidadesPreExistentes: new FormControl({\n value: anamnese?.Etapa3?.DtEnfermidadesPreExistentes,\n disabled: this.desativarCampos\n }),\n Covid19: new FormControl({value: anamnese?.Etapa3?.Covid19, disabled: this.desativarCampos}),\n DataCovid19: new FormControl({\n value: anamnese?.Etapa3?.DataCovid19 ? this.formataDataParaAmericana(anamnese?.Etapa3?.DataCovid19) : null,\n disabled: this.desativarCampos\n }),\n \n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl({value: null, disabled: true})\n })\n this.formGroupEtapa4 = new FormGroup({\n NumeroEtapa: new FormControl(4),\n AnamneseID: new FormControl(anamnese?.Etapa4?.AnamneseID),\n AlergiaMedicamentos: new FormControl({\n value: anamnese?.Etapa4?.AlergiaMedicamentos, disabled: this.desativarCampos\n }),\n MedicamentosAlergenicos: new FormControl({\n value: anamnese?.Etapa4?.MedicamentosAlergenicos, disabled: this.desativarCampos\n }),\n AlergiaOutros: new FormControl({value: anamnese?.Etapa4?.AlergiaOutros, disabled: this.desativarCampos}),\n Produtos: new FormControl({value: anamnese?.Etapa4?.Produtos, disabled: this.desativarCampos}),\n FrequenciaHorarioMedicamentos: new FormControl({\n value: anamnese?.Etapa4?.FrequenciaHorarioMedicamentos, disabled: this.desativarCampos\n }),\n ExercicioRegular: new FormControl({\n value: anamnese?.Etapa4?.ExercicioRegular, disabled: this.desativarCampos\n }),\n Caminhada: new FormControl({value: anamnese?.Etapa4?.Caminhada, disabled: this.desativarCampos}),\n CaminhadaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaFrequencia, disabled: this.desativarCampos\n }),\n CaminhadaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaIntensidade, disabled: this.desativarCampos\n }),\n CaminhadaDuracao: new FormControl({\n value: anamnese?.Etapa4?.CaminhadaDuracao, disabled: this.desativarCampos\n }),\n Corrida: new FormControl({value: anamnese?.Etapa4?.Corrida, disabled: this.desativarCampos}),\n CorridaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.CorridaFrequencia, disabled: this.desativarCampos\n }),\n CorridaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.CorridaIntensidade, disabled: this.desativarCampos\n }),\n CorridaDuracao: new FormControl({value: anamnese?.Etapa4?.CorridaDuracao, disabled: this.desativarCampos}),\n Musculacao: new FormControl({value: anamnese?.Etapa4?.Musculacao, disabled: this.desativarCampos}),\n MusculacaoFrequencia: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoFrequencia, disabled: this.desativarCampos\n }),\n MusculacaoIntensidade: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoIntensidade, disabled: this.desativarCampos\n }),\n MusculacaoDuracao: new FormControl({\n value: anamnese?.Etapa4?.MusculacaoDuracao, disabled: this.desativarCampos\n }),\n Danca: new FormControl({value: anamnese?.Etapa4?.Danca, disabled: this.desativarCampos}),\n DancaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.DancaFrequencia, disabled: this.desativarCampos\n }),\n DancaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.DancaIntensidade, disabled: this.desativarCampos\n }),\n DancaDuracao: new FormControl({value: anamnese?.Etapa4?.DancaDuracao, disabled: this.desativarCampos}),\n Hidroginastica: new FormControl({value: anamnese?.Etapa4?.Hidroginastica, disabled: this.desativarCampos}),\n HidroginasticaFrequencia: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaFrequencia, disabled: this.desativarCampos\n }),\n HidroginasticaIntensidade: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaIntensidade, disabled: this.desativarCampos\n }),\n HidroginasticaDuracao: new FormControl({\n value: anamnese?.Etapa4?.HidroginasticaDuracao, disabled: this.desativarCampos\n }),\n OutroExercicio: new FormControl({value: anamnese?.Etapa4?.OutroExercicio, disabled: this.desativarCampos}),\n OutroExercicioFrequencia: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioFrequencia, disabled: this.desativarCampos\n }),\n OutroExercicioIntensidade: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioIntensidade, disabled: this.desativarCampos\n }),\n OutroExercicioDuracao: new FormControl({\n value: anamnese?.Etapa4?.OutroExercicioDuracao, disabled: this.desativarCampos\n }),\n DescOutroExercicio: new FormControl({\n value: anamnese?.Etapa4?.DescOutroExercicio, disabled: this.desativarCampos\n }),\n QtdExercicioSemana: new FormControl({\n value: anamnese?.Etapa4?.QtdExercicioSemana, disabled: this.desativarCampos\n }),\n Intensidade: new FormControl({value: anamnese?.Etapa4?.Intensidade, disabled: this.desativarCampos}),\n DuracaoSessao: new FormControl({value: anamnese?.Etapa4?.DuracaoSessao, disabled: this.desativarCampos}),\n SomaSemanal: new FormControl({value: anamnese?.Etapa4?.SomaSemanal, disabled: this.desativarCampos}),\n SuplementoAlimentar: new FormControl({\n value: anamnese?.Etapa4?.SuplementoAlimentar, disabled: this.desativarCampos\n }),\n DescSuplemento: new FormControl({value: anamnese?.Etapa4?.DescSuplemento, disabled: this.desativarCampos}), // MedicamentosEmUso: [],\n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl(null),\n CafeDaManha: new FormControl({\n value: anamnese?.Etapa4?.CafeDaManha, disabled: this.desativarCampos\n }),\n Lanche1: new FormControl({value: anamnese?.Etapa4?.Lanche1, disabled: this.desativarCampos}),\n Almoco: new FormControl({value: anamnese?.Etapa4?.Almoco, disabled: this.desativarCampos}),\n Lanche2: new FormControl({value: anamnese?.Etapa4?.Lanche2, disabled: this.desativarCampos}),\n Jantar: new FormControl({value: anamnese?.Etapa4?.Jantar, disabled: this.desativarCampos}),\n Ceia: new FormControl({value: anamnese?.Etapa4?.Ceia, disabled: this.desativarCampos}),\n MedicamentosEmUso: new FormControl({ value: anamnese?.Etapa4?.MedicamentosEmUso, disabled: this.desativarCampos }),\n MedicamentosEmUsoSIM: new FormControl({value: '', disabled: this.desativarCampos}),\n listaMedicamentos: new FormArray([]),\n })\n this.formGroupEtapa5 = new FormGroup({\n NumeroEtapa: new FormControl({value: anamnese?.Etapa5.NumeroEtapa, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa5.AnamneseID, disabled: this.desativarCampos}),\n ProxIdeal: new FormControl({value: anamnese?.Etapa5.ProxIdeal, disabled: this.desativarCampos}),\n VidaExcelente: new FormControl({value: anamnese?.Etapa5.VidaExcelente, disabled: this.desativarCampos}),\n SatisfeitoVida: new FormControl({value: anamnese?.Etapa5.SatisfeitoVida, disabled: this.desativarCampos}),\n DesejeiVida: new FormControl({value: anamnese?.Etapa5.DesejeiVida, disabled: this.desativarCampos}),\n MudariaNada: new FormControl({value: anamnese?.Etapa5.MudariaNada, disabled: this.desativarCampos}),\n DataInicio: new FormControl({value: new Date(), disabled: this.desativarCampos}),\n DataFim: new FormControl(null),\n })\n this.formGroupEtapa6 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa6?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa6?.AnamneseID),\n Dor: new FormControl({value: anamnese?.Etapa6?.Dor || 0, disabled: this.desativarCampos}),\n LocalDor: new FormControl({value: anamnese?.Etapa6?.LocalDor || '', disabled: this.desativarCampos}),\n Ansiedade: new FormControl({value: anamnese?.Etapa6?.Ansiedade || 0, disabled: this.desativarCampos}),\n Fadiga: new FormControl({value: anamnese?.Etapa6?.Fadiga || 0, disabled: this.desativarCampos}),\n Gratidao: new FormControl({value: anamnese?.Etapa6?.Gratidao || 0, disabled: this.desativarCampos}),\n Animo: new FormControl({value: anamnese?.Etapa6?.Animo || 0, disabled: this.desativarCampos}),\n Sono: new FormControl({value: anamnese?.Etapa6?.Sono || 0, disabled: this.desativarCampos}),\n Disposicao: new FormControl({value: anamnese?.Etapa6?.Disposicao || 0, disabled: this.desativarCampos}),\n Percepcao: new FormControl({value: anamnese?.Etapa6?.Percepcao || 0, disabled: this.desativarCampos}),\n CapacidadeFuncional: new FormControl({\n value: anamnese?.Etapa6?.CapacidadeFuncional || 0,\n disabled: this.desativarCampos\n }),\n Estresse: new FormControl({value: anamnese?.Etapa6?.Estresse || 0, disabled: this.desativarCampos}),\n Felicidade: new FormControl({value: anamnese?.Etapa6?.Felicidade || 0, disabled: this.desativarCampos}),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n this.formGroupEtapa7 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa7?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa7?.AnamneseID),\n IpacDiasCaminhando: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasCaminhando, disabled: this.desativarCampos\n }),\n IpacTempoCaminhando: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoCaminhando, disabled: this.desativarCampos\n }),\n IpacDiasAtivModerada: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasAtivModerada, disabled: this.desativarCampos\n }),\n IpacTempoAtivModerada: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoAtivModerada, disabled: this.desativarCampos\n }),\n IpacDiasAtivVigorosa: new FormControl({\n value: anamnese?.Etapa7?.IpacDiasAtivVigorosa, disabled: this.desativarCampos\n }),\n IpacTempoAtivVigorosa: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoAtivVigorosa, disabled: this.desativarCampos\n }),\n IpacTempoTrabalhoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTrabalhoDia, disabled: this.desativarCampos\n }),\n IpacTempoTransporteDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTransporteDia, disabled: this.desativarCampos\n }),\n IpacTempoTvDia: new FormControl({value: anamnese?.Etapa7?.IpacTempoTvDia, disabled: this.desativarCampos}),\n IpacTempoComputadorDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoComputadorDia, disabled: this.desativarCampos\n }),\n IpacTempoDescansoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoDescansoDia, disabled: this.desativarCampos\n }),\n IpacTempoLeituraDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoLeituraDia, disabled: this.desativarCampos\n }),\n IpacTempoTrabalhoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTrabalhoFDS, disabled: this.desativarCampos\n }),\n IpacTempoTransporteFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTransporteFDS, disabled: this.desativarCampos\n }),\n IpacTempoTvFDS: new FormControl({value: anamnese?.Etapa7?.IpacTempoTvFDS, disabled: this.desativarCampos}),\n IpacTempoComputadorFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoComputadorFDS, disabled: this.desativarCampos\n }),\n IpacTempoDescansoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoDescansoFDS, disabled: this.desativarCampos\n }),\n IpacTempoLeituraFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoLeituraFDS, disabled: this.desativarCampos\n }),\n TotaisTempoSentado: new FormControl({\n value: anamnese?.Etapa7?.TotaisTempoSentado, disabled: this.desativarCampos\n }),\n IpacTempoTotalSentadoDia: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTotalSentadoDia, disabled: this.desativarCampos\n }),\n IpacTempoTotalSentadoFDS: new FormControl({\n value: anamnese?.Etapa7?.IpacTempoTotalSentadoFDS, disabled: this.desativarCampos\n }),\n \n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n this.formGroupEtapa8 = new FormGroup({\n NumeroEtapa: new FormControl(anamnese?.Etapa8?.NumeroEtapa),\n AnamneseID: new FormControl(anamnese?.Etapa8?.AnamneseID),\n Saude: new FormControl({value: anamnese?.Etapa8?.Saude, disabled: this.desativarCampos}),\n SaudeComparada: new FormControl({value: anamnese?.Etapa8?.SaudeComparada, disabled: this.desativarCampos}),\n AtivVigorosas: new FormControl({value: anamnese?.Etapa8?.AtivVigorosas, disabled: this.desativarCampos}),\n AtivModeradas: new FormControl({value: anamnese?.Etapa8?.AtivModeradas, disabled: this.desativarCampos}),\n Compras: new FormControl({value: anamnese?.Etapa8?.Compras, disabled: this.desativarCampos}),\n SubirEscadas: new FormControl({value: anamnese?.Etapa8?.SubirEscadas, disabled: this.desativarCampos}),\n SubirEscada: new FormControl({value: anamnese?.Etapa8?.SubirEscada, disabled: this.desativarCampos}),\n Ajoelhar: new FormControl({value: anamnese?.Etapa8?.Ajoelhar, disabled: this.desativarCampos}),\n AndarAcimaUmKm: new FormControl({value: anamnese?.Etapa8?.AndarAcimaUmKm, disabled: this.desativarCampos}),\n AndarVariosQuarteiroes: new FormControl({\n value: anamnese?.Etapa8?.AndarVariosQuarteiroes, disabled: this.desativarCampos\n }),\n AndarUmQuarteirao: new FormControl({\n value: anamnese?.Etapa8?.AndarUmQuarteirao, disabled: this.desativarCampos\n }),\n Banho: new FormControl({value: anamnese?.Etapa8?.Banho, disabled: this.desativarCampos}),\n DiminuiuTempoAtiv: new FormControl({\n value: anamnese?.Etapa8?.DiminuiuTempoAtiv, disabled: this.desativarCampos\n }),\n MenosTarefas: new FormControl({value: anamnese?.Etapa8?.MenosTarefas, disabled: this.desativarCampos}),\n NaoTrabalhou: new FormControl({value: anamnese?.Etapa8?.NaoTrabalhou, disabled: this.desativarCampos}),\n DificuldadeTrabalho: new FormControl({\n value: anamnese?.Etapa8?.DificuldadeTrabalho, disabled: this.desativarCampos\n }),\n QtdTempoTrabalho: new FormControl({\n value: anamnese?.Etapa8?.QtdTempoTrabalho, disabled: this.desativarCampos\n }),\n MenosTarefasGostaria: new FormControl({\n value: anamnese?.Etapa8?.MenosTarefasGostaria, disabled: this.desativarCampos\n }),\n TarefasCuidado: new FormControl({value: anamnese?.Etapa8?.TarefasCuidado, disabled: this.desativarCampos}),\n InterferenciaSocial: new FormControl({\n value: anamnese?.Etapa8?.InterferenciaSocial, disabled: this.desativarCampos\n }),\n DorCorpo: new FormControl({value: anamnese?.Etapa8?.DorCorpo, disabled: this.desativarCampos}),\n InterferenciaDorCorpo: new FormControl({ value: anamnese?.Etapa8?.InterferenciaDorCorpo, disabled: this.desativarCampos}),\n Vigor: new FormControl({value: anamnese?.Etapa8?.Vigor, disabled: this.desativarCampos}),\n TempoNervoso: new FormControl({value: anamnese?.Etapa8?.TempoNervoso, disabled: this.desativarCampos}),\n TempoDeprimido: new FormControl({value: anamnese?.Etapa8?.TempoDeprimido, disabled: this.desativarCampos}),\n TempoCalmo: new FormControl({value: anamnese?.Etapa8?.TempoCalmo, disabled: this.desativarCampos}),\n TempoEnergia: new FormControl({value: anamnese?.Etapa8?.TempoEnergia, disabled: this.desativarCampos}),\n TempoAbatido: new FormControl({value: anamnese?.Etapa8?.TempoAbatido, disabled: this.desativarCampos}),\n TempoEsgotado: new FormControl({value: anamnese?.Etapa8?.TempoEsgotado, disabled: this.desativarCampos}),\n TempoFeliz: new FormControl({value: anamnese?.Etapa8?.TempoFeliz, disabled: this.desativarCampos}),\n TempoCansado: new FormControl({value: anamnese?.Etapa8?.TempoCansado, disabled: this.desativarCampos}),\n TempoSaudeInterferiu: new FormControl({\n value: anamnese?.Etapa8?.TempoSaudeInterferiu, disabled: this.desativarCampos\n }),\n AdoecerComparado: new FormControl({\n value: anamnese?.Etapa8?.AdoecerComparado, disabled: this.desativarCampos\n }),\n Saudavel: new FormControl({value: anamnese?.Etapa8?.Saudavel, disabled: this.desativarCampos}),\n SaudePiorar: new FormControl({value: anamnese?.Etapa8?.SaudePiorar, disabled: this.desativarCampos}),\n SaudeExcelente: new FormControl({value: anamnese?.Etapa8?.SaudeExcelente, disabled: this.desativarCampos}),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n this.formGroupEtapa9 = new FormGroup({\n NumeroEtapa: new FormControl({value: anamnese?.Etapa9?.NumeroEtapa, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa9?.AnamneseID, disabled: this.desativarCampos}),\n SentadoLendo: new FormControl({value: anamnese?.Etapa9?.SentadoLendo, disabled: this.desativarCampos}),\n AssistindoTv: new FormControl({value: anamnese?.Etapa9?.AssistindoTv, disabled: this.desativarCampos}),\n QuietoLugarPublico: new FormControl({\n value: anamnese?.Etapa9?.QuietoLugarPublico,\n disabled: this.desativarCampos\n }),\n AndandoCarro: new FormControl({value: anamnese?.Etapa9?.AndandoCarro, disabled: this.desativarCampos}),\n QuietoAlmoco: new FormControl({value: anamnese?.Etapa9?.QuietoAlmoco, disabled: this.desativarCampos}),\n ParadoCarro: new FormControl({value: anamnese?.Etapa9?.ParadoCarro, disabled: this.desativarCampos}),\n SentadoConversando: new FormControl({\n value: anamnese?.Etapa9?.SentadoConversando,\n disabled: this.desativarCampos\n }),\n DeitadoDescanso: new FormControl({\n value: anamnese?.Etapa9?.DeitadoDescanso,\n disabled: this.desativarCampos\n }),\n SentidoVida: new FormControl({value: anamnese?.Etapa9?.SentidoVida, disabled: this.desativarCampos}),\n MedidaSentidoVida: new FormControl({\n value: anamnese?.Etapa9?.MedidaSentidoVida,\n disabled: this.desativarCampos\n }),\n ForcaDificuldade: new FormControl({\n value: anamnese?.Etapa9?.ForcaDificuldade,\n disabled: this.desativarCampos\n }),\n EntenderDificuldades: new FormControl({\n value: anamnese?.Etapa9?.EntenderDificuldades,\n disabled: this.desativarCampos\n }),\n TemReligiao: new FormControl({value: anamnese?.Etapa9?.TemReligiao, disabled: this.desativarCampos}),\n Religiao: new FormControl({value: anamnese?.Etapa9?.Religiao, disabled: this.desativarCampos}),\n FrequentaSemanalmente: new FormControl({\n value: anamnese?.Etapa9?.FrequentaSemanalmente,\n disabled: this.desativarCampos\n }),\n LocalFrequenta: new FormControl({value: anamnese?.Etapa9?.LocalFrequenta, disabled: this.desativarCampos}),\n FrequentaVezes: new FormControl({value: anamnese?.Etapa9?.FrequentaVezes, disabled: this.desativarCampos}),\n EspiritualidadeFrequenciaTemplo: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeFrequenciaTemplo,\n disabled: this.desativarCampos\n }),\n EspiritualidadeLeituraFrequencia: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeLeituraFrequencia,\n disabled: this.desativarCampos\n }),\n EspiritualidadePresencaDeus: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadePresencaDeus,\n disabled: this.desativarCampos\n }),\n EspiritualidadeCrencasReligiosas: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeCrencasReligiosas,\n disabled: this.desativarCampos\n }),\n EspiritualidadeEsforcoViver: new FormControl({\n value: anamnese?.Etapa9?.EspiritualidadeEsforcoViver,\n disabled: this.desativarCampos\n }),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null)\n })\n this.formGroupEtapa10 = new FormGroup({\n NumeroEtapa: new FormControl({value: anamnese?.Etapa10?.NumeroEtapa, disabled: this.desativarCampos}),\n AnamneseID: new FormControl({value: anamnese?.Etapa10?.AnamneseID, disabled: this.desativarCampos}),\n AgradecerVida: new FormControl({value: anamnese?.Etapa10?.AgradecerVida, disabled: this.desativarCampos}),\n ListaMuitoLonga: new FormControl({\n value: anamnese?.Etapa10?.ListaMuitoLonga, disabled: this.desativarCampos\n }),\n MotivosAgradecer: new FormControl({\n value: anamnese?.Etapa10?.MotivosAgradecer, disabled: this.desativarCampos\n }),\n MuitaGente: new FormControl({value: anamnese?.Etapa10?.MuitaGente, disabled: this.desativarCampos}),\n HistoriaVida: new FormControl({value: anamnese?.Etapa10?.HistoriaVida, disabled: this.desativarCampos}),\n AlguemAlgumaCoisa: new FormControl({\n value: anamnese?.Etapa10?.AlguemAlgumaCoisa, disabled: this.desativarCampos\n }),\n EscalaBristol: new FormControl({value: anamnese?.Etapa10?.EscalaBristol, disabled: this.desativarCampos}),\n Perdao: new FormControl({value: anamnese?.Etapa10?.Perdao, disabled: this.desativarCampos}),\n SuicidioPensou: new FormControl({value: anamnese?.Etapa10?.SuicidioPensou, disabled: this.desativarCampos}),\n SuicidioUltimoAno: new FormControl({\n value: anamnese?.Etapa10?.SuicidioUltimoAno, disabled: this.desativarCampos\n }),\n SuicidioTentou: new FormControl({value: anamnese?.Etapa10?.SuicidioTentou, disabled: this.desativarCampos}),\n CodigoSuicidio: new FormControl({value: anamnese?.Etapa10?.CodigoSuicidio, disabled: this.desativarCampos}),\n DistraemAnteriores: new FormControl({\n value: anamnese?.Etapa10?.DistraemAnteriores, disabled: this.desativarCampos\n }),\n NaoDesanimam: new FormControl({value: anamnese?.Etapa10?.NaoDesanimam, disabled: this.desativarCampos}),\n PerdiInteresse: new FormControl({value: anamnese?.Etapa10?.PerdiInteresse, disabled: this.desativarCampos}),\n MuitoTrabalhador: new FormControl({\n value: anamnese?.Etapa10?.MuitoTrabalhador, disabled: this.desativarCampos\n }),\n SubstituoOutra: new FormControl({value: anamnese?.Etapa10?.SubstituoOutra, disabled: this.desativarCampos}),\n SeremConcluidos: new FormControl({\n value: anamnese?.Etapa10?.SeremConcluidos, disabled: this.desativarCampos\n }),\n QueConheco: new FormControl({value: anamnese?.Etapa10?.QueConheco, disabled: this.desativarCampos}),\n SouEsforcado: new FormControl({value: anamnese?.Etapa10?.SouEsforcado, disabled: this.desativarCampos}),\n DataInicio: new FormControl(new Date()),\n DataFim: new FormControl(null),\n Termo: new FormControl(null),\n })\n\n //se MedicamentosEmUso.length > 0, então MedicamentosEmUsoSIM = true\n if (this.formGroupEtapa4.get('MedicamentosEmUso').value.length > 0) {\n this.formGroupEtapa4.get('MedicamentosEmUsoSIM').setValue(true);\n }\n\n this.addMedicamentosToForm(anamnese?.Etapa4?.MedicamentosEmUso);\n\n },\n error(error) {\n //toast\n this.loadingAnamnese = false;\n this.toastr.error('Erro ao buscar anamnese, tente novamente mais tarde');\n }\n })\n\n \n\n \n }\n\n addMedicamentosToForm(medicamentos: any[]) {\n medicamentos.forEach(med => {\n const medicamentoGroup = new FormGroup({\n Produto: new FormControl({ value: med.Medicamento.Produto.Produto, disabled: this.desativarCampos }),\n Nome: new FormControl({ value: med.Nome, disabled: this.desativarCampos }),\n Dose: new FormControl({ value: med.Dose, disabled: this.desativarCampos }),\n Periodicidade: new FormControl({ value: med.Periodicidade, disabled: this.desativarCampos })\n });\n this.listaMedicamentos.push(medicamentoGroup);\n });\n }\n\n formataDataParaAmericana(data) {\n // recebe 2024-04-12T00:00:00\n // retorna 2024-04-12\n return data.split('T')[0];\n }\n \n toggleCheckbox(checkboxName, newValue = false) {\n this.formGroupEtapa2.get(checkboxName).setValue(newValue);\n }\n\n toggleCheckboxWidthValue(checkboxName: string, value: any) {\n this.formGroupEtapa2.get(checkboxName).setValue(value);\n }\n\n formatarDataNascimento(data) {\n let dataFormatada = data.split('T')[0];\n return formatarDataParaDDMMYYYY(dataFormatada);\n }\n\n deletarFilho(id) {\n this.listaFilhos = this.listaFilhos.filter(f => f.id != id);\n this.formGroupEtapa2.get('DatasNascFilhos').setValue(this.listaFilhos);\n }\n \n adicionarFilho() {\n const dataNascimentoFilho = this.formGroupEtapa2.get('dataNascimentoFilho').value;\n this.listaFilhos.push({id: Math.random() * 10000000, value: dataNascimentoFilho});\n this.formGroupEtapa2.get('DatasNascFilhos').setValue(this.listaFilhos);\n }\n\n onSelectStepper(stepperSelected: number) {\n\n this.stepperSelected = stepperSelected;\n this.steppers = this.steppers.map((stepper, index) => {\n stepper.isSelected = index + 1 === stepperSelected;\n return stepper\n });\n }\n\n \n}\n\n\n\n","
    \n
    \n
    \n
    \n
    \n
    \n SAFE®\n
    \n
    \n \n Reenviar Senha Cliente\n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \"\"\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n Loading...\n
    \n
    \n
    \n
    \n \n\n
    \n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ModalDadosPessoaisComponent} from '../Modal2-DadosPessoais/modal-dadospessoais.component';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {Router} from \"@angular/router\";\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-modal-reenviarSenha',\n templateUrl: './modal-reenviarSenha.component.html',\n styleUrls: ['./modal-reenviarSenha.component.scss']\n})\nexport class ModalReenviarSenhaComponent implements OnInit {\n public erroAvancarAnamnese: string | any = \"\"\n public carregandoEnviarSenha: boolean = false\n public desativarCampos: boolean = false\n public listaClientes: any[] = [];\n public loadingListaClientes: boolean = false;\n public dataForm = new FormGroup({\n ID: new FormControl(''),\n });\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private professorService: ProfessorService,\n private toastr: ToastrService\n ) {\n }\n\n ngOnInit(): void {\n \n\n this.onListarClientes()\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n \n\n onListarClientes() {\n this.loadingListaClientes = true;\n this.professorService.getObterListaClientesSelect().subscribe({\n next: (res: any) => {\n this.listaClientes = res;\n this.loadingListaClientes = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao buscar os clientes');\n this.loadingListaClientes = false;\n }\n });\n }\n\n handleClickEnviar() {\n if (!this.dataForm.get('ID')?.value) {\n this.toastr.error('Selecione um cliente para enviar a senha.', 'Erro ao reenviar senha');\n return;\n }\n this.carregandoEnviarSenha = true;\n this.professorService.postEnviarSenha(this.dataForm.value).subscribe({\n next: (res: any) => {\n this.carregandoEnviarSenha = false;\n this.toastr.success('Senha enviada com sucesso para o E-mail do cliente.');\n this.appService.closeModal()\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao reenviar senha');\n this.carregandoEnviarSenha = false;\n }\n });\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n SAFE®\n
    \n
    \n \n Solicitar CHECK-UP Cliente\n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \"\"\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n Loading...\n
    \n
    \n
    \n
    \n \n\n
    \n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ModalDadosPessoaisComponent} from '../Modal2-DadosPessoais/modal-dadospessoais.component';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {Router} from \"@angular/router\";\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-modal-SoliciarCheckup',\n templateUrl: './modal-SoliciarCheckup.component.html',\n styleUrls: ['./modal-SoliciarCheckup.component.scss']\n})\nexport class ModalSoliciarCheckupComponent implements OnInit {\n public erroAvancarAnamnese: string | any = \"\"\n public carregandoEnviarSenha: boolean = false\n public desativarCampos: boolean = false\n public listaClientes: any[] = [];\n public loadingListaClientes: boolean = false;\n public usuarioLogado: any;\n public dataForm = new FormGroup({\n ClienteID: new FormControl(''),\n AvaliadorID: new FormControl(''),\n //dia hoje\n DataConsulta: new FormControl(new Date()),\n Situacao: new FormControl(0),\n Tipo: new FormControl(1),\n TipoLaudo: new FormControl(1),\n Presencial: new FormControl(false),\n });\n\n constructor(\n private appService: AppService,\n private anamneseService: AnamneseService,\n private router: Router,\n private professorService: ProfessorService,\n private toastr: ToastrService\n ) {\n }\n\n ngOnInit(): void {\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n // seta o avaliador como o usuario logado\n this.dataForm.get('AvaliadorID')?.setValue(this.usuarioLogado.ID)\n\n this.onListarClientes()\n }\n\n handleClickFecharModal() {\n this.appService.closeModal()\n }\n\n \n\n onListarClientes() {\n this.loadingListaClientes = true;\n this.professorService.getObterListaClientesSelect().subscribe({\n next: (res: any) => {\n this.listaClientes = res;\n this.loadingListaClientes = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao buscar os clientes');\n this.loadingListaClientes = false;\n }\n });\n }\n\n handleClickEnviar() {\n if (!this.dataForm.get('ClienteID')?.value) {\n this.toastr.error('Selecione um cliente para marcar o checkup.', 'Erro ao marcar checkup');\n return;\n }\n this.carregandoEnviarSenha = true;\n this.professorService.postNovoCheckup(this.dataForm.value).subscribe({\n next: (res: any) => {\n this.carregandoEnviarSenha = false;\n this.toastr.success('Novo Checkup marcado com sucesso.');\n this.appService.closeModal()\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao reenviar senha');\n this.carregandoEnviarSenha = false;\n }\n });\n }\n}\n","import { getHeaders } from '@/utils/getHeaders';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContadoresService {\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {}\n\n getContadores() {\n const headers = getHeaders()\n return this.http.get(this.api + `/AcessoAdministrador/ConsultarContadores`, { headers })\n }\n}\n","
    \n\n

    Estatísticas Pacientes

    \n\n\n \n
    \n \n
    \n \n \n\n
    \n
    \n

    PACIENTES
    AVALIADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ contador?.TotalClientes }}\n
    \n\n
    \n Total geral\n
    \n
    \n\n \n
    \n \"pacientes\n
    \n Homens\n \n {{ contador?.TotalClientesHomens }}\n \n
    \n
    \n\n \n
    \n
    \n \"pacientes\n
    \n\n
    \n Mulheres\n \n {{ contador?.TotalClientesMulheres }}\n \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n\n
    \n
    \n

    PACIENTES
    AVALIADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ contador?.TotalClientesUltimoMes }}\n
    \n\n
    \n Último mês\n
    \n
    \n\n \n
    \n \"pacientes\n
    \n Homens\n \n {{ contador?.TotalClientesUltimoMesHomens }}\n \n
    \n
    \n\n \n
    \n
    \n \"pacientes\n
    \n\n
    \n Mulheres\n \n {{ contador?.TotalClientesUltimoMesMulheres }}\n \n
    \n
    \n
    \n
    \n
    \n\n\n \n
    \n \n \n\n
    \n
    \n

    CHECK-UPS SAFE®
    REALIZADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ (contador?.TotalCheckups || 0) }}\n
    \n\n
    \n Total Geral\n
    \n
    \n\n \n
    \n \n
    \n\n \n
    \n \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n\n
    \n
    \n

    AVALIADORES

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ contador?.TotalAvaliadores }}\n
    \n\n
    \n Total Geral\n
    \n
    \n\n \n
    \n \"pacientes\n
    \n Homens\n \n {{ contador?.TotalAvaliadoresHomens }}\n \n
    \n
    \n\n \n
    \n
    \n \"pacientes\n
    \n\n
    \n Mulheres\n \n {{ contador?.TotalAvaliadoresMulheres }}\n \n
    \n
    \n
    \n
    \n
    \n\n \n\n\n\n\n\n
    \n \n
    \n \n \n\n
    \n
    \n

    PACIENTES
    AVALIADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ contador?.TotalClientes }}\n
    \n\n
    \n Total geral\n
    \n
    \n\n \n
    \n \"pacientes\n
    \n Homens\n \n {{ contador?.TotalClientesHomens }}\n \n
    \n
    \n\n \n
    \n
    \n \"pacientes\n
    \n\n
    \n Mulheres\n \n {{ contador?.TotalClientesMulheres }}\n \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n\n
    \n
    \n

    PACIENTES
    AVALIADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ contador?.TotalClientesUltimoMes }}\n
    \n\n
    \n Último mês\n
    \n
    \n\n \n
    \n \"pacientes\n
    \n Homens\n \n {{ contador?.TotalClientesUltimoMesHomens }}\n \n
    \n
    \n\n \n
    \n
    \n \"pacientes\n
    \n\n
    \n Mulheres\n \n {{ contador?.TotalClientesUltimoMesMulheres }}\n \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n \n\n
    \n
    \n

    CHECK-UPS SAFE®
    REALIZADOS

    \n
    \n
    \n \"pacientes\n
    \n
    \n\n
    \n
    \n\n
    \n {{ (contador?.TotalCheckups || 0) }}\n
    \n\n
    \n Total Geral\n
    \n
    \n\n \n
    \n \n
    \n\n \n
    \n \n
    \n
    \n
    \n \n\n \n\n \n\n\n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from '@services/app.service';\nimport {ContadoresService} from '@services/dashboard/contadores/contadores.service';\nimport { DadosCadastraisService } from '@services/dashboard/dados-cadastrais/dados-cadastrais.service';\nimport {ToastrService} from 'ngx-toastr';\n\n@Component({\n selector: 'app-consultar-contadores',\n templateUrl: './consultar-contadores.component.html',\n styleUrls: ['./consultar-contadores.component.scss']\n})\nexport class ConsultarContadoresComponent implements OnInit {\n public contador: any = localStorage.getItem('consultar-contadores') ? JSON.parse(localStorage.getItem('consultar-contadores')) : {}\n public usuarioLogado: any = {}\n public dadosCadastraisUser: any = {}\n public isAdministrador: boolean = false\n constructor(private contadoresService: ContadoresService, \n private toastr: ToastrService,\n private appService: AppService,\n ) {\n }\n\n ngOnInit(): void {\n this.contadoresService.getContadores().subscribe({\n next: response => {\n this.contador = response\n localStorage.setItem('consultar-contadores', JSON.stringify(response))\n }, error: error => {\n if (typeof error?.error?.Message == 'string') {\n this.toastr.error(error?.error?.Message)\n } else {\n this.toastr.error('Ocorre um erro ao mostrar os contadores')\n }\n }\n })\n\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n this.isAdministrador = this.usuarioLogado?.Perfil?.ID == '1'\n \n\n }\n}\n","
    \n
    \n
    \n
    \n Loading...\n
    \n
    \n {{ chart }}\n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport Chart from 'chart.js';\n\n@Component({\n selector: 'app-consultar-por-idade',\n templateUrl: './consultar-por-idade.component.html',\n styleUrls: ['./consultar-por-idade.component.scss']\n})\nexport class ConsultarPorIdadeComponent implements OnInit {\n public chart: any;\n public loadingGetDadosConsultaPorIdade: boolean = false\n\n constructor(\n private professorService: ProfessorService\n ) {\n\n }\n\n ngOnInit(): void {\n const classeContexto = this\n this.loadingGetDadosConsultaPorIdade = true\n this.professorService.getIdadePacientes().subscribe({\n next(response) {\n classeContexto.loadingGetDadosConsultaPorIdade = false;\n classeContexto.createChart(response)\n }\n })\n }\n\n createChart(data: any = {}) {\n let labels = []\n let totalHomens = [];\n let totalMulheres = [];\n if (data?.Feminino) {\n labels = data?.Feminino?.map(item => `${item?.Inicio} até ${item?.Fim} anos`)\n totalMulheres = data?.Feminino?.map(item => item?.Total)\n totalHomens = data?.Masculino?.map(item => item?.Total)\n }\n\n this.chart = new Chart(\"ChartConsultarPorIdade\", {\n type: 'bar', //this denotes tha type of chart\n\n data: {// values on X-Axis\n labels: labels,\n datasets: [\n {\n label: \"Homens\",\n data: totalHomens,\n backgroundColor: '#0084B9'\n },\n {\n label: \"Mulheres\",\n data: totalMulheres,\n backgroundColor: '#E6A4B4'\n }\n ]\n },\n options: {\n aspectRatio: 2.5\n }\n\n });\n this.chart.update()\n }\n\n}\n","\n
    \n
    \n
    \n
    \n Loading...\n
    \n
    \n {{ chart }}\n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport Chart from 'chart.js'\n\n@Component({\n selector: 'app-consultar-niveis-pacientes-por-genero',\n templateUrl: './consultar-niveis-pacientes-por-genero.component.html',\n styleUrls: ['./consultar-niveis-pacientes-por-genero.component.scss']\n})\nexport class ConsultarNiveisPacientesPorGeneroComponent implements OnInit {\n public chart: any;\n public loadingGetDadosConsultaZporGenero: boolean = false\n\n constructor(\n private professorService: ProfessorService\n ) {\n\n }\n\n // 0084B9\n // E6A4B4\n\n ngOnInit(): void {\n const classeContexto = this\n this.loadingGetDadosConsultaZporGenero = true\n this.professorService.getConsultaZPorGenero().subscribe({\n next(response) {\n classeContexto.loadingGetDadosConsultaZporGenero = false;\n classeContexto.createChart(response)\n }\n })\n }\n createChart(data: any = undefined) {\n const backgroundColor = [\n '#0084B9',\n 'rgb(255, 99, 132)',\n ]\n\n const labels = [\n 'Homens',\n 'Mulheres',\n ]\n\n const z1 = { label: 'Z1', data: [0,0], backgroundColor: '#B91520' }\n const z2 = { label: 'Z2', data: [0,0], backgroundColor: '#FB7E28' }\n const z3 = { label: 'Z3', data: [0,0], backgroundColor: '#ffd500' }\n const z4 = { label: 'Z4', data: [0,0], backgroundColor: '#14558B' }\n const z5 = { label: 'Z5', data: [0,0], backgroundColor: '#298021' }\n\n const arrayZ = [z1, z2, z3, z4, z5]\n\n if (data?.Resultados) {\n data?.Resultados?.forEach(item => {\n if (item?.Z == 1) {\n z1.data = [item?.Homens, item?.Mulheres]\n }\n if (item?.Z == 2) {\n z2.data = [item?.Homens, item?.Mulheres]\n }\n if (item?.Z == 3) {\n z3.data = [item?.Homens, item?.Mulheres]\n }\n if (item?.Z == 4) {\n z4.data = [item?.Homens, item?.Mulheres]\n }\n if (item?.Z == 5) {\n z5.data = [item?.Homens, item?.Mulheres]\n }\n })\n }\n\n\n const datasets = arrayZ.map(item => ({\n label: item.label,\n data: item.data,\n backgroundColor: item.backgroundColor,\n }))\n \n // Criar o gráfico de barra\n this.chart = new Chart(\"ChartConsultarNiveisPacientesPorGenero\", {\n type: 'bar',\n data: {\n labels: labels,\n datasets: datasets,\n },\n options: {\n scales: {\n yAxes: [{\n ticks: {\n beginAtZero: true\n }\n }]\n }\n }\n });\n\n this.chart.update()\n }\n\n}\n","
    \n
    \n
    \n
    \n AVALIADOR: {{ appService.user?.Nome }}\n
    \n
    \n\n
    \n
    \n
    Seja Bem Vindo!
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n \n \n Tutorial\n \n\n \n \n
    \n\n
    \n Link para cadastrar novos clientes:\n
    \n\n \n \n \n COPIAR\n \n
    \n \n \n Reenviar Senha Cliente\n \n \n Novo CHECK-UP p/ cliente\n \n \n Resultado do CHECK-UP\n \n \n Resultado do CHECK-UP físico\n \n
    \n\n \n \n
    \n\n
    \n
    \n
    \n Classificação SAFE® Do Estilo De Vida Avaliados\n
    \n \n
    \n\n
    \n
    \n Resultado da lista de avaliados com CHECK-UP® IA\n
    \n\n
    \n \n \n
    \n \n Laudo Sem dados pessoais\n
    \n
    \n\n \n \n Loading...\n
    \n
    \n\n
    \n \n \n \n 0\"\n class=\"m-0 mb-0\"\n >\n Z{{ item.ClassificaoZ }} -\n {{ item.Cliente }}\n

    \n \n {{ item.Cliente }}\n

    \n \n
    \n
    \n \n Novo\n Laudo IA\n \n \n Laudo\n \n
    \n \n
    \n\n
    \n \n \n Buscar\n \n
    \n \n \n\n
    \n
    \n Idade dos Avaliados\n
    \n \n
    \n
    0\">\n
    Meus cupons
    \n
    \n
    \n
    \n \n

    \n {{ item.Codigo }}\n
    \n Válido até:\n {{\n item.Validade | date: 'dd/MM/yyyy'\n }}\n
    \n Uso: {{ item.Quantidade }}/{{\n item.Total\n }}\n

    \n
    \n \n \n Copiar Link\n \n \n Copiar Cupom\n \n
    \n
    \n
    \n \n \n \n\n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {AppService} from \"@services/app.service\";\nimport {CheckupClienteService} from \"@services/dashboard/checkup-cliente/checkup-cliente.service\";\nimport {AnamneseService} from \"@services/dashboard/anamnese/anamnese.service\";\nimport {Router} from \"@angular/router\";\nimport {ProfessorService} from \"@services/dashboard/professor/professor.service\";\nimport { Store } from '@ngrx/store';\nimport { AppState } from '@/store/state';\nimport { ToggleSidebarMenu } from '@/store/ui/actions';\nimport { ToastrService } from 'ngx-toastr';\nimport { ModalReenviarSenhaComponent } from '@components/dashboard/modais/Modal-ReenviarSenha/modal-reenviarSenha.component';\nimport { ModalSoliciarCheckupComponent } from '@components/dashboard/modais/Modal-SoliciarCheckup/modal-SoliciarCheckup.component';\nimport { ShepherdService } from 'angular-shepherd';\nimport { MenuAvaliadorService } from '@services/dashboard/menu-avaliador/menu-avaliador.service';\n\n\n\nconst tour = {\n defaultStepOptions: {\n scrollTo: true,\n showCancelLink: true,\n showNavigationArrows: true,\n scrollToHandler: (element: any) => {\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n },\n\n cancelIcon: {\n enabled: true\n },\n \n modalOverlayOpeningPadding: 8,\n modalOverlayOpeningRadius: 4\n },\n steps: [\n {\n id: \"body-safe\",\n attachTo: {\n element: \"\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Bem vindo ao Tutorial SAFE®\",\n text: \"Este é o seu Dashboard, aqui você terá acesso a todas as informações sobre seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-dados\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode visualizar os dados dos seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-clientes\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode visualizar os dados dos seus clientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-avaliacaofisica\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar/Preencher as avaliações físicas dos seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-avaliacaomente\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar/Avaliar/Devolver as Anamneses dos seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-senhacliente\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar as Senhas provisórias solicitadas pelos seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-cadastrarnovaavaliacao\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Cadastrar novas avaliações para seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-relatoriomeuscheckups\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar os relatórios dos seus CHECK-UPS.\",\n },\n \n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-relatoriobiomarcadoressafe\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar o relatório dos Biomarcadores SAFE®.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-relatorioprecadastro\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar os códigos de pré-cadastro enviados aos seus pacientes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-relatoriocheckupssafeporperiodo\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar o Relatório de CHECK-UPS SAFE® por Período.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-relatorioaniversariantemes\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar o Relatório de Aniversariantes do Mês.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-livrosdigitais\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Visualizar os Livros Digitais disponíveis.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-safeflix\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Acessar o SAFEFLIX, portal de conteúdo exclusivo SAFE®.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-duvida\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Acessar o nosso canal de dúvidas, com perguntas frequentes.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-comunidade\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Acessar a nossa comunidade SAFE® no Facebook.\",\n },\n {\n id: \"body-safe\",\n attachTo: {\n element: \".menu-item-suporte\"\n },\n buttons: [\n \n {\n classes: \"shepherd-button-primary-voltar\",\n text: \"Voltar\",\n type: \"back\"\n },\n {\n classes: \"shepherd-button-primary-proximo\",\n text: \"Próximo\",\n type: \"next\"\n }\n ],\n classes: \"shepherd-content\",\n title: \"Tutorial SAFE®\",\n text: \"Nesse menu você pode Acessar o nosso canal de suporte.\",\n },\n ]\n};\n\n@Component({\n selector: 'app-dashboard-avaliador',\n templateUrl: './dashboard-avaliador.component.html',\n styleUrls: ['./dashboard-avaliador.component.scss']\n})\nexport class DashboardAvaliadorComponent implements OnInit {\n public usuarioLogado = null\n public listaPacientes: any = []\n public listaCheckups: any = []\n public fezCheckup: boolean = false\n public loadingListaPacientes = false;\n public loadingCupom = false;\n public meuLink: string = \"\"\n public filtroBuscaInput: string = \"\"\n public buscaFiltrada: any = []\n public laudoSemDados = false\n public urlSafe: string = \"\"\n public cupom: any = {}\n public isMobile: boolean = false\n public checkupPreencheu: any = {}\n\n \n\n copiarMeuLink() {\n /* Get the text field */\n var copyText = document.getElementById(\"meu-link-avaliador-input\");\n\n /* Select the text field */\n // @ts-ignore\n copyText.select();\n // @ts-ignore\n copyText.setSelectionRange(0, 99999); /* For mobile devices */\n\n /* Copy the text inside the text field */\n document.execCommand(\"copy\");\n }\n\n constructor(public appService: AppService,\n private menuService: MenuAvaliadorService,\n private guideTour: ShepherdService,\n private checkupClienteService: CheckupClienteService,\n public anamneseService: AnamneseService,\n private router: Router,\n private professorService: ProfessorService, // Injete o serviço\n private store: Store,\n private toastr: ToastrService,\n ) {\n }\n\n ngOnInit(): void {\n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n if (this.usuarioLogado?.ID) {\n this.checkupClienteService.getCheckupCliente(this.usuarioLogado.ID)\n this.gerarLinkAvaliador()\n \n this.professorService.getObterCheckupsCliente(this.usuarioLogado.ID).subscribe(\n (res: any) => {\n this.listaCheckups = res;\n\n this.fezCheckup = this.listaCheckups.some(checkup => checkup.DataAnamnese !== null);\n\n if (!this.fezCheckup) {\n this.toastr.warning('Clique em Mudar Perfil e realize seu CHECK-UP SAFE® para ter acesso ao seu link de cadastro.', 'Atenção', {\n timeOut: 10000,\n positionClass: 'toast-top-center'\n });\n }\n },\n err => {\n this.toastr.error('Erro ao buscar checkups do cliente');\n }\n );\n }\n\n //isMobile\n if (window.innerWidth < 926) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n \n \n this.loadingListaPacientes = true\n this.professorService.getListaPacientesProfessor(this.usuarioLogado.ID).subscribe((response: any) => {\n this.listaPacientes = response\n this.buscaFiltrada = response\n }, (error) => {\n }, () => {\n this.loadingListaPacientes = false\n })\n\n this.loadingCupom = true\n this.professorService.getCupomProfessor().subscribe((response: any) => {\n this.cupom = response\n }, (error) => {\n }, () => {\n this.loadingCupom = false\n })\n\n // @ts-ignore\n if (window.innerWidth < 926 && this.store?.source?._value?.ui?.menuSidebarCollapsed == false) {\n this.store.dispatch(new ToggleSidebarMenu());\n }\n }\n\n startTour() {\n this.guideTour.defaultStepOptions = tour.defaultStepOptions;\n this.guideTour.modal = true;\n this.guideTour.confirmCancel = false;\n //@ts-ignore\n this.guideTour.addSteps(tour.steps);\n this.guideTour.start();\n if (this.menuService.menuState.value == false) {\n this.menuService.toggleMenu(); \n }\n }\n\n // gerar meu link avaliador\n gerarLinkAvaliador() {\n const nome = this.ajustarNome(this.appService.user?.Nome);\n const base64 = btoa(\"\" + this.appService?.user?.ID);\n this.urlSafe = window.location.origin;\n this.meuLink = `${this.urlSafe}/cadastro/${nome}#!/${base64}`;\n }\n\n handleClickAbrirModalReenviarSenha() {\n this.appService.openModal(ModalReenviarSenhaComponent)\n }\n\n handleClickAbrirModalSoliciarCheckup() {\n this.appService.openModal(ModalSoliciarCheckupComponent)\n }\n\n handleClickCheckupMente() {\n this.router.navigate(['/dashboard/acesso-avaliador/anamneses'])\n }\n\n handleClickCheckupFisico() {\n this.router.navigate(['/dashboard/acesso-avaliador/usuarios-avaliacoes'])\n }\n\n buscarPacientesPorFiltro() {\n if (this.filtroBuscaInput.length <= 0) {\n this.buscaFiltrada = this.listaPacientes\n return\n }\n\n this.buscaFiltrada = this.listaPacientes.filter(paciente => paciente?.Cliente?.toLowerCase().includes(this.filtroBuscaInput.toLowerCase()))\n }\n\n copiarCupom( cupom: string) {\n \n //copia o cupom para a area de transferencia \n const el = document.createElement('textarea');\n el.value = cupom;\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n this.toastr.success(\"Sucesso\", \"Seu cupom foi copiado!\")\n\n\n }\n copiarLink(cod: string) {\n //copia o link para a area de transferencia \n const el = document.createElement('textarea');\n el.value = `${this.urlSafe}/cupom/promocao/${cod}`;\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el)\n this.toastr.success(\"Sucesso\", \"Seu link foi copiado!\")\n }\n\n toggleCheckboxBaixarLaudo(){\n this.laudoSemDados = !this.laudoSemDados\n }\n \n baixarLaudo(id: number) {\n if (!id) return\n if (this.laudoSemDados) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoSemDadosPessoais/${id}`, \"_blank\")\n return\n }\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${id}`, \"_blank\")\n }\n\n handleLaudoIAPacienteID(id: number) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompletoAnaliseAI/${id}`, \"_blank\")\n }\n\n ajustarNome(nome: string | any) {\n if (!nome) return nome\n const partes = nome.split(\" \");\n return partes[0] + \"-\" + partes[partes.length - 1];\n }\n\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {getHeaders} from \"@/utils/getHeaders\";\nimport {environment} from \"../../../../environments/environment\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RelatorioCadastroService {\n\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {\n }\n\n getRelatorioCheckupsPeriodo(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Relatorio/RelatorioCheckupPorPeriodo', body, {headers})\n }\n\n getRelatorioAniversariantes(body) {\n const headers = getHeaders()\n return this.http.get(this.api + `/Relatorio/ObterAniversariantesMes/${body.mesID}`, {headers})\n }\n\n getRelatorioEvolucao(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Relatorio/RelatorioEvolucao', body, {headers})\n }\n \n postRelatorioRanking(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Relatorio/ObterRankingAvaliadores', body, {headers})\n }\n}\n","
    \n
    \n
    \n
    \n
    \n Relatório de Aniversariantes do Mês\n
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Relatórios\n \n
    \n
    \n
    \n Mês\n \n \n \n {{ mes.nome }}\n \n \n
    \n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n \n \n Relatórios: {{ relatorioList?.length }}\n \n \n \n \n \n #\n \n \n Nome\n \n \n Data de Nascimento\n \n \n Idade\n \n \n E-mail\n \n \n Celular\n \n \n Data de Cadastro\n \n \n CHECK-UPS\n \n \n \n \n \n \n \n {{ i + 1 }}\n {{ relatorio?.Nome }}\n {{ relatorio?.DataNascimento }}\n {{ relatorio?.Idade }}\n \n {{ relatorio?.Email }}\n \n \n {{ formatarCelular(relatorio?.Celular) }}\n \n {{ relatorio?.Data }}\n {{ relatorio?.Checkups }}\n \n \n Enviar Mensagem\n \n \n \n \n \n \n \n Loading...\n
    \n \n \n \n \n Nenhum relatório encontrado, por favor insira um\n filtro.\n \n \n \n \n
    \n
    \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { ProfessorService } from \"@services/dashboard/professor/professor.service\";\nimport { RelatorioCadastroService } from '@services/relatorios/relatorio-cadastros/relatorio-cadastros.service';\n\n@Component({\n selector: 'app-relatorioAniversariantesComponent',\n templateUrl: './relatorio-aniversariantes.component.html',\n styleUrls: ['./relatorio-aniversariantes.component.scss']\n})\nexport class AniversariantesComponent implements OnInit {\n public relatorioList: Array = [];\n public formCadastro: FormGroup;\n public listaMeses: Array = [\n { id: 1, nome: 'Janeiro' },\n { id: 2, nome: 'Fevereiro' },\n { id: 3, nome: 'Março' },\n { id: 4, nome: 'Abril' },\n { id: 5, nome: 'Maio' },\n { id: 6, nome: 'Junho' },\n { id: 7, nome: 'Julho' },\n { id: 8, nome: 'Agosto' },\n { id: 9, nome: 'Setembro' },\n { id: 10, nome: 'Outubro' },\n { id: 11, nome: 'Novembro' },\n { id: 12, nome: 'Dezembro' },\n ];\n public loading = false\n public nenhumRegistro = true\n\n\n constructor(private relatorioCadastroService: RelatorioCadastroService, private professorService: ProfessorService) {\n }\n\n ngOnInit() {\n this.formCadastro = new FormGroup({\n mesID: new FormControl(0, []),\n \n });\n\n \n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n this.loading = true\n this.relatorioCadastroService.getRelatorioAniversariantes(this.formCadastro.value).subscribe({\n next(response) {\n //em ordem dos nomes que começam com A ao Z\n classeContexto.relatorioList = (response as Array).sort((a, b) => {\n if (a.Nome < b.Nome) {\n return -1;\n } else if (a.Nome > b.Nome) {\n return 1;\n } else {\n return 0;\n }\n });\n classeContexto.nenhumRegistro = classeContexto.relatorioList.length === 0\n classeContexto.loading = false\n \n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n\n formatarCelular(celular: string) {\n if (!celular) return celular\n let celularFormatado = `(${celular.substring(0, 2)}) ${celular.substring(2, 7)}-${celular.substring(7, 11)}`\n return celularFormatado\n }\n \n\n baixarLaudo(id: number) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${id}`, \"_blank\")\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n getGenero(idGenero: number) {\n switch (idGenero) {\n case 1:\n return 'Masculino'\n case 2:\n return 'Feminino'\n default:\n return ''\n }\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {environment} from \"../../../../environments/environment\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {getHeaders} from \"@/utils/getHeaders\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RelatorioAutoConscienciaService {\n\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {\n }\n\n getRelatoriosAutoConsciencia(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Relatorio/RelatorioAutoConciencia', body, {headers})\n }\n\n}\n","
    \n
    \n
    \n
    \n
    Relatório Auto-Consciência
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Relatório\n \n\n
    \n
    \n
    \n Avaliador\n\n \n \n \n {{ avaliador.Nome }}\n \n \n
    \n\n
    \n Inicio\n\n \n
    \n\n
    \n Fim\n\n \n
    \n\n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n
    \n \n Relatórios\n \n \n \n \n \n \n \n Data\n \n \n Nome\n \n \n Questão\n \n \n Resultado\n \n \n \n\n \n \n \n \n \n \n \n \n
    \n {{\n dateToDDMMYYYY(\n usuarioRelatorios.Atualizacao\n )\n }}\n {{ usuarioRelatorios?.Usuario?.Nome }}\n {{\n resultado?.Biomarcador ||\n 'Sem Informação'\n }}\n {{ resultado?.Resultado }}
    \n
    \n \n
    \n \n Loading...\n
    \n
    \n \n

    Nenhum relatório encontrado, por favor insira um filtro.

    \n
    \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup} from \"@angular/forms\";\nimport {\n RelatorioTabelaGorduraService\n} from \"@services/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.service\";\nimport {ProfessorService} from \"@services/dashboard/professor/professor.service\";\nimport {\n RelatorioAutoConscienciaService\n} from \"@services/relatorios/relatorio-auto-consciencia/relatorio-auto-consciencia.service\";\n\n@Component({\n selector: 'app-relatorio-auto-consciencia',\n templateUrl: './relatorio-auto-consciencia.component.html',\n styleUrls: ['./relatorio-auto-consciencia.component.scss']\n})\nexport class RelatorioAutoConscienciaComponent implements OnInit {\n public formAutoConsciencia: FormGroup;\n public listaAvaliadores: Array = [];\n public relatorioAutoConscienciaList: Array = []\n public nenhumRegistro = false\n public loading = false\n constructor(private relatorioAutoConscienciaService: RelatorioAutoConscienciaService, private professorService: ProfessorService) {\n\n }\n\n\n ngOnInit() {\n this.formAutoConsciencia = new FormGroup({\n AvaliadorID: new FormControl(0, []),\n PeriodoDe: new FormControl('', []),\n PeriodoAte: new FormControl('', []),\n });\n\n this.atualizarListagemRelatorio()\n this.atualizarListaAvaliadores()\n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n this.loading = true\n this.relatorioAutoConscienciaService.getRelatoriosAutoConsciencia(this.formAutoConsciencia.value).subscribe({\n next(response) {\n classeContexto.relatorioAutoConscienciaList = response as Array\n classeContexto.nenhumRegistro = classeContexto.relatorioAutoConscienciaList.length == 0\n classeContexto.loading = false\n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n retornarRelatoriosDoUsuario(usuarioID) {\n return this.relatorioAutoConscienciaList.filter(r => r?.Usuario?.ID == usuarioID)\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {environment} from \"../../../../environments/environment\";\nimport {getHeaders} from \"@/utils/getHeaders\";\n\nexport interface Cupom {\n Ativo: boolean\n Avaliador: null\n AvaliadorID: number\n BloquearLaudo: boolean\n Checkups: Array\n Codigo: string\n DataAlteracao: Date\n DataInclusao: Date\n Descricao: string\n DiasProdutoCheckup: number\n Grupo: null\n GrupoID: null\n ID: number\n IdentificadorHash: string\n Itens: Array\n Quantidade: number\n TornarAvaliador: boolean\n URL: string\n UsuarioAlteracao: string\n UsuarioInclusao: string\n Vencimento: string\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CupomService {\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {\n }\n\n getCuponsAtivos() {\n const headers = getHeaders()\n return this.http.get(this.api + \"/Cupom/ListarAtivos\", {headers})\n }\n\n getTodosCupons(body) {\n const headers = getHeaders()\n return this.http.post(this.api + \"/Cupom/ConsultarGrid\", body, {headers})\n }\n\n listarAtivos() {\n const headers = getHeaders()\n return this.http.get(this.api + '/ProdutoServico/ListarAtivos', {headers})\n }\n\n listaAvaliadores() {\n const headers = getHeaders()\n return this.http.get(this.api + '/Usuario/ObterListaAvaliadores', {headers})\n }\n\n getCupomByHash(hash) {\n const headers = getHeaders()\n return this.http.get(this.api + '/Cupom/ObterPorHash/' + hash, {headers})\n }\n\n salvarCupom(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Cupom', body, {headers})\n }\n\n}\n","
    \n
    \n
    \n
    \n
    Relatórios - Biomarcadores SAFE
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n Escolha uma opção\n
    \n\n
    \n
    \n
    \n
    \n \n\n Toda Base\n
    \n
    \n\n
    \n
    \n \n\n Por Avaliador\n
    \n
    \n\n
    \n
    \n \n\n Por Grupo\n
    \n
    \n\n
    \n
    \n \n\n Por Cupom\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n Filtrar Usuários - {{ getLabelFiltrarPor() }}\n
    \n\n
    \n
    \n \n Grupo\n \n
    \n\n \n Avaliador\n\n \n \n
    \n\n \n Tipo\n\n \n \n \n \n
    \n\n \n Cupom\n \n \n
    \n\n \n Tipo\n \n \n \n \n
    \n\n \n Inicío\n \n \n \n Fim\n \n \n \n\n \n Escolaridade\n \n \n \n \n \n \n \n \n \n \n\n \n Faixa Etária\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Sexo\n \n \n \n \n \n \n\n \n UF\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 Tipo\n \n \n \n \n \n\n
    \n \n \n {{\n isLoadingRelatorios\n ? 'Carregando'\n : 'Pesquisar'\n }}\n \n \n \n \n \n \n\n
    \n
    \n - CHECK-UPS SAFE® Completos:\n {{ relatorios[0]?.TotalBiomarcadores }}\n
    \n\n \n 0 && !isLoadingRelatorios\"\n >\n \n Baixar PDF\n \n
    \n
    \n \n Loading...\n
    \n \n \n

    \n Nenhum relatório encontrado, por favor insira um filtro.\n

    \n \n \n
    \n {{ biomarcador.Biomarcador }}
    \n {{ biomarcador.PercentualAprovado }}% Aprovado \n e\n {{ biomarcador.PercentualReprovado }}% Reprovado\n
    \n\n \n \n {{ biomarcador.PercentualAprovado }}%\n
    \n \n \n \n \n \n\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {FormControl, FormGroup} from \"@angular/forms\";\nimport {getHeaders} from \"@/utils/getHeaders\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {environment} from \"../../../../../environments/environment\";\nimport {ToastrService} from \"ngx-toastr\";\nimport {Cupom, CupomService} from \"@services/dashboard/cupom/cupom.service\";\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { DadosCadastraisService } from '@services/dashboard/dados-cadastrais/dados-cadastrais.service';\nimport { AppService } from '@services/app.service';\nimport jsPDF from 'jspdf';\nimport html2canvas from 'html2canvas';\n\ninterface RelatorioBiomarcadorSafe {\n Aprovados: number\n Biomarcador: string\n PercentualAprovado: number\n PercentualReprovado: number\n Reprovados: number\n TotalBiomarcadores: number\n TotalCheckups: number\n}\n\n@Component({\n selector: 'app-relatorio-biomarcadores-safe',\n templateUrl: './relatorio-biomarcadores-safe.component.html',\n styleUrls: ['./relatorio-biomarcadores-safe.component.scss']\n})\nexport class RelatorioBiomarcadoresSafeComponent implements OnInit, OnDestroy {\n public formRelatorioBiomarcadores: FormGroup;\n public isLoadingRelatorios: boolean = false\n public relatorios: Array = []\n public cupons: Array = []\n public listaAvaliadores: Array = []\n private api = environment.endpoint_api\n public usuarioLogado: any\n public isAdm: boolean = false\n\n constructor(private http: HttpClient, \n private professorService: ProfessorService,\n private toastr: ToastrService, \n private cupomService: CupomService,\n private dadosCadastraisService: DadosCadastraisService,\n private appService: AppService\n ) {\n }\n\n ngOnInit() {\n const classeContexto = this\n\n this.formRelatorioBiomarcadores = new FormGroup({\n // email: new FormControl(null, [Validators.required]),\n // senha: new FormControl(null, [])\n AvaliadorID: new FormControl(0, []),\n GrupoID: new FormControl(0, []),\n CupomID: new FormControl(0, []),\n PeriodoDe: new FormControl('', []),\n PeriodoAte: new FormControl('', []),\n Base: new FormControl(2, []),\n Escolaridade: new FormControl('0', []),\n FixaEtaria: new FormControl('0', []),\n Tipo: new FormControl('2', []),\n Sexo: new FormControl('0', []),\n UF: new FormControl('T', []),\n });\n\n \n this.usuarioLogado = this.appService.getDadosUsuarioLogadoStorage()\n this.isAdm = this.usuarioLogado?.Perfil?.ID == 1 ? true : false\n \n \n\n\n this.cupomService.getCuponsAtivos().subscribe({\n next(response) {\n\n classeContexto.cupons = (response as Array).sort((a, b) => {\n return a.Descricao.localeCompare(b.Descricao);\n });\n },\n error() {\n console.log('Erro ao buscar cupons')\n }\n });\n \n this.atualizarListaAvaliadores()\n\n }\n \n \n baixarPDF() {\n const doc = new jsPDF();\n \n // Adicionando a logo no canto superior direito\n const logo = new Image();\n logo.src = 'assets/img/LogoIconTextPlataformaSafe.png'; // Caminho para a imagem\n logo.onload = () => {\n doc.addImage(logo, 'PNG', 150, 10, 50, 40); // Adiciona a imagem (x: 150, y: 10, largura: 50, altura: 20)\n \n const totalCheckups = this.relatorios[0]?.TotalBiomarcadores\n // Adicionando cabeçalho\n doc.setFontSize(14);\n doc.text('Relatório de CHECK-UPS SAFE® Completos ', 14, 20);\n doc.setFontSize(12);\n doc.text(`Filtrar Usuários - ${this.getLabelFiltrarPor()}`, 14, 30);\n {\n this.getLabelFiltrarPor() == 'POR AVALIADOR' && doc.text(`Avaliador: ${this.listaAvaliadores.find(avaliador => avaliador.ID == this.formRelatorioBiomarcadores.get('AvaliadorID').value)?.Nome}`, 14, 40);\n }\n doc.text(`Total: ${totalCheckups}`, 14, 50);\n \n // Adicionando tabela\n (doc as any).autoTable({\n head: [['#', 'Biomarcador', 'Percentual Aprovado', 'Percentual Reprovado', 'Total Aprovados', 'Total Reprovados']],\n body: this.relatorios.map((relatorio, index) => [\n index + 1,\n relatorio.Biomarcador,\n relatorio.PercentualAprovado + '%',\n relatorio.PercentualReprovado + '%',\n relatorio.Aprovados,\n relatorio.Reprovados, \n ]),\n startY: 60,\n });\n \n // Baixar o PDF\n doc.save(`relatorio_biomarcadores_SAFE}.pdf`);\n };\n }\n \n \n \n\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n\n getLabelFiltrarPor() {\n switch (this.formRelatorioBiomarcadores.get('Base').value) {\n case 1:\n return 'TODA BASE';\n\n case 2:\n return 'POR AVALIADOR';\n\n case 3:\n return 'POR GRUPO';\n\n case 4:\n return 'POR CUPOM';\n\n default:\n return ''\n }\n }\n\n onChangeCheckboxValue(name: string, value: any) {\n this.formRelatorioBiomarcadores.get(name).setValue(value)\n }\n\n onClickPesquisar() {\n const headers = getHeaders()\n const classeContext = this\n const body = this.formRelatorioBiomarcadores.value\n this.isLoadingRelatorios = true\n\n this.http.post(this.api + \"/Relatorio/BioMarcadoresSafe\", body, {headers}).subscribe({\n next(response) {\n classeContext.relatorios = response as Array\n classeContext.isLoadingRelatorios = false\n\n setTimeout(() => {\n classeContext.relatorios.map((relatorio, index) => {\n classeContext.calcularPositionTextoGradient('gradient-id-' + index, 'gradient-text-id-' + index, relatorio.PercentualAprovado)\n })\n classeContext.scrollToElementById('listaPacientes');\n }, 1000)\n console.log(this.relatorios,'relatorios')\n }, error(error) {\n classeContext.isLoadingRelatorios = false\n classeContext.toastr.error('Ocorreu um erro ao mostrar os relatórios dos biomarcadores')\n }\n })\n }\n\n calcularPositionTextoGradient(gradientId: string, gradientTextId: string, porcentagem: number) {\n const gradientElement = getComputedStyle(document.getElementById(gradientId))\n const gradientElementWidth = Number(gradientElement.getPropertyValue('width').split('px')[0])\n\n const gradientTextElement = document.getElementById(gradientTextId)\n const gradientTextPosition = (gradientElementWidth * (porcentagem * 0.01))\n gradientTextElement.style.left = `${gradientTextPosition}px`\n }\n\n scrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n \n }\n\n ngOnDestroy() {\n this.relatorios = []\n this.cupons = []\n this.listaAvaliadores = []\n }\n}\n","
    \n
    \n
    \n
    \n
    Relatório dos meus CHECK-UPS
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Por\n \n\n
    \n
    \n
    \n Avaliador\n \n \n
    \n\n
    \n \n Data início\n \n\n \n
    \n\n
    \n \n Data Fim\n \n\n \n
    \n\n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n \n \n Resultado\n \n\n \n \n Baixar PDF\n \n
    \n \n \n Baixar Excel\n \n
    \n\n \n \n \n \n Avaliador\n \n \n Cadastro Novos\n \n \n CHECK-UPS\n \n \n CHECK-UPS feitos novamente\n \n Z1\n Z2\n Z3\n Z4\n Z5\n \n \n \n \n \n {{ relatorio?.NomeAvaliador }}\n {{ relatorio?.NovosClientes }}\n {{ relatorio?.NovosCheckups }}\n {{ relatorio?.CheckupsFeitoNovamente }}\n \n {{ relatorio?.ListaZ[0].Quantidade }}\n \n \n {{ relatorio?.ListaZ[1].Quantidade }}\n \n \n {{ relatorio?.ListaZ[2].Quantidade }}\n \n \n {{ relatorio?.ListaZ[3].Quantidade }}\n \n \n {{ relatorio?.ListaZ[4].Quantidade }}\n \n \n \n \n \n \n Loading...\n \n \n \n \n \n Nenhum relatório encontrado, por favor insira um\n filtro.\n \n \n \n \n \n
    \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { ProfessorService } from \"@services/dashboard/professor/professor.service\";\nimport { RelatorioCadastroService } from '@services/relatorios/relatorio-cadastros/relatorio-cadastros.service';\nimport { jsPDF } from 'jspdf';\nimport 'jspdf-autotable';\n import * as XLSX from 'xlsx';\n import { saveAs } from 'file-saver';\n\n \n@Component({\n selector: 'app-relatorioCheckupsEvolucaoComponent',\n templateUrl: './relatorio-checkups-evolucao.component.html',\n styleUrls: ['./relatorio-checkups-evolucao.component.scss']\n})\nexport class CheckupsEvolucaoComponent implements OnInit {\n public relatorioCheckupList: any;\n public formCadastro: FormGroup;\n public listaAvaliadores: Array = [];\n public loading = false\n public nenhumRegistro = true\n\n constructor(private relatorioCadastroService: RelatorioCadastroService, private professorService: ProfessorService) {\n }\n\n ngOnInit() {\n this.formCadastro = new FormGroup({\n AvaliadorID: new FormControl(0, []),\n DataInicio: new FormControl('', []),\n DataFim: new FormControl('', []),\n });\n\n this.atualizarListaAvaliadores()\n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n this.loading = true\n this.relatorioCadastroService.getRelatorioEvolucao(this.formCadastro.value).subscribe({\n next(response) {\n classeContexto.relatorioCheckupList = response as Array\n // @ts-ignore\n classeContexto.nenhumRegistro = classeContexto.relatorioCheckupList.Lista.length === 0\n classeContexto.loading = false\n \n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n baixarPDF() {\n const doc = new jsPDF();\n \n // Adicionando a logo no canto superior direito\n const logo = new Image();\n logo.src = 'assets/img/LogoIconTextPlataformaSafe.png'; // Caminho para a imagem\n logo.onload = () => {\n doc.addImage(logo, 'PNG', 150, 10, 50, 40); // Adiciona a imagem (x: 150, y: 10, largura: 50, altura: 40)\n \n // Adicionando cabeçalho\n doc.setFontSize(14);\n doc.text('Relatório de Evolução', 14, 20);\n \n // Adicionando informações do totalizador\n doc.setFontSize(12);\n doc.text(`Total de Cadastros: ${this.relatorioCheckupList.TotalizadorCadastro}`, 14, 30);\n doc.text(`Total de CHECK-UPS: ${this.relatorioCheckupList.TotalizadorCheckup}`, 14, 40);\n doc.text(`CHECK-UPS feitos novamente: ${this.relatorioCheckupList.TotalizadorCheckupFeitoNovamente}`, 14, 50);\n \n // Adicionando tabela de valores Z\n const body = this.relatorioCheckupList.Lista.map((relatorio, index) => {\n const zValues = relatorio.ListaZ.map(z => z.Quantidade); // Extrai todas as quantidades de Z\n \n // Preenche com zeros se houver menos de 5 valores Z\n while (zValues.length < 5) {\n zValues.push(0);\n }\n \n return [\n index + 1,\n relatorio.NomeAvaliador,\n relatorio.NovosClientes,\n relatorio.NovosCheckups,\n relatorio.CheckupsFeitoNovamente,\n ...zValues // Espalha os valores Z na linha\n ];\n });\n \n (doc as any).autoTable({\n head: [['#', 'Avaliador', 'Novos Clientes', 'Novos CHECK-UPS', 'CHECK-UPS feitos novamente', 'Z1', 'Z2', 'Z3', 'Z4', 'Z5']],\n body: body,\n startY: 60,\n });\n \n // Baixar o PDF\n doc.save(`relatorio_evolucao_${new Date().toISOString().slice(0, 10)}.pdf`);\n };\n }\n \n \n \n baixarExcel() {\n // Prepare os dados para exportação\n const data = this.relatorioCheckupList.Lista.map((relatorio, index) => {\n const zValues = relatorio.ListaZ.map(z => z.Quantidade); // Extrai todas as quantidades de Z\n \n // Preenche com zeros se houver menos de 5 valores Z\n while (zValues.length < 5) {\n zValues.push(0);\n }\n \n return {\n '#': index + 1,\n 'Avaliador': relatorio.NomeAvaliador,\n 'Novos Clientes': relatorio.NovosClientes,\n 'Novos CHECK-UPS': relatorio.NovosCheckups,\n 'CHECK-UPS Feitos Novamente': relatorio.CheckupsFeitoNovamente,\n 'Z1': zValues[0],\n 'Z2': zValues[1],\n 'Z3': zValues[2],\n 'Z4': zValues[3],\n 'Z5': zValues[4]\n };\n });\n \n // Crie uma nova planilha\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(data);\n \n // Crie um novo livro de trabalho\n const workbook: XLSX.WorkBook = {\n Sheets: { 'Relatório de Evolução': worksheet },\n SheetNames: ['Relatório de Evolução']\n };\n \n // Converta o livro de trabalho para um arquivo binário\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n \n // Baixar o arquivo\n this.saveAsExcelFile(excelBuffer, `relatorio_evolucao_${new Date().toISOString().slice(0, 10)}`);\n }\n \n\n private EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n private EXCEL_EXTENSION = '.xlsx';\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: this.EXCEL_TYPE });\n saveAs(data, fileName + this.EXCEL_EXTENSION);\n }\n \n\n baixarLaudo(id: number) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${id}`, \"_blank\")\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n getGenero(idGenero: number) {\n switch (idGenero) {\n case 1:\n return 'Masculino'\n case 2:\n return 'Feminino'\n default:\n return ''\n }\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n Relatório de CHECK-UPS SAFE® por Período\n
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Relatórios\n \n\n
    \n
    \n
    \n Avaliador\n \n \n
    \n\n
    \n \n Periodo De\n \n\n \n
    \n\n
    \n \n Periodo Até\n \n\n \n
    \n\n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n \n \n Relatórios: {{ relatorioCheckupPeriodoList?.length }}\n \n
    \n 0\"\n style=\"width: 110px; height: 35px; margin-left: 5px\"\n type=\"button\"\n (click)=\"baixarPDF()\"\n >\n Baixar PDF\n \n
    \n
    \n 0\"\n style=\"width: 160px; height: 35px; margin-left: 5px\"\n type=\"button\"\n (click)=\"baixarExcel()\"\n >\n Baixar Excel\n \n
    \n\n \n \n \n \n #\n \n \n Avaliador\n \n \n Cliente\n \n \n WhatsApp\n \n \n Cadastro\n \n \n Início\n \n \n Término\n \n \n Teste físico\n \n \n \n \n \n \n \n {{ i + 1 }}\n {{ relatorio?.Avaliador }}\n {{ relatorio?.Cliente }}\n \n \n Enviar Mensagem\n \n \n \n {{\n dateToDDMMYYYY(relatorio?.Cadastro) ||\n 'Sem informação'\n }}\n \n \n {{\n dateToDDMMYYYY(relatorio?.InicioCheckup) ||\n 'Sem informação'\n }}\n \n \n {{\n dateToDDMMYYYY(relatorio?.EnvioCheckup) ||\n 'Sem informação'\n }}\n \n \n {{\n dateToDDMMYYYY(relatorio?.Avaliacao) ||\n 'Sem informação'\n }}\n \n \n \n Laudo\n \n \n \n \n \n \n \n Loading...\n
    \n \n \n \n \n Nenhum relatório encontrado, por favor insira um\n filtro.\n \n \n \n \n
    \n
    \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { ProfessorService } from \"@services/dashboard/professor/professor.service\";\nimport { RelatorioCadastroService } from '@services/relatorios/relatorio-cadastros/relatorio-cadastros.service';\nimport { addDays, isValid } from 'date-fns';\nimport html2canvas from 'html2canvas';\nimport { jsPDF } from 'jspdf';\nimport 'jspdf-autotable';\nimport { ToastrService } from 'ngx-toastr';\nimport * as XLSX from 'xlsx';\nimport { saveAs } from 'file-saver';\n\n@Component({\n selector: 'app-relatorioCheckupsPeriodoComponent',\n templateUrl: './relatorio-checkups-periodo.component.html',\n styleUrls: ['./relatorio-checkups-periodo.component.scss']\n})\nexport class CheckupsPeriodoComponent implements OnInit {\n public relatorioCheckupPeriodoList: Array = [];\n public formCadastro: FormGroup;\n public listaAvaliadores: Array = [];\n public loading = false\n public nenhumRegistro = true\n \n\n constructor(private relatorioCadastroService: RelatorioCadastroService, \n private professorService: ProfessorService, private toastr: ToastrService\n\n ) {\n }\n\n ngOnInit() {\n this.formCadastro = new FormGroup({\n AvaliadorID: new FormControl(0, []),\n PeriodoDe: new FormControl('', []),\n PeriodoAte: new FormControl('', []),\n });\n\n this.atualizarListaAvaliadores()\n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n\n if (this.formCadastro.value.PeriodoDe === '' || this.formCadastro.value.PeriodoAte === '') {\n this.toastr.error('Preencha o período de e até para realizar a busca.', 'Erro')\n this.loading = false\n return\n }\n this.loading = true\n\n if (this.formCadastro.value.PeriodoDe > this.formCadastro.value.PeriodoAte) {\n this.toastr.error('A data de início do período não pode ser maior que a data de término.', 'Erro')\n this.loading = false\n return\n }\n if (this.formCadastro.value.AvaliadorID === null || this.formCadastro.value.AvaliadorID === 0 || this.formCadastro.value.AvaliadorID === undefined) {\n //seta como ''\n this.formCadastro.value.AvaliadorID = 0\n }\n\n \n this.relatorioCadastroService.getRelatorioCheckupsPeriodo(this.formCadastro.value).subscribe({\n next(response) {\n classeContexto.relatorioCheckupPeriodoList = response as Array\n classeContexto.nenhumRegistro = classeContexto.relatorioCheckupPeriodoList.length === 0\n classeContexto.loading = false\n \n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n baixarPDF() {\n const doc = new jsPDF();\n \n // Adicionando a logo no canto superior direito\n const logo = new Image();\n logo.src = 'assets/img/LogoIconTextPlataformaSafe.png'; // Caminho para a imagem\n logo.onload = () => {\n doc.addImage(logo, 'PNG', 150, 10, 50, 40); // Adiciona a imagem (x: 150, y: 10, largura: 50, altura: 20)\n \n const avaliadorSelecionado = this.listaAvaliadores.find(avaliador => avaliador.ID === this.formCadastro.value.AvaliadorID)?.Nome || 'Todos';\n const periodoDeRaw = this.formCadastro?.value?.PeriodoDe;\n const periodoAteRaw = this.formCadastro?.value?.PeriodoAte;\n \n const periodoDe = isValid(new Date(periodoDeRaw))\n ? this.dateToDDMMYYYY(addDays(new Date(periodoDeRaw), 1))\n : 'Não especificado';\n \n const periodoAte = isValid(new Date(periodoAteRaw))\n ? this.dateToDDMMYYYY(addDays(new Date(periodoAteRaw), 1))\n : 'Não especificado';\n \n const totalCheckups = this.relatorioCheckupPeriodoList?.length;\n // Adicionando cabeçalho\n doc.setFontSize(14);\n doc.text('Relatório de CHECK-UPS SAFE® por Período', 14, 20);\n doc.setFontSize(12);\n doc.text(`Avaliador: ${avaliadorSelecionado}`, 14, 30);\n doc.text(`Período: ${periodoDe} - ${periodoAte}`, 14, 40);\n doc.text(`Total: ${totalCheckups}`, 14, 50);\n \n // Adicionando tabela\n (doc as any).autoTable({\n head: [['#', 'Avaliador', 'Cliente', 'Cadastro', 'Início', 'Término','Teste físico']],\n body: this.relatorioCheckupPeriodoList.map((relatorio, index) => [\n index + 1,\n relatorio.Avaliador,\n relatorio.Cliente,\n this.dateToDDMMYYYY(relatorio.Cadastro),\n this.dateToDDMMYYYY(relatorio.InicioCheckup),\n this.dateToDDMMYYYY(relatorio.EnvioCheckup),\n this.dateToDDMMYYYY(relatorio.Avaliacao)\n ]),\n startY: 60,\n });\n \n // Baixar o PDF\n doc.save(`relatorio_checkup_periodo_${new Date().toISOString().slice(0, 10)}.pdf`);\n };\n }\n \n\n baixarExcel() {\n // Prepare os dados para exportação\n const data = this.relatorioCheckupPeriodoList.map((relatorio, index) => ({\n '#': index + 1,\n 'Avaliador': relatorio.Avaliador,\n 'Cliente': relatorio.Cliente,\n 'Cadastro': this.dateToDDMMYYYY(relatorio.Cadastro),\n 'Início': this.dateToDDMMYYYY(relatorio.InicioCheckup),\n 'Término': this.dateToDDMMYYYY(relatorio.EnvioCheckup),\n 'Teste físico': this.dateToDDMMYYYY(relatorio.Avaliacao)\n }));\n\n // Crie uma nova planilha\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(data);\n\n // Crie um novo livro de trabalho\n const workbook: XLSX.WorkBook = {\n Sheets: { 'Relatório de Check-up': worksheet },\n SheetNames: ['Relatório de Check-up']\n };\n\n // Converta o livro de trabalho para um arquivo binário\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n\n // Baixar o arquivo\n this.saveAsExcelFile(excelBuffer, `relatorio_checkup_periodo_${new Date().toISOString().slice(0, 10)}`);\n }\n private EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n private EXCEL_EXTENSION = '.xlsx';\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: this.EXCEL_TYPE });\n saveAs(data, fileName + this.EXCEL_EXTENSION);\n }\n\n // Definições de tipo e extensão do Excel\n\n baixarLaudo(id: number) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${id}`, \"_blank\")\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n getGenero(idGenero: number) {\n switch (idGenero) {\n case 1:\n return 'Masculino'\n case 2:\n return 'Feminino'\n default:\n return ''\n }\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {environment} from \"../../../../environments/environment\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {getHeaders} from \"@/utils/getHeaders\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RelatorioPreCadastroService {\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {\n }\n\n getRelatorioPreCadastro() {\n const headers = getHeaders()\n return this.http.get(this.api + '/Relatorio/RelatorioPreCadastro', {headers})\n }\n\n}\n","
    \n
    \n
    \n
    \n
    Relatórios - Pré Cadastro
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n Atualizar\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 Nome\n \n E-mail\n \n Celular\n \n Data\n \n Código Ativação\n \n Avaliador\n
    {{ relatorio?.Usuario?.ID }}{{ relatorio?.Nome }}{{ relatorio?.Email }}{{ relatorio?.Celular }}{{ dateToDDMMYYYY(relatorio?.Cadastro) }}{{ relatorio?.CodigoAtivacao }}{{ relatorio?.Usuario?.Nome }}
    \n \n Loading...\n \n
    \n Nenhum pré cadastro encontrado.\n
    \n
    \n
    \n\n \n
    \n\n","import {Component, OnInit} from '@angular/core';\nimport {RelatorioPreCadastroService} from \"@services/relatorios/relatorio-pre-cadastro/relatorio-pre-cadastro.service\";\n\n@Component({\n selector: 'app-relatorio-pre-cadastro',\n templateUrl: './relatorio-pre-cadastro.component.html',\n styleUrls: ['./relatorio-pre-cadastro.component.scss']\n})\nexport class RelatorioPreCadastroComponent implements OnInit {\n public relatorioPreCadastroList: Array\n public loading = false\n public nenhumRegistro = true\n\n\n constructor(private relatorioPreCadastroService: RelatorioPreCadastroService) {\n }\n\n\n ngOnInit() {\n this.atualizarListaPreCadastro()\n }\n\n atualizarListaPreCadastro() {\n const classeContexto = this\n this.loading = true\n this.nenhumRegistro = false\n this.relatorioPreCadastroService.getRelatorioPreCadastro().subscribe({\n next(response: any) {\n classeContexto.relatorioPreCadastroList = response as Array\n classeContexto.loading = false\n classeContexto.nenhumRegistro = response.length === 0 ? true : false\n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n\n }\n })\n\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n}\n","
    \n
    \n
    \n
    \n
    Ranking de Avaliadores
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Por\n \n\n
    \n
    \n
    \n Avaliador\n \n \n
    \n\n
    \n Estado\n \n \n
    \n\n
    \n \n Nº min de CHECK-UPS\n \n\n \n
    \n\n
    \n\n
    \n \n Data início\n \n\n \n
    \n\n
    \n \n Data Fim\n \n\n \n
    \n\n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n \n \n Resultado {{relatorioCheckupList?.Resultados?.length > 0 ? '(' +\n relatorioCheckupList?.Resultados?.length + ')' : ''}}\n \n\n \n {{formCadastro.value.DataInicio ? 'Período de ' +\n formatDate(formCadastro.value.DataInicio) + ' a ' +\n formatDate(formCadastro.value.DataFim) : ''}}\n \n\n \n \n Baixar PDF\n \n
    \n \n \n Baixar Excel\n \n
    \n\n \n \n \n \n Avaliador\n \n \n UF\n \n \n Anamneses\n \n \n Avaliações Físicas\n \n \n Pacientes\n \n \n \n \n \n \n {{relatorio?.NomeAvaliador}}\n {{relatorio?.UF || ' - '}}\n {{relatorio?.QtdeAnamneses}}\n {{relatorio?.QtdeAvaliacoes}}\n {{relatorio?.QtdePacientes}}\n \n \n \n \n \n Loading...\n \n \n \n \n \n Nenhum relatório encontrado, por favor insira um\n filtro.\n \n \n \n \n \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { ProfessorService } from \"@services/dashboard/professor/professor.service\";\nimport { RelatorioCadastroService } from '@services/relatorios/relatorio-cadastros/relatorio-cadastros.service';\nimport { jsPDF } from 'jspdf';\nimport 'jspdf-autotable';\n import * as XLSX from 'xlsx';\n import { saveAs } from 'file-saver';\nimport { addDays, isValid } from 'date-fns';\n\n \n@Component({\n selector: 'app-relatorio-ranking-avaliadores',\n templateUrl: './relatorio-ranking-avaliadores.html',\n styleUrls: ['./relatorio-ranking-avaliadores.scss']\n})\nexport class RelatorioRankingAvaliadores implements OnInit {\n public relatorioCheckupList: any;\n public formCadastro: FormGroup;\n public listaAvaliadores: Array = [];\n public loading = false\n public nenhumRegistro = true\n\n public listaUF = [\n { id: 1, nome: 'AC' },\n { id: 2, nome: 'AL' },\n { id: 3, nome: 'AP' },\n { id: 4, nome: 'AM' },\n { id: 5, nome: 'BA' },\n { id: 6, nome: 'CE' },\n { id: 7, nome: 'DF' },\n { id: 8, nome: 'ES' },\n { id: 9, nome: 'GO' },\n { id: 10, nome: 'MA' },\n { id: 11, nome: 'MT' },\n { id: 12, nome: 'MS' },\n { id: 13, nome: 'MG' },\n { id: 14, nome: 'PA' },\n { id: 15, nome: 'PB' },\n { id: 16, nome: 'PR' },\n { id: 17, nome: 'PE' },\n { id: 18, nome: 'PI' },\n { id: 19, nome: 'RJ' },\n { id: 20, nome: 'RN' },\n { id: 21, nome: 'RS' },\n { id: 22, nome: 'RO' },\n { id: 23, nome: 'RR' },\n { id: 24, nome: 'SC' },\n { id: 25, nome: 'SP' },\n { id: 26, nome: 'SE' },\n { id: 27, nome: 'TO' }\n ]\n\n constructor(private relatorioCadastroService: RelatorioCadastroService, private professorService: ProfessorService) {\n }\n\n ngOnInit() {\n this.formCadastro = new FormGroup({\n AvaliadorID: new FormControl(0, []),\n DataInicio: new FormControl('2024-01-01', []),\n UF: new FormControl('', []),\n NumeroMinimoDeCheckups: new FormControl(0, []),\n DataFim: new FormControl('2024-12-01', []),\n });\n\n this.atualizarListaAvaliadores()\n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n this.loading = true\n if (this.formCadastro.value.NumeroMinimoDeCheckups == '') {\n this.formCadastro.value.NumeroMinimoDeCheckups = 0\n }\n this.relatorioCadastroService.postRelatorioRanking(this.formCadastro.value).subscribe({\n next(response) {\n classeContexto.relatorioCheckupList = response as Array\n // @ts-ignore\n classeContexto.nenhumRegistro = classeContexto.relatorioCheckupList.Resultados.length === 0\n classeContexto.loading = false\n \n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n baixarPDF() {\n const doc = new jsPDF();\n \n // Adicionando a logo no canto superior direito\n const logo = new Image();\n logo.src = 'assets/img/LogoIconTextPlataformaSafe.png'; // Caminho para a imagem\n logo.onload = () => {\n \n \n const avaliadorSelecionado = this.listaAvaliadores.find(avaliador => avaliador.ID === this.formCadastro.value.AvaliadorID)?.Nome || 'Todos';\n const periodoDeRaw = this.formCadastro?.value?.PeriodoDe;\n const periodoAteRaw = this.formCadastro?.value?.PeriodoAte;\n \n const periodoDe = isValid(new Date(periodoDeRaw))\n ? this.dateToDDMMYYYY(addDays(new Date(periodoDeRaw), 1))\n : 'Não especificado';\n \n const periodoAte = isValid(new Date(periodoAteRaw))\n ? this.dateToDDMMYYYY(addDays(new Date(periodoAteRaw), 1))\n : 'Não especificado';\n \n // Adicionando cabeçalho\n doc.addImage(logo, 'PNG', 150, 10, 50, 40); // Adiciona a imagem (x: 150, y: 10, largura: 50, altura: 40)\n \n // Adicionando cabeçalho\n doc.setFontSize(14);\n doc.text('Relatório de Evolução', 14, 20);\n \n // Adicionando informações do totalizador\n doc.setFontSize(12);\n doc.text(`Avaliador: ${avaliadorSelecionado}`, 14, 30);\n doc.text(`Total de Anamneses: ${this.relatorioCheckupList.TotalAnamneses}`, 14, 40);\n doc.text(`Total de Avaliações: ${this.relatorioCheckupList.TotalAvaliacoes}`, 14, 50);\n doc.text(`Total de Pacientes: ${this.relatorioCheckupList.TotalPacientes}`, 14, 60);\n doc.text(`De ${periodoDe} até ${periodoAte}`, 14, 70);\n \n // Adicionando tabela\n (doc as any).autoTable({\n head: [['#', 'Avaliador', 'UF', 'Anamneses', 'Av. Físicas', 'Pacientes']],\n body: this.relatorioCheckupList.Resultados?.map((relatorio, index) => [\n index + 1,\n relatorio.NomeAvaliador,\n relatorio.UF,\n relatorio.QtdeAnamneses,\n relatorio.QtdeAvaliacoes,\n relatorio.QtdePacientes,\n ]),\n startY: 80,\n });\n \n // Baixar o PDF\n doc.save(`relatorio_ranking_avaliadores_${new Date().toISOString().slice(0, 10)}.pdf`);\n };\n }\n \n \n \n \n baixarExcel() {\n // Prepare os dados para exportação\n const data = this.relatorioCheckupList.Resultados?.map((relatorio, index) => ({\n '#': index + 1,\n 'Avaliador': relatorio.NomeAvaliador,\n 'UF': relatorio.UF,\n 'Anamneses': relatorio.QtdeAnamneses,\n 'Av. Físicas': relatorio.QtdeAvaliacoes,\n 'Pacientes': relatorio.QtdePacientes,\n \n }));\n\n // Crie uma nova planilha\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(data);\n\n // Crie um novo livro de trabalho\n const workbook: XLSX.WorkBook = {\n Sheets: { 'Relatório Ranking Avaliadores': worksheet },\n SheetNames: ['Relatório Ranking Avaliadores']\n };\n\n // Converta o livro de trabalho para um arquivo binário\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n\n // Baixar o arquivo\n this.saveAsExcelFile(excelBuffer, `relatorio_ranking_avaliadores_${new Date().toISOString().slice(0, 10)}`);\n }\n \n\n private EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n private EXCEL_EXTENSION = '.xlsx';\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: this.EXCEL_TYPE });\n saveAs(data, fileName + this.EXCEL_EXTENSION);\n }\n \n\n baixarLaudo(id: number) {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${id}`, \"_blank\")\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n getGenero(idGenero: number) {\n switch (idGenero) {\n case 1:\n return 'Masculino'\n case 2:\n return 'Feminino'\n default:\n return ''\n }\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {getHeaders} from \"@/utils/getHeaders\";\nimport {environment} from \"../../../../environments/environment\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RelatorioTabelaGorduraService {\n\n private api = environment.endpoint_api\n\n constructor(private http: HttpClient) {\n }\n\n getRelatorioTabelaGordura(body) {\n const headers = getHeaders()\n return this.http.post(this.api + '/Relatorio/RelatorioTabelaGordura', body, {headers})\n }\n}\n","
    \n
    \n
    \n
    \n
    Tabela de Gordura
    \n \n
    \n
    \n
    \n\n \n \n Filtrar Relatórios\n \n\n
    \n
    \n
    \n Avaliador\n\n \n \n \n {{ avaliador.Nome }}\n \n \n
    \n\n
    \n Inicio\n\n \n
    \n\n
    \n Fim\n\n \n
    \n\n
    \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n \n\n \n \n Relatórios\n \n\n \n \n \n \n #\n \n \n Data\n \n \n Nome\n \n \n Gênero\n \n \n Idade\n \n \n Pescoço\n \n \n Altura\n \n \n Cintura\n \n \n Quadril\n \n \n Percentual\n \n \n Resultado\n \n \n \n \n \n \n {{ relatorio.ID }}\n {{ dateToDDMMYYYY(relatorio.Data) }}\n {{ relatorio.Usuario.Nome }}\n {{ getGenero(relatorio.Genero) }}\n {{ relatorio.Idade }}\n {{ relatorio.Pescoco }}\n {{ relatorio.Altura }}\n {{ relatorio.Cintura }}\n {{ relatorio.Quadril }}\n {{ relatorio.Percentual }}\n \n \n\n \n\n \n\n \n \n \n \n \n \n \n Loading...\n
    \n \n \n \n \n Nenhum relatório encontrado, por favor insira um\n filtro.\n \n \n \n \n
    \n
    \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {\n RelatorioTabelaGorduraService\n} from \"@services/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.service\";\nimport {FormControl, FormGroup} from \"@angular/forms\";\nimport {ProfessorService} from \"@services/dashboard/professor/professor.service\";\nimport {\n declarationFunctions\n} from \"@angular/compiler-cli/linker/src/file_linker/partial_linkers/partial_linker_selector\";\n\n@Component({\n selector: 'app-tabelaGordura',\n templateUrl: './relatorio-tabela-gordura.component.html',\n styleUrls: ['./relatorio-tabela-gordura.component.scss']\n})\nexport class RelatorioTabelaGorduraComponent implements OnInit {\n public relatorioTabelaGorduraList: Array = [];\n public formTabelaGordura: FormGroup;\n public listaAvaliadores: Array = [];\n public loading = false\n public nenhumRegistro = true\n\n\n constructor(private relatorioTabelaGorduraService: RelatorioTabelaGorduraService, private professorService: ProfessorService) {\n }\n\n ngOnInit() {\n this.formTabelaGordura = new FormGroup({\n AvaliadorID: new FormControl(0, []),\n PeriodoDe: new FormControl('', []),\n PeriodoAte: new FormControl('', []),\n });\n\n this.atualizarListagemRelatorio()\n this.atualizarListaAvaliadores()\n }\n\n atualizarListagemRelatorio() {\n const classeContexto = this\n this.loading = true\n this.relatorioTabelaGorduraService.getRelatorioTabelaGordura(this.formTabelaGordura.value).subscribe({\n next(response) {\n classeContexto.relatorioTabelaGorduraList = response as Array\n classeContexto.nenhumRegistro = classeContexto.relatorioTabelaGorduraList.length === 0\n classeContexto.loading = false\n \n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes')\n }, 100)\n }, error() {\n classeContexto.loading = false\n }\n })\n }\n\n atualizarListaAvaliadores() {\n const classeContexto = this\n this.professorService.getObterListaAvaliadores().subscribe({\n next(response) {\n classeContexto.listaAvaliadores = response as Array\n }, error() {\n }\n })\n }\n\n scrollToElementById(id: string) {\n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n\n dateToDDMMYYYY(date: Date) {\n if (!date) return date\n date = new Date(date)\n return date.toLocaleDateString()\n }\n\n getGenero(idGenero: number) {\n switch (idGenero) {\n case 1:\n return 'Masculino'\n case 2:\n return 'Feminino'\n default:\n return ''\n }\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n Anamneses\n
    \n \n
    \n
    \n
    \n\n
    \n \n Filtrar Anamneses\n \n\n
    \n
    \n
    \n Paciente\n \n
    \n\n
    \n Grupo\n\n \n
    \n\n
    \n Avaliador\n\n \n
    \n\n
    \n Cupom\n\n \n
    \n\n
    \n Evento\n\n \n
    \n\n
    \n Período de:\n \n
    \n\n
    \n Período até:\n\n \n
    \n\n
    \n Z:\n \n
    \n\n
    \n Status:\n \n \n {{ option.descricao }}\n \n \n
    \n\n
    \n Preenchida:\n \n \n {{ option.descricao }}\n \n \n
    \n\n
    \n Avaliada:\n\n \n \n {{ option.descricao }}\n \n \n
    \n\n
    \n\n \n \n {{\n loadingListaAnamneses\n ? 'Carregando...'\n : 'Pesquisar'\n }}\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n Ações\n
    \n Para ativar alguma ação, selecione algum paciente.\n
    \n
    \n
    \n 1\n \"\n >\n Devolver Anamnese\n \n
    \n
    \n 1 ||\n avaliarLoading\n \"\n (click)=\"onAvaliar()\"\n >\n {{ avaliarLoading ? 'Aguarde...' : 'Avaliar' }}\n \n
    \n
    \n 1 ||\n avaliarLoading\n \"\n (click)=\"handleVisualizarPacienteAnamnese()\"\n >\n Visualizar\n \n
    \n\n
    \n 1\n \"\n >\n Laudo Completo\n \n
    \n
    \n 1\n \"\n >\n Laudo Completo sem dados pessoais\n \n
    \n
    \n 1\n \"\n >\n Novo\n Laudo Completo com IA\n \n
    \n
    \n
    \n
    \n\n \n \n Anamneses Cadastradas: {{ listaAnamneses?.length || 0 }}\n \n\n 0 && !loadingListaAnamneses\"\n >\n \n {{\n loadingPDF\n ? 'Carregando...'\n : 'PDF Pacientes sem Anamnese'\n }}\n \n \n {{\n loadingExcel\n ? 'Carregando...'\n : 'Excel Pacientes sem Anamnese'\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 Protocolo\n \n Paciente\n \n Profissão\n \n Avaliador\n \n Cadastro\n \n Preenchida\n \n Início\n \n Envio\n \n Tempo de preenchimento\n \n Avaliada\n \n Avaliação\n \n Status\n
    \n Nenhum Checkup encontrado, por favor insira um\n filtro.\n
    \n \n {{ anamnese.Protocolo }}\n \n {{ anamnese.Paciente }}\n \n {{ anamnese.Ocupacao }}{{ anamnese.Professor }}\n {{\n anamnese.Cadastro\n ? formatDate(anamnese.Cadastro)\n : 'Sem informação'\n }}\n \n {{\n anamnese.Preenchida === false\n ? 'Não'\n : 'Sim'\n }}\n \n {{\n anamnese.DataInicio\n ? formatDate(anamnese.DataInicio)\n : 'Sem informação'\n }}\n \n {{\n anamnese.DataEnvio\n ? formatDate(anamnese.DataEnvio)\n : 'Sem informação'\n }}\n {{ anamnese.TempoPreenchimento }}\n {{\n anamnese.Avaliada === false ? 'Não' : 'Sim'\n }}\n \n {{\n anamnese.DataAvaliacao\n ? formatDate(anamnese.DataAvaliacao)\n : 'Sem informação'\n }}\n \n {{\n anamnese.Status === 1\n ? 'Em branco'\n : anamnese.Status === 2\n ? 'Incompleto'\n : anamnese.Status === 3\n ? 'Completo'\n : 'Sem informação'\n }}\n \n \n Novo\n Laudo IA\n \n \n Laudo\n \n
    \n \n Loading...\n \n
    \n \n
    \n \n\n","import {DateTime} from 'luxon';\nimport {Component} from '@angular/core';\nimport {ToastrService} from 'ngx-toastr';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {Router} from \"@angular/router\";\nimport jsPDF from 'jspdf';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { Observable, catchError, map, of, from } from 'rxjs';\nimport { concatMap, toArray } from 'rxjs/operators';\nimport * as XLSX from 'xlsx'; \nimport { saveAs } from 'file-saver';\n\n@Component({\n selector: 'app-anamneses', templateUrl: './anamneses.component.html', styleUrls: ['./anamneses.component.scss']\n})\nexport class AnamnesesComponent {\n\n public dataPesquisa: any = {\n Paciente: \"\",\n Grupo: \"\",\n Avaliador: \"\",\n Cupom: \"\",\n Evento: \"\",\n PeriodoDe: \"\",\n PeriodoAte: \"\",\n Z: \"\",\n Status: \"\",\n Preenchida: null,\n Avaliada: null,\n };\n public loadingExcel: boolean = false; \n public listaAnamneses: any;\n public loadingPDF: boolean = false;\n public listaDadosPacientes: any;\n public nenhumaAnamneseEncontrada: boolean = true;\n public anamnesesSelecionadas: number[] = [];\n public loadingListaAnamneses: boolean = false;\n public avaliarLoading: boolean = false;\n public loadingDevolverAnamnese: boolean = false;\n public pacienteIdSelecionado: number;\n public opcoesPreenchida = [{value: '', descricao: 'Selecione...'}, {\n value: 'true', descricao: 'Sim'\n }, {value: 'false', descricao: 'Não'}];\n public opcoesStatus = [{value: '', descricao: 'Selecione...'}, {value: '1', descricao: 'Em Branco'}, {\n value: '2', descricao: 'Incompleto'\n }, {value: '3', descricao: 'Completo'}];\n\n constructor(private anamneseService: AnamneseService, private toastr: ToastrService, \n private router: Router, private professorService: ProfessorService) {\n }\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n\n getListaAnamneses(): void {\n this.loadingListaAnamneses = true;\n this.anamnesesSelecionadas = [];\n this.anamneseService.postAnamneseConsultar(this.dataPesquisa).subscribe({\n next: (response) => {\n this.listaAnamneses = response;\n this.nenhumaAnamneseEncontrada = this.listaAnamneses.length === 0;\n this.loadingListaAnamneses = false;\n setTimeout(() => {\n this.scrollToElementById('listaPacientes');\n }, 1000);\n }, error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar anamneses, contate o suporte')\n }\n\n this.loadingListaAnamneses = false;\n }\n });\n }\n\n buscaDadosDeCadaPaciente(dados: any): Observable {\n const body = {\n Perfil: \"\",\n Situacao: \"\",\n Tipo: \"Nome\",\n Valor: dados.Paciente\n };\n return this.professorService.postListaUsuariosAvaliador(body).pipe(\n map(response => {\n // Supondo que o email esteja no objeto response\n const email = response[0]?.Email ?? 'Email não encontrado';\n return { ...dados, email }; // Retorna os dados originais com o email adicionado\n }),\n catchError(error => {\n this.toastr.error('Erro ao buscar dados do paciente');\n return of({ ...dados, email: 'Erro ao buscar email' }); // Retorna mesmo em caso de erro\n })\n );\n }\n \n\n\n baixarPDF() {\n this.loadingPDF = true;\n\n const doc = new jsPDF();\n\n // Filtrar as anamneses que ainda não foram preenchidas\n const listaAnamnesesSemPreenchimento = this.listaAnamneses.filter((anamnese) => anamnese?.Preenchida == false);\n\n // Iniciar a execução sequencial das requisições\n from(listaAnamnesesSemPreenchimento).pipe(\n concatMap((anamnese) => this.buscaDadosDeCadaPaciente(anamnese)),\n toArray() // Converte todas as respostas obtidas em um array\n ).subscribe({\n next: (pacientesComEmail) => {\n // Carregar a logo e só depois gerar o PDF\n const logo = new Image();\n logo.src = 'assets/img/LogoIconTextPlataformaSafe.png';\n\n logo.onload = () => {\n doc.addImage(logo, 'PNG', 150, 10, 50, 40); // Adiciona a imagem\n\n const totalAnamneses = listaAnamnesesSemPreenchimento.length;\n\n // Adicionando cabeçalho\n doc.setFontSize(14);\n doc.text('Relatório de Pacientes sem Anamnese', 14, 20);\n doc.setFontSize(12);\n doc.text(`Total: ${totalAnamneses}`, 14, 30);\n\n // Adicionando tabela\n (doc as any).autoTable({\n head: [['Protocolo', 'Paciente', 'Avaliador', 'Profissão', 'Cadastro', 'Email']],\n body: pacientesComEmail.map((relatorio) => [\n relatorio.Protocolo,\n relatorio.Paciente,\n relatorio.Professor,\n relatorio.Ocupacao ?? 'Não informado',\n this.formatDate(relatorio.Cadastro),\n relatorio.email // Inclui o email no relatório\n ]),\n startY: 50,\n columnStyles: {\n 0: { cellWidth: 25 }, // Defina a largura da coluna 'Protocolo'\n 1: { cellWidth: 35 }, // Defina a largura da coluna 'Paciente'\n 2: { cellWidth: 30 }, // Defina a largura da coluna 'Avaliador'\n 3: { cellWidth: 25 }, // Defina a largura da coluna 'Profissão'\n 4: { cellWidth: 25 }, // Defina a largura da coluna 'Cadastro'\n 5: { cellWidth: 40 } // Defina a largura da coluna 'Email'\n },\n styles: {\n fontSize: 10,\n cellPadding: 2,\n overflow: 'linebreak',\n columnWidth: 'wrap'\n },\n });\n\n // Baixar o PDF\n doc.save(`relatorio_biomarcadores_SAFE.pdf`);\n this.loadingPDF = false; // Para o loading após o download\n };\n\n logo.onerror = (error) => {\n this.toastr.error('Erro ao carregar o logo, por favor, tente novamente.');\n this.loadingPDF = false; // Para o loading em caso de erro no logo\n };\n },\n error: () => {\n this.toastr.error('Erro ao gerar o PDF, tente novamente.');\n this.loadingPDF = false; // Para o loading em caso de erro nas requisições\n }\n });\n }\n\n baixarExcel() {\n this.loadingExcel = true;\n\n \n const listaAnamnesesSemPreenchimento = this.listaAnamneses.filter((anamnese) => anamnese?.Preenchida == false);\n\n from(listaAnamnesesSemPreenchimento).pipe(\n concatMap((anamnese) => this.buscaDadosDeCadaPaciente(anamnese)),\n toArray() \n ).subscribe({\n next: (pacientesComEmail) => {\n \n const dataForExcel = pacientesComEmail.map((relatorio) => ({\n Protocolo: relatorio.Protocolo,\n Paciente: relatorio.Paciente,\n Avaliador: relatorio.Professor,\n Profissão: relatorio.Ocupacao ?? 'Não informado',\n Cadastro: this.formatDate(relatorio.Cadastro),\n Email: relatorio.email\n }));\n\n \n const worksheet = XLSX.utils.json_to_sheet(dataForExcel);\n const workbook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workbook, worksheet, \"Relatório Pacientes\");\n\n \n const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n\n \n const blob = new Blob([excelBuffer], { type: 'application/octet-stream' });\n saveAs(blob, `relatorio_biomarcadores_SAFE.xlsx`);\n this.loadingExcel = false; // Para o loading após o download\n },\n error: () => {\n this.toastr.error('Erro ao gerar o Excel, tente novamente.');\n this.loadingExcel = false; // Para o loading em caso de erro\n }\n });\n }\n\n \n\n selectAll(event: any): void {\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach((checkbox: any) => {\n checkbox.checked = event.target.checked;\n });\n this.anamnesesSelecionadas = event.target.checked ? this.listaAnamneses.map(item => item.ID) : [];\n }\n\n selecionarPaciente(pacienteId: number): void {\n const anamnese = this.listaAnamneses?.find(a => a.IdentificadorHash == pacienteId)\n const index = this.anamnesesSelecionadas.indexOf(pacienteId);\n\n if (index === -1) {\n this.pacienteIdSelecionado = anamnese?.ID\n this.anamnesesSelecionadas.push(pacienteId);\n } else {\n this.pacienteIdSelecionado = undefined\n this.anamnesesSelecionadas.splice(index, 1);\n }\n }\n\n scrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n \n }\n\n handleDevolverAnamnese(): void {\n if (this.anamnesesSelecionadas.length === 0) {\n this.toastr.warning('Selecione ao menos um paciente para devolver a anamnese');\n return;\n }\n\n let body = {\n //@ts-ignore\n Hash: this.anamnesesSelecionadas[0]?.IdentificadorHash\n }\n this.loadingDevolverAnamnese = true;\n\n this.anamneseService.putDevolverAnamnese(body).subscribe({\n next: (response) => {\n this.toastr.success('Anamnese devolvida com sucesso');\n this.getListaAnamneses();\n this.loadingDevolverAnamnese = false;\n }, error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao devolver anamnese, contate o suporte')\n }\n this.loadingDevolverAnamnese = false;\n }\n });\n }\n\n\n onAvaliar() {\n this.avaliarLoading = true;\n if (this.anamnesesSelecionadas.length === 0) {\n this.toastr.warning('Selecione ao menos um paciente para avaliar a anamnese');\n return;\n }\n // @ts-ignore\n const Hash: any = this.anamnesesSelecionadas[0]?.IdentificadorHash;\n this.anamneseService.getObterLinkAvaliacao(Hash).subscribe({\n next: (response: any) => {\n this.avaliarLoading = false;\n const urlParts = response.split('/'); \n const hash = urlParts[urlParts.length - 1]; \n\n this.router.navigate(['/dashboard/acesso-avaliador/usuarios-avaliacoes/alterar/', hash]);\n \n }, error: (error) => {\n this.avaliarLoading = false;\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao obter link de avaliação, contate o suporte')\n }\n }\n });\n \n }\n\n handleVisualizarCadastro(ID: number): void {\n if (!ID) {\n this.toastr.warning('Selecione um paciente para visualizar o cadastro');\n return;\n }\n //@ts-ignore\n //abre uma nova aba com o link do cadastro\n window.open(`https://plataformasafe.com.br/dashboard/acesso-avaliador/usuarios/alterar/${ID}`, \"_blank\")\n }\n\n handleLaudo(context: string): void {\n\n if (!this.anamnesesSelecionadas.length) {\n this.toastr.warning('Selecione ao menos um paciente para baixar o laudo');\n return;\n }\n if (context === 'incompleto') {\n //@ts-ignore\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoSemDadosPessoais/${this.anamnesesSelecionadas[0]?.IdentificadorHash}`, \"_blank\")\n return\n }\n //@ts-ignore\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${this.anamnesesSelecionadas[0]?.IdentificadorHash}`, \"_blank\")\n }\n\n handleLaudoIA(): void {\n if (!this.anamnesesSelecionadas.length) {\n this.toastr.warning('Selecione ao menos um paciente para baixar o laudo');\n return;\n }\n //@ts-ignore\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompletoAnaliseAI/${this.anamnesesSelecionadas[0]?.IdentificadorHash}`, \"_blank\")\n }\n\n handleVisualizarPacienteAnamnese(): void {\n //@ts-ignore\n this.router.navigate([`/dashboard/acesso-avaliador/anamneses/visualizar/${this.anamnesesSelecionadas[0]?.IdentificadorHash}`]);\n\n }\n\n handleVisualizarAnamnese(pacienteId: number): void {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompleto/${pacienteId}`, \"_blank\")\n\n }\n\n handleLaudoIAPacienteID(pacienteId: number): void {\n window.open(`https://api.plataformasafe.com.br/home/DownloadLaudoCompletoAnaliseAI/${pacienteId}`, \"_blank\")\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n}\n","
    \n
    \n
    \n
    \n
    CADASTRO
    \n \n
    \n
    \n
    \n \n CHECK-UP\n \n
    \n
    \n
    \n \n Informações Básicas\n \n \n \n Loading...\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n Data Agendamento\n \n
    \n \n Hora Agendamento\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n Sair\n \n \n {{ loadingSalvar ? 'Salvando...' :\n 'Salvar' }}\n \n
    \n \n \n \n \n \n \n \n\n","import { DateTime } from 'luxon';\nimport { Component, OnInit } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router } from \"@angular/router\";\n\ninterface Checkup {\n ID: number;\n Idade: number;\n Sexo: number;\n}\n\n@Component({\n selector: 'app-checkups-adicionar',\n templateUrl: './checkups-adicionar.html',\n styleUrls: ['./checkups-adicionar.scss']\n})\nexport class CheckupsAdicionar implements OnInit {\n\n public loadingListaAvaliadores: boolean = false;\n public loadingListaClientes: boolean = false;\n public listaAvaliadores: any[] = [];\n public listaClientes: any[] = [];\n public listaClientesGrupo: any[] = [];\n public loadingObterCheckup: boolean = false;\n public loadingSalvar: boolean = false;\n public showDateTimeFields: boolean = false;\n public urlCodeHash: string = '';\n public IDRes: number = 0;\n public dataForm = new FormGroup({\n Presencial: new FormControl(''),\n AvaliadorID: new FormControl(''),\n Tipo: new FormControl(''),\n GrupoID: new FormControl(''),\n ClienteID: new FormControl(''),\n TipoLaudo: new FormControl(''),\n DataAgendamento: new FormControl(''),\n HoraAgendamento: new FormControl(''),\n Observacoes: new FormControl(''),\n BloquearEmissaoLaudo: new FormControl(''),\n });\n public dataFormEdit = new FormGroup({\n ID: new FormControl(0),\n ClienteID: new FormControl(0),\n Cliente: new FormControl(null),\n AvaliadorID: new FormControl(0),\n Avaliador: new FormControl(null),\n DataConsulta: new FormControl(''),\n Situacao: new FormControl(0),\n Tipo: new FormControl(0),\n TipoLaudo: new FormControl(0),\n BloquearEmissaoLaudo: new FormControl(false),\n Presencial: new FormControl(false),\n DataAgendamento: new FormControl(null),\n HoraAgendamento: new FormControl(null),\n DataFimBloqueio: new FormControl(null),\n Observacoes: new FormControl(''),\n ChaveGrupo: new FormControl(null),\n GrupoID:new FormControl(null),\n Grupo:new FormControl(null),\n CupomID:new FormControl(null),\n Cupom:new FormControl(null),\n Anamnese:new FormControl(null),\n Avaliacao:new FormControl(null),\n IdentificadorHash: new FormControl(''),\n UsuarioInclusao: new FormControl(''),\n DataInclusao: new FormControl(''),\n UsuarioAlteracao: new FormControl(''),\n DataAlteracao: new FormControl(''),\n \n });\n\n public selectedClienteID: number = 0;\n\n public listaTipoCheckup = [\n {\n ID: 1,\n Descricao: 'Individual'\n },\n {\n ID: 2,\n Descricao: 'Grupo'\n }\n ];\n\n constructor(private professorService: ProfessorService, private toastr: ToastrService, private router: Router, private anamneseService: AnamneseService) { }\n\n ngOnInit(): void {\n this.onListarAvaliadores();\n this.onListarClientes();\n this.onListarGrupos();\n\n // obtem o codigo da url http://localhost:4200/dashboard/acesso-avaliador/checkups/alterar/c1ed506c-d115-4ac4-8a87-d212bca0ee1c\n this.urlCodeHash = this.router.url.split('/').pop();\n if (this.urlCodeHash) {\n this.onObterCheckup();\n }\n }\n\n onListarAvaliadores() {\n this.loadingListaAvaliadores = true;\n this.professorService.getObterListaAvaliadores().subscribe({\n next: (res: any) => {\n this.listaAvaliadores = res;\n this.loadingListaAvaliadores = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao buscar os avaliadores');\n this.loadingListaAvaliadores = false;\n }\n });\n }\n\n trackByClienteID(index: number, cliente: any): number {\n return cliente.ID;\n }\n \n onAvaliadorChange(event) {\n this.dataForm.controls['AvaliadorID'].setValue(event.target.value);\n }\n\n onListarClientes() {\n this.loadingListaClientes = true;\n this.professorService.getObterListaClientesSelect().subscribe({\n next: (res: any) => {\n this.listaClientes = res;\n this.loadingListaClientes = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao buscar os clientes');\n this.loadingListaClientes = false;\n }\n });\n }\n\n onListarGrupos() {\n this.professorService.getObterListaClientesGrupoSelect().subscribe({\n next: (res: any) => {\n this.listaClientesGrupo = res;\n },\n error: (erro: any) => {\n // this.toastr.error(erro?.error?.Message,'Erro ao buscar os grupos');\n }\n });\n }\n\n toggleDateTimeFields(isPresencial: boolean) {\n this.showDateTimeFields = isPresencial;\n }\n\n onObterCheckup() {\n this.loadingObterCheckup = true;\n this.professorService.getObterCheckup(this.urlCodeHash).subscribe({\n next: (res: any) => {\n this.IDRes = res?.ID;\n \n this.dataFormEdit = new FormGroup({\n ID: new FormControl(res?.ID),\n ClienteID: new FormControl(res?.ClienteID),\n Cliente: new FormControl(res?.Cliente),\n AvaliadorID: new FormControl(res?.AvaliadorID),\n Avaliador: new FormControl(res?.Avaliador),\n //dia de hoje\n DataConsulta: new FormControl(DateTime.now().toISO()),\n Situacao: new FormControl(res?.Situacao),\n Tipo: new FormControl(res?.Tipo),\n TipoLaudo: new FormControl(res?.TipoLaudo),\n BloquearEmissaoLaudo: new FormControl(res?.BloquearEmissaoLaudo),\n Presencial: new FormControl(res?.Presencial),\n DataAgendamento: new FormControl(res?.DataAgendamento),\n HoraAgendamento: new FormControl(res?.HoraAgendamento),\n DataFimBloqueio: new FormControl(res?.DataFimBloqueio),\n Observacoes: new FormControl(res?.Observacoes),\n ChaveGrupo: new FormControl(res?.ChaveGrupo),\n GrupoID: new FormControl(res?.GrupoID),\n Grupo: new FormControl(res?.Grupo),\n CupomID: new FormControl(res?.CupomID),\n Cupom: new FormControl(res?.Cupom),\n Anamnese: new FormControl(res?.Anamnese),\n Avaliacao: new FormControl(res?.Avaliacao),\n IdentificadorHash: new FormControl(res?.IdentificadorHash),\n UsuarioInclusao: new FormControl(res?.UsuarioInclusao),\n DataInclusao: new FormControl(res?.DataInclusao),\n UsuarioAlteracao: new FormControl(res?.UsuarioAlteracao),\n DataAlteracao: new FormControl(res?.DataAlteracao),\n });\n this.dataForm = new FormGroup({\n ClienteID: new FormControl(res?.ClienteID),\n AvaliadorID: new FormControl(res?.AvaliadorID),\n Tipo: new FormControl(res?.Tipo),\n GrupoID: new FormControl(res?.GrupoID),\n Presencial: new FormControl(res?.Presencial),\n BloquearEmissaoLaudo: new FormControl(res?.BloquearEmissaoLaudo),\n DataAgendamento: new FormControl(res?.DataAgendamento),\n HoraAgendamento: new FormControl(res?.HoraAgendamento),\n Observacoes: new FormControl(res?.Observacoes),\n TipoLaudo: new FormControl(res?.TipoLaudo),\n });\n\n this.toggleDateTimeFields(res?.Presencial);\n this.loadingObterCheckup = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao buscar o checkup');\n this.loadingObterCheckup = false;\n }\n });\n }\n\n onSalvar() {\n \n this.loadingSalvar = true;\n if (this.urlCodeHash !== 'adicionar') {\n \n let dataedit = {\n ...this.dataFormEdit.value,\n ID: this.IDRes,\n AvaliadorID: this.dataForm.controls['AvaliadorID'].value,\n ClienteID: this.dataForm.controls['ClienteID'].value || 0,\n Tipo: this.dataForm.controls['Tipo'].value,\n GrupoID: this.dataForm.controls['GrupoID'].value,\n Presencial: this.dataForm.controls['Presencial'].value,\n BloquearEmissaoLaudo: this.dataForm.controls['BloquearEmissaoLaudo'].value,\n DataAgendamento: this.dataForm.controls['DataAgendamento'].value,\n TipoLaudo: this.dataForm.controls['TipoLaudo'].value,\n Observacoes: this.dataForm.controls['Observacoes'].value,\n DataAlteracao: DateTime.now().toISO(),\n DataConsulta: DateTime.now().toISO(),\n DataInclusao: DateTime.now().toISO(),\n };\n this.professorService.putIncluirCheckup(dataedit).subscribe({\n next: (res: any) => {\n this.toastr.success('Dados salvos com sucesso');\n this.router.navigate(['/dashboard/acesso-avaliador/checkups']);\n this.loadingSalvar = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao salvar os dados');\n this.loadingSalvar = false;\n }\n });\n return\n }\n let data = {\n ...this.dataForm.value,\n ClienteID: this.dataForm.controls['ClienteID'].value || 0,\n }\n this.professorService.postIncluirCheckup(data).subscribe({\n next: (res: any) => {\n this.toastr.success('Dados salvos com sucesso');\n this.router.navigate(['/dashboard/acesso-avaliador/checkups']);\n this.loadingSalvar = false;\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message, 'Erro ao salvar os dados');\n this.loadingSalvar = false;\n }\n });\n }\n\n onSair() {\n window.history.back();\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n}\n","
    \n
    \n
    \n
    \n
    \n CHECK-UPS\n
    \n \n
    \n
    \n
    \n\n
    \n \n Filtrar CHECK-UPS\n \n\n
    \n
    \n
    \n Cliente\n\n \n
    \n\n
    \n Avaliador\n\n \n
    \n
    \n Protocolo\n\n \n
    \n\n
    \n\n
    \n Data de cadastro\n \n
    \n\n
    \n Situação\n \n \n {{ option.descricao }}\n \n \n
    \n
    \n\n
    \n \n {{\n loadingListaPacientes\n ? 'Carregando...'\n : 'Pesquisar'\n }}\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n Ações\n
    \n Para ativar alguma ação, selecione algum paciente.\n
    \n
    \n
    \n \n Novo\n \n
    \n
    \n 1\n \"\n type=\"button\"\n >\n Alterar\n \n
    \n
    \n \n Gerar Todos CHECK-UPS\n \n
    \n
    \n
    \n
    \n\n \n \n CHECK-UPS Cadastrados\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 Protocolo\n \n Avaliador\n \n Cliente\n \n Situação\n \n Data de Cadastro\n
    \n Nenhum Checkup encontrado, por favor insira um\n filtro.\n
    \n \n {{ paciente.Protocolo }}{{ paciente.Avaliador }}{{ paciente.Cliente }}\n {{\n paciente.Situacao === 0\n ? 'Em andamento'\n : paciente.Situacao === 1\n ? 'Finalizado'\n : paciente.Situacao === 2\n ? 'Cancelado'\n : 'Bloqueado'\n }}\n {{ formatDate(paciente.Data) }}
    \n \n Loading...\n \n
    \n
    \n
    \n
    \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-checkups',\n templateUrl: './checkups.component.html',\n styleUrls: ['./checkups.component.scss']\n})\nexport class CheckupsComponent {\n public listaPacientes: any;\n public nenhumUsuarioEncontrado: boolean = true;\n public pacientesSelecionados: number[] = [];\n public loadingListaPacientes: boolean = false;\n public opcoesSituacao = [\n { value: '', descricao: 'Selecione...' },\n { value: '0', descricao: 'Em andamento' },\n { value: '1', descricao: 'Finalizado' },\n { value: '2', descricao: 'Cancelado' },\n { value: '3', descricao: 'Bloqueado' } \n ];\n \n public dataPesquisa: any = {\n Avaliador: '', \n Cliente: '', \n DataCadastro: '', \n Protocolo: '',\n Situacao: '' \n };\n\n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n ) {}\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n\n getListaPacientes(): void {\n this.loadingListaPacientes = true;\n this.professorService.postConsultarCheckup(this.dataPesquisa).subscribe({\n next: (response) => {\n this.listaPacientes = response;\n this.nenhumUsuarioEncontrado = this.listaPacientes.length === 0;\n this.loadingListaPacientes = false;\n\n setTimeout(() => {\n this.scrollToElementById('listaPacientes');\n }, 1000);\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar pacientes, contate o suporte')\n }\n\n this.loadingListaPacientes = false;\n }\n });\n }\n\nselectAll(event: any): void {\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach((checkbox: any) => {\n checkbox.checked = event.target.checked;\n });\n this.pacientesSelecionados = event.target.checked ? this.listaPacientes.map(item => item.ID) : [];\n}\n\nnovoCheckup(): void {\n window.location.href = `/dashboard/acesso-avaliador/checkups/adicionar`;\n}\n\nscrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n\n}\n\nalterarCheckup(): void {\n if (this.pacientesSelecionados.length !== 1) {\n this.toastr.warning('Selecione um paciente para alterar um checkup');\n return;\n }\n window.location.href = `/dashboard/acesso-avaliador/checkups/alterar/${this.pacientesSelecionados[0]}`;\n}\n \n\nselecionarPaciente(pacienteId: number): void {\n const index = this.pacientesSelecionados.indexOf(pacienteId);\n if (index === -1) {\n this.pacientesSelecionados.push(pacienteId);\n } else {\n this.pacientesSelecionados.splice(index, 1);\n }\n}\n\nformatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n}\n\n}\n","
    \n
    \n
    \n
    \n
    Cupons
    \n \n
    \n
    \n
    \n\n \n Cadastrar Cupom\n \n\n
    \n
    \n
    \n \n Informações do Cupom\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 Produtos\n \n
    \n\n
    \n
    \n\n
    \n
    \n \n \n Adicionar\n \n \n\n
    \n \n \n \n Produto\n Valor Original\n Desconto\n Valor Final\n \n \n \n \n \n {{ produto?.Produto?.Nome }}\n \n \n R$\n {{\n produto?.Produto?.Valor\n }}\n \n \n R$ {{ produto?.Desconto }}\n \n \n R$ {{ produto?.ValorFinal }}\n \n \n \n Remover\n \n \n \n \n \n
    \n\n \n \n Voltar\n \n\n \n {{\n loadingSalvarCupom\n ? 'Salvando...'\n : 'Salvar'\n }}\n \n \n \n \n \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport { Router } from '@angular/router';\nimport {CupomService} from \"@services/dashboard/cupom/cupom.service\";\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-adicionar-cupom',\n templateUrl: './adicionar-cupom.component.html',\n styleUrls: ['./adicionar-cupom.component.scss']\n})\nexport class AdicionarCupomComponent implements OnInit {\n public formGroupCupom: FormGroup\n public loadingSalvarCupom: boolean = false\n public ativos = []\n public avaliadores = []\n public ItensLista = []\n public cuponsCadastrados = []\n opcoesDiasCheckup = [{\n value: 7, label: '7 Dias'\n }, {\n value: 15, label: '15 Dias'\n }, {\n value: 30, label: '30 Dias'\n }, {\n value: 60, label: '60 Dias'\n }, {\n value: 90, label: '90 Dias'\n }, {\n value: 120, label: '120 Dias'\n }, {\n value: 0, label: 'Sem prazo'\n },]\n\n constructor(private cupomService: CupomService, private toastr: ToastrService, private router: Router) {\n }\n\n ngOnInit() {\n this.formGroupCupom = new FormGroup({\n Descricao: new FormControl({value: '', disabled: false}, [Validators.required]),\n Codigo: new FormControl({value: '', disabled: false}, [Validators.required]),\n Quantidade: new FormControl({value: 0, disabled: false}, [Validators.required]),\n AvaliadorID: new FormControl({value: '', disabled: false}, [Validators.required]),\n DiasProdutoCheckup: new FormControl({value: '', disabled: false}, [Validators.required]),\n Vencimento: new FormControl({value: new Date(), disabled: false}, [Validators.required]),\n TornarAvaliador: new FormControl({value: false, disabled: false}, [Validators.required]),\n Ativo: new FormControl({value: false, disabled: false}, [Validators.required]),\n BloquearLaudo: new FormControl({value: false, disabled: false}, [Validators.required]),\n Produto: new FormControl({value: '', disabled: false}, [Validators.required]),\n Itens: new FormControl({value: [], disabled: false}, [Validators.required]),\n Desconto: new FormControl({value: 0, disabled: false}, [Validators.required]),\n })\n\n this.cupomService.listarAtivos().subscribe({\n next: response => {\n this.ativos = response as []\n }\n })\n this.cupomService.listaAvaliadores().subscribe({\n next: response => {\n this.avaliadores = response as []\n }\n })\n }\n\n onSalvar() {\n\n const body = {\n ...this.formGroupCupom.value,\n\n }\n \n\n this.loadingSalvarCupom = true\n this.cupomService.salvarCupom(body).subscribe({\n next: response => {\n this.loadingSalvarCupom = false\n this.toastr.success('Cupom salvo com sucesso')\n this.router.navigate(['/dashboard/acesso-avaliador/cupons'])\n \n },\n error: err => {\n this.loadingSalvarCupom = false\n this.toastr.error('Erro ao salvar cupom')\n }\n })\n }\n\n onVoltar() {\n this.router.navigate(['/dashboard/acesso-avaliador/cupons'])\n }\n\n onRemover(item) {\n this.formGroupCupom.get('Itens').setValue(this.formGroupCupom.get('Itens').value.filter(i => i !== item))\n this.ItensLista = this.ItensLista.filter(i => i !== item)\n }\n\n onAdicionar() {\n const produto = this.ativos.find(ativo => ativo?.ID == this.formGroupCupom.get('Produto').value)\n\n this.formGroupCupom.get('Itens').setValue([...this.formGroupCupom.get('Itens').value, {\n ID: 0,\n ValorProduto: produto.Valor,\n Desconto: this.formGroupCupom.get('Desconto').value,\n ValorFinal: produto.Valor - this.formGroupCupom.get('Desconto').value,\n Produto: produto,\n ProdutoID: produto?.ID,\n Cupom: null\n }])\n\n this?.ItensLista.push({\n ID: 0,\n ValorProduto: produto.Valor,\n Desconto: this.formGroupCupom.get('Desconto').value,\n ValorFinal: produto.Valor - this.formGroupCupom.get('Desconto').value,\n Produto: produto,\n ProdutoID: produto?.ID,\n Cupom: null\n })\n \n }\n}\n","
    \n
    \n
    \n
    \n
    \n Cupons\n
    \n \n
    \n
    \n
    \n\n
    \n \n Filtrar cupons\n \n\n
    \n
    \n
    \n Avaliador\n\n \n
    \n\n
    \n Código\n\n \n
    \n
    \n Descrição\n\n \n
    \n \n
    \n\n
    \n Data de início de cadastro\n\n \n \n
    \n\n
    \n Data final de cadastro\n\n \n
    \n\n
    \n Situação\n\n \n \n\n \n \n \n
    \n\n
    \n\n
    \n \n {{ loadingCupons ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n Ações\n
    \n Para ativar alguma ação, selecione algum paciente.\n
    \n
    \n
    \n \n Novo\n \n
    \n
    \n \n Alterar\n \n
    \n
    \n
    \n
    \n\n \n \n Cupons Cadastrados\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n 0 && !loadingCupons\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n Avaliador\n \n Código\n \n Descrição\n \n Ativo\n \n Cadastro\n \n Vencimento\n \n Registrados\n
    \n Nenhum cupom encontrado\n
    \n \n {{ cupom.NomeAvaliador }}{{ cupom.Codigo }}{{ cupom.Descricao }}{{ cupom.Ativo ? 'Sim' : 'Não' }}{{ formatDate(cupom.Cadastro) }}{{ formatDate(cupom.Vencimento) }}{{ cupom.Registrados }}
    \n \n Loading...\n \n
    \n
    \n
    \n
    \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup} from \"@angular/forms\";\nimport {CupomService} from \"@services/dashboard/cupom/cupom.service\";\nimport {DateTime} from 'luxon';\nimport {Router} from \"@angular/router\";\n\n\n@Component({\n selector: 'app-cupons', templateUrl: './cupons.component.html', styleUrls: ['./cupons.component.scss']\n})\nexport class CuponsComponent implements OnInit {\n public formGroupCupom: FormGroup\n public cupons = []\n public loadingCupons = false\n public cupomSelecionado\n public ontem = DateTime.local().minus({days: 1}).toISODate()\n\n\n constructor(private cupomService: CupomService, private router: Router,) {\n }\n\n ngOnInit() {\n\n this.formGroupCupom = new FormGroup({\n NomeAvaliador: new FormControl({value: '', disabled: false}),\n Codigo: new FormControl({value: '', disabled: false}),\n Descricao: new FormControl({value: '', disabled: false}),\n DataInicio: new FormControl({value: this?.ontem, disabled: false}),\n DataFim: new FormControl({value: '', disabled: false}),\n Situacao: new FormControl({value: '', disabled: false}),\n })\n\n this.atualizarListaCupons()\n }\n\n atualizarListaCupons() {\n this.loadingCupons = true\n const params = this.formGroupCupom.getRawValue()\n params.Codigo = params.Codigo ? params.Codigo : undefined\n params.Descricao = params.Descricao ? params.Descricao : undefined\n params.Situacao = params.Situacao === '' ? undefined : params.Situacao\n params.NomeAvaliador = params.NomeAvaliador ? params.NomeAvaliador : undefined\n\n const classeContexto = this\n this.cupomService.getTodosCupons(params).subscribe({\n next(response) {\n classeContexto.cupons = response as []\n classeContexto.loadingCupons = false\n setTimeout(() => {\n classeContexto.scrollToElementById('listaPacientes');\n }, 1000);\n }, error() {\n classeContexto.loadingCupons = false\n }\n })\n }\n\n scrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n \n }\n selecionarCupom(cupom) {\n this.cupomSelecionado = cupom\n }\n\n novoCupom() {\n this.router.navigate(['/dashboard/acesso-avaliador/cupons/adicionar'])\n }\n\n\n alterarCupom() {\n this.router.navigate([`/dashboard/acesso-avaliador/cupons/alterar`, this.cupomSelecionado?.IdentificadorHash])\n\n }\n\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n}\n","
    \n
    \n
    \n
    \n
    Cupons
    \n \n
    \n
    \n
    \n\n \n Alterar Cupom\n \n\n
    \n
    \n
    \n \n Informações do Cupom\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 Produtos\n \n
    \n\n
    \n
    \n\n
    \n
    \n \n \n Adicionar\n \n \n\n
    \n \n \n \n Produto\n Valor Original\n Desconto\n Valor Final\n \n \n \n \n \n {{ produto?.Produto?.Nome }}\n \n \n R$\n {{\n produto?.Produto?.Valor\n }}\n \n \n R$ {{ produto?.Desconto }}\n \n \n R$ {{ produto?.ValorFinal }}\n \n \n \n Remover\n \n \n \n \n \n
    \n\n \n \n Voltar\n \n\n \n {{\n loadingSalvarCupom\n ? 'Salvando...'\n : 'Salvar'\n }}\n \n \n \n \n \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport { Router } from '@angular/router';\nimport {CupomService} from \"@services/dashboard/cupom/cupom.service\";\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-editar-cupom',\n templateUrl: './editar-cupom.component.html',\n styleUrls: ['./editar-cupom.component.scss']\n})\nexport class EditarCupomComponent implements OnInit {\n public formGroupCupom: FormGroup\n public loadingSalvarCupom: boolean = false\n public ativos = []\n public avaliadores = []\n public ItensLista = []\n public urlSafe = ''\n public cuponsCadastrados = []\n opcoesDiasCheckup = [{\n value: 7, label: '7 Dias'\n }, {\n value: 15, label: '15 Dias'\n }, {\n value: 30, label: '30 Dias'\n }, {\n value: 60, label: '60 Dias'\n }, {\n value: 90, label: '90 Dias'\n }, {\n value: 120, label: '120 Dias'\n }, {\n value: 0, label: 'Sem prazo'\n },]\n\n constructor(private cupomService: CupomService, private toastr: ToastrService, private router: Router) {\n }\n\n ngOnInit() {\n this.formGroupCupom = new FormGroup({\n Descricao: new FormControl({value: '', disabled: false}, [Validators.required]),\n Codigo: new FormControl({value: '', disabled: false}, [Validators.required]),\n Quantidade: new FormControl({value: 0, disabled: false}, [Validators.required]),\n AvaliadorID: new FormControl({value: '', disabled: false}, [Validators.required]),\n DiasProdutoCheckup: new FormControl({value: '', disabled: false}, [Validators.required]),\n Vencimento: new FormControl({value: new Date(), disabled: false}, [Validators.required]),\n TornarAvaliador: new FormControl({value: false, disabled: false}, [Validators.required]),\n Ativo: new FormControl({value: false, disabled: false}, [Validators.required]),\n BloquearLaudo: new FormControl({value: false, disabled: false}, [Validators.required]),\n Produto: new FormControl({value: '', disabled: false}, [Validators.required]),\n Itens: new FormControl({value: [], disabled: false}, [Validators.required]),\n Desconto: new FormControl({value: 0, disabled: false}, [Validators.required]),\n url: new FormControl({value: '', disabled: true}, [Validators.required]),\n ID: new FormControl({value: '', disabled: false}, [Validators.required]),\n })\n\n this.cupomService.listarAtivos().subscribe({\n next: response => {\n this.ativos = response as []\n }\n })\n\n this.cupomService.getCupomByHash(this.router.url.split('/')[5]).subscribe({\n next: response => {\n //tipagem do response\n const cupom = {\n ID: response['ID'],\n Ativo: response['Ativo'],\n Avaliador: null,\n AvaliadorID: response['AvaliadorID'],\n BloquearLaudo: response['BloquearLaudo'],\n Checkups: response['Checkups'],\n Codigo: response['Codigo'],\n DataAlteracao: response['DataAlteracao'],\n DataInclusao: response['DataInclusao'],\n Descricao: response['Descricao'],\n DiasProdutoCheckup: response['DiasProdutoCheckup'],\n Grupo: null,\n GrupoID: null,\n IdentificadorHash: response['IdentificadorHash'],\n Itens: response['Itens'],\n Quantidade: response['Quantidade'],\n TornarAvaliador: response['TornarAvaliador'],\n URL: response['URL'],\n UsuarioAlteracao: response['UsuarioAlteracao'],\n UsuarioInclusao: response['UsuarioInclusao'],\n Vencimento: response['Vencimento']\n }\n this.urlSafe = window.location.origin;\n \n this.formGroupCupom.get('ID').setValue(cupom?.ID)\n this.formGroupCupom.get('Descricao').setValue(cupom?.Descricao)\n this.formGroupCupom.get('Codigo').setValue(cupom?.Codigo)\n this.formGroupCupom.get('Quantidade').setValue(cupom?.Quantidade)\n this.formGroupCupom.get('url').setValue(this.urlSafe + '/cupom/promocao/' + cupom?.Codigo)\n this.formGroupCupom.get('AvaliadorID').setValue(cupom?.AvaliadorID)\n this.formGroupCupom.get('DiasProdutoCheckup').setValue(cupom?.DiasProdutoCheckup)\n this.formGroupCupom.get('Vencimento').setValue(this.onTransformaDateTimeEmData(cupom?.Vencimento))\n this.formGroupCupom.get('TornarAvaliador').setValue(cupom?.TornarAvaliador)\n this.formGroupCupom.get('Ativo').setValue(cupom?.Ativo)\n this.formGroupCupom.get('BloquearLaudo').setValue(cupom?.BloquearLaudo)\n this.formGroupCupom.get('Produto').setValue(cupom?.Itens[0]?.ProdutoID)\n this.formGroupCupom.get('Itens').setValue(cupom?.Itens)\n this.ItensLista = cupom?.Itens\n this.formGroupCupom.get('Desconto').setValue(cupom?.Itens[0]?.Desconto)\n \n }\n \n })\n\n\n this.cupomService.listaAvaliadores().subscribe({\n next: response => {\n this.avaliadores = response as []\n }\n })\n }\n\n onTransformaDateTimeEmData(data: string): string {\n // Converte a string para um objeto Date\n const dataFormatada = new Date(data);\n \n // Formata a data para \"YYYY-MM-DD\" e retorna\n const dataSomente = dataFormatada.toISOString().slice(0, 10);\n \n console.log(dataSomente);\n return dataSomente;\n }\n \n\n onSalvar() {\n\n const body = {\n ...this.formGroupCupom.value,\n\n }\n \n\n this.loadingSalvarCupom = true\n this.cupomService.salvarCupom(body).subscribe({\n next: response => {\n this.loadingSalvarCupom = false\n this.toastr.success('Cupom salvo com sucesso')\n this.router.navigate(['/dashboard/acesso-avaliador/cupons'])\n \n },\n error: err => {\n this.loadingSalvarCupom = false\n this.toastr.error('Erro ao salvar cupom')\n }\n })\n }\n\n onVoltar() {\n this.router.navigate(['/dashboard/acesso-avaliador/cupons'])\n }\n\n onRemover(item) {\n this.formGroupCupom.get('Itens').setValue(this.formGroupCupom.get('Itens').value.filter(i => i !== item))\n this.ItensLista = this.ItensLista.filter(i => i !== item)\n }\n\n onAdicionar() {\n const produto = this.ativos.find(ativo => ativo?.ID == this.formGroupCupom.get('Produto').value)\n\n this.formGroupCupom.get('Itens').setValue([...this.formGroupCupom.get('Itens').value, {\n ID: 0,\n ValorProduto: produto.Valor,\n Desconto: this.formGroupCupom.get('Desconto').value,\n ValorFinal: produto.Valor - this.formGroupCupom.get('Desconto').value,\n Produto: produto,\n ProdutoID: produto?.ID,\n Cupom: null\n }])\n\n this?.ItensLista.push({\n ID: 0,\n ValorProduto: produto.Valor,\n Desconto: this.formGroupCupom.get('Desconto').value,\n ValorFinal: produto.Valor - this.formGroupCupom.get('Desconto').value,\n Produto: produto,\n ProdutoID: produto?.ID,\n Cupom: null\n })\n \n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from \"@angular/router\";\n\n@Component({\n selector: 'app-dados-aluno', templateUrl: './dados-aluno.component.html', styleUrls: ['./dados-aluno.component.scss']\n})\nexport class DadosAlunoComponent implements OnInit {\n public usuarioId: number | string\n\n constructor(private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n this.usuarioId = this.route.snapshot.paramMap.get('alunoId')\n\n // Método 2: Usando subscribe para detectar alterações nos parâmetros de rota\n this.route.paramMap.subscribe(params => {\n this.usuarioId = params.get('alunoId');\n });\n }\n}\n","\n","
    \n \n\n
    \n
    \n
    \n
    Meus Clientes
    \n \n
    \n
    \n
    \n\n
    \n \n Meus Clientes: {{ listaClientes.length }}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n #\n \n Cliente\n \n Vínculo\n
    {{ i + 1 }}{{ item.Cliente }}{{ formatDate(item.Data) }}
    \n \n \n Loading...\n
    \n
    \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { AppService } from '@services/app.service';\nimport { CheckupClienteService } from '@services/dashboard/checkup-cliente/checkup-cliente.service';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-meus-clientes',\n templateUrl: './meus-clientes.component.html',\n styleUrls: ['./meus-clientes.component.scss']\n})\nexport class MeusClientesComponent {\n public loadingListaClientes: boolean = false;\n public listaClientes: any[] = []\n\n\n \n\n constructor(private appService: AppService, private professorService: ProfessorService, private toastr: ToastrService,) {\n }\n\n\n ngOnInit(): void {\n const classeContexto = this\n this.loadingListaClientes = true\n this.professorService.getListaClientesProfessor().subscribe((res: any) => {\n this.listaClientes = res\n this.loadingListaClientes = false\n }\n ), (error) => {\n this.toastr.error('Erro ao carregar lista de clientes')\n this.loadingListaClientes = false\n }\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n\n}\n","
    \n
    \n
    \n
    \n
    \n Senhas provisórias\n
    \n \n
    \n
    \n\n \n \n Senhas provisórias de hoje: {{ listaClientes.length }}\n \n\n \n \n \n \n Data\n \n \n Nome\n \n \n E-mail\n \n \n Celular\n \n \n Senha\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ formatDate(item.Data) }}{{ item.Nome }}{{ item.Email }}{{ item.Telefone }}{{ item.Senha }}
    \n Nenhuma senha provisória gerada hoje.\n
    \n \n \n Loading...\n
    \n
    \n
    \n \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-senhas-provisorias',\n templateUrl: './senhas-provisorias.component.html',\n styleUrls: ['./senhas-provisorias.component.scss']\n})\nexport class SenhasProvisoriasComponent {\n public loadingListaClientes: boolean = false;\n public listaClientes: any[] = []\n public nenhumaSenhaEncontrada: boolean = false;\n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n ) {}\n\n\n ngOnInit(): void {\n const classeContexto = this\n this.loadingListaClientes = true\n this.professorService.getListaSenhasProvisorias().subscribe((res: any) => {\n this.listaClientes = res\n this.loadingListaClientes = false\n this.nenhumaSenhaEncontrada = this.listaClientes.length === 0\n }\n ), (error) => {\n this.toastr.error('Erro ao carregar lista de clientes')\n this.loadingListaClientes = false\n }\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n}\n","
    \n \n\n
    \n
    \n
    \n
    Usuários Online
    \n \n
    \n
    \n
    \n\n
    \n \n Usuários Online: {{ listaClientes.length }}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n #\n \n Usuário\n \n Visto há\n
    {{ i + 1 }}{{ item.Usuario }}{{ formatTemp(item.Tempo) }} minutos
    \n \n \n Loading...\n
    \n
    \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { AppService } from '@services/app.service';\nimport { CheckupClienteService } from '@services/dashboard/checkup-cliente/checkup-cliente.service';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-usuarios-onlines',\n templateUrl: './usuarios-onlines.component.html',\n styleUrls: ['./usuarios-onlines.component.scss']\n})\nexport class UsuariosOnlinesComponent {\n public loadingListaClientes: boolean = false;\n public listaClientes: any[] = []\n\n\n \n\n constructor(private appService: AppService, private professorService: ProfessorService, private toastr: ToastrService,) {\n }\n\n\n ngOnInit(): void {\n const classeContexto = this\n this.loadingListaClientes = true\n this.professorService.getListarUsuariosOnlines().subscribe((res: any) => {\n this.listaClientes = res\n this.loadingListaClientes = false\n console.log(this.listaClientes,'listaClientes')\n }\n ), (error) => {\n this.toastr.error('Erro ao carregar lista de usuários online')\n this.loadingListaClientes = false\n }\n }\n\n formatTemp(temp) {\n //recebe 00:03:09.5904659 e retorna 03:09\n return DateTime.fromISO(temp).toFormat('mm')\n }\n\n\n}\n","
    \n
    \n
    \n
    \n
    Dúvidas
    \n \n
    \n
    \n
    \n\n \n 14 Passos de como usar a Plataforma SAFE®\n \n \n \n \n \n

    1 - Como se cadastrar na Plataforma?

    \n
    \n
    \n
    \n \n

    \n - Passo 1: Clique nesse link:\n https://plataformasafe.com.br/cadastro\n

    \n

    \n - Passo2: Preencha os dados e clique em\n cadastrar;\n

    \n

    \n - Passo 3: Verifique no seu celular ou\n e-mail (em spam e lixeira) o código de\n autenticação enviado (sem sair da tela)\n

    \n

    \n - Passo 4: Coloque o código e aperte em\n validar\n

    \n
    \n
    \n
    \n
    \n \n\n \n \n \n

    \n 2 - Para responder o CHECK-UP SAFE® siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Ao validar o código ele entra direto na\n Plataforma, preencha as 10 etapas, aperte em\n enviar no passo 10\n

    \n

    \n - Caso queira entrar depois para responder o\n CHECK-UP clique no link: - Passo 1: Clique\n nesse link:\n https://plataformasafe.com.br\n entre com usuário ou e-mail e a senha que\n você criou\n

    \n

    \n - Responda os 10 passos e aperte em próximo\n e confirmar\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 3 - Para alterar o perfil siga esses passos!\n

    \n \n
    \n
    \n \n

    \n - Passo único: Para alterar o perfil siga\n esses passos! Clique em mudar perfil\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 4 - Para usar o CHECK-UP com seus clientes siga\n esses passos!\n

    \n \n
    \n
    \n \n

    - Passo 1: Copie seu link

    \n

    \n - Passo2: Cole no WhatsApp do seu paciente,\n clique na barra de mensagens e aperte em\n ctrl + V ( ou aperte em colar) envie um\n áudio explicando como responder igual você\n visualizou no passo 1 E 2(crie seu arquivo\n para facilitar o processo)\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 5 - Para visualizar os dados pessoais do cliente\n siga esses passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em cadastro> dados\n pessoais completos\n

    \n

    \n - Passo2: Coloque em nome> digite o nome do\n cliente> aperte em Pesquisar\n

    \n\n

    \n - Passo 3: Marque o quadrado>aperte em\n editar\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 6 - Para ver as respostas do cliente siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em cadastros> Avaliação\n mente\n

    \n

    \n - Passo2: Digite o nome do cliente> aperte\n em pesquisar\n

    \n

    \n - Passo 3: Marque o quadrado> aperte laudo\n completo\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 7 - Para ver seu CHECK-UP ou do paciente siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em cadastros> Avaliação\n mente\n

    \n

    \n - Passo2: Digite o nome do cliente> aperte\n em pesquisar\n

    \n

    \n - Passo 3: Marque o quadrado> aperte laudo\n completo\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 8 - Para preencher os testes físicos siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Para avaliar clique em cadastros>\n Avaliação Física\n

    \n

    \n - Passo2: Digite o nome do cliente> aperte\n em pesquisar\n

    \n

    \n - Passo 3: Marque o quadrado> Preencher\n avaliação\n

    \n

    \n - Passo 4: Preencha as 4 etapas da avaliação\n e gere o laudo; para baixar o laudo volte no\n passo a passo da dúvida 7\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 9 - Para ajustar algum erro no teste físico siga\n esses passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: lique em cadastros> avaliação\n física\n

    \n

    \n - Passo2: Digite o nome do cliente> aperte\n em pesquisar\n

    \n

    \n - Passo 3: Marque o quadrado> aperte em\n devolver avaliação; agora volte e siga o\n passo a passo da dúvida 8!\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 10 - Para fazer o segundo CHECK-UP siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em cadastros> Cadastrar\n nova avaliação\n

    \n

    - Passo2: Aperte em novo

    \n

    \n - Passo 3: Preencha os dados 1: avaliador:\n você, 2: tipo de CHECK-UP: individual, 3:\n cliente: nome do paciente, 4: tipo de laudo:\n completo, 5: Cadastrar e confirme a operação\n

    \n

    \n - Passo 4: ATENÇÃO: Após fazer essa operação\n envie para seu paciente o link:\n https://plataformasafe.com.br\n de acesso para ele entrar na Plataforma com\n o login e senha que ele já tem e preencher o\n CHECK-UP!\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 11 - Para mudar sua senha siga esses passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em esqueci senha\n

    \n

    \n - Passo2: Coloque seu Email e aperte em\n enviar\n

    \n

    \n - Passo 3: Copie a senha e entre no link:\n https://plataformasafe.com.br\n com seu novo acesso\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 12 - Para mudar a senha do seu paciente siga esses\n passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Cadastros> dados pessoais\n completos\n

    \n

    \n - Passo2: Coloque em pesquisa por nome>\n coloque o nome do seu paciente e clique em\n pesquisar;\n

    \n

    \n - Passo 3: Marque o quadrado e clique em\n reenviar senha\n

    \n

    \n - Passo 4: Pegue a senha dele em cadastros>\n reenviar senha do cliente envie a senha no\n whatsapp dele com o link de login\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 13 - Para devolver o CHECK-UP para seu paciente\n ajustar algum erro siga esses passos!\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Clique em cadastros> avaliação\n mente\n

    \n

    \n - Passo2: Digite o nome do cliente> aperte\n em pesquisar;\n

    \n

    \n - Passo 3: Marque o quadrado e aperte em\n devolver anamnese, avise o paciente para\n clicar no link:\n https://plataformasafe.com.br\n e ajustar o erro\n

    \n
    \n
    \n
    \n \n \n\n \n \n \n

    \n 14 - Como você mesmo pode cadastrar seu paciente na\n Plataforma?\n

    \n \n
    \n
    \n \n

    \n - Passo 1: Pegue esses dados da sua aluna:\n Nome completo/ Email/ Ocupação atual/\n Telefone celular/ País/ Gênero/ Data de\n nascimento/ senha entre seis e dez dígitos\n

    \n

    \n - Passo2: Copie e cole na barra de busca do\n seu navegador o seu link de cadastro;\n

    \n

    \n - Passo 3: Clique no link e preencha o\n cadastro com as informações da sua aluna\n

    \n

    \n - Passo 4: Entre na sua Plataforma e clique\n em Relatórios> Código para cadastrar meu\n cliente Copie o código de ativação e volta\n para tela de cadastro para colar\n

    \n

    - Passo 5: Aperte em Validar

    \n

    \n - Passo 6: Solicite que seu paciente entre\n no link:\n https://plataformasafe.com.br\n para responder os questionários (com login e\n a senha que você criou).\n

    \n
    \n
    \n
    \n \n \n \n \n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-duvidas',\n templateUrl: './duvidas.component.html',\n styleUrls: ['./duvidas.component.scss']\n})\nexport class duvidasComponent {\n accordions = Array(14).fill(0); // Cria 14 itens para os accordions\n constructor(\n \n ) {}\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n downloadCheckupdaSaude(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookCheckup.pdf';\n link.download = 'ebookCheckup.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n\n downloadRitual(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookRitualMatinal.pdf';\n link.download = 'ebookRitualMatinalSAFE.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n downloadGuiaPratico(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookGuiaPratico.pdf';\n link.download = 'ebookGuiaPratico.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n downloadGuiaDef(): void {\n //leva para https://chk.eduzz.com/2205028\n window.open('https://chk.eduzz.com/2205028', '_blank');\n }\n\n \n\n \n}\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-ebooks',\n templateUrl: './ebooks.component.html',\n styleUrls: ['./ebooks.component.scss']\n})\nexport class ebooksComponent {\n \n\n constructor(\n \n ) {}\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n downloadCheckupdaSaude(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookCheckup.pdf';\n link.download = 'ebookCheckup.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n\n downloadRitual(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookRitualMatinal.pdf';\n link.download = 'ebookRitualMatinalSAFE.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n downloadGuiaPratico(): void {\n const link = document.createElement('a');\n link.href = '../../../../../assets/arquivos/ebookGuiaPratico.pdf';\n link.download = 'ebookGuiaPratico.pdf';\n link.target = '_blank'; // Abre o arquivo em uma nova aba\n link.click();\n link.remove(); // Remove o elemento do DOM após o download\n }\n\n downloadGuiaDef(): void {\n //leva para https://chk.eduzz.com/2205028\n window.open('https://chk.eduzz.com/2205028', '_blank');\n }\n\n \n\n \n}\n","
    \n
    \n
    \n
    \n
    E-books
    \n \n
    \n
    \n
    \n\n
    \n \n E-books SAFE®\n \n\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n Check-up da Saúde Funcional\n
    \n

    \n Avaliar e melhorar a Saúde Funcional das\n pessoas, que é definida como o bem-estar e\n equilíbrio físico e mental do indivíduo.\n

    \n \n Download\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    Ritual Matinal
    \n

    \n Ritual Matinal, 1% que transformará seu\n estilo de vida.\n

    \n \n Download\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n Guia Definitivo de Prescrição do Treinamento\n de Força para Doenças Reumáticas Autoimunes\n
    \n

    \n Mente & Corpo em equilíbrio.\n

    \n \n \n \n \n \n Download\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n Guia Prático Prescrição
    \n 9 Pilares Método SAFE®\n
    \n

    \n 70 Recomendações Da Saúde Funcional\n Integrativa.\n

    \n\n \n Download\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-graficos-plataforma',\n templateUrl: './graficos-plataforma.component.html',\n styleUrls: ['./graficos-plataforma.component.scss']\n})\nexport class GraficosPlataformaComponent {\n\n}\n","\n\n\n\n\n\n\n","\n/**\n * \n * Login na API da plataforma safe \n * \n */\nexport class LoginModel {\n public email: string = \"\";\n public senha: string = \"\";\n }\n ","import { LoginModel } from '@/models/login.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalBaixarAppComponent } from '@components/dashboard/modais/Modal-BaixarApp/modal-baixar-app.component';\nimport { AppService } from '@services/app.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-loading-login-page',\n templateUrl: './loading-login-page.component.html',\n styleUrls: ['./loading-login-page.component.scss']\n})\nexport class LoadingLoginPage implements OnInit {\n public formLogin: FormGroup;\n public carregandoLogin: boolean = false\n public router = window\n // public mostrarModal: boolean = false;\n\n ngOnInit() {\n const login = new LoginModel()\n this.formLogin = new FormGroup({\n email: new FormControl(login.email, [Validators.required]),\n senha: new FormControl(login.senha, [Validators.required])\n });\n\n/* this.verificarTamanhoDaTela();\n window.addEventListener('resize', () => {\n this.verificarTamanhoDaTela();\n }); */\n }\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService\n ) { }\n\n/* verificarTamanhoDaTela() {\n if (window.innerWidth <= 768) {\n this.mostrarModal = true;\n const modalRef = this.appService.openModal(ModalBaixarAppComponent, {size: 'lg', backdrop: false})\n } else {\n this.mostrarModal = false;\n this.appService.closeModal();\n }\n } */\n\n async onClickLogin() {\n try {\n this.carregandoLogin = true;\n if (this.formLogin.valid) {\n await this.appService.loginByAuth(this.formLogin.value);\n this.carregandoLogin = false;\n } else {\n this.toastr.error('Preencha os campos do formulário corretamente', 'Campos inválidos');\n this.carregandoLogin = false;\n }\n } catch (error) {\n if (error?.error?.error_description.length < 30) {\n this.toastr.error(error?.error?.error_description);\n } else{\n this.toastr.error('Erro ao realizar login, contate o suporte');\n }\n this.carregandoLogin = false;\n }\n this.carregandoLogin = false; // Defina como false, independentemente do resultado\n }\n\n async handleCadastrarClick() {\n //redirecionar para a página de cadastro\n this.router.location.href = ''\n }\n}\n","
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \"\"\n
    \n Loading...\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n

    \n Bem-vindo a Nova Era da SAÚDE FUNCIONAL\n INTEGRATIVA\n

    \n \n Bem vindo a melhor e mais completa\n Plataforma de avaliação de saúde funcional\n integrativa do mundo.\n

    \n \n Você está na Nova Era da Saúde Funcional\n Integrativa com a Plataforma SAFE.\n

    \n
    \n
    \n
    \n \n

    LOGIN

    \n

    \n ENTRE COM SEUS DADOS\n

    \n \n \n \n\n \n
    \n \n \n \n {{\n mostrarSenha\n ? 'visibility_off'\n : 'visibility'\n }}\n \n \n
    \n\n \n Esqueci minha senha?\n
    \n\n \n Carregando\n \n\n \n Entrar\n \n \n Cadastrar\n \n \n \n Acessar gráficos SAFE®\n \n
    \n
    \n
    \n
    \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {AppService} from '@services/app.service';\nimport {LoginModel} from '@/models/login.model';\n\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss']\n})\nexport class LoginPageComponent implements OnInit {\n public formLogin: FormGroup;\n public carregandoLogin: boolean = false;\n public mostrarSenha: boolean = false; // Para alternar visibilidade da senha\n public router = window;\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService\n ) {}\n\n ngOnInit() {\n const login = new LoginModel();\n this.formLogin = new FormGroup({\n email: new FormControl(login.email, [Validators.required]),\n senha: new FormControl(login.senha, [Validators.required])\n });\n }\n\n toggleMostrarSenha() {\n this.mostrarSenha = !this.mostrarSenha;\n }\n\n async onClickLogin() {\n try {\n this.carregandoLogin = true;\n if (this.formLogin.valid) {\n await this.appService.loginByAuth(this.formLogin.value);\n this.carregandoLogin = false;\n } else {\n this.toastr.error(\n 'Preencha os campos do formulário corretamente',\n 'Campos inválidos'\n );\n this.carregandoLogin = false;\n }\n } catch (error) {\n if (error?.error?.error_description.length < 210) {\n this.toastr.error(error?.error?.error_description);\n } else {\n this.toastr.error('Erro ao realizar login, contate o suporte');\n }\n this.carregandoLogin = false;\n }\n this.carregandoLogin = false; // Defina como false, independentemente do resultado\n }\n\n async handleCadastrarClick() {\n this.router.location.href = '';\n }\n}\n","
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \"\"\n
    \n\n
    \n

    \n Bem-vindo a Nova Era da SAÚDE FUNCIONAL INTEGRATIVA\n

    \n

    \n Bem vindo a melhor e mais completa Plataforma de avaliação de saúde funcional integrativa do mundo.\n

    \n

    \n Você está na Nova Era da Saúde Funcional Integrativa com a Plataforma SAFE.\n

    \n\n
    \n
    \n
    \n
    \n

    Recuperar Senha

    \n

    Para recuperar sua senha no SISTEMA SAFE, basta você\n informar seu e-mail que está vinculado ao seu cadastro para receber uma nova senha. Caso\n seu usuário não esteja ativo ou não seja localizado na base de dados, entre em contato\n através do email ise@metodosafe.com.br.

    \n
    \n\n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n","import { LoginModel } from '@/models/login.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AppService } from '@services/app.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-recuperar-senha-page',\n templateUrl: './recuperar-senha-page.component.html',\n styleUrls: ['./recuperar-senha-page.component.scss']\n})\nexport class RecuperarSenhaPageComponent implements OnInit {\n public formRecover: FormGroup;\n public carregandoEnviar: boolean = false\n public submitRecover: boolean = false\n public router = window\n\n ngOnInit() {\n this.formRecover = new FormGroup({\n email: new FormControl('', [Validators.required]),\n });\n this.submitRecover = false\n }\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService\n ) { }\n\n\n async onClickRecover() {\n try {\n this.carregandoEnviar = true;\n const email = this.formRecover.get('email').value;\n if (email?.length < 6) {\n this.toastr.error('E-mail é obrigatório.');\n this.carregandoEnviar = false;\n return;\n }\n await this.appService.recuperarSenha(email);\n this.toastr.success('E-mail enviado com sucesso, verifique sua caixa de entrada e faça o Login.');\n this.submitRecover = true;\n } catch (error) {\n this.toastr.error(error?.error?.Message || 'Erro ao enviar e-mail.');\n }\n this.carregandoEnviar = false;\n }\n\n\n\n async handleVoltarClick() {\n this.router.location.href = '/login'\n }\n}\n","import {DateTime} from 'luxon';\nimport {Component} from '@angular/core';\nimport {ProfessorService} from '@services/dashboard/professor/professor.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-redefinir-senha',\n templateUrl: './redefinir-senha.component.html',\n styleUrls: ['./redefinir-senha.component.scss']\n})\nexport class RedefinirSenhaComponent {\n public loadingRecover: boolean = false;\n public formRecover: FormGroup;\n public mostrarSenha: boolean = false;\n public mostrarConfirmarSenha: boolean = false;\n\n constructor(\n private professorService: ProfessorService,\n private toastr: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n let localUser = localStorage.getItem('user');\n let user = JSON.parse(localUser);\n let id = user?.ID;\n\n this.formRecover = new FormGroup({\n SenhaNova: new FormControl(''),\n ConfirmacaoSenha: new FormControl(''),\n ID: new FormControl(id)\n });\n }\n\n toggleMostrarSenha(): void {\n this.mostrarSenha = !this.mostrarSenha;\n }\n\n toggleMostrarConfirmarSenha(): void {\n this.mostrarConfirmarSenha = !this.mostrarConfirmarSenha;\n }\n\n onClickRecover() {\n this.loadingRecover = true;\n if (\n this.formRecover.value.SenhaNova !==\n this.formRecover.value.ConfirmacaoSenha\n ) {\n this.toastr.error('As senhas não coincidem');\n this.loadingRecover = false;\n return;\n }\n if (this.formRecover.value.SenhaNova.length < 6) {\n this.toastr.error('A senha deve conter no mínimo 6 caracteres');\n this.loadingRecover = false;\n return;\n }\n\n this.professorService\n .postRedefinirSenha(this.formRecover.value)\n .subscribe({\n next: (response) => {\n this.toastr.success('Senha redefinida com sucesso');\n localStorage.setItem('RedefinirSenha', 'false');\n let idPerfil = JSON.parse(localStorage.getItem('user'))\n ?.Perfil?.ID;\n if ([1, 3, 4].includes(idPerfil)) {\n this.router.navigate(['/dashboard/acesso-avaliador']);\n } else {\n this.router.navigate(['/dashboard/acesso-aluno']);\n }\n this.loadingRecover = false;\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error?.error?.Message);\n } else {\n this.toastr.error('Erro ao redefinir senha');\n }\n this.loadingRecover = false;\n }\n });\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n}\n","
    \n
    \n
    \n
    \n
    \n Redefinir Senha\n
    \n \n
    \n
    \n\n \n \n Redefina sua senha\n \n
    \n
    \n

    \n É necessário redefinir sua senha no SISTEMA SAFE. Por\n favor digite uma nova senha.\n

    \n
    \n
    \n
    \n \n
    \n \n Nova Senha\n \n
    \n \n \n \n {{\n mostrarSenha\n ? 'visibility_off'\n : 'visibility'\n }}\n \n \n
    \n
    \n\n
    \n \n Confirmar Senha\n \n
    \n \n \n \n {{\n mostrarConfirmarSenha\n ? 'visibility_off'\n : 'visibility'\n }}\n \n \n
    \n
    \n\n
    \n \n {{\n loadingRecover\n ? 'Carregando...'\n : 'Redefinir Senha'\n }}\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n","
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    CADASTRO

    \n

    \n VOCÊ FOI CONVIDADO PELO AVALIADOR\n

    \n

    \n {{ avaliadorNome }}\n

    \n
    \n
    \n \n Loading...\n
    \n
    \n
    \n \n \n
    \n
    \n \n\n \n
    \n

    \n Enviamos um e-mail para\n {{ formRegister.get('Email').value }}\n com o código de validação.\n

    \n

    \n Após inserir o código clique apenas uma\n vez no botão validar.\n

    \n \n \n\n
    \n
    \n \n Voltar\n \n
    \n
    \n \n {{\n carregandoValida\n ? 'Validando...'\n : 'Validar'\n }}\n \n
    \n
    \n
    \n \n Reenviar código\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {createMask} from '@ngneat/input-mask';\nimport {AppService} from '@services/app.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {split} from '@angular-devkit/core';\n\n@Component({\n selector: 'app-register-page-cupom',\n templateUrl: './register-page-cupom.component.html',\n styleUrls: ['./register-page-cupom.component.scss']\n})\nexport class RegisterPageCupomComponent implements OnInit {\n public formRegister: FormGroup;\n public carregandoLogin: boolean = false;\n public loadingObterDadosConvite: boolean = false;\n public carregandoReenvia: boolean = false;\n public carregandoValida: boolean = false;\n public mostrarSenha: boolean = false;\n public mostrarConfirmarSenha: boolean = false;\n public etapa: number = 1;\n public urlCodeHash: any = '';\n public avaliadorNome: any = '';\n public CodigoPais = [\n {\n label: 'Brasil',\n value: '55'\n },\n {\n label: 'Estados Unidos',\n value: '1'\n },\n {\n label: 'Outro',\n value: '0'\n }\n ];\n public Sexo = [\n {\n label: 'Masculino',\n value: '1'\n },\n {\n label: 'Feminino',\n value: '2'\n }\n ];\n public mascaraTelefone: string = '(99) 99999-9999';\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.formRegister = new FormGroup({\n CodigoPais: new FormControl('', [Validators.required]),\n CodigoCupom: new FormControl('', [Validators.required]),\n AvaliadorID: new FormControl('', [Validators.required]),\n AvaliadorSAFE: new FormControl(true, [Validators.required]),\n CPF: new FormControl('', [Validators.required]),\n Nome: new FormControl('', [Validators.required]),\n Login: new FormControl('', [Validators.required]),\n Email: new FormControl('', [Validators.required]),\n Senha: new FormControl('', [Validators.required]),\n confirmarSenha: new FormControl('', [Validators.required]),\n TelefoneCelular: new FormControl('', [Validators.required]),\n DataNascimento: new FormControl('', [Validators.required]),\n Sexo: new FormControl('', [Validators.required]),\n Ocupacao: new FormControl('', [Validators.required]),\n CodigoSMS: new FormControl('', [Validators.required]),\n SMSEnviado: new FormControl('', [Validators.required]),\n EmailEnviado: new FormControl('', [Validators.required]),\n SMSValidado: new FormControl('', [Validators.required])\n });\n\n // Inicia a máscara do telefone no formato brasileiro\n this.updatePhoneMask('55');\n\n // Monitora alterações no código do país para atualizar a máscara do telefone\n this.formRegister.get('CodigoPais').valueChanges.subscribe((value) => {\n this.updatePhoneMask(value);\n });\n\n const urlSplit = this.router.url.split('/');\n\n if (urlSplit.length > 2) {\n this.urlCodeHash = urlSplit[urlSplit.length - 1];\n if (this.urlCodeHash) {\n this.formRegister.get('CodigoCupom').setValue(this.urlCodeHash);\n this.obterDadosConvite();\n this.formRegister.get('AvaliadorSAFE').setValue(false);\n }\n } else {\n if (this.urlCodeHash) {\n this.formRegister.get('AvaliadorID').setValue('');\n this.obterDadosConvite();\n this.formRegister.get('AvaliadorSAFE').setValue(false);\n }\n }\n }\n\n obterDadosConvite(maxTentativas = 3, tentativaAtual = 1) {\n if (this.urlCodeHash && tentativaAtual <= maxTentativas) {\n this.loadingObterDadosConvite = true;\n this.appService.obterDadosConvite(this.urlCodeHash).subscribe({\n next: (response) => {\n this.avaliadorNome = response;\n this.loadingObterDadosConvite = false;\n },\n error: (error) => {\n if (typeof error?.error?.Message === 'string') {\n this.toastr.error(error?.error?.Message);\n } else {\n this.toastr.error(\n 'Ocorreu um erro ao obter os dados do convite'\n );\n }\n this.loadingObterDadosConvite = false;\n // Tenta novamente após um pequeno intervalo\n setTimeout(() => {\n this.obterDadosConvite(\n maxTentativas,\n tentativaAtual + 1\n );\n }, 1000); // Aguarda 1 segundo antes de tentar novamente\n }\n });\n }\n }\n\n // Método para atualizar a máscara do telefone com base no código do país\n updatePhoneMask(countryCode: string): void {\n // Defina a máscara do telefone com base no código do país\n this.mascaraTelefone = createMask({\n mask:\n countryCode === '55'\n ? '(99) 99999-9999'\n : countryCode === '1'\n ? '(999) 999-9999'\n : '',\n keepStatic: true\n });\n }\n\n onInputChange(event: any) {\n const value = event.target.value;\n const name = event.target.name;\n\n this.formRegister.get(name).setValue(value);\n }\n\n async registerUser() {\n if (\n this.formRegister.get('Nome').value === '' ||\n this.formRegister.get('Nome').value === null\n ) {\n this.toastr.error('Preencha o Nome.');\n return;\n }\n\n if (\n this.formRegister.get('Email').value === '' ||\n this.formRegister.get('Email').value === null\n ) {\n this.toastr.error('Preencha o Email.');\n return;\n }\n if (\n this.formRegister.get('CodigoPais').value === '' ||\n this.formRegister.get('CodigoPais').value === null\n ) {\n this.toastr.error('Selecione o Código do país.');\n return;\n }\n if (\n this.formRegister.get('TelefoneCelular').value === '' ||\n this.formRegister.get('TelefoneCelular').value === null\n ) {\n this.toastr.error('Preencha o Telefone celular.');\n return;\n }\n if (\n this.formRegister.get('DataNascimento').value === '' ||\n this.formRegister.get('DataNascimento').value === null\n ) {\n this.toastr.error('Preencha a Data de nascimento.');\n return;\n }\n if (\n this.formRegister.get('Sexo').value === '' ||\n this.formRegister.get('Sexo').value === null\n ) {\n this.toastr.error('Selecione o Gênero.');\n return;\n }\n if (\n this.formRegister.get('Ocupacao').value === '' ||\n this.formRegister.get('Ocupacao').value === null\n ) {\n this.toastr.error('Preencha a Ocupação.');\n return;\n }\n if (\n this.formRegister.get('Senha').value === '' ||\n this.formRegister.get('Senha').value === null\n ) {\n this.toastr.error('Preencha a Senha.');\n return;\n }\n if (\n this.formRegister.get('confirmarSenha').value === '' ||\n this.formRegister.get('confirmarSenha').value === null\n ) {\n this.toastr.error('Preencha a Confirmação da Senha.');\n return;\n }\n\n let confirmarSenha = this.formRegister.get('confirmarSenha').value;\n const body = {\n AvaliadorID: this.formRegister.get('AvaliadorID').value,\n AvaliadorSAFE: this.formRegister.get('AvaliadorSAFE').value,\n CodigoCupom: this.formRegister.get('CodigoCupom').value,\n CodigoPais: parseInt(this.formRegister.get('CodigoPais').value),\n Etapa1: {\n CPF: this.formRegister.get('CPF').value,\n Nome: this.formRegister.get('Nome').value,\n Login: this.formRegister.get('Login').value,\n Email: this.formRegister.get('Email').value,\n Senha: this.formRegister.get('Senha').value,\n TelefoneCelular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n DataNascimento: this.formRegister.get('DataNascimento').value,\n Sexo: this.formRegister.get('Sexo').value,\n Ocupacao: this.formRegister.get('Ocupacao').value\n },\n Etapa2: {\n CodigoSMS: this.formRegister.get('CodigoSMS').value,\n SMSEnviado: false,\n EmailEnviado: false,\n SMSValidado: false\n }\n };\n\n const errors = [];\n if (!body?.Etapa1?.Nome || body?.Etapa1?.Nome.length < 3) {\n errors.push('Nome deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Email || body?.Etapa1?.Email.length < 3) {\n errors.push('Email deve ter pelo menos 3 caracteres.');\n }\n\n if (\n !body?.Etapa1?.TelefoneCelular ||\n body?.Etapa1?.TelefoneCelular.length < 3\n ) {\n errors.push('Telefone celular deve ter pelo menos 3 caracteres.');\n }\n\n if (\n !body?.Etapa1?.DataNascimento ||\n body?.Etapa1?.DataNascimento.length < 3\n ) {\n errors.push('Data de nascimento deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Ocupacao || body?.Etapa1?.Ocupacao.length < 3) {\n errors.push('Ocupação deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Sexo || body?.Etapa1?.Sexo === '') {\n errors.push('Sexo não pode estar vazio.');\n }\n\n if (!body?.Etapa1?.Senha || body?.Etapa1?.Senha.length < 3) {\n errors.push('Senha deve ter pelo menos 3 caracteres.');\n }\n\n if (body?.Etapa1?.TelefoneCelular.length < 10) {\n this.toastr.error('Telefone inválido.');\n return;\n }\n if (body?.Etapa1?.Senha !== confirmarSenha) {\n this.toastr.error('As senhas não conferem.');\n return;\n }\n if (body?.Etapa1?.Senha.length < 6) {\n this.toastr.error('A senha deve ter no mínimo 6 caracteres.');\n return;\n }\n\n this.carregandoLogin = true;\n try {\n const data = await this.appService.registerUser(body);\n this.formRegister.get('AvaliadorID').setValue(data.AvaliadorID);\n this.toastr.success('Usuário cadastrado com sucesso.');\n //atualiza a etapa par 2\n this.etapa = 2;\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(errorMessageString);\n } else {\n this.toastr.error(errorMessage);\n }\n } catch {\n this.toastr.error(error.error.Message);\n }\n } else {\n this.toastr.error(\n 'Erro ao registrar usuário. Por favor, tente novamente mais tarde.'\n );\n }\n } finally {\n this.carregandoLogin = false;\n }\n }\n\n voltarCadastro() {\n this.etapa = 1;\n this.zerarFormulario();\n }\n\n voltarLogin() {\n this.router.navigate(['/login']);\n }\n\n zerarFormulario() {\n this.formRegister.reset();\n }\n\n async reenviarCodigo() {\n let body = {\n Celular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n Email: this.formRegister.get('Email').value,\n Codigo: '',\n CodigoPais: this.formRegister.get('CodigoPais').value\n };\n this.carregandoReenvia = true;\n try {\n const cod = await this.appService.reenviarCodigo(body);\n this.toastr.success('Código reenviado com sucesso.');\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(errorMessageString);\n } else {\n this.toastr.error(errorMessage);\n }\n } catch {\n this.toastr.error(error.error.Message);\n }\n } else {\n this.toastr.error(\n 'Erro ao reenviar código. Por favor, tente novamente mais tarde.'\n );\n }\n } finally {\n this.carregandoReenvia = false;\n }\n }\n\n onInputChangeSMS(event: any) {\n const value = event.target.value;\n this.formRegister.get('CodigoSMS').setValue(value.slice(0, 6));\n }\n\n toggleMostrarSenha(): void {\n this.mostrarSenha = !this.mostrarSenha;\n }\n\n toggleMostrarConfirmarSenha(): void {\n this.mostrarConfirmarSenha = !this.mostrarConfirmarSenha;\n }\n\n async validarCodigo() {\n const body = {\n AvaliadorID: this.formRegister.get('AvaliadorID').value,\n AvaliadorSAFE: this.formRegister.get('AvaliadorSAFE').value,\n CodigoCupom: this.formRegister.get('CodigoCupom').value,\n CodigoPais: parseInt(this.formRegister.get('CodigoPais').value),\n Etapa1: {\n Nome: this.formRegister.get('Nome').value,\n Login: '',\n Email: this.formRegister.get('Email').value,\n Senha: this.formRegister.get('Senha').value,\n TelefoneCelular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n DataNascimento: this.formRegister.get('DataNascimento').value,\n Sexo: this.formRegister.get('Sexo').value,\n Ocupacao: this.formRegister.get('Ocupacao').value\n },\n Etapa2: {\n CodigoSMS: this.formRegister.get('CodigoSMS').value,\n SMSEnviado: false,\n EmailEnviado: false,\n SMSValidado: false\n },\n NaoValidaSMS: false\n };\n try {\n if (body?.Etapa2?.CodigoSMS.length < 3) {\n this.toastr.error('Preencha o código.');\n return;\n }\n this.carregandoValida = true;\n const cod = await this.appService.validarCodigo(body);\n this.toastr.success('Código validado com sucesso.');\n await this.appService.loginByAuth({\n email: body.Etapa1.Email,\n senha: body.Etapa1.Senha\n });\n this.carregandoValida = false;\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n } else {\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n }\n } catch {\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n }\n } else {\n this.toastr.error(\n 'Erro ao validar código. Por favor, tente novamente mais tarde.'\n );\n }\n this.carregandoValida = false;\n } finally {\n this.carregandoValida = false;\n }\n }\n}\n","
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    CADASTRO

    \n

    \n VOCÊ FOI CONVIDADO PELO AVALIADOR\n

    \n

    \n {{ avaliadorNome }}\n

    \n
    \n
    \n \n Loading...\n
    \n
    \n
    \n \n \n
    \n
    \n \n\n \n
    \n

    \n Enviamos um e-mail para\n {{ formRegister.get('Email').value }}\n com o código de validação.\n

    \n

    \n Após inserir o código clique apenas uma\n vez no botão validar.\n

    \n \n \n\n
    \n
    \n \n Voltar\n \n
    \n
    \n \n {{\n carregandoValida\n ? 'Validando...'\n : 'Validar'\n }}\n \n
    \n
    \n
    \n \n Reenviar código\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n","import {Component, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {createMask} from '@ngneat/input-mask';\nimport {AppService} from '@services/app.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {split} from '@angular-devkit/core';\nimport {formatarDataParaYYYYMMDD} from '@/utils/mascaras';\n\n@Component({\n selector: 'app-register-page',\n templateUrl: './register-page.component.html',\n styleUrls: ['./register-page.component.scss']\n})\nexport class RegisterPageComponent implements OnInit {\n public formRegister: FormGroup;\n public carregandoLogin: boolean = false;\n public loadingObterDadosConvite: boolean = false;\n public carregandoReenvia: boolean = false;\n public carregandoValida: boolean = false;\n public etapa: number = 1;\n public mostrarSenha: boolean = false;\n public mostrarConfirmarSenha: boolean = false;\n public urlCodeHash: any = '';\n public avaliadorNome: any = '';\n public CodigoPais = [\n {\n label: 'Brasil',\n value: '55'\n },\n {\n label: 'Estados Unidos',\n value: '1'\n },\n {\n label: 'Outro',\n value: '0'\n }\n ];\n public Sexo = [\n {\n label: 'Masculino',\n value: '1'\n },\n {\n label: 'Feminino',\n value: '2'\n }\n ];\n public mascaraTelefone: string = '(99) 99999-9999';\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.formRegister = new FormGroup({\n CodigoPais: new FormControl('', [Validators.required]),\n CodigoCupom: new FormControl('', [Validators.required]),\n AvaliadorID: new FormControl('', [Validators.required]),\n AvaliadorSAFE: new FormControl(true, [Validators.required]),\n CPF: new FormControl('', [Validators.required]),\n Nome: new FormControl('', [Validators.required]),\n Login: new FormControl('', [Validators.required]),\n Email: new FormControl('', [Validators.required]),\n Senha: new FormControl('', [Validators.required]),\n confirmarSenha: new FormControl('', [Validators.required]),\n TelefoneCelular: new FormControl('', [Validators.required]),\n DataNascimento: new FormControl('', [Validators.required]),\n Sexo: new FormControl('', [Validators.required]),\n Ocupacao: new FormControl('', [Validators.required]),\n CodigoSMS: new FormControl('', [Validators.required]),\n SMSEnviado: new FormControl('', [Validators.required]),\n EmailEnviado: new FormControl('', [Validators.required]),\n SMSValidado: new FormControl('', [Validators.required])\n });\n\n // Inicia a máscara do telefone no formato brasileiro\n this.updatePhoneMask('55');\n\n // Monitora alterações no código do país para atualizar a máscara do telefone\n this.formRegister.get('CodigoPais').valueChanges.subscribe((value) => {\n this.updatePhoneMask(value);\n });\n\n const urlSplit = this.router.url.split('/');\n\n if (urlSplit.length > 2) {\n this.urlCodeHash = urlSplit[urlSplit.length - 1];\n if (this.urlCodeHash) {\n this.formRegister.get('AvaliadorID').setValue(this.urlCodeHash);\n this.obterDadosConvite();\n this.formRegister.get('AvaliadorSAFE').setValue(false);\n }\n } else {\n if (this.urlCodeHash) {\n this.formRegister.get('AvaliadorID').setValue('');\n this.obterDadosConvite();\n this.formRegister.get('AvaliadorSAFE').setValue(false);\n }\n }\n }\n\n async obterDadosConvite(maxTentativas = 3, tentativaAtual = 1) {\n if (this.urlCodeHash && tentativaAtual <= maxTentativas) {\n this.loadingObterDadosConvite = true;\n this.appService.obterDadosConvite(this.urlCodeHash).subscribe({\n next: (response) => {\n this.avaliadorNome = response;\n this.loadingObterDadosConvite = false;\n },\n error: (error) => {\n if (typeof error?.error?.Message === 'string') {\n this.toastr.error(error?.error?.Message);\n } else {\n this.toastr.error(\n 'Ocorreu um erro ao obter os dados do convite'\n );\n }\n this.loadingObterDadosConvite = false;\n // Tenta novamente após um pequeno intervalo\n setTimeout(() => {\n this.obterDadosConvite(\n maxTentativas,\n tentativaAtual + 1\n );\n }, 1000); // Aguarda 1 segundo antes de tentar novamente\n }\n });\n }\n }\n\n //verifica o email cadastrado\n async verificarEmail() {\n const email = this.formRegister.get('Email').value;\n await this.appService.verificarEmail(email).then((res: any) => {\n //seta ID, Nome, Email, Celular, CodigoAtivacao, Genero, Nascimento, Senha, Cadastro, CodPais, UsuarioID, Usuario, MensagensErro\n if (res) {\n this.formRegister.get('Nome').setValue(res?.Nome);\n this.formRegister.get('AvaliadorID').setValue(res?.UsuarioID);\n this.formRegister.get('TelefoneCelular').setValue(res?.Celular);\n this.formRegister\n .get('DataNascimento')\n .setValue(res?.Nascimento);\n this.formRegister.get('Sexo').setValue(res?.Genero);\n this.formRegister.get('CodigoPais').setValue(res?.CodPais);\n this.formRegister.get('CPF').setValue(res?.CPF);\n this.formRegister.get('Ocupacao').setValue(res?.Ocupacao);\n this.formRegister.get('Senha').setValue(res?.Senha);\n\n //toast\n this.toastr.success(\n 'Pré-cadastro encontrado, insira o código enviado para seu e-mail.'\n );\n this.etapa = 2;\n }\n });\n }\n\n // Método para atualizar a máscara do telefone com base no código do país\n updatePhoneMask(countryCode: string): void {\n // Defina a máscara do telefone com base no código do país\n this.mascaraTelefone = createMask({\n mask:\n countryCode === '55'\n ? '(99) 99999-9999'\n : countryCode === '1'\n ? '(999) 999-9999'\n : '',\n keepStatic: true\n });\n }\n\n onInputChange(event: any) {\n const value = event.target.value;\n const name = event.target.name;\n\n this.formRegister.get(name).setValue(value);\n }\n\n async registerUser() {\n if (\n this.formRegister.get('Nome').value === '' ||\n this.formRegister.get('Nome').value === null\n ) {\n this.toastr.error('Preencha o Nome.');\n return;\n }\n\n if (\n this.formRegister.get('Email').value === '' ||\n this.formRegister.get('Email').value === null\n ) {\n this.toastr.error('Preencha o Email.');\n return;\n }\n if (\n this.formRegister.get('CodigoPais').value === '' ||\n this.formRegister.get('CodigoPais').value === null\n ) {\n this.toastr.error('Selecione o Código do país.');\n return;\n }\n if (\n this.formRegister.get('TelefoneCelular').value === '' ||\n this.formRegister.get('TelefoneCelular').value === null\n ) {\n this.toastr.error('Preencha o Telefone celular.');\n return;\n }\n if (\n this.formRegister.get('DataNascimento').value === '' ||\n this.formRegister.get('DataNascimento').value === null\n ) {\n this.toastr.error('Preencha a Data de nascimento.');\n return;\n }\n if (\n this.formRegister.get('Sexo').value === '' ||\n this.formRegister.get('Sexo').value === null\n ) {\n this.toastr.error('Selecione o Gênero.');\n return;\n }\n if (\n this.formRegister.get('Ocupacao').value === '' ||\n this.formRegister.get('Ocupacao').value === null\n ) {\n this.toastr.error('Preencha a Ocupação.');\n return;\n }\n if (\n this.formRegister.get('Senha').value === '' ||\n this.formRegister.get('Senha').value === null\n ) {\n this.toastr.error('Preencha a Senha.');\n return;\n }\n if (\n this.formRegister.get('confirmarSenha').value === '' ||\n this.formRegister.get('confirmarSenha').value === null\n ) {\n this.toastr.error('Preencha a Confirmação da Senha.');\n return;\n }\n\n let confirmarSenha = this.formRegister.get('confirmarSenha').value;\n const body = {\n AvaliadorID: this.formRegister.get('AvaliadorID').value,\n AvaliadorSAFE: this.formRegister.get('AvaliadorSAFE').value,\n CodigoCupom: this.formRegister.get('CodigoCupom').value,\n CodigoPais: parseInt(this.formRegister.get('CodigoPais').value),\n Etapa1: {\n CPF: this.formRegister.get('CPF').value,\n Nome: this.formRegister.get('Nome').value,\n Login: this.formRegister.get('Login').value,\n Email: this.formRegister.get('Email').value,\n Senha: this.formRegister.get('Senha').value,\n TelefoneCelular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n DataNascimento: formatarDataParaYYYYMMDD(\n this.formRegister.get('DataNascimento').value\n ),\n Sexo: this.formRegister.get('Sexo').value,\n Ocupacao: this.formRegister.get('Ocupacao').value\n },\n Etapa2: {\n CodigoSMS: this.formRegister.get('CodigoSMS').value,\n SMSEnviado: false,\n EmailEnviado: false,\n SMSValidado: false\n }\n };\n\n const errors = [];\n if (!body?.Etapa1?.Nome || body?.Etapa1?.Nome.length < 3) {\n errors.push('Nome deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Email || body?.Etapa1?.Email.length < 3) {\n errors.push('Email deve ter pelo menos 3 caracteres.');\n }\n\n if (\n !body?.Etapa1?.TelefoneCelular ||\n body?.Etapa1?.TelefoneCelular.length < 3\n ) {\n errors.push('Telefone celular deve ter pelo menos 3 caracteres.');\n }\n\n if (\n !body?.Etapa1?.DataNascimento ||\n body?.Etapa1?.DataNascimento.length < 3\n ) {\n errors.push('Data de nascimento deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Ocupacao || body?.Etapa1?.Ocupacao.length < 3) {\n errors.push('Ocupação deve ter pelo menos 3 caracteres.');\n }\n\n if (!body?.Etapa1?.Sexo || body?.Etapa1?.Sexo === '') {\n errors.push('Sexo não pode estar vazio.');\n }\n\n if (!body?.Etapa1?.Senha || body?.Etapa1?.Senha.length < 3) {\n errors.push('Senha deve ter pelo menos 3 caracteres.');\n }\n\n if (body?.Etapa1?.TelefoneCelular.length < 10) {\n this.toastr.error('Telefone inválido.');\n return;\n }\n\n if (body?.Etapa1?.Senha !== confirmarSenha) {\n this.toastr.error('As senhas não conferem.');\n return;\n }\n if (body?.Etapa1?.Senha.length < 6) {\n this.toastr.error('A senha deve ter no mínimo 6 caracteres.');\n return;\n }\n\n this.carregandoLogin = true;\n try {\n const data = await this.appService.registerUser(body);\n this.formRegister.get('AvaliadorID').setValue(data?.AvaliadorID);\n this.toastr.success('Usuário cadastrado com sucesso.');\n //atualiza a etapa par 2\n this.etapa = 2;\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(errorMessageString);\n } else {\n this.toastr.error(errorMessage);\n }\n } catch {\n this.toastr.error(error.error.Message);\n }\n } else {\n this.toastr.error(\n 'Erro ao registrar usuário. Por favor, tente novamente mais tarde.'\n );\n }\n } finally {\n this.carregandoLogin = false;\n }\n }\n\n voltarCadastro() {\n this.etapa = 1;\n this.zerarFormulario();\n }\n\n voltarLogin() {\n this.router.navigate(['/login']);\n }\n\n zerarFormulario() {\n //reseta tudo menos AvaliadorID e AvaliadorSAFE e CodigoCupom e CodigoPais\n this.formRegister.get('CPF').setValue('');\n this.formRegister.get('Nome').setValue('');\n this.formRegister.get('Login').setValue('');\n this.formRegister.get('Email').setValue('');\n this.formRegister.get('Senha').setValue('');\n this.formRegister.get('confirmarSenha').setValue('');\n this.formRegister.get('TelefoneCelular').setValue('');\n this.formRegister.get('DataNascimento').setValue('');\n this.formRegister.get('Sexo').setValue('');\n this.formRegister.get('Ocupacao').setValue('');\n this.formRegister.get('CodigoSMS').setValue('');\n this.formRegister.get('SMSEnviado').setValue('');\n this.formRegister.get('EmailEnviado').setValue('');\n this.formRegister.get('SMSValidado').setValue('');\n }\n\n async reenviarCodigo() {\n let body = {\n Celular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n Email: this.formRegister.get('Email').value,\n Codigo: '',\n CodigoPais: this.formRegister.get('CodigoPais').value\n };\n this.carregandoReenvia = true;\n try {\n const cod = await this.appService.reenviarCodigo(body);\n this.toastr.success('Código reenviado com sucesso.');\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(errorMessageString);\n } else {\n this.toastr.error(errorMessage);\n }\n } catch {\n this.toastr.error(error.error.Message);\n }\n } else {\n this.toastr.error(\n 'Erro ao reenviar código. Por favor, tente novamente mais tarde.'\n );\n }\n } finally {\n this.carregandoReenvia = false;\n }\n }\n\n onInputChangeSMS(event: any) {\n const value = event.target.value;\n this.formRegister.get('CodigoSMS').setValue(value.slice(0, 6));\n }\n\n toggleMostrarSenha(): void {\n this.mostrarSenha = !this.mostrarSenha;\n }\n\n toggleMostrarConfirmarSenha(): void {\n this.mostrarConfirmarSenha = !this.mostrarConfirmarSenha;\n }\n\n async validarCodigo() {\n const body = {\n AvaliadorID: this.formRegister.get('AvaliadorID').value,\n AvaliadorSAFE: this.formRegister.get('AvaliadorSAFE').value,\n CodigoCupom: this.formRegister.get('CodigoCupom').value,\n CodigoPais: parseInt(this.formRegister.get('CodigoPais').value),\n Etapa1: {\n Nome: this.formRegister.get('Nome').value,\n Login: '',\n Email: this.formRegister.get('Email').value,\n Senha: this.formRegister.get('Senha').value,\n TelefoneCelular: this.formRegister\n .get('TelefoneCelular')\n .value.replace(/\\D/g, ''),\n DataNascimento: formatarDataParaYYYYMMDD(\n this.formRegister.get('DataNascimento').value\n ),\n Sexo: this.formRegister.get('Sexo').value,\n Ocupacao: this.formRegister.get('Ocupacao').value\n },\n Etapa2: {\n CodigoSMS: this.formRegister.get('CodigoSMS').value,\n SMSEnviado: false,\n EmailEnviado: false,\n SMSValidado: false\n },\n NaoValidaSMS: false\n };\n try {\n if (body?.Etapa2?.CodigoSMS.length < 3) {\n this.toastr.error('Preencha o código.');\n return;\n }\n this.carregandoValida = true;\n const cod = await this.appService.validarCodigo(body);\n this.toastr.success('Código validado com sucesso.');\n await this.appService.loginByAuth({\n email: body.Etapa1.Email,\n senha: body.Etapa1.Senha\n });\n this.carregandoValida = false;\n } catch (error) {\n if (error?.error?.Message) {\n try {\n const errorMessage = JSON.parse(error.error.Message);\n if (Array.isArray(errorMessage)) {\n let errorMessageString = '';\n errorMessage.forEach((msg: any) => {\n errorMessageString += msg.Mensagem + ' ';\n });\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n } else {\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n }\n } catch {\n this.toastr.error(\n 'Código E-mail não validado, verifique o último código enviado por e-mail'\n );\n }\n } else {\n this.toastr.error(\n 'Erro ao validar código. Por favor, tente novamente mais tarde.'\n );\n }\n this.carregandoValida = false;\n } finally {\n this.carregandoValida = false;\n }\n }\n}\n","import { LoginModel } from '@/models/login.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AppService } from '@services/app.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-token-page',\n templateUrl: './token-page.component.html',\n styleUrls: ['./token-page.component.scss']\n})\nexport class TokenPageComponent implements OnInit {\n public abrirNavbar: boolean = false\n public formToken: FormGroup;\n public carregandoLogin: boolean = false\n public router = window\n\n ngOnInit() {\n const login = new LoginModel()\n this.formToken = new FormGroup({\n email: new FormControl(login.email, [Validators.required]),\n senha: new FormControl(login.senha, [Validators.required])\n });\n\n }\n\n constructor(\n private toastr: ToastrService,\n private appService: AppService\n ) { }\n\n\n async onClickLogin() {\n if (this.formToken.valid) {\n this.carregandoLogin = true;\n try {\n await this.appService.loginByAuth(this.formToken.value);\n // Lógica para redirecionar ou realizar outras ações após o login bem-sucedido\n } catch (error) {\n this.toastr.error('Erro ao fazer login.', 'Erro');\n } finally {\n this.carregandoLogin = false; // Defina como false, independentemente do resultado\n }\n } else {\n this.toastr.error('Preencha os campos do formulário corretamente', 'Campos inválidos');\n }\n }\n\n async handleVoltarClick() {\n //redirecionar para a página de cadastro\n this.router.location.href = '/login'\n }\n}\n","\n\n
    \n \n
    \n
    \n
    \n
    \n
    \n \"\"\n
    \n
    \n
    \n

    LOGIN

    \n

    ENTRE COM OS DADOS FORNECIDOS PELO SEU AVALIADOR

    \n
    \n\n \n \n\n \n \n\n
    \n \n \n Esqueci minha senha?\n
    \n\n \n \n\n\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n","
    \n \n\n
    \n
    \n
    \n
    CADASTRO
    \n \n
    \n
    \n
    \n\n \n Usuários\n \n\n
    \n
    \n \n
    {{ stepper.name }}
    \n
    \n
    \n\n \n
    \n \n Loading...\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 {{ sexo.label }}\n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ rac.label }}\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
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n Sair\n \n \n {{ isLoadingSalvar ? 'Salvando...' :\n 'Salvar' }}\n \n
    \n
    \n \n
    \n
    \n \n\n \n
    \n \n Plano\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n Sair\n \n \n {{ isLoadingSalvar ?\n 'Salvando...' : 'Salvar' }}\n \n
    \n
    \n
    \n
    \n \n
    \n \n \n\n \n
    \n \n Lista de Avaliadores\n \n
    \n
    \n
    \n
    \n \n \n \n \n Avaliador\n \n \n Data\n \n \n \n \n \n \n \n Nenhum Avaliador Encontrado.\n \n \n \n \n \n \n \n \n \n \n Novo Checkup\n \n \n \n \n \n \n \n Loading...\n \n \n \n \n
    \n {{\n avaliador.Avaliador.Nome\n }}\n \n {{ avaliador.Inicio ?\n formatDate(avaliador.Inicio)\n : '' }}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n
    \n \n Lista de CHECK-UPS\n \n
    \n
    \n
    \n
    \n \n \n \n \n #\n \n \n Avaliador\n \n \n Cliente\n \n \n Cadastro\n \n \n Z\n \n \n Laudo\n \n \n \n \n \n \n Nenhum usuário encontrado.\n \n \n \n \n {{ i + 1 }}\n \n {{ checkup.Avaliador }}\n \n \n {{ checkup.Cliente }}\n \n \n {{\n formatDate(checkup.Cadastro)\n }}\n \n {{ checkup.Z }}\n \n \n Laudo\n \n \n \n \n \n \n \n Loading...\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n\n \n
    \n \n Lista de Vidas Cadastradas\n \n
    \n
    \n
    \n
    \n \n \n \n \n #\n \n \n Nome\n \n \n Cadastro\n \n \n \n \n \n \n Nenhum usuário encontrado.\n \n \n \n \n {{ i + 1 }}\n \n {{ clientes.Cliente }}\n \n \n {{\n formatDate(clientes.Data)\n }}\n \n \n \n \n \n \n Loading...\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-usuarios-alterar',\n templateUrl: './usuarios-alterar.html',\n styleUrls: ['./usuarios-alterar.scss']\n})\nexport class UsuariosAlterar {\n public stepperSelected: string = 'Cadastro';\n public steppers = [\n { name: 'Cadastro', isSelected: false },\n { name: 'Plano', isSelected: false },\n { name: 'Avaliadores', isSelected: false },\n { name: 'CHECK-UPS', isSelected: false },\n ];\n\n\n public opcoesSexo = [\n { value: 3, label: 'Não Informar' },\n { value: 1, label: 'Masculino' },\n { value: 2, label: 'Feminino' },\n ];\n\n public opcoesEstadoCivil = [\n { value: 1, label: 'Solteiro(a)' },\n { value: 2, label: 'Casado(a)' },\n { value: 3, label: 'União Estável' },\n { value: 4, label: 'Divorciado(a)' },\n { value: 5, label: 'Viúvo(a)' },\n { value: 6, label: 'Outros' },\n ];\n\n public opcoesRaca = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Caboclo(a)' },\n { value: 2, label: 'Mulato(a)' },\n { value: 3, label: 'Cafuzo(a)' },\n { value: 4, label: 'Branco(a)' },\n { value: 5, label: 'Negro(a)' },\n { value: 6, label: 'Índio(a)' }\n ]\n\n public grauEscolaridade = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Ensino Fundamental' },\n { value: 2, label: 'Ensino Médio' },\n { value: 3, label: 'Ensino Superior' },\n { value: 4, label: 'Pós Graduação' },\n { value: 5, label: 'Doutorado' },\n { value: 6, label: 'Pós Doutorado' }\n ]\n\n public opcoesPerfil = [\n { value: 1, label: 'Administrador Geral' },\n { value: 2, label: 'Cliente' },\n { value: 3, label: 'Avaliador' },\n { value: 4, label: 'Avaliador/Cliente' },\n ]\n\n public opcoesCorrespondencia = [\n { value: true, label: 'Sim' },\n { value: false, label: 'Não' },\n ]\n\n public etapa1Data = new FormGroup({\n ID: new FormControl(''),\n AceitaCorrespondencia: new FormControl(''),\n Ativo: new FormControl(true),\n Nome: new FormControl(''),\n Login: new FormControl(''),\n TelefoneCelular: new FormControl(''),\n Telefone: new FormControl(''),\n Email: new FormControl(''),\n DataNascimento: new FormControl(''),\n Ocupacao: new FormControl(''),\n Sexo: new FormControl(''),\n EstadoCivil: new FormControl(''),\n Raca: new FormControl(''),\n GrauEscolaridade: new FormControl(''),\n CEP: new FormControl(''),\n Cidade: new FormControl(''),\n UFEndereco: new FormControl(''),\n Bairro: new FormControl(''),\n Logradouro: new FormControl(''),\n Numero: new FormControl(''),\n PerfilID: new FormControl(''),\n Complemento: new FormControl(''),\n PlanoID: new FormControl(''),\n IdentificadorHash: new FormControl(''),\n UsuarioInclusao: new FormControl(''),\n PerfilIDPreferencial: new FormControl(''),\n DataInclusao: new FormControl(''),\n UsuarioAlteracao: new FormControl(''),\n DataAlteracao: new FormControl(''),\n Idade: new FormControl(''),\n })\n public etapa2Data: FormGroup\n public etapa3Data: FormGroup\n\n public listaAvaliadores: any;\n public isLoadingSalvar: any;\n public listaCheckupsCliente: any;\n public listaClientesAvaliador: any;\n public listaPlanosAtivos: any;\n public nenhumAvaliadorEncontrado: boolean = false;\n public loadingListaClientesAvaliadores: boolean = false;\n public loadingListaAvaliadores: boolean = false;\n public nenhumCheckupEncontrado: boolean = false;\n public loadingListaCheckups: boolean = false;\n public nenhumClienteEncontrado: boolean = false;\n\n public loadingDadosUsuario: boolean = false;\n\n\n\n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private anamneseService: AnamneseService) {}\n\n ngOnInit(): void {\n\n this.getCheckupsCliente();\n this.getClientesAvaliador();\n this.getDadosUsuario();\n this.getListaPlanosAtivos();\n }\n\n\n //obtem checkups do cliente\n getCheckupsCliente(): void {\n let id = window.location.href.split('/').pop();\n this.professorService.getObterCheckupsUsuario(id).subscribe({\n next: (response) => {\n this.listaCheckupsCliente = response;\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar avaliadores, contate o suporte')\n }\n }\n });\n }\n //obtem lista de clientes avaliador\n getClientesAvaliador(): void {\n let id = window.location.href.split('/').pop();\n this.loadingListaClientesAvaliadores = true;\n this.professorService.getObterListaClientes(id).subscribe({\n next: (response: any) => {\n this.listaClientesAvaliador = response;\n this.loadingListaClientesAvaliadores = false;\n if (response.length === 0) {\n this.nenhumClienteEncontrado = true;\n }\n },\n error: (error) => {\n this.loadingListaClientesAvaliadores = false;\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar clientes, contate o suporte')\n }\n }\n });\n }\n\n //obtem lista de planos ativos\n getListaPlanosAtivos(): void {\n this.professorService.getListaPlanosAtivos().subscribe({\n next: (response) => {\n this.listaPlanosAtivos = response;\n console.log(response);\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar planos ativos, contate o suporte')\n }\n }\n });\n }\n\n //obtem dados do usuario\n getDadosUsuario(): void {\n let id = window.location.href.split('/').pop();\n this.loadingDadosUsuario = true;\n this.professorService.getObterDadosCadastro(id).subscribe({\n next: (response : any) => {\n this.etapa1Data = new FormGroup({\n ID: new FormControl(response.ID),\n AceitaCorrespondencia: new FormControl(response.AceitaCorrespondencia),\n Ativo: new FormControl(response.Ativo),\n Nome: new FormControl(response.Nome),\n Login: new FormControl(response.Login),\n TelefoneCelular: new FormControl(response.TelefoneCelular),\n Telefone: new FormControl(response.Telefone),\n Email: new FormControl(response.Email),\n DataNascimento: new FormControl(DateTime.fromISO(response.DataNascimento).toISODate()),\n Ocupacao: new FormControl(response.Ocupacao),\n Sexo: new FormControl(response.Sexo),\n EstadoCivil: new FormControl(response.EstadoCivil),\n Raca: new FormControl(response.Raca),\n GrauEscolaridade: new FormControl(response.GrauEscolaridade),\n CEP: new FormControl(response.CEP),\n Cidade: new FormControl(response.Cidade),\n UFEndereco: new FormControl(response.UFEndereco),\n Bairro: new FormControl(response.Bairro),\n Logradouro: new FormControl(response.Logradouro),\n Numero: new FormControl(response.Numero),\n PerfilID: new FormControl(response.PerfilID),\n Complemento: new FormControl(response.Complemento),\n PlanoID: new FormControl(response.PlanoID),\n Idade: new FormControl(response.Idade),\n IdentificadorHash: new FormControl(response.IdentificadorHash),\n PerfilIDPreferencial: new FormControl(response.PerfilID),\n UsuarioInclusao: new FormControl(response?.Avaliadores[0]?.Avaliador?.UsuarioInclusao),\n DataInclusao: new FormControl(response?.Avaliadores[0]?.Avaliador?.DataInclusao),\n UsuarioAlteracao: new FormControl(response?.Avaliadores[0]?.Avaliador?.UsuarioAlteracao),\n DataAlteracao: new FormControl(response?.Avaliadores[0]?.Avaliador?.DataAlteracao),\n\n });\n this.listaAvaliadores = response?.Avaliadores;\n if (response?.Avaliadores.length === 0) {\n this.nenhumAvaliadorEncontrado = true;\n }\n if (response.PerfilID !== 2) {\n this.steppers = [\n ...this.steppers,\n { name: 'Vidas Cadastradas', isSelected: false },\n ]\n\n }\n this.loadingDadosUsuario = false;\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar dados do usuário, contate o suporte')\n }\n this.loadingDadosUsuario = false;\n }\n });\n }\n\n\n\n onSelectStepper(stepperSelected: string) {\n this.stepperSelected = stepperSelected;\n\n }\n\n onSalvar() {\n\n\n let dadosParaSalvar = {\n ...this.etapa1Data.value,\n DataNascimento: DateTime.fromISO(this.etapa1Data.value.DataNascimento).toISODate(),\n PerfilID: parseInt(this.etapa1Data.value.PerfilID),\n Sexo: parseInt(this.etapa1Data.value.Sexo),\n EstadoCivil: parseInt(this.etapa1Data.value.EstadoCivil),\n Raca: parseInt(this.etapa1Data.value.Raca),\n GrauEscolaridade: parseInt(this.etapa1Data.value.GrauEscolaridade),\n AceitaCorrespondencia: this.etapa1Data.value.AceitaCorrespondencia === 'true' ? true : false,\n Ativo: this.etapa1Data.value.Ativo ? true : false,\n Plano: this.listaPlanosAtivos.find((plano: any) => plano.ID == this.etapa1Data.value.PlanoID),\n PerfilIDPreferencial: parseInt(this.etapa1Data.value.PlanoID),\n }\n console.log(dadosParaSalvar);\n\n\n this.isLoadingSalvar = true;\n this.professorService.putEditarUsuario(dadosParaSalvar).subscribe({\n next: (res: any) => {\n this.toastr.success('Usuário salvo com sucesso');\n this.isLoadingSalvar = false;\n },\n error: (erro: any) => {\n if (erro && erro.error && erro.error.Message) {\n const messages = JSON.parse(erro.error.Message);\n if (Array.isArray(messages)) {\n // Itera sobre cada mensagem de erro e exibe no Toastr\n messages.forEach((mensagem: any) => {\n if (mensagem.Mensagem) {\n this.toastr.error(mensagem.Mensagem, 'Erro ao salvar os dados');\n }\n });\n }\n } else {\n // Caso o formato de erro seja inesperado, exibe uma mensagem genérica\n this.toastr.error('Erro ao salvar os dados. Tente novamente mais tarde.');\n console.error('Erro ao processar a resposta de erro:', erro);\n }\n this.isLoadingSalvar = false;\n }\n });\n\n }\n\n onSair() {\n window.history.back();\n }\n\n onRemoverClienteAvaliador(avaliador: any) {\n let data = {\n ClienteID: avaliador?.ClienteID,\n AvaliadorID: avaliador?.AvaliadorID,\n }\n\n this.professorService.postRemoverClienteAvaliador(data).subscribe({\n next: (response) => {\n this.toastr.success('Avaliador removido com sucesso');\n this.getClientesAvaliador();\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao remover avaliador, contate o suporte')\n }\n }\n });\n }\n\n onVisualizarLaudo(checkup: any) {\n window.open(`https://api.plataformasafe.com.br/Home/DownloadLaudoCompleto/${checkup.AnamneseHash}`, '_blank');\n }\n\n\n onNovoCheckup(avaliador: any) {\n let data = {\n ClienteID: avaliador?.ClienteID,\n AvaliadorID: avaliador?.AvaliadorID,\n GrupoID: null,\n Presencial: false,\n Tipo: 1,\n TipoLaudo: 3,\n }\n this.professorService.postNovoCheckup(data).subscribe({\n next: (response) => {\n this.toastr.success('Checkup registrado com sucesso');\n this.getCheckupsCliente();\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao registrar checkup, contate o suporte')\n }\n }\n });\n\n }\n\n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n\n}\n\n\n\n","
    \n \n\n
    \n
    \n
    \n
    CADASTRO
    \n \n
    \n
    \n
    \n\n \n Avaliações\n \n\n
    \n \n \n Loading...\n
    \n
    \n \n \n Voltar\n \n
    \n\n
    \n \n
    {{ stepper.number }}
    \n
    \n \n \n

    \n Avaliação já finalizada, não é possível alterar.\n

    \n \n \n

    \n Para alterar selecione avaliação novamente e clique em\n 'Devolver'.\n

    \n \n\n
    \n
    \n \n Informações Básicas\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 Sair\n \n \n {{ isLoadingFinalizar ? 'Carregando' :\n 'Salvar'}}\n \n
    \n
    \n \n
    \n
    \n \n\n
    \n
    \n \n Informações Básicas\n \n
    \n
    \n
    \n
    \n Estatura Auto-relatada (cm)\n \n
    \n
    \n Peso Auto-relatado (kg)\n \n
    \n
    \n Estatura (cm)\n \n \n {{ estatura }} cm\n \n \n
    \n
    \n Peso (kg)\n \n \n {{ peso }} kg\n \n \n
    \n
    \n Glicemia de jejum\n \n
    \n
    \n Percentual de massa magra\n \n
    \n
    \n Percentual de massa Gorda\n \n
    \n
    \n Gordura visceral\n \n
    \n
    \n Taxa Metabólica Basal:\n \n
    \n \n \n Sair\n \n \n {{ isLoadingFinalizar ? 'Carregando' :\n 'Salvar'}}\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n Medidas\n \n
    \n
    \n Pescoço (cm)\n\n \n \n {{ pescoco }} cm\n \n \n
    \n\n
    \n Cintura (cm)\n \n \n {{ cintura }} cm\n \n \n
    \n
    \n Quadril (cm)\n \n \n {{ quadril }} cm\n \n \n
    \n
    \n Razão Cintura/Estatura (cm)\n \n
    \n
    \n Razão Cintura/Quadril (cm)\n \n
    \n
    \n Índice de Adiposidade Corporal\n \n
    \n
    \n IMC\n \n
    \n
    \n \n Outras Medidas\n \n
    \n
    \n Braço Direito Relaxado (cm)\n\n \n
    \n
    \n Braço Esquerdo Relaxado (cm)\n\n \n
    \n
    \n \n Assimetria (%)\n\n \n
    \n
    \n \n Braço Direito Contraído (cm)\n \n\n \n
    \n
    \n \n Braço Esquerdo Contraído (cm)\n \n\n \n
    \n
    \n \n Assimetria (%)\n\n \n
    \n\n
    \n \n Ante-Braço Direito (cm)\n\n \n
    \n
    \n \n Ante-Braço Esquerdo (cm)\n\n \n
    \n
    \n \n Assimetria (%)\n\n \n
    \n
    \n \n Coxa Direita (cm)\n\n \n
    \n
    \n \n Coxa Esquerda (cm)\n\n \n
    \n
    \n \n Assimetria (%)\n\n \n
    \n
    \n \n Panturrilha Direita (cm)\n\n \n
    \n
    \n \n Panturrilha Esquerda (cm)\n\n \n
    \n
    \n \n Assimetria (%)\n\n \n
    \n\n \n \n Sair\n \n \n {{ isLoadingFinalizar ? 'Carregando' :\n 'Salvar'}}\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n Teste de força de preensão manual (KG)\n \n
    \n
    \n \n Lado Direito\n

    \n
    \n
    \n \n Lado Esquerdo\n

    \n
    \n
    \n \n Assimetria\n

    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Primeira tentativa\n\n \n
    \n\n
    \n Maior tentativa em relação as\n duas\n\n \n
    \n
    \n Segunda tentativa\n\n \n
    \n
    \n Segunda tentativa\n\n \n
    \n\n
    \n Assimetria (%)\n\n \n
    \n
    \n Maior tentativa\n\n \n
    \n
    \n Maior tentativa\n\n \n
    \n\n
    \n Força Relativa\n\n \n
    \n
    \n
    \n
    \n \n Lado Direito\n

    \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n \n
    \n\n
    \n \n Lado Esquerdo\n

    \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n\n \n
    \n\n
    \n \n Assimetria e Força Relativa\n

    \n \n Assimetria (%)\n \n \n\n Força Relativa\n\n \n
    \n
    \n\n
    \n
    \n
    \n \n Membro inferior sentar e alcançar\n

    \n
    \n
    \n \n Lado Direito\n

    \n Valor deve ser de -100 a 100!\n
    \n
    \n \n Lado Esquerdo\n

    \n Valor deve ser de -100 a 100!\n
    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Primeira tentativa\n\n \n
    \n\n
    \n\n
    \n Segunda tentativa\n \n
    \n
    \n Segunda tentativa\n \n
    \n\n
    \n
    \n Maior tentativa\n\n \n
    \n
    \n Maior tentativa\n\n \n
    \n
    \n
    \n
    \n \n Lado Direito\n

    \n \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n \n
    \n\n
    \n \n Lado Esquerdo\n

    \n \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n \n
    \n
    \n
    \n
    \n
    \n \n Membro superior alcançar atrás das costas\n

    \n
    \n
    \n \n Lado Direito\n

    \n Valor deve ser de -100 a 100!\n
    \n
    \n \n Lado Esquerdo\n

    \n Valor deve ser de -100 a 100!\n
    \n
    \n\n
    \n Primeira tentativa\n\n \n
    \n
    \n Primeira tentativa\n\n \n
    \n\n
    \n
    \n Segunda tentativa\n\n \n
    \n
    \n Segunda tentativa\n\n \n
    \n
    \n
    \n Maior tentativa\n \n\n \n
    \n\n
    \n Maior tentativa\n\n \n
    \n
    \n
    \n
    \n \n Lado Direito\n

    \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n \n
    \n\n
    \n \n Lado Esquerdo\n

    \n Primeira tentativa\n \n Segunda tentativa\n \n Maior tentativa\n \n
    \n
    \n\n
    \n
    \n
    \n \n Sentar e levantar do solo\n

    \n
    \n
    \n Pontuação\n\n \n \n {{ soloPontuacao }}\n \n \n
    \n
    \n
    \n
    \n
    \n \n Sentar e levantar em 30 segundos (repetições)\n

    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Percepção Subjetiva do Esforço\n\n \n \n {{ percep }}\n \n \n
    \n
    \n SPO2 final\n\n \n
    \n
    \n Frequência cardíaca final (bpm)\n\n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n Flexão de cotovelo, 30 segundos (repetições)\n

    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Segunda tentativa\n\n \n
    \n\n
    \n Maior tentativa\n\n \n
    \n
    \n
    \n
    \n
    \n \n Flexão de braço, 60 segundos (repetições)\n

    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Percepção Subjetiva do Esforço\n\n \n \n {{ percep }}\n \n \n
    \n
    \n SPO2 final\n\n \n
    \n
    \n Frequência cardíaca final (bpm)\n\n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n Teste de equilíbrio Unipodal de 30 segundos\n

    \n
    \n
    \n Primeira tentativa\n\n \n \n {{ percep }}\n \n \n
    \n
    \n Segunda tentativa\n\n \n \n {{ percep }}\n \n \n
    \n
    \n Maior tentativa:\n \n\n \n
    \n
    \n
    \n
    \n
    \n \n Teste de ir e vir (Timed Up and Go - TUG) (seg.)\n

    \n
    \n
    \n Primeira tentativa\n\n \n
    \n
    \n Segunda tentativa\n\n \n
    \n
    \n Menor tentativa\n \n\n \n
    \n
    \n
    \n
    \n
    \n \n Testes cardiovasculares\n

    \n
    \n
    \n \n Caminhada 2 min estatica (repetições)\n \n \n
    \n
    \n \n Caminhada 6 min (metros percorridos):\n \n\n \n
    \n
    \n \n Distância esperada (metros):\n \n\n \n
    \n
    \n \n SPO2 final:\n \n \n
    \n
    \n \n SPO2 final:\n \n\n \n
    \n
    \n \n FC máxima predita (bpm):\n \n\n \n
    \n\n
    \n \n Percepção subjetiva do Esforço (0-10):\n \n\n \n
    \n
    \n \n Percepção Subjetiva do Esforço (0-10):\n \n\n \n
    \n
    \n Percentual da distância percorrida\n esperada (%):\n \n\n \n
    \n\n
    \n \n Frequencia cardíaca final (bpm):\n \n\n \n
    \n\n
    \n \n Frequência cardíaca final (bpm):\n \n\n \n
    \n\n
    \n \n Percentual da FC máxima atingida no\n teste (%):\n \n\n \n
    \n
    \n\n \n \n Sair\n \n \n {{ isLoadingFinalizar ? 'Carregando' :\n 'Salvar'}}\n \n \n {{ isLoadingFinalizar ? 'Carregando' :\n 'Finalizar'}}\n \n
    \n \n \n \n \n \n \n\n","import {Component, OnInit} from '@angular/core';\nimport {ProfessorService} from '@services/dashboard/professor/professor.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {AnamneseService} from '@services/dashboard/anamnese/anamnese.service';\nimport {FormControl, FormGroup} from '@angular/forms';\nimport {createMask} from '@ngneat/input-mask';\nimport {Router} from \"@angular/router\";\n\n\ninterface Checkup {\n ID: number\n Idade: number\n Sexo: number\n}\n\n@Component({\n selector: 'app-usuarios-avaliacoes-alterar',\n templateUrl: './usuarios-avaliacoes-alterar.html',\n styleUrls: ['./usuarios-avaliacoes-alterar.scss']\n})\nexport class UsuariosAvaliacoesAlterar implements OnInit {\n public stepperSelected: number = 1;\n public avaliacaoInicial: any = {}\n public avaliacaoFinal: any = {}\n public steppers = [{number: 1, isSelected: false}, {number: 2, isSelected: false}, {\n number: 3, isSelected: false\n }, {number: 4, isSelected: false}];\n public isAvaliacaoFinalizada = false\n public isLoadingFinalizar = false\n public loadingBuscarAvaliacao = false\n public paciente: Checkup = {} as Checkup\n //20 a 200, com intervalo de 0.25\n public opcoesPescocoCM: number[] = [20.00, 20.25, 20.50, 20.75, 21.00, 21.25, 21.50, 21.75, 22.00, 22.25, 22.50, 22.75, 23.00, 23.25, 23.50, 23.75, 24.00, 24.25, 24.50, 24.75, 25.00, 25.25, 25.50, 25.75, 26.00, 26.25, 26.50, 26.75, 27.00, 27.25, 27.50, 27.75, 28.00, 28.25, 28.50, 28.75, 29.00, 29.25, 29.50, 29.75, 30.00, 30.25, 30.50, 30.75, 31.00, 31.25, 31.50, 31.75, 32.00, 32.25, 32.50, 32.75, 33.00, 33.25, 33.50, 33.75, 34.00, 34.25, 34.50, 34.75, 35.00, 35.25, 35.50, 35.75, 36.00, 36.25, 36.50, 36.75, 37.00, 37.25, 37.50, 37.75, 38.00, 38.25, 38.50, 38.75, 39.00, 39.25, 39.50, 39.75, 40.00, 40.25, 40.50, 40.75, 41.00, 41.25, 41.50, 41.75, 42.00, 42.25, 42.50, 42.75, 43.00, 43.25, 43.50, 43.75, 44.00, 44.25, 44.50, 44.75, 45.00, 45.25, 45.50, 45.75, 46.00, 46.25, 46.50, 46.75, 47.00, 47.25, 47.50, 47.75, 48.00, 48.25, 48.50, 48.75, 49.00, 49.25, 49.50, 49.75, 50.00, 50.25, 50.50, 50.75, 51.00, 51.25, 51.50, 51.75, 52.00, 52.25, 52.50, 52.75, 53.00, 53.25, 53.50, 53.75, 54.00, 54.25, 54.50, 54.75, 55.00, 55.25, 55.50, 55.75, 56.00, 56.25, 56.50, 56.75, 57.00, 57.25, 57.50, 57.75, 58.00, 58.25, 58.50, 58.75, 59.00, 59.25, 59.50, 59.75, 60.00, 60.25, 60.50, 60.75, 61.00, 61.25, 61.50, 61.75, 62.00, 62.25, 62.50, 62.75, 63.00, 63.25, 63.50, 63.75, 64.00, 64.25, 64.50, 64.75, 65.00, 65.25, 65.50, 65.75, 66.00, 66.25, 66.50, 66.75, 67.00, 67.25, 67.50, 67.75, 68.00, 68.25, 68.50, 68.75, 69.00, 69.25, 69.50, 69.75, 70.00, 70.25, 70.50, 70.75, 71.00, 71.25, 71.50, 71.75, 72.00, 72.25, 72.50, 72.75, 73.00, 73.25, 73.50, 73.75, 74.00, 74.25, 74.50, 74.75, 75.00, 75.25, 75.50, 75.75, 76.00, 76.25, 76.50, 76.75, 77.00, 77.25, 77.50, 77.75, 78.00, 78.25, 78.50, 78.75, 79.00, 79.25, 79.50, 79.75, 80.00, 80.25, 80.50, 80.75, 81.00, 81.25, 81.50, 81.75, 82.00, 82.25, 82.50, 82.75, 83.00, 83.25, 83.50, 83.75, 84.00, 84.25, 84.50, 84.75, 85.00, 85.25, 85.50, 85.75, 86.00, 86.25, 86.50, 86.75, 87.00, 87.25, 87.50, 87.75, 88.00, 88.25, 88.50, 88.75, 89.00, 89.25, 89.50, 89.75, 90.00, 90.25, 90.50, 90.75, 91.00, 91.25, 91.50, 91.75, 92.00, 92.25, 92.50, 92.75, 93.00, 93.25, 93.50, 93.75, 94.00, 94.25, 94.50, 94.75, 95.00, 95.25, 95.50, 95.75, 96.00, 96.25, 96.50, 96.75, 97.00, 97.25, 97.50, 97.75, 98.00, 98.25, 98.50, 98.75, 99.00, 99.25, 99.50, 99.75, 100.00, 100.25, 100.50, 100.75, 101.00, 101.25, 101.50, 101.75, 102.00, 102.25, 102.50, 102.75, 103.00, 103.25, 103.50, 103.75, 104.00, 104.25, 104.50, 104.75, 105.00, 105.25, 105.50, 105.75, 106.00, 106.25, 106.50, 106.75, 107.00, 107.25, 107.50, 107.75, 108.00, 108.25, 108.50, 108.75, 109.00, 109.25, 109.50, 109.75, 110.00, 110.25, 110.50, 110.75, 111.00, 111.25, 111.50, 111.75, 112.00, 112.25, 112.50, 112.75, 113.00, 113.25, 113.50, 113.75, 114.00, 114.25, 114.50, 114.75, 115.00, 115.25, 115.50, 115.75, 116.00, 116.25, 116.50, 116.75, 117.00, 117.25, 117.50, 117.75, 118.00, 118.25, 118.50, 118.75, 119.00, 119.25, 119.50, 119.75, 120.00, 120.25, 120.50, 120.75, 121.00, 121.25, 121.50, 121.75, 122.00, 122.25, 122.50, 122.75, 123.00, 123.25, 123.50, 123.75, 124.00, 124.25, 124.50, 124.75, 125.00, 125.25, 125.50, 125.75, 126.00, 126.25, 126.50, 126.75, 127.00, 127.25, 127.50, 127.75, 128.00, 128.25, 128.50, 128.75, 129.00, 129.25, 129.50, 129.75, 130.00, 130.25, 130.50, 130.75, 131.00, 131.25, 131.50, 131.75, 132.00, 132.25, 132.50, 132.75, 133.00, 133.25, 133.50, 133.75, 134.00, 134.25, 134.50, 134.75, 135.00, 135.25, 135.50, 135.75, 136.00, 136.25, 136.50, 136.75, 137.00, 137.25, 137.50, 137.75, 138.00, 138.25, 138.50, 138.75, 139.00, 139.25, 139.50, 139.75, 140.00, 140.25, 140.50, 140.75, 141.00, 141.25, 141.50, 141.75, 142.00, 142.25, 142.50, 142.75, 143.00, 143.25, 143.50, 143.75, 144.00, 144.25, 144.50, 144.75, 145.00, 145.25, 145.50, 145.75, 146.00, 146.25, 146.50, 146.75, 147.00, 147.25, 147.50, 147.75, 148.00, 148.25, 148.50, 148.75, 149.00, 149.25, 149.50, 149.75, 150.00, 150.25, 150.50, 150.75, 151.00, 151.25, 151.50, 151.75, 152.00, 152.25, 152.50, 152.75, 153.00, 153.25, 153.50, 153.75, 154.00, 154.25, 154.50, 154.75, 155.00, 155.25, 155.50, 155.75, 156.00, 156.25, 156.50, 156.75, 157.00, 157.25, 157.50, 157.75, 158.00, 158.25, 158.50, 158.75, 159.00, 159.25, 159.50, 159.75, 160.00, 160.25, 160.50, 160.75, 161.00, 161.25, 161.50, 161.75, 162.00, 162.25, 162.50, 162.75, 163.00, 163.25, 163.50, 163.75, 164.00, 164.25, 164.50, 164.75, 165.00, 165.25, 165.50, 165.75, 166.00, 166.25, 166.50, 166.75, 167.00, 167.25, 167.50, 167.75, 168.00, 168.25, 168.50, 168.75, 169.00, 169.25, 169.50, 169.75, 170.00, 170.25, 170.50, 170.75, 171.00, 171.25, 171.50, 171.75, 172.00, 172.25, 172.50, 172.75, 173.00, 173.25, 173.50, 173.75, 174.00, 174.25, 174.50, 174.75, 175.00, 175.25, 175.50, 175.75, 176.00, 176.25, 176.50, 176.75, 177.00, 177.25, 177.50, 177.75, 178.00, 178.25, 178.50, 178.75, 179.00, 179.25, 179.50, 179.75, 180.00, 180.25, 180.50, 180.75, 181.00, 181.25, 181.50, 181.75, 182.00, 182.25, 182.50, 182.75, 183.00, 183.25, 183.50, 183.75, 184.00, 184.25, 184.50, 184.75, 185.00, 185.25, 185.50, 185.75, 186.00, 186.25, 186.50, 186.75, 187.00, 187.25, 187.50, 187.75, 188.00, 188.25, 188.50, 188.75, 189.00, 189.25, 189.50, 189.75, 190.00, 190.25, 190.50, 190.75, 191.00, 191.25, 191.50, 191.75, 192.00, 192.25, 192.50, 192.75, 193.00, 193.25, 193.50, 193.75, 194.00, 194.25, 194.50, 194.75, 195.00, 195.25, 195.50, 195.75, 196.00, 196.25, 196.50, 196.75, 197.00, 197.25, 197.50, 197.75, 198.00, 198.25, 198.50, 198.75, 199.00, 199.25, 199.50, 199.75, 200.00]\n\n\n //estatura opcoes de 50.00 a 220.00, sem intervalo\n public opcoesEstatura: number[] = [50.00, 51.00, 52.00, 53.00, 54.00, 55.00, 56.00, 57.00, 58.00, 59.00, 60.00, 61.00, 62.00, 63.00, 64.00, 65.00, 66.00, 67.00, 68.00, 69.00, 70.00, 71.00, 72.00, 73.00, 74.00, 75.00, 76.00, 77.00, 78.00, 79.00, 80.00, 81.00, 82.00, 83.00, 84.00, 85.00, 86.00, 87.00, 88.00, 89.00, 90.00, 91.00, 92.00, 93.00, 94.00, 95.00, 96.00, 97.00, 98.00, 99.00, 100.00, 101.00, 102.00, 103.00, 104.00, 105.00, 106.00, 107.00, 108.00, 109.00, 110.00, 111.00, 112.00, 113.00, 114.00, 115.00, 116.00, 117.00, 118.00, 119.00, 120.00, 121.00, 122.00, 123.00, 124.00, 125.00, 126.00, 127.00, 128.00, 129.00, 130.00, 131.00, 132.00, 133.00, 134.00, 135.00, 136.00, 137.00, 138.00, 139.00, 140.00, 141.00, 142.00, 143.00, 144.00, 145.00, 146.00, 147.00, 148.00, 149.00, 150.00, 151.00, 152.00, 153.00, 154.00, 155.00, 156.00, 157.00, 158.00, 159.00, 160.00, 161.00, 162.00, 163.00, 164.00, 165.00, 166.00, 167.00, 168.00, 169.00, 170.00, 171.00, 172.00, 173.00, 174.00, 175.00, 176.00, 177.00, 178.00, 179.00, 180.00, 181.00, 182.00, 183.00, 184.00, 185.00, 186.00, 187.00, 188.00, 189.00, 190.00, 191.00, 192.00, 193.00, 194.00, 195.00, 196.00, 197.00, 198.00, 199.00, 200.00, 201.00, 202.00, 203.00, 204.00, 205.00, 206.00, 207.00, 208.00, 209.00, 210.00, 211.00, 212.00, 213.00, 214.00, 215.00, 216.00, 217.00, 218.00, 219.00, 220.00]\n\n //0 a 10 com intervalo de 0,5\n public opcoesSoloPontuacao: number[] = [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0]\n\n //0 a 10 sem intervalo\n public opcoesPercepcaoSubjetivaEsforco: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n\n //0 a 30 sem intervalo\n public opcoesEquilibrio: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]\n public isMobile = false\n public opcoesPeso: number[] = []\n public etapa1Data: FormGroup\n public etapa2Data: FormGroup\n public etapa3Data: FormGroup\n public etapa4Data: FormGroup\n //mask 22 / 22.22 / 222.22\n valueInputMask = createMask({\n mask: '00.00', guide: false\n });\n\n constructor(\n private professorService: ProfessorService,\n private toastr: ToastrService,\n private anamneseService: AnamneseService,\n private router: Router) {\n }\n\n ngOnInit(): void {\n this.isMobile = window.innerWidth <= 926\n this.etapa1Data = new FormGroup({\n AvaliacaoID: new FormControl(''),\n PressaoArterialSistolica: new FormControl(''),\n PressaoArterialDiastolica: new FormControl(''),\n FrequenciaCardiaca: new FormControl(''),\n SaturacaoOxigenio: new FormControl(''),\n Anemia: new FormControl(''),\n VitaminaD: new FormControl(''),\n VitaminaB12: new FormControl(''),\n Indicacao: new FormControl(''),\n Observacao: new FormControl(''),\n Medicacao: new FormControl({value: '', disabled: true}),\n RotinaDiaria: new FormControl(''),\n Tabagista: new FormControl(''),\n Cigarros: new FormControl(''),\n ReligiaoEspiritualidade: new FormControl(''),\n\n suplementos: new FormControl({\n value: '',\n disabled: true\n }),\n alergiaMedicamentos: new FormControl({value: '', disabled: true}),\n enfermidades: new FormControl({value: '', disabled: true}),\n exercicio: new FormControl({value: '', disabled: true}),\n });\n\n this.etapa2Data = new FormGroup({\n AvaliacaoID: new FormControl(''),\n Estatura: new FormControl(0),\n EstaturaAutorelatada: new FormControl(''),\n MassaCorporal: new FormControl(''),\n MassaCorporalAutorelatada: new FormControl(''),\n MassaMagra: new FormControl(''),\n MassaGorda: new FormControl(''),\n GorduraVisceral: new FormControl(''),\n Glicemia: new FormControl(''),\n TaxaMetabolica: new FormControl(''),\n Estrutura: new FormControl(''),\n EstruturaAutorelatada: new FormControl(''),\n DensidadeCorporal: new FormControl(''),\n PercentualGorduraBioimpedancia: new FormControl(''),\n PercentualMassaMuscular: new FormControl('')\n });\n\n this.etapa3Data = new FormGroup({\n AvaliacaoID: new FormControl(''),\n CircunferenciaPescoco: new FormControl(''),\n CircunferenciaCintura: new FormControl(''),\n CircunferenciaQuadril: new FormControl(''),\n RazaoCinturaEstatura: new FormControl({value: '', disabled: true}),\n ProporcaoCircunferenciaCinturaQuadril: new FormControl({value: '', disabled: true}),\n IndiceAdiposidadeCorporal: new FormControl(''),\n Imc: new FormControl(''),\n BracoDireitoRelaxado: new FormControl(''),\n BracoEsquerdoRelaxado: new FormControl(''),\n AssimetriaBracoRelaxado: new FormControl(''),\n BracoDireitoContraido: new FormControl(''),\n BracoEsquerdoContraido: new FormControl(''),\n AssimetriaBracoContraido: new FormControl(''),\n AnteBracoDireito: new FormControl(''),\n AnteBracoEsquerdo: new FormControl(''),\n AssimetriaAnteBraco: new FormControl(''),\n CoxaDireita: new FormControl(''),\n CoxaEsquerda: new FormControl(''),\n AssimetriaCoxa: new FormControl(''),\n PanturrilhaDireita: new FormControl(''),\n PanturrilhaEsquerda: new FormControl(''),\n AssimetriaPanturrilha: new FormControl(''),\n CircunferenciaCoxaDireita: new FormControl(''),\n CircunferenciaCoxaEsquerda: new FormControl('')\n });\n\n this.etapa4Data = new FormGroup({\n AvaliacaoID: new FormControl(''),\n ForcaDirPriTentativa: new FormControl(''),\n ForcaDirSegTentativa: new FormControl(''),\n ForcaDirMaiTentativa: new FormControl(''),\n ForcaDirRelativa: new FormControl(''),\n ForcaEsqPriTentativa: new FormControl(''),\n ForcaEsqSegTentativa: new FormControl(''),\n ForcaEsqMaiTentativa: new FormControl(''),\n ForcaEsqRelativa: new FormControl(''),\n MaiRelacaoDuas: new FormControl(''),\n Assimetria: new FormControl(''),\n ForcaRelativa: new FormControl(''),\n DireitaInferiorPri: new FormControl(''),\n DireitaInferiorSeg: new FormControl(''),\n DireitaInferiorMaior: new FormControl(''),\n EsquerdaInferiorPri: new FormControl(''),\n EsquerdaInferiorSeg: new FormControl(''),\n EsquerdaInferiorMaior: new FormControl(''),\n DireitaSuperiorPri: new FormControl(''),\n DireitaSuperiorSeg: new FormControl(''),\n DireitaSuperiorMaior: new FormControl(''),\n EsquerdaSuperiorPri: new FormControl(''),\n EsquerdaSuperiorSeg: new FormControl(''),\n EsquerdaSuperiorMaior: new FormControl(''),\n SoloPontuacao: new FormControl(''),\n SentarLevantarTentativa1: new FormControl(''),\n SentarLevantarTentativa2: new FormControl(''),\n SentarLevantarMaior: new FormControl(''),\n Esforco: new FormControl(''),\n PercepcaoSubjetivaEsforco: new FormControl(''),\n SPO2LevantarSentar: new FormControl(''),\n FrequenciaCardiacaSentarLevantar: new FormControl(''),\n CotoveloPrimeira: new FormControl(''),\n CotoveloSegunda: new FormControl(''),\n CotoveloMaior: new FormControl(''),\n BracoPrimeira: new FormControl(''),\n BracoSegunda: new FormControl(''),\n BracoMaior: new FormControl(''),\n FlexaoBracoPercepcaoSubjetiva: new FormControl(''),\n FlexaoBracoSPO2: new FormControl(''),\n FlexaoBracoFrequenciaCardiaca: new FormControl(''),\n UnipodalPrimeira: new FormControl(''),\n UnipodalSegunda: new FormControl(''),\n UnipodalMaior: new FormControl(''),\n UnipodalRelativa: new FormControl(''),\n IrVirPrimeira: new FormControl(''),\n IrVirSegunda: new FormControl(''),\n IrVirMenor: new FormControl(''),\n IrVirMaior: new FormControl(''),\n CaminhadaEstatica: new FormControl(''),\n SpoFinal: new FormControl(''),\n PercepcaoSubEsforco: new FormControl(''),\n FreqCardFinal: new FormControl(''),\n CaminhadaSeisMin: new FormControl(''),\n FreqCardiacaFinal: new FormControl(''),\n SpoDoisFinal: new FormControl(''),\n PercSubEsforco: new FormControl(''),\n PercDistPerc: new FormControl({value: '', disabled: true}),\n DistanciaEsperada: new FormControl({value: '', disabled: true}),\n FcMaxPredita: new FormControl({value: '', disabled: true}),\n PercFcMax: new FormControl({value: '', disabled: true}),\n CoxaPrimeiraTentativa: new FormControl(''),\n CoxaSegundaTentativa: new FormControl(''),\n CoxaMaiorTentativa: new FormControl(''),\n CoxaForcaRelativa: new FormControl(''),\n TricepsPrimeiraTentativa: new FormControl(''),\n TricepsSegundaTentativa: new FormControl(''),\n TricepsMaiorTentativa: new FormControl(''),\n TricepsForcaRelativa: new FormControl(''),\n SuprailiacaPrimeiraTentativa: new FormControl(''),\n SuprailiacaSegundaTentativa: new FormControl(''),\n SuprailiacaMaiorTentativa: new FormControl(''),\n SuprailiacaForcaRelativa: new FormControl('')\n });\n\n \n\n const hashAvaliacao = window.location.pathname.split('/').pop();\n if (hashAvaliacao) {\n this.loadingBuscarAvaliacao = true;\n this.professorService.getAvaliacaoAnamnese(hashAvaliacao).subscribe({\n next: (res: any) => {\n this.loadingBuscarAvaliacao = false;\n this.isAvaliacaoFinalizada = !!res?.DataFinalizacao\n this.avaliacaoInicial = res;\n this.etapa1Data = new FormGroup({\n AvaliacaoID: new FormControl(res?.Etapa1?.AvaliacaoID),\n PressaoArterialSistolica: new FormControl(res?.Etapa1?.PressaoArterialSistolica),\n PressaoArterialDiastolica: new FormControl(res?.Etapa1?.PressaoArterialDiastolica),\n FrequenciaCardiaca: new FormControl(res?.Etapa1?.FrequenciaCardiaca),\n SaturacaoOxigenio: new FormControl(res?.Etapa1?.SaturacaoOxigenio),\n Anemia: new FormControl(res?.Etapa1?.Anemia),\n VitaminaD: new FormControl(res?.Etapa1?.VitaminaD),\n VitaminaB12: new FormControl(res?.Etapa1?.VitaminaB12),\n Indicacao: new FormControl(res?.Etapa1?.Indicacao),\n Observacao: new FormControl(res?.Etapa1?.Observacao),\n Medicacao: new FormControl({value: res?.Etapa1?.Medicacao, disabled: true}),\n RotinaDiaria: new FormControl(res?.Etapa1?.RotinaDiaria),\n Tabagista: new FormControl(res?.Etapa1?.Tabagista),\n Cigarros: new FormControl(res?.Etapa1?.Cigarros),\n ReligiaoEspiritualidade: new FormControl(res?.Etapa1?.ReligiaoEspiritualidade),\n\n suplementos: new FormControl({\n value: res?.Checkup?.Anamnese?.Etapa4?.DescSuplemento,\n disabled: true\n }),\n alergiaMedicamentos: new FormControl({value: res?.Checkup?.Anamnese?.Etapa4?.MedicamentosAlergenicos, disabled: true}),\n enfermidades: new FormControl({value: '', disabled: true}),\n exercicio: new FormControl({value: res?.Checkup?.Anamnese?.Etapa4?.DescOutroExercicio\n , disabled: true}),\n })\n\n this.etapa2Data = new FormGroup({\n AvaliacaoID: new FormControl(res?.Etapa2?.AvaliacaoID),\n Estatura: new FormControl(res?.Checkup?.Anamnese?.Etapa2?.Altura),\n Altura: new FormControl({value: res?.Checkup?.Anamnese?.Etapa2?.Altura, disabled: true}),\n Peso: new FormControl({value: res?.Checkup?.Anamnese?.Etapa2?.Peso, disabled: true}),\n MassaCorporal: new FormControl(res?.Etapa2?.MassaCorporal),\n MassaCorporalAutorelatada: new FormControl(res?.Etapa2?.MassaCorporalAutorelatada),\n MassaMagra: new FormControl(res?.Etapa2?.MassaMagra),\n MassaGorda: new FormControl(res?.Etapa2?.MassaGorda),\n GorduraVisceral: new FormControl(res?.Etapa2?.GorduraVisceral),\n Glicemia: new FormControl(res?.Etapa2?.Glicemia),\n TaxaMetabolica: new FormControl(res?.Etapa2?.TaxaMetabolica),\n Estrutura: new FormControl(res?.Etapa2?.Estrutura),\n EstruturaAutorelatada: new FormControl(res?.Etapa2?.EstruturaAutorelatada),\n DensidadeCorporal: new FormControl(res?.Etapa2?.DensidadeCorporal),\n PercentualGorduraBioimpedancia: new FormControl(res?.Etapa2?.PercentualGorduraBioimpedancia),\n PercentualMassaMuscular: new FormControl(res?.Etapa2?.PercentualMassaMuscular)\n })\n\n this.etapa3Data = new FormGroup({\n AvaliacaoID: new FormControl(res?.Etapa3?.AvaliacaoID),\n CircunferenciaPescoco: new FormControl(res?.Etapa3?.CircunferenciaPescoco),\n CircunferenciaCintura: new FormControl(res?.Etapa3?.CircunferenciaCintura),\n CircunferenciaQuadril: new FormControl(res?.Etapa3?.CircunferenciaQuadril),\n RazaoCinturaEstatura: new FormControl( res?.Etapa3?.RazaoCinturaEstatura),\n ProporcaoCircunferenciaCinturaQuadril: new FormControl(\n res?.Etapa3?.ProporcaoCircunferenciaCinturaQuadril\n ),\n IndiceAdiposidadeCorporal: new FormControl(res?.Etapa3?.IndiceAdiposidadeCorporal),\n Imc: new FormControl(res?.Etapa3?.Imc),\n BracoDireitoRelaxado: new FormControl(res?.Etapa3?.BracoDireitoRelaxado),\n BracoEsquerdoRelaxado: new FormControl(res?.Etapa3?.BracoEsquerdoRelaxado),\n AssimetriaBracoRelaxado: new FormControl(res?.Etapa3?.AssimetriaBracoRelaxado),\n BracoDireitoContraido: new FormControl(res?.Etapa3?.BracoDireitoContraido),\n BracoEsquerdoContraido: new FormControl(res?.Etapa3?.BracoEsquerdoContraido),\n AssimetriaBracoContraido: new FormControl(res?.Etapa3?.AssimetriaBracoContraido),\n AnteBracoDireito: new FormControl(res?.Etapa3?.AnteBracoDireito),\n AnteBracoEsquerdo: new FormControl(res?.Etapa3?.AnteBracoEsquerdo),\n AssimetriaAnteBraco: new FormControl(res?.Etapa3?.AssimetriaAnteBraco),\n CoxaDireita: new FormControl(res?.Etapa3?.CoxaDireita),\n CoxaEsquerda: new FormControl(res?.Etapa3?.CoxaEsquerda),\n AssimetriaCoxa: new FormControl(res?.Etapa3?.AssimetriaCoxa),\n PanturrilhaDireita: new FormControl(res?.Etapa3?.PanturrilhaDireita),\n PanturrilhaEsquerda: new FormControl(res?.Etapa3?.PanturrilhaEsquerda),\n AssimetriaPanturrilha: new FormControl(res?.Etapa3?.AssimetriaPanturrilha),\n CircunferenciaCoxaDireita: new FormControl(res?.Etapa3?.CircunferenciaCoxaDireita),\n CircunferenciaCoxaEsquerda: new FormControl(res?.Etapa3?.CircunferenciaCoxaEsquerda)\n })\n\n this.etapa4Data = new FormGroup({\n AvaliacaoID: new FormControl(res?.Etapa4?.AvaliacaoID),\n ForcaDirPriTentativa: new FormControl(res?.Etapa4?.ForcaDirPriTentativa),\n ForcaDirSegTentativa: new FormControl(res?.Etapa4?.ForcaDirSegTentativa),\n ForcaDirMaiTentativa: new FormControl(String(res?.Etapa4?.ForcaDirMaiTentativa)),\n ForcaDirRelativa: new FormControl(res?.Etapa4?.ForcaDirRelativa),\n ForcaEsqPriTentativa: new FormControl(res?.Etapa4?.ForcaEsqPriTentativa),\n ForcaEsqSegTentativa: new FormControl(res?.Etapa4?.ForcaEsqSegTentativa),\n ForcaEsqMaiTentativa: new FormControl(String(res?.Etapa4?.ForcaEsqMaiTentativa)),\n ForcaEsqRelativa: new FormControl(res?.Etapa4?.ForcaEsqRelativa),\n MaiRelacaoDuas: new FormControl(String(res?.Etapa4?.MaiRelacaoDuas)),\n Assimetria: new FormControl(res?.Etapa4?.Assimetria),\n ForcaRelativa: new FormControl(res?.Etapa4?.ForcaRelativa),\n DireitaInferiorPri: new FormControl(res?.Etapa4?.DireitaInferiorPri),\n DireitaInferiorSeg: new FormControl(res?.Etapa4?.DireitaInferiorSeg),\n DireitaInferiorMaior: new FormControl(res?.Etapa4?.DireitaInferiorMaior),\n EsquerdaInferiorPri: new FormControl(res?.Etapa4?.EsquerdaInferiorPri),\n EsquerdaInferiorSeg: new FormControl(res?.Etapa4?.EsquerdaInferiorSeg),\n EsquerdaInferiorMaior: new FormControl(res?.Etapa4?.EsquerdaInferiorMaior),\n DireitaSuperiorPri: new FormControl(res?.Etapa4?.DireitaSuperiorPri),\n DireitaSuperiorSeg: new FormControl(res?.Etapa4?.DireitaSuperiorSeg),\n DireitaSuperiorMaior: new FormControl(res?.Etapa4?.DireitaSuperiorMaior),\n EsquerdaSuperiorPri: new FormControl(res?.Etapa4?.EsquerdaSuperiorPri),\n EsquerdaSuperiorSeg: new FormControl(res?.Etapa4?.EsquerdaSuperiorSeg),\n EsquerdaSuperiorMaior: new FormControl(res?.Etapa4?.EsquerdaSuperiorMaior),\n SoloPontuacao: new FormControl(res?.Etapa4?.SoloPontuacao),\n SentarLevantarTentativa1: new FormControl(res?.Etapa4?.SentarLevantarTentativa1),\n SentarLevantarTentativa2: new FormControl(res?.Etapa4?.SentarLevantarTentativa2),\n SentarLevantarMaior: new FormControl(res?.Etapa4?.SentarLevantarMaior),\n Esforco: new FormControl(res?.Etapa4?.Esforco),\n PercepcaoSubjetivaEsforco: new FormControl(res?.Etapa4?.PercepcaoSubjetivaEsforco),\n SPO2LevantarSentar: new FormControl(res?.Etapa4?.SPO2LevantarSentar),\n FrequenciaCardiacaSentarLevantar: new FormControl(res?.Etapa4?.FrequenciaCardiacaSentarLevantar),\n CotoveloPrimeira: new FormControl(res?.Etapa4?.CotoveloPrimeira),\n CotoveloSegunda: new FormControl(res?.Etapa4?.CotoveloSegunda),\n CotoveloMaior: new FormControl(res?.Etapa4?.CotoveloMaior),\n BracoPrimeira: new FormControl(res?.Etapa4?.BracoPrimeira),\n BracoSegunda: new FormControl(res?.Etapa4?.BracoSegunda),\n BracoMaior: new FormControl(res?.Etapa4?.BracoMaior),\n FlexaoBracoPercepcaoSubjetiva: new FormControl(res?.Etapa4?.FlexaoBracoPercepcaoSubjetiva),\n FlexaoBracoSPO2: new FormControl(res?.Etapa4?.FlexaoBracoSPO2),\n FlexaoBracoFrequenciaCardiaca: new FormControl(res?.Etapa4?.FlexaoBracoFrequenciaCardiaca),\n UnipodalPrimeira: new FormControl(res?.Etapa4?.UnipodalPrimeira),\n UnipodalSegunda: new FormControl(res?.Etapa4?.UnipodalSegunda),\n UnipodalMaior: new FormControl(res?.Etapa4?.UnipodalMaior),\n UnipodalRelativa: new FormControl(res?.Etapa4?.UnipodalRelativa),\n IrVirPrimeira: new FormControl(res?.Etapa4?.IrVirPrimeira),\n IrVirSegunda: new FormControl(res?.Etapa4?.IrVirSegunda),\n IrVirMenor: new FormControl(res?.Etapa4?.IrVirMenor),\n IrVirMaior: new FormControl(res?.Etapa4?.IrVirMaior),\n CaminhadaEstatica: new FormControl(res?.Etapa4?.CaminhadaEstatica),\n SpoFinal: new FormControl(res?.Etapa4?.SpoFinal),\n PercepcaoSubEsforco: new FormControl(res?.Etapa4?.PercepcaoSubEsforco),\n FreqCardFinal: new FormControl(res?.Etapa4?.FreqCardFinal),\n CaminhadaSeisMin: new FormControl(res?.Etapa4?.CaminhadaSeisMin),\n FreqCardiacaFinal: new FormControl(res?.Etapa4?.FreqCardiacaFinal),\n SpoDoisFinal: new FormControl(res?.Etapa4?.SpoDoisFinal),\n PercSubEsforco: new FormControl(res?.Etapa4?.PercSubEsforco),\n PercDistPerc: new FormControl({value: res?.Etapa4?.PercDistPerc, disabled: true}),\n DistanciaEsperada: new FormControl({value: res?.Etapa4?.DistanciaEsperada, disabled: true}),\n FcMaxPredita: new FormControl({value: res?.Etapa4?.FcMaxPredita, disabled: true}),\n PercFcMax: new FormControl({value: res?.Etapa4?.PercFcMax, disabled: true}),\n CoxaPrimeiraTentativa: new FormControl(res?.Etapa4?.CoxaPrimeiraTentativa),\n CoxaSegundaTentativa: new FormControl(res?.Etapa4?.CoxaSegundaTentativa),\n CoxaMaiorTentativa: new FormControl(res?.Etapa4?.CoxaMaiorTentativa),\n CoxaForcaRelativa: new FormControl(res?.Etapa4?.CoxaForcaRelativa),\n TricepsPrimeiraTentativa: new FormControl(res?.Etapa4?.TricepsPrimeiraTentativa),\n TricepsSegundaTentativa: new FormControl(res?.Etapa4?.TricepsSegundaTentativa),\n TricepsMaiorTentativa: new FormControl(res?.Etapa4?.TricepsMaiorTentativa),\n TricepsForcaRelativa: new FormControl(res?.Etapa4?.TricepsForcaRelativa),\n SuprailiacaPrimeiraTentativa: new FormControl(res?.Etapa4?.SuprailiacaPrimeiraTentativa),\n SuprailiacaSegundaTentativa: new FormControl(res?.Etapa4?.SuprailiacaSegundaTentativa),\n SuprailiacaMaiorTentativa: new FormControl(res?.Etapa4?.SuprailiacaMaiorTentativa),\n SuprailiacaForcaRelativa: new FormControl(res?.Etapa4?.SuprailiacaForcaRelativa)\n })\n\n this.paciente = res.Checkup.Cliente\n this.efetuarCalculos()\n \n },\n error: (err) => {\n this.loadingBuscarAvaliacao = false;\n this.toastr.error('Erro ao buscar avaliação');\n }\n });\n }\n\n \n // gerar opções peso\n this.opcoesPeso = this.gerarIntervalosPeso()\n }\n \n private formatValue(value: string): string {\n if (!value) return '';\n value = String(value);\n value = value.replace(/\\D/g, '');\n \n // Se o valor tem apenas um dígito ou está vazio\n if (value.length <= 1) {\n return value;\n }\n \n // Se o valor tem dois dígitos\n if (value.length === 2) {\n return value;\n }\n \n // Se o valor tem três dígitos\n if (value.length === 3) {\n return value.replace(/(\\d)(\\d{1})$/, '$1.$2');\n }\n \n // Se o valor tem mais de três dígitos\n return value.replace(/(\\d+)(\\d{2})$/, '$1.$2');\n }\n\n razaoCinturaEstatura() {\n const circunferenciaCintura = this.etapa3Data.get('CircunferenciaCintura').value\n const RazaoCinturaEstatura = this.etapa3Data.get('RazaoCinturaEstatura').value\n const estatura = this.etapa2Data.get('Estatura').value\n\n let razao = 0\n if (circunferenciaCintura && estatura) {\n razao = circunferenciaCintura / estatura\n }\n this.etapa3Data.get('RazaoCinturaEstatura').setValue(razao)\n }\n\n circunferenciaCinturaQuadril() {\n const circunferenciaCintura = this.etapa3Data.get('CircunferenciaCintura').value\n const circunferenciaQuadril = this.etapa3Data.get('CircunferenciaQuadril').value\n\n const resultado = circunferenciaQuadril\n ? circunferenciaCintura / circunferenciaQuadril\n : 0;\n this.etapa3Data.get('ProporcaoCircunferenciaCinturaQuadril').setValue(resultado);\n }\n\n\n membroInferiorDireito() {\n const direitaInferiorPri = this.etapa4Data.get('DireitaInferiorPri').value\n const direitaInferiorSeg = this.etapa4Data.get('DireitaInferiorSeg').value\n this.etapa4Data.get('DireitaInferiorMaior').setValue(this.maiorNumero(direitaInferiorPri, direitaInferiorSeg))\n }\n\n membroInferiorEsquerda() {\n const esquerdaInferiorPri = this.etapa4Data.get('EsquerdaInferiorPri').value\n const esquerdaInferiorSeg = this.etapa4Data.get('EsquerdaInferiorSeg').value\n\n this.etapa4Data.get('EsquerdaInferiorMaior').setValue(this.maiorNumero(esquerdaInferiorPri, esquerdaInferiorSeg))\n }\n\n membroSuperiorDireito() {\n const direitaSuperiorPri = this.etapa4Data.get('DireitaSuperiorPri').value\n const direitaSuperiorSeg = this.etapa4Data.get('DireitaSuperiorSeg').value\n\n this.etapa4Data.get('DireitaSuperiorMaior').setValue(this.maiorNumero(direitaSuperiorPri, direitaSuperiorSeg))\n }\n\n membroSuperiorEsquerdo() {\n const esquerdaSuperiorPri = this.etapa4Data.get('EsquerdaSuperiorPri').value\n const esquerdaSuperiorSeg = this.etapa4Data.get('EsquerdaSuperiorSeg').value\n\n this.etapa4Data.get('EsquerdaSuperiorMaior').setValue(this.maiorNumero(esquerdaSuperiorPri, esquerdaSuperiorSeg))\n }\n\n sentarLevantarMaior() {\n const sentarLevantarTentativa1 = this.etapa4Data.get('SentarLevantarTentativa1').value\n const sentarLevantarTentativa2 = this.etapa4Data.get('SentarLevantarTentativa2').value\n\n this.etapa4Data.get('SentarLevantarMaior').setValue(this.maiorNumero(sentarLevantarTentativa1, sentarLevantarTentativa2))\n }\n\n flexaoCotoveloMaior() {\n const cotoveloPrimeira = this.formatValue(this.etapa4Data.get('CotoveloPrimeira').value)\n const cotoveloSegunda = this.formatValue(this.etapa4Data.get('CotoveloSegunda').value)\n\n this.etapa4Data.get('CotoveloMaior').setValue(this.maiorNumero(cotoveloPrimeira, cotoveloSegunda))\n }\n\n forcaMaiorUnipodal() {\n const unipodalPrimeira = this.etapa4Data.get('UnipodalPrimeira').value\n const unipodalSegunda = this.etapa4Data.get('UnipodalSegunda').value\n\n this.etapa4Data.get('UnipodalMaior').setValue(this.maiorNumero(unipodalPrimeira, unipodalSegunda))\n }\n\n testeIrVirMenorTempo() {\n const irVirPrimeira = this.etapa4Data.get('IrVirPrimeira').value\n const irVirSegunda = this.etapa4Data.get('IrVirSegunda').value\n this.etapa4Data.get('IrVirMenor').setValue(this.menorNumero(irVirPrimeira, irVirSegunda))\n }\n\n forcaMaiorDireita() {\n const forcaDirPriTentativa = this.formatValue(this.etapa4Data.get('ForcaDirPriTentativa').value)\n const forcaDirSegTentativa = this.formatValue(this.etapa4Data.get('ForcaDirSegTentativa').value)\n const maior = this.maiorNumero(forcaDirPriTentativa, forcaDirSegTentativa);\n\n this.etapa4Data.get('ForcaDirMaiTentativa').setValue(maior)\n this.etapa4Data.get('ForcaDirRelativa').setValue(maior)\n this.calculosForcaMaior();\n }\n\n forcaMaiorEsquerda() {\n const forcaEsqPriTentativa = this.formatValue(this.etapa4Data.get('ForcaEsqPriTentativa').value)\n const forcaEsqSegTentativa = this.formatValue(this.etapa4Data.get('ForcaEsqSegTentativa').value)\n\n const maior = this.maiorNumero(forcaEsqPriTentativa, forcaEsqSegTentativa);\n this.etapa4Data.get('ForcaEsqMaiTentativa').setValue(maior)\n this.etapa4Data.get('ForcaEsqRelativa').setValue(maior)\n this.calculosForcaMaior();\n }\n\n calculosForcaMaior() {\n this.etapa4Data.get('Assimetria').setValue(this.calcularAssimetria(this.etapa4Data.get('ForcaEsqMaiTentativa').value, this.etapa4Data.get('ForcaDirMaiTentativa').value))\n this.forcaRelativa(this.etapa4Data.get('ForcaEsqMaiTentativa').value, this.etapa4Data.get('ForcaDirMaiTentativa').value);\n this.maiorTentativaRelacaoDuas(this.etapa4Data.get('ForcaEsqMaiTentativa').value, this.etapa4Data.get('ForcaDirMaiTentativa').value);\n }\n\n maiorTentativaRelacaoDuas(maiorEsquerda, maiorDireita) {\n let primeira = maiorEsquerda;\n let segunda = maiorDireita;\n this.etapa4Data.get('MaiRelacaoDuas').setValue(String(this.maiorNumero(primeira, segunda)));\n }\n\n forcaRelativa(maiorEsquerda, maiorDireita) {\n const massaCorporal = this.etapa2Data.get('MassaCorporal').value\n if (!massaCorporal) return\n\n const soma = maiorDireita + maiorEsquerda;\n const forcaRelativa = soma / (massaCorporal / 100);\n this.etapa4Data.get('ForcaRelativa').setValue(forcaRelativa)\n }\n\n calcularAssimetria(maiorEsquerda, maiorDireita) {\n const maior = this.maiorNumero(maiorDireita, maiorEsquerda);\n const menor = this.menorNumero(maiorDireita, maiorEsquerda);\n const resultado = !!maior && this.numeroPreenchido(menor)\n ? (1 - (menor / maior)) * 100\n : 0;\n\n return Number(resultado.toFixed(2))\n }\n\n numeroPreenchido(numero) {\n return !this.numeroNaoPreenchido(numero);\n }\n\n menorNumero(primeiro, segundo) {\n if (this.paramsInvalidos(primeiro, segundo)) {\n return primeiro || segundo || null;\n }\n return Math.min(primeiro, segundo);\n }\n\n maiorCoxa() {\n const coxaPrimeiraTentativa = this.etapa4Data.get('CoxaPrimeiraTentativa').value\n const coxaSegundaTentativa = this.etapa4Data.get('CoxaSegundaTentativa').value\n this.etapa4Data.get('CoxaMaiorTentativa').setValue(this.maiorNumero(coxaPrimeiraTentativa, coxaSegundaTentativa))\n }\n\n flexaoBracoMaior() {\n const bracoPrimeira = this.etapa4Data.get('BracoPrimeira').value\n const bracoSegunda = this.etapa4Data.get('BracoSegunda').value\n\n this.etapa4Data.get('BracoMaior').setValue(this.formatValue(this.maiorNumero(bracoPrimeira, bracoSegunda)))\n }\n\n testeIrVir() {\n const irVirPrimeira = this.etapa4Data.get('IrVirPrimeira').value\n const irVirSegunda = this.etapa4Data.get('IrVirSegunda').value\n this.etapa4Data.get('IrVirMaior').setValue(this.maiorNumero(irVirPrimeira, irVirSegunda))\n }\n\n maiorSuprailiaca() {\n const suprailiacaPrimeiraTentativa = this.etapa4Data.get('SuprailiacaPrimeiraTentativa').value\n const suprailiacaSegundaTentativa = this.etapa4Data.get('SuprailiacaSegundaTentativa').value\n this.etapa4Data.get('SuprailiacaMaiorTentativa').setValue(this.maiorNumero(suprailiacaPrimeiraTentativa, suprailiacaSegundaTentativa))\n }\n\n maiorTricepes() {\n const tricepsPrimeiraTentativa = this.etapa4Data.get('TricepsPrimeiraTentativa').value\n const tricepsSegundaTentativa = this.etapa4Data.get('TricepsSegundaTentativa').value\n\n this.etapa4Data.get('TricepsMaiorTentativa').setValue(this.maiorNumero(tricepsPrimeiraTentativa, tricepsSegundaTentativa))\n }\n\n\n maiorNumero(primeiro, segundo) {\n if (this.paramsInvalidos(primeiro, segundo)) {\n return primeiro || segundo || null;\n }\n return Math.max(primeiro, segundo);\n }\n\n paramsInvalidos(primeiro, segundo) {\n const invalido = false\n || primeiro && this.numeroNaoPreenchido(segundo) // segundo nao preenchido\n || segundo && this.numeroNaoPreenchido(primeiro) // primeiro nao preenchido\n || this.numeroNaoPreenchido(primeiro) && this.numeroNaoPreenchido(segundo); // ambos nao preenchidos\n return invalido;\n }\n\n numeroNaoPreenchido(numero) {\n return numero === null || numero === undefined || isNaN(numero);\n }\n\n gerarIntervalosPeso() {\n const montarKilos = (inicial, final) => {\n const aux = [];\n for (let kg = inicial; kg <= final; kg++) {\n for (let g of ['00', '25', '50', '75']) {\n aux.push(`${kg}.${g}`);\n }\n }\n return aux;\n };\n const options = [];\n const kgs = montarKilos(25, 200);\n for (let kg of kgs) {\n options.push(parseFloat(kg));\n }\n return options;\n }\n\n calcularAssimetriaETP3(direito: string, esquerdo: string, assimetria: string) {\n\n const bracoEsquerdo = parseFloat(this.etapa3Data.get(esquerdo).value);\n const bracoDireito = parseFloat(this.etapa3Data.get(direito).value);\n\n\n const valorAssimetria = Math.abs(((bracoEsquerdo - bracoDireito) / bracoDireito) * 100);\n if (isNaN(valorAssimetria)) {\n this.etapa3Data.get(assimetria).setValue('');\n return;\n }\n this.etapa3Data.get(assimetria).setValue(valorAssimetria.toFixed(2));\n }\n\n calcularAssimetriaETP4(direito: string, esquerdo: string, assimetria: string) {\n const bracoEsquerdo = parseFloat(this.etapa3Data.get(esquerdo).value);\n const bracoDireito = parseFloat(this.etapa3Data.get(direito).value);\n\n\n const valorAssimetria = Math.abs(((bracoEsquerdo - bracoDireito) / bracoDireito) * 100);\n if (isNaN(valorAssimetria)) {\n this.etapa3Data.get(assimetria).setValue('');\n return;\n }\n this.etapa4Data.get(assimetria).setValue(valorAssimetria.toFixed(2));\n }\n\n\n onSelectStepper(stepperSelected: number) {\n\n this.stepperSelected = stepperSelected;\n this.steppers = this.steppers.map((stepper, index) => {\n stepper.isSelected = index + 1 === stepperSelected;\n return stepper\n });\n }\n\n onFinalizarAvaliacao() {\n if (this.isLoadingFinalizar) return\n\n this.isLoadingFinalizar = true\n const dadosParaSalvar = {\n ...this.avaliacaoInicial,\n Etapa1: {\n ...this.etapa1Data.value,\n FrequenciaCardiaca: this.etapa1Data.get('FrequenciaCardiaca').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('FrequenciaCardiaca').value))),\n PressaoArterialSistolica: this.etapa1Data.get('PressaoArterialSistolica').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('PressaoArterialSistolica').value))),\n SaturacaoOxigenio: this.etapa1Data.get('SaturacaoOxigenio').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('SaturacaoOxigenio').value))),\n PressaoArterialDiastolica: this.etapa1Data.get('PressaoArterialDiastolica').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('PressaoArterialDiastolica').value))),\n }, Etapa2: {\n ...this.etapa2Data.value,\n Estatura: parseInt(this.etapa2Data.get('Estatura').value),\n Glicemia: this.etapa2Data.get('Glicemia').value == null ? null : Number(this.formatValue(String(this.etapa2Data.get('Glicemia').value))),\n }, Etapa3: {\n ...this.etapa3Data.value,\n ProporcaoCircunferenciaCinturaQuadril: this.etapa3Data.get('ProporcaoCircunferenciaCinturaQuadril').value,\n RazaoCinturaEstatura: this.etapa3Data.get('RazaoCinturaEstatura').value,\n BracoDireitoRelaxado: this.etapa3Data.get('BracoDireitoRelaxado').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoDireitoRelaxado').value))),\n BracoEsquerdoRelaxado: this.etapa3Data.get('BracoEsquerdoRelaxado').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoEsquerdoRelaxado').value))),\n BracoDireitoContraido: this.etapa3Data.get('BracoDireitoContraido').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoDireitoContraido').value))),\n BracoEsquerdoContraido: this.etapa3Data.get('BracoEsquerdoContraido').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoEsquerdoContraido').value))),\n AnteBracoDireito: this.etapa3Data.get('AnteBracoDireito').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('AnteBracoDireito').value))),\n AnteBracoEsquerdo: this.etapa3Data.get('AnteBracoEsquerdo').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('AnteBracoEsquerdo').value))),\n CoxaDireita: this.etapa3Data.get('CoxaDireita').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('CoxaDireita').value))),\n CoxaEsquerda: this.etapa3Data.get('CoxaEsquerda').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('CoxaEsquerda').value))),\n PanturrilhaDireita: this.etapa3Data.get('PanturrilhaDireita').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('PanturrilhaDireita').value))),\n PanturrilhaEsquerda: this.etapa3Data.get('PanturrilhaEsquerda').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('PanturrilhaEsquerda').value))),\n }, Etapa4: {\n ...this.etapa4Data.value,\n ForcaDirPriTentativa: this.etapa4Data.get('ForcaDirPriTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaDirPriTentativa').value))),\n ForcaEsqPriTentativa: this.etapa4Data.get('ForcaEsqPriTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaEsqPriTentativa').value))),\n ForcaDirSegTentativa: this.etapa4Data.get('ForcaDirSegTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaDirSegTentativa').value))),\n ForcaEsqSegTentativa: this.etapa4Data.get('ForcaEsqSegTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaEsqSegTentativa').value))),\n SentarLevantarTentativa1: this.etapa4Data.get('SentarLevantarTentativa1').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SentarLevantarTentativa1').value))),\n SPO2LevantarSentar: this.etapa4Data.get('SPO2LevantarSentar').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SPO2LevantarSentar').value))),\n FrequenciaCardiacaSentarLevantar: this.etapa4Data.get('FrequenciaCardiacaSentarLevantar').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FrequenciaCardiacaSentarLevantar').value))),\n CotoveloPrimeira: this.etapa4Data.get('CotoveloPrimeira').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CotoveloPrimeira').value))),\n CotoveloSegunda: this.etapa4Data.get('CotoveloSegunda').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CotoveloSegunda').value))),\n BracoPrimeira: this.etapa4Data.get('BracoPrimeira').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('BracoPrimeira').value))),\n FlexaoBracoSPO2: this.etapa4Data.get('FlexaoBracoSPO2').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FlexaoBracoSPO2').value))),\n FlexaoBracoFrequenciaCardiaca: this.etapa4Data.get('FlexaoBracoFrequenciaCardiaca').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FlexaoBracoFrequenciaCardiaca').value))),\n CaminhadaEstatica: this.etapa4Data.get('CaminhadaEstatica').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CaminhadaEstatica').value))),\n CaminhadaSeisMin: this.etapa4Data.get('CaminhadaSeisMin').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CaminhadaSeisMin').value))),\n SpoFinal: this.etapa4Data.get('SpoFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SpoFinal').value))),\n SpoDoisFinal: this.etapa4Data.get('SpoDoisFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SpoDoisFinal').value))),\n PercepcaoSubEsforco: this.etapa4Data.get('PercepcaoSubEsforco').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('PercepcaoSubEsforco').value))),\n PercSubEsforco: this.etapa4Data.get('PercSubEsforco').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('PercSubEsforco').value))),\n FreqCardFinal: this.etapa4Data.get('FreqCardFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FreqCardFinal').value))),\n FreqCardiacaFinal: this.etapa4Data.get('FreqCardiacaFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FreqCardiacaFinal').value))),\n DistanciaEsperada: this.etapa4Data.get('DistanciaEsperada').value == null ? null : this.etapa4Data.get('DistanciaEsperada').value,\n }\n\n }\n this.professorService.finalizarAvaliacao(dadosParaSalvar).subscribe({\n next: (res: any) => {\n this.toastr.success('Avaliação finalizada com sucesso');\n this.router.navigate(['/dashboard/acesso-avaliador/usuarios-avaliacoes'])\n this.isLoadingFinalizar = false\n },\n error: error => {\n this.toastr.error('', 'Erro, Verifique se todos os campos estão preenchidos, Utilize ponto ao invés de vírgula para números decimais.',{\n timeOut: 10000\n })\n\n this.isLoadingFinalizar = false\n }\n });\n }\n\n onSair() {\n this.router.navigate(['/dashboard/acesso-avaliador/usuarios-avaliacoes'])\n }\n onSalvar() {\n if (this.isLoadingFinalizar) return\n console.log(this.etapa4Data.get('DistanciaEsperada').value,'this.etapa4Data.get(DistanciaEsperada).value')\n\n this.isLoadingFinalizar = true\n const dadosParaSalvar = {\n ...this.avaliacaoInicial,\n Etapa1: {\n ...this.etapa1Data.value,\n FrequenciaCardiaca: this.etapa1Data.get('FrequenciaCardiaca').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('FrequenciaCardiaca').value))),\n PressaoArterialSistolica: this.etapa1Data.get('PressaoArterialSistolica').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('PressaoArterialSistolica').value))),\n SaturacaoOxigenio: this.etapa1Data.get('SaturacaoOxigenio').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('SaturacaoOxigenio').value))),\n PressaoArterialDiastolica: this.etapa1Data.get('PressaoArterialDiastolica').value == null ? null : Number(this.formatValue(String(this.etapa1Data.get('PressaoArterialDiastolica').value))),\n }, Etapa2: {\n ...this.etapa2Data.value,\n Estatura: parseInt(this.etapa2Data.get('Estatura').value),\n Glicemia: this.etapa2Data.get('Glicemia').value == null ? null : Number(this.formatValue(String(this.etapa2Data.get('Glicemia').value))),\n }, Etapa3: {\n ...this.etapa3Data.value,\n ProporcaoCircunferenciaCinturaQuadril: this.etapa3Data.get('ProporcaoCircunferenciaCinturaQuadril').value,\n RazaoCinturaEstatura: this.etapa3Data.get('RazaoCinturaEstatura').value,\n BracoDireitoRelaxado: this.etapa3Data.get('BracoDireitoRelaxado').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoDireitoRelaxado').value))),\n BracoEsquerdoRelaxado: this.etapa3Data.get('BracoEsquerdoRelaxado').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoEsquerdoRelaxado').value))),\n BracoDireitoContraido: this.etapa3Data.get('BracoDireitoContraido').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoDireitoContraido').value))),\n BracoEsquerdoContraido: this.etapa3Data.get('BracoEsquerdoContraido').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('BracoEsquerdoContraido').value))),\n AnteBracoDireito: this.etapa3Data.get('AnteBracoDireito').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('AnteBracoDireito').value))),\n AnteBracoEsquerdo: this.etapa3Data.get('AnteBracoEsquerdo').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('AnteBracoEsquerdo').value))),\n CoxaDireita: this.etapa3Data.get('CoxaDireita').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('CoxaDireita').value))),\n CoxaEsquerda: this.etapa3Data.get('CoxaEsquerda').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('CoxaEsquerda').value))),\n PanturrilhaDireita: this.etapa3Data.get('PanturrilhaDireita').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('PanturrilhaDireita').value))),\n PanturrilhaEsquerda: this.etapa3Data.get('PanturrilhaEsquerda').value == null ? null : Number(this.formatValue(String(this.etapa3Data.get('PanturrilhaEsquerda').value))),\n }, Etapa4: {\n ...this.etapa4Data.value,\n ForcaDirPriTentativa: this.etapa4Data.get('ForcaDirPriTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaDirPriTentativa').value))),\n ForcaEsqPriTentativa: this.etapa4Data.get('ForcaEsqPriTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaEsqPriTentativa').value))),\n ForcaDirSegTentativa: this.etapa4Data.get('ForcaDirSegTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaDirSegTentativa').value))),\n ForcaEsqSegTentativa: this.etapa4Data.get('ForcaEsqSegTentativa').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('ForcaEsqSegTentativa').value))),\n SentarLevantarTentativa1: this.etapa4Data.get('SentarLevantarTentativa1').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SentarLevantarTentativa1').value))),\n SPO2LevantarSentar: this.etapa4Data.get('SPO2LevantarSentar').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SPO2LevantarSentar').value))),\n FrequenciaCardiacaSentarLevantar: this.etapa4Data.get('FrequenciaCardiacaSentarLevantar').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FrequenciaCardiacaSentarLevantar').value))),\n CotoveloPrimeira: this.etapa4Data.get('CotoveloPrimeira').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CotoveloPrimeira').value))),\n CotoveloSegunda: this.etapa4Data.get('CotoveloSegunda').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CotoveloSegunda').value))),\n BracoPrimeira: this.etapa4Data.get('BracoPrimeira').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('BracoPrimeira').value))),\n FlexaoBracoSPO2: this.etapa4Data.get('FlexaoBracoSPO2').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FlexaoBracoSPO2').value))),\n FlexaoBracoFrequenciaCardiaca: this.etapa4Data.get('FlexaoBracoFrequenciaCardiaca').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FlexaoBracoFrequenciaCardiaca').value))),\n CaminhadaEstatica: this.etapa4Data.get('CaminhadaEstatica').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CaminhadaEstatica').value))),\n CaminhadaSeisMin: this.etapa4Data.get('CaminhadaSeisMin').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('CaminhadaSeisMin').value))),\n SpoFinal: this.etapa4Data.get('SpoFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SpoFinal').value))),\n SpoDoisFinal: this.etapa4Data.get('SpoDoisFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('SpoDoisFinal').value))),\n PercepcaoSubEsforco: this.etapa4Data.get('PercepcaoSubEsforco').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('PercepcaoSubEsforco').value))),\n PercSubEsforco: this.etapa4Data.get('PercSubEsforco').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('PercSubEsforco').value))),\n FreqCardFinal: this.etapa4Data.get('FreqCardFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FreqCardFinal').value))),\n FreqCardiacaFinal: this.etapa4Data.get('FreqCardiacaFinal').value == null ? null : Number(this.formatValue(String(this.etapa4Data.get('FreqCardiacaFinal').value))),\n DistanciaEsperada: this.etapa4Data.get('DistanciaEsperada').value == null ? null : this.etapa4Data.get('DistanciaEsperada').value,\n }\n\n }\n\n this.professorService.putEditarAvaliacao(dadosParaSalvar).subscribe({\n next: (res: any) => {\n this.toastr.success('Dados salvos com sucesso');\n this.isLoadingFinalizar = false\n },\n error: error => {\n this.isLoadingFinalizar = false\n this.toastr.error('', 'Erro, Verifique se todos os campos estão preenchidos, Utilize ponto ao invés de vírgula para números decimais.',{\n timeOut: 10000\n })\n \n }\n });\n }\n \n\n getCurrentDate(): string {\n const today = new Date();\n const month = today.getMonth() + 1 < 10 ? '0' + (today.getMonth() + 1) : today.getMonth() + 1;\n const day = today.getDate() < 10 ? '0' + today.getDate() : today.getDate();\n return `${today.getFullYear()}-${month}-${day}`;\n }\n\n percentualDistanciaPercorridaEsperada() {\n const distanciaEsperada = this.etapa4Data.get('DistanciaEsperada').value\n const caminhadaSeisMin = this.etapa4Data.get('CaminhadaSeisMin').value\n if (!distanciaEsperada || !caminhadaSeisMin) return;\n const percentual = (caminhadaSeisMin * 100) / distanciaEsperada;\n this.etapa4Data.get('PercDistPerc').setValue(percentual.toFixed(2));\n }\n\n distanciaEsperada() {\n if (!this.paciente?.ID) return\n const calc = this.paciente?.Sexo == 1 ? 1 : 0;\n const distanciaEsperada = 622.461 - (1.846 * this.paciente?.Idade) + (61.503 * calc);\n this.etapa4Data.get('DistanciaEsperada').setValue(distanciaEsperada.toFixed(2));\n }\n\n fcMaximaPredita() {\n if (this.paciente?.Idade) {\n const result = (220 - this.paciente.Idade)\n this.etapa4Data.get('FcMaxPredita').setValue(result);\n }\n }\n\n\n percentualFCMaximaTeste() {\n const fcMaxPredita = this.etapa4Data.get('FcMaxPredita').value\n const freqCardiacaFinal = this.etapa4Data.get('FreqCardiacaFinal').value\n if (!fcMaxPredita || !freqCardiacaFinal) return;\n const percentual = (freqCardiacaFinal * 100) / fcMaxPredita;\n this.etapa4Data.get('PercFcMax').setValue(percentual.toFixed(2))\n }\n\n imc() {\n let imc = 0;\n\n const massaCorporal = this.etapa2Data.get('MassaCorporal').value\n const estatura = this.etapa2Data.get('Estatura').value\n\n if (massaCorporal && estatura) {\n const altura = estatura / 100;\n imc = massaCorporal / Math.pow(altura, 2);\n }\n this.etapa3Data.get('Imc').setValue(imc)\n }\n\n iac() {\n let iac = 0;\n\n const estatura = this.etapa2Data.get('Estatura').value\n const circunferenciaQuadril = this.etapa3Data.get('CircunferenciaQuadril').value\n\n if (estatura && circunferenciaQuadril) {\n const altura = estatura / 100;\n iac = (circunferenciaQuadril / (altura * 1.5)) - 18;\n }\n\n this.etapa3Data.get('IndiceAdiposidadeCorporal').setValue(iac)\n }\n\n efetuarCalculos() {\n this.distanciaEsperada();\n this.fcMaximaPredita();\n this.percentualFCMaximaTeste();\n this.percentualDistanciaPercorridaEsperada();\n this.imc();\n this.maiorTricepes();\n this.maiorSuprailiaca();\n this.maiorCoxa();\n this.forcaMaiorDireita();\n this.forcaMaiorEsquerda();\n this.flexaoBracoMaior();\n this.flexaoCotoveloMaior();\n this.testeIrVir();\n this.sentarLevantarMaior();\n this.forcaMaiorUnipodal();\n this.membroInferiorDireito();\n this.membroInferiorEsquerda();\n this.membroSuperiorDireito();\n this.membroSuperiorEsquerdo();\n this.circunferenciaCinturaQuadril();\n\n this.iac();\n this.razaoCinturaEstatura();\n\n this.etapa3Data.get('AssimetriaBracoRelaxado').setValue(this.calcularAssimetria(this.etapa3Data.get('BracoEsquerdoRelaxado').value, this.etapa3Data.get('BracoDireitoRelaxado').value))\n this.etapa3Data.get('AssimetriaBracoContraido').setValue(this.calcularAssimetria(this.etapa3Data.get('BracoEsquerdoContraido').value, this.etapa3Data.get('BracoDireitoContraido').value))\n this.etapa3Data.get('AssimetriaAnteBraco').setValue(this.calcularAssimetria(this.etapa3Data.get('AnteBracoEsquerdo').value, this.etapa3Data.get('AnteBracoDireito').value))\n this.etapa3Data.get('AssimetriaCoxa').setValue(this.calcularAssimetria(this.etapa3Data.get('CoxaEsquerda').value, this.etapa3Data.get('CoxaDireita').value))\n this.etapa3Data.get('AssimetriaPanturrilha').setValue(this.calcularAssimetria(this.etapa3Data.get('PanturrilhaEsquerda').value, this.etapa3Data.get('PanturrilhaDireita').value))\n\n\n }\n}\n\n\n\n","
    \n
    \n
    \n
    \n
    Avaliações
    \n \n
    \n
    \n
    \n\n
    \n \n Filtrar Avaliações\n \n\n
    \n
    \n
    \n Cliente\n \n
    \n
    \n Situação\n \n \n \n {{ situacao.descricao }}\n \n \n
    \n
    \n Avaliador\n \n
    \n\n \n \n {{ loading ? 'Carregando...' : 'Pesquisar' }}\n \n
    \n
    \n
    \n
    \n\n
    \n
    \n Ações\n
    \n Para ativar alguma ação, selecione algum paciente.\n
    \n
    \n
    \n 1\n \"\n (click)=\"visualizarAvaliacao()\"\n >\n Preencher Avaliação\n \n
    \n
    \n 1 ||\n loadingDevolverAvaliacao\n \"\n (click)=\"devolverAvaliacao()\"\n >\n {{\n loadingDevolverAvaliacao\n ? 'Aguarde...'\n : 'Devolver Avaliação'\n }}\n \n
    \n
    \n
    \n
    \n\n \n \n Avaliações Cadastradas - {{ listaPacientes?.length || '0' }}\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 Cliente\n \n Avaliador\n \n Situação\n \n Data de Cadastro\n \n Data de Atualização\n \n Data de Finalização\n
    \n Nenhum usuário encontrado, por favor insira um\n filtro.\n
    \n \n {{ item.NomeCliente }}{{ item.NomeAvaliador }}\n {{\n item.Situacao === 1\n ? 'Pendente'\n : item.Situacao === 2\n ? 'Finalizada'\n : 'Cancelado'\n }}\n {{ formatDate(item.DataInclusao) }}{{ formatDate(item.DataAlteracao) }}{{ formatDate(item.DataFinalizacao) }}
    \n \n \n Loading...\n
    \n \n \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-usuarios-avaliacoes',\n templateUrl: './usuarios-avaliacoes.component.html',\n styleUrls: ['./usuarios-avaliacoes.component.scss']\n})\nexport class UsuariosAvaliacoesComponent {\n public listaPacientes: any;\n public nenhumUsuarioEncontrado: boolean = true;\n public pacientesSelecionados: any = [];\n public dataPesquisa: any = {\n Avaliador: '', \n Cliente: '', \n Situacao: 0,\n };\n public clientePesquisa: any;\n public avaliadorPesquisa: any;\n public situacaoPesquisa = [\n { value: 0, descricao: 'Todos' },\n { value: 1, descricao: 'Pendentes' },\n { value: 2, descricao: 'Finalizadas' },\n { value: 3, descricao: 'Canceladas' } \n ];\n public loading: boolean = false;\n public loadingDevolverAvaliacao: boolean = false;\n \n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private anamneseService: AnamneseService, private router: Router\n ) {}\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n getListaPacientes(): void {\n this.loading = true;\n this.professorService.postListaUsuariosAvaliacoes(this.dataPesquisa).subscribe({\n next: (response) => {\n this.listaPacientes = response;\n this.nenhumUsuarioEncontrado = this.listaPacientes.length === 0;\n this.loading = false;\n setTimeout(() => {\n this.scrollToElementById('listaPacientes');\n }, 1000);\n\n },\n error: (error) => {\n this.toastr.error('Erro ao buscar avaliações, contate o suporte');\n this.loading = false;\n }\n });\n }\n\n selecionarPaciente(pacienteId: number): void {\n const index = this.pacientesSelecionados.indexOf(pacienteId);\n if (index === -1) {\n this.pacientesSelecionados.push(pacienteId);\n } else {\n this.pacientesSelecionados.splice(index, 1);\n }\n }\n\n visualizarAvaliacao(): void {\n //redirecionar para a página de visualização de avaliação\n this.router.navigate(['/dashboard/acesso-avaliador/usuarios-avaliacoes/alterar/', this.pacientesSelecionados[0]]);\n }\n\n scrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n\n }\n\n devolverAvaliacao(): void {\n if (this.pacientesSelecionados.length === 0) {\n this.toastr.error('Por favor, selecione pelo menos um paciente para devolver a avaliação.');\n return;\n }\n\n this.loadingDevolverAvaliacao = true;\n \n const pacienteId = this.pacientesSelecionados[0]; \n \n this.professorService.getAvaliacaoAnamnese(pacienteId).subscribe({\n next: (response) => {\n \n this.professorService.putDevolverAvaliacao(response).subscribe({\n next: () => {\n this.toastr.success('Avaliação devolvida com sucesso');\n this.loadingDevolverAvaliacao = false;\n },\n error: (error) => {\n this.toastr.error('Erro ao devolver avaliação, contate o suporte');\n this.loadingDevolverAvaliacao = false;\n }\n });\n },\n error: (error) => {\n this.toastr.error('Erro ao buscar avaliação, contate o suporte'); }\n });\n }\n \n\n\n formatDate(date) {\n if (!date) return 'Sem Informação';\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n selectAll(event: any): void {\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach((checkbox: any) => {\n checkbox.checked = event.target.checked;\n });\n }\n}\n","
    \n \n\n
    \n
    \n
    \n
    CADASTRO
    \n \n
    \n
    \n
    \n\n \n Usuários\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 {{ sexo.label }}\n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ rac.label }}\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
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n Sair\n \n \n {{ loading ? 'Salvando...' : 'Salvar' }}\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n","import { DateTime } from 'luxon';\nimport { Component } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AnamneseService } from '@services/dashboard/anamnese/anamnese.service';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ApiService } from '@services/api.service';\n\n@Component({\n selector: 'app-usuarios-incluir',\n templateUrl: './usuarios-incluir.html',\n styleUrls: ['./usuarios-incluir.scss']\n})\nexport class UsuariosIncluir {\n public stepperSelected: string = 'Cadastro';\n public loading: boolean = false;\n public steppers = [\n { name: 'Cadastro', isSelected: false },\n /* { name: 'Plano', isSelected: false },\n { name: 'Checkups', isSelected: false }, */\n ];\n \n \n public opcoesSexo = [\n { value: 3, label: 'Não Informar' },\n { value: 2, label: 'Masculino' },\n { value: 1, label: 'Feminino' },\n ];\n\n public opcoesEstadoCivil = [\n { value: 1, label: 'Solteiro(a)' },\n { value: 2, label: 'Casado(a)' },\n { value: 3, label: 'União Estável' },\n { value: 4, label: 'Divorciado(a)' },\n { value: 5, label: 'Viúvo(a)' },\n { value: 6, label: 'Outros' },\n ];\n\n public opcoesRaca = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Caboclo(a)' },\n { value: 2, label: 'Mulato(a)' },\n { value: 3, label: 'Cafuzo(a)' },\n { value: 4, label: 'Branco(a)' },\n { value: 5, label: 'Negro(a)' },\n { value: 6, label: 'Índio(a)' }\n ]\n\n public grauEscolaridade = [\n { value: 0, label: 'Não Informar' },\n { value: 1, label: 'Ensino Fundamental' },\n { value: 2, label: 'Ensino Médio' },\n { value: 3, label: 'Ensino Superior' },\n { value: 4, label: 'Pós Graduação' },\n { value: 5, label: 'Doutorado' },\n { value: 6, label: 'Pós Doutorado' }\n ]\n\n public opcoesPerfil = [\n { value: 1, label: 'Administrador Geral' },\n { value: 2, label: 'Cliente' },\n { value: 3, label: 'Avaliador' },\n { value: 4, label: 'Avaliador/Cliente' },\n ]\n\n public opcoesCorrespondencia = [\n { value: true, label: 'Sim' },\n { value: false, label: 'Não' },\n ]\n\n public etapa1Data: FormGroup\n public etapa2Data: FormGroup\n public etapa3Data: FormGroup\n \n\n constructor(private professorService: ProfessorService,private toastr: ToastrService,\n private anamneseService: AnamneseService, private apiservice: ApiService) {}\n\n ngOnInit(): void {\n \n //inicio do form\n this.etapa1Data = new FormGroup({\n AceitaCorrespondencia: new FormControl(''),\n Ativo: new FormControl(true),\n Nome: new FormControl(''),\n Login: new FormControl(''),\n TelefoneCelular: new FormControl(''),\n Telefone: new FormControl(''),\n Email: new FormControl(''),\n DataNascimento: new FormControl(''),\n Ocupacao: new FormControl(''),\n Sexo: new FormControl(''),\n EstadoCivil: new FormControl(''),\n Raca: new FormControl(''),\n GrauEscolaridade: new FormControl(''),\n CEP: new FormControl(''),\n Cidade: new FormControl(''),\n UFEndereco: new FormControl(''),\n Bairro: new FormControl(''),\n Logradouro: new FormControl(''),\n Numero: new FormControl(''),\n PerfilID: new FormControl(''),\n Complemento: new FormControl(''),\n\n });\n }\n \n \n \n onSelectStepper(stepperSelected: string) {\n this.stepperSelected = stepperSelected;\n \n }\n\n onSalvar() {\n this.loading = true;\n \n let dadosParaSalvar = {\n ...this.etapa1Data.value,\n DataNascimento: DateTime.fromISO(this.etapa1Data.value.DataNascimento).toISODate(),\n PerfilID: parseInt(this.etapa1Data.value.PerfilID),\n Sexo: parseInt(this.etapa1Data.value.Sexo),\n EstadoCivil: parseInt(this.etapa1Data.value.EstadoCivil),\n Raca: parseInt(this.etapa1Data.value.Raca),\n GrauEscolaridade: parseInt(this.etapa1Data.value.GrauEscolaridade),\n AceitaCorrespondencia: this.etapa1Data.value.AceitaCorrespondencia === 'true' ? true : false,\n Ativo: this.etapa1Data.value.Ativo === 'true' ? true : false,\n }\n \n\n this.professorService.postIncluirUsuario(dadosParaSalvar).subscribe({ \n next: (res: any) => {\n this.toastr.success('Usuário salvo com sucesso','Sucesso');\n this.loading = false;\n // window.history.back();\n },\n error: (erro: any) => {\n this.toastr.error(erro?.error?.Message,'Erro ao salvar os dados');\n this.loading = false;\n }\n });\n\n } \n\n onSair() {\n window.history.back();\n }\n\n buscarEnderecoPorCEP() {\n var cep = this.etapa1Data.value.CEP.replace(/\\D/g, '');\n if (cep != \"\") {\n var validacep = /^[0-9]{8}$/;\n if (validacep.test(cep)) {\n this.apiservice.buscarViaCEP(cep).subscribe((dados: any) => {\n this.etapa1Data.patchValue({\n Logradouro: dados.logradouro,\n Bairro: dados.bairro,\n Cidade: dados.localidade,\n UFEndereco: dados.uf\n });\n });\n }\n }\n \n }\n\n getCurrentDate(): string {\n const today = new Date();\n const month = today.getMonth() + 1 < 10 ? '0' + (today.getMonth() + 1) : today.getMonth() + 1;\n const day = today.getDate() < 10 ? '0' + today.getDate() : today.getDate();\n return `${today.getFullYear()}-${month}-${day}`;\n }\n\n\n}\n\n \n\n","
    \n \n\n
    \n
    \n
    \n
    \n Usuários\n
    \n \n
    \n
    \n
    \n\n
    \n \n Filtrar Usuários\n \n\n
    \n
    \n
    \n Pesquisar por\n \n \n \n {{ option.descricao }}\n \n \n
    \n \n Digite o {{ dataPesquisa.Tipo }}\n \n
    \n
    \n
    \n \n
    \n Situação\n \n \n \n {{ option.descricao }}\n \n \n
    \n
    \n Perfil\n \n \n \n {{ option.descricao }}\n \n \n
    \n \n \n {{\n loadingListaPacientes\n ? 'Carregando...'\n : 'Pesquisar'\n }}\n \n
    \n
    \n \n \n\n
    \n
    \n Ações\n
    \n Para ativar alguma ação, selecione algum paciente.\n
    \n
    \n
    \n \n Novo\n \n
    \n
    \n 1 ||\n !pacientesSelecionados.length\n \"\n class=\"button-usuarios btn btn-secondary btn-block mt-4\"\n (click)=\"handleAlterar()\"\n type=\"button\"\n >\n Editar\n \n
    \n
    \n 1 ||\n !pacientesSelecionados.length ||\n loadingEnviarSenha\n \"\n class=\"button-usuarios btn btn-secondary btn-block mt-4\"\n type=\"button\"\n >\n \n Enviando...\n \n \n Reenviar Senha\n \n \n
    \n
    \n \n Dados Avaliadores\n \n
    \n
    \n
    \n
    \n\n
    \n \n Usuários cadastrados\n \n\n
    \n \n \n \n \n \n \n \n Nome\n \n \n Login\n \n \n E-mail\n \n \n Perfil\n \n \n Ativo\n \n \n Data de Cadastro\n \n \n Último acesso\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 Nenhum usuário encontrado, por favor insira um\n filtro.\n
    \n \n {{ paciente.Nome }}{{ paciente.Login }}{{ paciente.Email }}{{ paciente.Perfil }}\n {{ paciente.Ativo ? 'Ativo' : 'Inativo' }}\n {{ formatDate(paciente.Cadastro) }}\n {{\n paciente.UltimoAcesso\n ? formatDate(paciente.UltimoAcesso)\n : '--'\n }}\n
    \n \n Loading...\n \n
    \n
    \n
    \n \n
    \n\n","import { DateTime } from 'luxon';\nimport { Component, ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { ProfessorService } from '@services/dashboard/professor/professor.service';\nimport { Subscription } from 'rxjs';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-usuarios',\n templateUrl: './usuarios.component.html',\n styleUrls: ['./usuarios.component.scss']\n})\nexport class UsuariosComponent implements OnInit, OnDestroy {\n public listaPacientes: any;\n public nenhumUsuarioEncontrado: boolean = true;\n public pacientesSelecionados: number[] = [];\n public loadingListaPacientes: boolean = false;\n public loadingEnviarSenha: boolean = false;\n\n public dataPesquisa: any = {\n Tipo: '', \n Valor: '', \n Situacao: '', \n Perfil: '' \n };\n\n public tipoPesquisa = [\n { value: 'Nome', descricao: 'Nome' },\n { value: 'Login', descricao: 'Login' },\n { value: 'Email', descricao: 'Email' },\n { value: 'Telefone', descricao: 'Telefone' }\n ];\n\n public situacaoPesquisa = [\n { value: '', descricao: 'Todos' },\n { value: 'true', descricao: 'Ativo' },\n { value: 'false', descricao: 'Inativo' } \n \n];\n \n\n public perfilPesquisa = [\n { value: '1', descricao: 'Administrador Geral' },\n { value: '2', descricao: 'Cliente' },\n { value: '3', descricao: 'Avaliador' },\n { value: '4', descricao: 'Avaliador/Cliente' }\n ];\n\n constructor(\n private professorService: ProfessorService,\n private toastr: ToastrService,\n private renderer: Renderer2, \n private elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n // Código de inicialização, se necessário\n }\n\n getListaPacientes(): void {\n this.loadingListaPacientes = true;\n this.professorService.postListaUsuariosAvaliador(this.dataPesquisa).subscribe({\n next: (response) => {\n this.listaPacientes = response;\n this.nenhumUsuarioEncontrado = this.listaPacientes.length === 0;\n this.loadingListaPacientes = false;\n setTimeout(() => {\n this.scrollToElementById('listaPacientes');\n }, 1000);\n },\n error: (error) => {\n if (error?.error?.Message) {\n this.toastr.error(error.error.Message);\n } else {\n this.toastr.error('Erro ao buscar pacientes, contate o suporte')\n }\n\n this.loadingListaPacientes = false;\n }\n });\n }\n\n scrollToElementById(id: string) {\n \n const element = document.getElementById(id)\n element.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n\n }\n\n \n\n \n \n selecionarPaciente(pacienteId: number): void {\n const index = this.pacientesSelecionados.indexOf(pacienteId);\n if (index === -1) {\n this.pacientesSelecionados.push(pacienteId);\n } else {\n this.pacientesSelecionados.splice(index, 1);\n }\n }\n\n handleEnviarSenha(): void {\n if (this.pacientesSelecionados.length === 0) {\n this.toastr.warning('Selecione pelo menos um paciente');\n return;\n }\n let body = {\n ID: this.pacientesSelecionados[0]\n }\n this.loadingEnviarSenha = true;\n this.professorService.postEnviarSenha({...body}).subscribe({\n next: (response) => {\n this.toastr.success('Senha enviada com sucesso');\n this.loadingEnviarSenha = false;\n },\n error: (error) => {\n this.toastr.error('Erro ao enviar senha, contate o suporte');\n this.loadingEnviarSenha = false;\n }\n });\n }\n\n getDescricaoPerfil(perfil: string): string {\n const perfilEncontrado = this.perfilPesquisa.find(item => item.value === perfil);\n return perfilEncontrado ? perfilEncontrado.descricao : '';\n }\n \n formatDate(date) {\n return DateTime.fromISO(date).toFormat('dd/MM/yyyy');\n }\n\n handleNovo(): void {\n window.location.href = '/dashboard/acesso-avaliador/usuarios/incluir';\n }\n\n handleAlterar(): void {\n if (this.pacientesSelecionados.length === 0) {\n this.toastr.warning('Selecione pelo menos um paciente');\n return;\n }\n window.location.href = `/dashboard/acesso-avaliador/usuarios/alterar/${this.pacientesSelecionados[0]}`;\n }\n\n selectAll(event: any): void {\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n checkboxes.forEach((checkbox: any) => {\n checkbox.checked = event.target.checked;\n });\n this.pacientesSelecionados = event.target.checked ? this.listaPacientes.map(item => item.ID) : [];\n }\n\n ngOnDestroy(): void {\n // Código de limpeza, se necessário\n }\n}\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {AcessoAvaliadorGuard} from '@guards/acesso-avaliador.guard';\nimport {AuthGuard} from '@guards/auth.guard';\nimport {DynamicRouteGuard} from '@guards/dynamic-route.guard';\nimport {NonAuthGuard} from '@guards/non-auth.guard';\nimport {ContainerMainAlunoComponent} from '@modules/main/container/container-main-aluno/container-main-aluno.component';\nimport {ContainerMainAvaliadorComponent} from '@modules/main/container/container-main-avaliador/container-main-avaliador.component';\nimport {checkupsAluno} from '@pages/aluno/checkups-aluno/checkups-aluno';\nimport {DashboardAlunoComponent} from '@pages/aluno/dashboard-aluno/dashboard-aluno.component';\nimport {MeusDados} from '@pages/aluno/meus-dados/meus-dados';\nimport {redefinirSenhaAluno} from '@pages/aluno/redefinir-senha-aluno/redefinir-senha-aluno';\nimport {AnamnesesVisualizar} from '@pages/anamneses-visualizar/anamneses-visualizar';\nimport {DashboardAvaliadorComponent} from '@pages/avaliador/dashboard-avaliador/dashboard-avaliador.component';\nimport {AniversariantesComponent} from '@pages/avaliador/relatorios/relatorio-aniversariantes/relatorio-aniversariantes.component';\nimport {RelatorioAutoConscienciaComponent} from '@pages/avaliador/relatorios/relatorio-auto-consciencia/relatorio-auto-consciencia.component';\nimport {RelatorioBiomarcadoresSafeComponent} from '@pages/avaliador/relatorios/relatorio-biomarcadores-safe/relatorio-biomarcadores-safe.component';\nimport {CheckupsEvolucaoComponent} from '@pages/avaliador/relatorios/relatorio-checkups-evolucao/relatorio-checkups-evolucao.component';\nimport {CheckupsPeriodoComponent} from '@pages/avaliador/relatorios/relatorio-checkups-periodo/relatorio-checkups-periodo.component';\nimport {RelatorioPreCadastroComponent} from '@pages/avaliador/relatorios/relatorio-pre-cadastro/relatorio-pre-cadastro.component';\nimport {RelatorioRankingAvaliadores} from '@pages/avaliador/relatorios/relatorio-ranking-avaliadores/relatorio-ranking-avaliadores';\nimport {RelatorioTabelaGorduraComponent} from '@pages/avaliador/relatorios/relatorio-tabela-gordura/relatorio-tabela-gordura.component';\nimport {AnamnesesComponent} from '@pages/cadastros/anamneses/anamneses/anamneses.component';\nimport {CheckupsAdicionar} from '@pages/cadastros/checkups/checkups-adicionar/checkups-adicionar';\nimport {CheckupsComponent} from '@pages/cadastros/checkups/checkups/checkups.component';\nimport {AdicionarCupomComponent} from '@pages/cadastros/cupons/adicionar-cupom/adicionar-cupom.component';\nimport {CuponsComponent} from '@pages/cadastros/cupons/cupons.component';\nimport {EditarCupomComponent} from '@pages/cadastros/cupons/editar-cupom/editar-cupom.component';\nimport {DadosAlunoComponent} from '@pages/cadastros/dados-aluno/dados-aluno/dados-aluno.component';\nimport {MeusClientesComponent} from '@pages/cadastros/meus-clientes/meus-clientes/meus-clientes.component';\nimport {SenhasProvisoriasComponent} from '@pages/cadastros/senhas-provisorias/senhas-provisorias/senhas-provisorias.component';\nimport {UsuariosOnlinesComponent} from '@pages/cadastros/usuarios-onlines/usuarios-onlines.component';\nimport {duvidasComponent} from '@pages/duvidas/duvidas.component';\nimport {ebooksComponent} from '@pages/ebooks/ebooks.component';\nimport {GraficosPlataformaComponent} from '@pages/graficos-plataforma/graficos-plataforma.component';\nimport {LoginPageComponent} from '@pages/login-page/login-page.component';\nimport {RecuperarSenhaPageComponent} from '@pages/recuperar-senha-page/recuperar-senha-page.component';\nimport {RedefinirSenhaComponent} from '@pages/redefinir-senha/redefinir-senha.component';\nimport {RegisterPageCupomComponent} from '@pages/register-page-cupom/register-page-cupom.component';\nimport {RegisterPageComponent} from '@pages/register-page/register-page.component';\nimport {TokenPageComponent} from '@pages/token-page/token-page.component';\nimport {UsuariosAlterar} from '@pages/usuarios-alterar/usuarios-alterar';\nimport {UsuariosAvaliacoesAlterar} from '@pages/usuarios-avaliacoes-alterar/usuarios-avaliacoes-alterar';\nimport {UsuariosAvaliacoesComponent} from '@pages/usuarios-avaliacoes/usuarios-avaliacoes.component';\nimport {UsuariosIncluir} from '@pages/usuarios-incluir/usuarios-incluir';\nimport {UsuariosComponent} from '@pages/usuarios/usuarios.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: LoginPageComponent\n },\n {\n path: 'dashboard/acesso-avaliador',\n component: ContainerMainAvaliadorComponent,\n canActivate: [AuthGuard, AcessoAvaliadorGuard],\n canActivateChild: [AuthGuard, AcessoAvaliadorGuard],\n children: [\n {\n path: '',\n component: DashboardAvaliadorComponent\n },\n {\n path: 'dados-aluno/:alunoId',\n component: DadosAlunoComponent\n },\n {\n path: 'usuarios',\n component: UsuariosComponent\n },\n {\n path: 'usuarios-avaliacoes',\n component: UsuariosAvaliacoesComponent\n },\n {\n path: 'anamneses',\n component: AnamnesesComponent\n },\n {\n path: 'senhas-provisorias',\n component: SenhasProvisoriasComponent\n },\n {\n path: 'checkups',\n component: CheckupsComponent\n },\n {\n path: 'checkups/adicionar',\n component: CheckupsAdicionar\n },\n {\n path: 'checkups/alterar/:checkupId',\n component: CheckupsAdicionar\n },\n {\n path: 'meus-clientes',\n component: MeusClientesComponent\n },\n {\n path: 'tabela-gordura',\n component: RelatorioTabelaGorduraComponent\n },\n {\n path: 'usuarios-avaliacoes/alterar/:usuarioId',\n component: UsuariosAvaliacoesAlterar\n },\n {\n path: 'relatorios/biomarcadores-safe',\n component: RelatorioBiomarcadoresSafeComponent\n },\n {\n path: 'relatorios/pre-cadastro',\n component: RelatorioPreCadastroComponent\n },\n {\n path: 'relatorios/auto-consciencia',\n component: RelatorioAutoConscienciaComponent\n },\n {\n path: 'relatorios/relatorio-checkup-por-periodo',\n component: CheckupsPeriodoComponent\n },\n {\n path: 'relatorios/relatorio-evolucao',\n component: CheckupsEvolucaoComponent\n },\n {\n path: 'relatorios/relatorio-aniversariantes-mes',\n component: AniversariantesComponent\n },\n {\n path: 'relatorios/relatorio-ranking-avaliadores',\n component: RelatorioRankingAvaliadores\n },\n {\n path: 'usuarios/incluir',\n component: UsuariosIncluir\n },\n {\n path: 'usuarios/alterar/:usuarioId',\n component: UsuariosAlterar\n },\n {\n path: 'cupons',\n component: CuponsComponent\n },\n {\n path: 'ebooks',\n component: ebooksComponent\n },\n {\n path: 'cupons/adicionar',\n component: AdicionarCupomComponent\n },\n {\n path: 'cupons/alterar/:cupomId',\n component: EditarCupomComponent\n },\n {\n path: 'anamneses/visualizar/:hash',\n component: AnamnesesVisualizar\n },\n {\n path: 'duvidas',\n component: duvidasComponent\n },\n {\n path: 'usuarios-onlines',\n component: UsuariosOnlinesComponent\n }\n ]\n },\n {\n path: 'dashboard/acesso-aluno',\n component: ContainerMainAlunoComponent,\n canActivate: [AuthGuard],\n canActivateChild: [AuthGuard],\n children: [\n {\n path: '',\n component: DashboardAlunoComponent\n },\n {\n path: 'meus-dados',\n component: MeusDados\n },\n {\n path: 'meus-checkups',\n component: checkupsAluno\n },\n {\n path: 'alterar-senha-aluno',\n component: redefinirSenhaAluno\n }\n ]\n },\n {\n path: 'login',\n component: LoginPageComponent,\n canActivate: [NonAuthGuard]\n },\n {\n path: 'token',\n component: TokenPageComponent,\n canActivate: [NonAuthGuard]\n },\n {\n path: 'cadastro/:hash',\n component: RegisterPageComponent\n },\n {\n path: 'cadastro',\n component: RegisterPageComponent\n },\n {\n path: 'cupom/promocao/:hash',\n component: RegisterPageCupomComponent\n },\n {\n path: 'recuperar-senha',\n component: RecuperarSenhaPageComponent\n },\n {\n path: 'redefinir-senha',\n component: RedefinirSenhaComponent\n },\n {\n path: 'graficos-plataforma',\n component: GraficosPlataformaComponent\n },\n {\n path: 'home/index',\n canActivate: [DynamicRouteGuard],\n data: {\n expectedParams: ['nomeUsuario', 'hash']\n }\n },\n {path: '**', redirectTo: ''}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {})],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {}\n","\n","import {Action} from '@ngrx/store';\n\nexport const LOGIN_USER = 'LOGIN_USER';\nexport const LOGOUT_USER = 'LOGOUT_USER';\nexport const LOAD_USER = 'LOAD_USER';\n\nexport class LoginUser implements Action {\n readonly type: string = LOAD_USER;\n payload: string;\n}\n","import {Action} from '@ngrx/store';\nimport * as AuthActions from './actions';\n\nconst initialState = {\n isLoggedIn: !!localStorage.getItem('token'),\n token: localStorage.getItem('token'),\n currentUser: {\n email: 'mail@example.com',\n picture: null\n }\n};\n\nexport function authReducer(\n state = initialState,\n action: AuthActions.LoginUser\n) {\n switch (action.type) {\n case AuthActions.LOGIN_USER:\n localStorage.setItem('token', action.payload);\n return {\n ...state,\n isLoggedIn: true,\n token: action.payload\n };\n break;\n case AuthActions.LOGOUT_USER:\n break;\n case AuthActions.LOAD_USER:\n break;\n default:\n return state;\n }\n}\n","export type Option = {\n value: string;\n label: string;\n};\n\nexport const NAVBAR_LIGHT_VARIANTS: Array