{"version":3,"sources":["webpack:///./src/assets/icons/icon-link.svg","webpack:///./src/assets/img/denuncia.png","webpack:///./src/assets/icons/icon-denuncia.svg","webpack:///./src/assets/css/avisosCarousel.css?1540","webpack:///./src/assets/css/login.css?639c","webpack:///./src/assets/icons/icon-close.svg","webpack:///./src/assets/icons/icon-recibo.svg","webpack:///./src/assets/icons/seta-left.svg","webpack:///./src/assets/icons/seta-right.svg","webpack:///./src/assets/img/full-banner.png","webpack:///./src/assets/img/icon-gpi-nfse.svg","webpack:///./src/views/Login.vue?8e88","webpack:///./src/components/global/Carousel.vue?07f8","webpack:///src/components/global/Carousel.vue","webpack:///./src/components/global/Carousel.vue?9e22","webpack:///./src/components/global/Carousel.vue?d68f","webpack:///./src/components/global/AvisosCarousel.vue?dd19","webpack:///src/components/global/AvisosCarousel.vue","webpack:///./src/components/global/AvisosCarousel.vue?ea94","webpack:///./src/components/global/AvisosCarousel.vue","webpack:///./src/models/acesso/Login.js","webpack:///./src/services/nfse/numeros.js","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?5da6","webpack:///./src/views/Login.vue","webpack:///./src/components/global/Carousel.vue?602d","webpack:///./src/assets/icons/icon-listagem.svg","webpack:///./src/assets/icons/icon-padlock.svg","webpack:///./src/assets/icons/icon-user.svg","webpack:///./src/assets/icons/icon-credencial.svg","webpack:///./src/services/nfse/dns.cliente.service.js","webpack:///./src/assets/icons/icon-doc.svg","webpack:///./src/assets/icons/icon-consultar.svg"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","_m","manutencao","logoLogin","numbers","caminhoLogo","staticStyle","attrs","_e","directives","name","rawName","value","expression","nomeEntidade","_v","_s","nomeCliente","on","$event","preventDefault","handleLogin","idSimoes","login","domProps","target","composing","$set","removerErro","mensagemErro","validation","hasError","firstError","erro","class","esqueceuSenha","showJanelaCertificado","qtdeNotasEmitidasFormatado","qtdeDapsEmitidosFormatado","notaTomador","qtdeCredenciamentosFormatado","msgContatoLogin","trim","carouselButtons","AvisosCarousel","linkRps","showLinkRps","loading","copiarLinkRps","showEsqueceu","hideNovaSenha","tiposPessoa","model","callback","$$v","selectedTipoPessoa","key","loginNovaSenha","hideJanelaSenha","requisitarNovaSenha","showCertificado","hideJanelaCertificado","showCarregarCert","carregarCertificado","style","width","showCaptcha","siteKey","handleSuccess","staticRenderFns","ref","disabled","currentIndex","prevSlide","transform","translateValue","_l","group","groupIndex","button","index","slideWidth","route","action","icon","alt","text","isAtEnd","nextSlide","props","buttons","type","Array","required","data","slidesPerView","groupedSlides","computed","groupedButtons","groups","push","slice","i","length","methods","calculateSlideWidth","$refs","carouselRef","Math","floor","containerWidth","updateSlidesPerView","adjustCurrentIndex","min","maxIndex","mounted","window","addEventListener","beforeDestroy","removeEventListener","component","slide","slideIndex","item","showAviso","objeto","date","title","truncateText","content","isSmallDevice","avisoAtual","titulo","displayAviso","hideAviso","tipo","mensagem","avisoAssunto","assunto","avisoItem","pergunta","resposta","contemAvisos","avisos","items","groupedItems","itemsPerSlide","aviso","montarAvisos","forEach","retorno","maxLength","goToAviso","location","href","link","handleResize","innerWidth","setTimeout","Login","nomeAcesso","senhaAcesso","API_URL","NfsNumeros","idCliente","axios","get","headers","components","Carousel","anoAtual","currentUser","expired","showDenunciaFiscal","loginMenssagemSimoes","apresentacao","linkRequestCert","recaptchaVerified","exibirLogo","showDadosCliente","created","validators","Validator","d","Date","getFullYear","console","log","response","api_url","currentUrl","open","loginUser","processando","show","$root","$emit","limparDadosPessoa","formataValorReal","valor","isNaN","currency","formatter","format","autenticar","$router","retencao","credenciar","abrirLinkRps","contribuintes","consultarRps","denunciaFiscal","dadosContato","openDialogMsgContato","navigator","clipboard","writeText","carregarLinks","codigoErro","msg","DnsClenteService","dns"],"mappings":"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","file":"js/login.d7fd1f55.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/icon-link.a36ffb7c.svg\";","module.exports = __webpack_public_path__ + \"img/denuncia.302e7b3d.png\";","module.exports = __webpack_public_path__ + \"img/icon-denuncia.fb3065ca.svg\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!./avisosCarousel.css?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!./avisosCarousel.css?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!./login.css?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!./login.css?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/icon-close.94f1e986.svg\";","module.exports = __webpack_public_path__ + \"img/icon-recibo.3be09d3f.svg\";","module.exports = __webpack_public_path__ + \"img/seta-left.92cff479.svg\";","module.exports = __webpack_public_path__ + \"img/seta-right.7b800712.svg\";","module.exports = __webpack_public_path__ + \"img/full-banner.4b6c45b8.png\";","module.exports = __webpack_public_path__ + \"img/icon-gpi-nfse.a779ddd0.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\"},[_vm._m(0),_c('div',{staticClass:\"grid-principal\"},[_c('div',{staticClass:\"entidade\"},[(!_vm.manutencao && !_vm.logoLogin && this.numbers && this.numbers.caminhoLogo)?_c('img',{staticClass:\"icone-entidade\",staticStyle:{\"width\":\"140px !important\"},attrs:{\"src\":this.numbers.caminhoLogo,\"alt\":\"\"}}):_vm._e(),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.exibirLogo),expression:\"exibirLogo\"}],staticClass:\"icone-entidade\",staticStyle:{\"width\":\"140px !important\"},attrs:{\"src\":_vm.logoLogin,\"alt\":\"Base64 encoded image\"}}),(!_vm.manutencao && this.numbers && this.numbers.nomeEntidade)?_c('h1',{staticClass:\"nome-entidade\"},[_vm._v(_vm._s(this.numbers.nomeEntidade))]):_vm._e(),(!_vm.manutencao && this.numbers && this.numbers.nomeCliente)?_c('h1',{staticClass:\"nome-entidade\"},[_vm._v(_vm._s(this.numbers.nomeCliente))]):_vm._e()]),_c('div',{staticClass:\"form-login\"},[_c('form',{attrs:{\"name\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleLogin($event)}}},[(!_vm.manutencao)?_c('div',{staticClass:\"form-title-primary\"},[_c('span',{staticClass:\"form-title-primary\"},[_vm._v(\"Entrar\")])]):_vm._e(),(_vm.manutencao)?_c('div',[[_c('img',{attrs:{\"src\":require(\"../assets/img/full-banner.png\")}})]],2):_vm._e(),(!_vm.manutencao)?_c('div',[_c('div',{staticClass:\"input\"},[_c('div',{staticClass:\"input-user\"},[_c('span',{staticClass:\"input-text\"},[_c('div',{staticClass:\"input-wrapper\"},[_c('div',{staticClass:\"input-with-icon\"},[(_vm.idSimoes === '19533831040781681800D2584C905F8A')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.login.nomeAcesso),expression:\"login.nomeAcesso\"}],staticClass:\"p-inputtext p-component p-filled\",attrs:{\"id\":\"usuario\",\"type\":\"text\",\"placeholder\":\"CPF/CNPJ\",\"autocomplete\":\"off\",\"tabindex\":\"1\"},domProps:{\"value\":(_vm.login.nomeAcesso)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.login, \"nomeAcesso\", $event.target.value)},function($event){return _vm.removerErro()}]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.login.nomeAcesso),expression:\"login.nomeAcesso\"}],staticClass:\"p-inputtext p-component p-filled\",attrs:{\"id\":\"usuario\",\"type\":\"text\",\"placeholder\":\"Usuário\",\"autocomplete\":\"off\",\"tabindex\":\"1\"},domProps:{\"value\":(_vm.login.nomeAcesso)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.login, \"nomeAcesso\", $event.target.value)},function($event){return _vm.removerErro()}]}}),_c('img',{staticClass:\"input-icon\",attrs:{\"src\":require(\"../assets/icons/icon-user.svg\"),\"alt\":\"icon user\"}})])])])])])]):_vm._e(),(!_vm.manutencao)?_c('div',[(this.expired)?[_c('div',{staticClass:\"error-login-form\",attrs:{\"severity\":\"warn\"}},[_vm._v(\"Sua sessão expirou efetue um novo Login!\")])]:_vm._e(),(this.mensagemErro)?[_c('div',{staticClass:\"error-login-form\",attrs:{\"severity\":\"error\"}},[_vm._v(_vm._s(this.mensagemErro))])]:_vm._e(),(_vm.validation.hasError('login.nomeAcesso'))?[_c('div',{staticClass:\"error-login-form\",attrs:{\"severity\":\"error\"}},[_vm._v(_vm._s(_vm.validation.firstError(\"login.nomeAcesso\")))])]:(_vm.validation.hasError('login.senhaAcesso'))?[_c('div',{staticClass:\"error-login-form\",attrs:{\"severity\":\"error\"}},[_vm._v(_vm._s(_vm.validation.firstError(\"login.senhaAcesso\")))])]:_vm._e(),(this.erro)?[_c('div',{staticClass:\"error-login-form\",attrs:{\"severity\":\"error\"}},[_vm._v(_vm._s(this.erro))])]:_vm._e()],2):_vm._e(),_c('div',{staticClass:\"input\"},[_c('div',{staticClass:\"input-user\"},[_c('span',{staticClass:\"input-text\"},[_c('div',{staticClass:\"input-with-icon\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.login.senhaAcesso),expression:\"login.senhaAcesso\"}],staticClass:\"input-senha\",class:{'error': _vm.validation.hasError('login.senhaAcesso')},attrs:{\"id\":\"senha\",\"type\":\"password\",\"placeholder\":\"Senha\",\"autocomplete\":\"off\",\"tabindex\":\"2\"},domProps:{\"value\":(_vm.login.senhaAcesso)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.login, \"senhaAcesso\", $event.target.value)},function($event){return _vm.removerErro()}]}}),_c('img',{staticClass:\"input-icon-padlock\",attrs:{\"src\":require(\"../assets/icons/icon-padlock.svg\"),\"alt\":\"Mostrar senha\"}})])])])]),(!_vm.manutencao)?_c('div',{staticClass:\"link-esqueceu-senha\"},[_c('a',{staticClass:\"esqueceu-senha\",on:{\"click\":function($event){return _vm.esqueceuSenha()}}},[_vm._v(\"Esqueceu Sua Senha?\")])]):_vm._e(),(!_vm.manutencao)?_c('div',{staticClass:\"entrar\"},[_vm._m(1)]):_vm._e(),(!_vm.manutencao)?_c('div',{staticClass:\"outros-login\"},[_c('a',{on:{\"click\":function($event){return _vm.showJanelaCertificado()}}},[_vm._v(\"Entrar com certificado digital?\")])]):_vm._e()])]),(this.numbers)?_c('div',{staticClass:\"container-infos\"},[_c('div',{staticClass:\"infos-text\"},[_c('div',[_c('span',{staticClass:\"form-subtitle\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.numbers.qtdeNotasEmitidasFormatado)+\" NFS-e Emitidas.\")])]),(false)?_c('div',{staticClass:\"infos-text\"},[_c('span',{staticClass:\"form-subtitle\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.formataValorReal(this.numbers.devidoMunic))+\" Devido no Municipio.\")])]):_vm._e(),(false)?_c('div',{staticClass:\"infos-text\"},[_c('span',{staticClass:\"form-subtitle\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.formataValorReal(this.numbers.devidoForaMunic))+\" Devido Fora do Municipio.\")])]):_vm._e()]),_c('div',{staticClass:\"infos-text\"},[_c('span',{staticClass:\"form-subtitle\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.numbers.qtdeDapsEmitidosFormatado)+\" \"+_vm._s(_vm.notaTomador ? 'Notas Fiscais Tomador' : 'DAPS Emitidos')+\".\")])]),_c('div',{staticClass:\"infos-text\"},[_c('span',{staticClass:\"form-subtitle\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.numbers.qtdeCredenciamentosFormatado)+\" Credenciamentos.\")])]),(false)?_c('div',{staticClass:\"denuncia\"},[_vm._m(2),_c('div',{staticClass:\"denuncia-text\"},[_c('span',{staticClass:\"form-subtitle\"},[_vm._v(\"Realize uma Denúncia relacionada à Prestação de Serviços.\")]),_c('div',[_c('Button',{staticClass:\"btnDenuncia\",attrs:{\"label\":\"Denúncia Fiscal\"},on:{\"click\":function($event){return _vm.denunciaFiscal()}}})],1)])]):_vm._e()]):_vm._e(),(_vm.showDadosCliente)?_c('div',{staticClass:\"container-infos-contato\"},[_c('div',{staticClass:\"infos-text-contato\"},[_c('div',[_c('span',{staticClass:\"form-subtitle-contato\",attrs:{\"id\":\"text1\"}},[_vm._v(_vm._s(this.numbers.msgContatoLogin.trim()))])])])]):_vm._e(),_c('Carousel',{attrs:{\"buttons\":_vm.carouselButtons}}),_c('AvisosCarousel',{attrs:{\"buttons\":_vm.AvisosCarousel}})],1),(this.numbers && this.numbers.linkRps)?_c('Dialog',{attrs:{\"visible\":_vm.showLinkRps,\"modal\":true,\"closable\":false},on:{\"update:visible\":function($event){_vm.showLinkRps=$event}}},[_c('div',{staticClass:\"esqueceu-senha-modal\"},[_c('div',{staticClass:\"header-container\"},[_c('h1',{staticClass:\"titulo-header\"},[_vm._v(\"Link Envio RPS\")]),_c('button',{staticClass:\"btn-cancelar\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.showLinkRps = false}}},[_c('img',{staticClass:\"icon-close\",attrs:{\"src\":require(\"../assets/icons/icon-close.svg\"),\"alt\":\"Fechar\"}})])]),_c('div',{staticClass:\"senha-info\"},[_c('label',{staticClass:\"info-modal\"},[_vm._v(_vm._s(_vm.numbers.linkRps))])])]),_c('div',{staticClass:\"button-container\"},[_c('Button',{staticClass:\"btnAvançar\",attrs:{\"label\":\"Copiar\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.copiarLinkRps()}}})],1)]):_vm._e(),_c('Dialog',{staticStyle:{\"backdrop-filter\":\"blur(1px)\"},attrs:{\"visible\":_vm.showEsqueceu,\"modal\":true,\"closable\":false},on:{\"update:visible\":function($event){_vm.showEsqueceu=$event}}},[_c('div',{staticClass:\"esqueceu-senha-modal\"},[_c('div',{staticClass:\"header-container\"},[_c('h1',{staticClass:\"titulo-header\"},[_vm._v(\"Esqueceu sua Senha?\")]),_c('button',{staticClass:\"btn-cancelar\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideNovaSenha()}}},[_c('img',{staticClass:\"icon-close\",attrs:{\"src\":require(\"../assets/icons/icon-close.svg\"),\"alt\":\"Fechar\"}})])]),_c('div',{staticClass:\"senha-info\"},[_c('label',{staticClass:\"info-modal\"},[_vm._v(\"Informe o tipo e seu respectivo Documento para recuperação de senha:\")])]),_c('div',{staticClass:\"senha-options\"},[_c('label',{staticClass:\"label-tipo\",attrs:{\"for\":\"tipoPessoa\"}},[_vm._v(\"Tipo: \")]),_c('span',{staticClass:\"dropdown-container\"},[_c('Dropdown',{attrs:{\"id\":\"tipoPessoa\",\"options\":_vm.tiposPessoa,\"optionLabel\":\"name\",\"placeholder\":\"Selecione um Tipo de Pessoa\"},model:{value:(_vm.selectedTipoPessoa),callback:function ($$v) {_vm.selectedTipoPessoa=$$v},expression:\"selectedTipoPessoa\"}})],1),_c('div',{staticClass:\"input-container\"},[(_vm.selectedTipoPessoa && _vm.selectedTipoPessoa.key === 'F')?[_c('InputMask',{key:\"F\",attrs:{\"id\":\"recuperaLogin\",\"type\":\"text\",\"placeholder\":\"CPF\",\"autocomplete\":\"off\",\"mask\":\"999.999.999-99\"},model:{value:(_vm.loginNovaSenha),callback:function ($$v) {_vm.loginNovaSenha=$$v},expression:\"loginNovaSenha\"}})]:[_c('InputMask',{key:\"J\",attrs:{\"id\":\"recuperaLogin\",\"type\":\"text\",\"placeholder\":\"CNPJ\",\"autocomplete\":\"off\",\"mask\":\"99.999.999/9999-99\"},model:{value:(_vm.loginNovaSenha),callback:function ($$v) {_vm.loginNovaSenha=$$v},expression:\"loginNovaSenha\"}})]],2)])]),_c('div',{staticClass:\"botoes-avancar-voltar\"},[_c('Button',{staticClass:\"btnVoltar\",attrs:{\"label\":\"Voltar\",\"type\":\"submit\",\"id\":\"btnVoltar\",\"icon\":\"pi pi-angle-left\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.hideJanelaSenha()}}}),_c('Button',{staticClass:\"btnAvançar\",attrs:{\"label\":\"Recuperar Senha\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.requisitarNovaSenha()}}})],1)]),_c('Dialog',{staticStyle:{\"backdrop-filter\":\"blur(1px)\"},attrs:{\"visible\":_vm.showCertificado,\"modal\":true,\"closable\":false},on:{\"update:visible\":function($event){_vm.showCertificado=$event}}},[_c('div',{staticClass:\"certificado-digital-modal\"},[_c('div',{staticClass:\"header-container\"},[_c('h1',{staticClass:\"titulo-header\"},[_vm._v(\"Certificado Digital\")]),_c('button',{staticClass:\"btn-cancelar\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideJanelaCertificado()}}},[_c('img',{staticClass:\"icon-close\",attrs:{\"src\":require(\"../assets/icons/icon-close.svg\"),\"alt\":\"Fechar\"}})])]),_c('div',{staticClass:\"scrolable-dialog\"},[(_vm.showCarregarCert)?_c('div',{staticClass:\"certificado-info\"},[_c('div',{staticClass:\"text-center\"},[_vm._v(\"\\n Aguarde, carregando informações do certificado..\\n \")])]):_vm._e(),(!_vm.showCarregarCert)?_c('div',{staticClass:\"certificado-info\"},[_c('div',{staticClass:\"info-modal\"},[_vm._v(\"\\n Certifique-se que o seu certificado digital está corretamente instalado no navegador.\\n \")]),_c('div',{staticClass:\"botoes-avancar-voltar\"},[_c('Button',{staticClass:\"btnVoltar\",attrs:{\"label\":\"Voltar\",\"type\":\"submit\",\"id\":\"btnVoltar\",\"icon\":\"pi pi-angle-left\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.hideJanelaCertificado()}}}),_c('Button',{staticClass:\"btnAvançar\",attrs:{\"label\":\"Carregue o Certificado\",\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.carregarCertificado()}}})],1)]):_vm._e()])])]),_c('Dialog',{style:({ width: '25vw' }),attrs:{\"header\":\"Necessária Validação do reCAPTCHA\",\"visible\":_vm.showCaptcha,\"modal\":true,\"closable\":false},on:{\"update:visible\":function($event){_vm.showCaptcha=$event}}},[_c('div',{staticClass:\"container scrolable-dialog\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"d-flex justify-content align-items-center\",staticStyle:{\"margin\":\"0 auto\"}},[_c('VueRecaptcha',{attrs:{\"sitekey\":_vm.siteKey,\"load-recaptcha-script\":true},on:{\"verify\":_vm.handleSuccess}})],1)])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"header\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"../assets/img/icon-gpi-nfse.svg\"),\"alt\":\"Logo gpi e NFSE\"}})])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"entrar-text\"},[_c('button',{staticClass:\"btnEntrar\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Entrar\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"denuncia-col\"},[_c('img',{attrs:{\"src\":require(\"../assets/img/denuncia.png\")}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"carouselRef\",staticClass:\"carousel-container\"},[_c('button',{staticClass:\"carousel-control prev-links\",class:{ disabled: _vm.currentIndex === 0 },attrs:{\"disabled\":_vm.currentIndex === 0,\"aria-label\":\"Previous slide\"},on:{\"click\":_vm.prevSlide}},[_c('img',{staticClass:\"setas-navegacao\",attrs:{\"src\":require(\"@/assets/icons/seta-left.svg\"),\"alt\":\"Seta para a esquerda\"}})]),_c('div',{staticClass:\"carousel\"},[_c('div',{staticClass:\"carousel-track\",style:({ transform: _vm.translateValue })},_vm._l((_vm.groupedButtons),function(group,groupIndex){return _c('div',{key:groupIndex,staticClass:\"carousel-group\"},_vm._l((group),function(button,index){return _c('div',{key:index,staticClass:\"carousel-slide\",style:({ width: (_vm.slideWidth + \"px\") })},[_c('a',{staticClass:\"carousel-button\",attrs:{\"href\":button.route},on:{\"click\":function($event){$event.preventDefault();return button.action($event)}}},[_c('img',{staticClass:\"button-icon\",attrs:{\"src\":button.icon,\"alt\":button.alt}}),_c('span',{staticClass:\"text-button\"},[_vm._v(_vm._s(button.text))])])])}),0)}),0)]),_c('button',{staticClass:\"carousel-control next-links\",class:{ disabled: _vm.isAtEnd },attrs:{\"disabled\":_vm.isAtEnd,\"aria-label\":\"Next slide\"},on:{\"click\":_vm.nextSlide}},[_c('img',{staticClass:\"setas-navegacao\",attrs:{\"src\":require(\"@/assets/icons/seta-right.svg\"),\"alt\":\"Seta para a direita\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"carousel-container\" ref=\"carouselRef\">\r\n <!-- Botão para navegar para o slide anterior -->\r\n <button \r\n @click=\"prevSlide\" \r\n class=\"carousel-control prev-links\" \r\n :disabled=\"currentIndex === 0\"\r\n :class=\"{ disabled: currentIndex === 0 }\"\r\n aria-label=\"Previous slide\"\r\n >\r\n <img class=\"setas-navegacao\" src=\"@/assets/icons/seta-left.svg\" alt=\"Seta para a esquerda\" />\r\n </button>\r\n\r\n <div class=\"carousel\">\r\n <div class=\"carousel-track\" :style=\"{ transform: translateValue }\">\r\n <div v-for=\"(group, groupIndex) in groupedButtons\" :key=\"groupIndex\" class=\"carousel-group\">\r\n <div v-for=\"(button, index) in group\" :key=\"index\" \r\n class=\"carousel-slide\" \r\n :style=\"{ width: `${slideWidth}px` }\">\r\n <a :href=\"button.route\" class=\"carousel-button\" @click.prevent=\"button.action\">\r\n <img :src=\"button.icon\" :alt=\"button.alt\" class=\"button-icon\" />\r\n <span class=\"text-button\">{{ button.text }}</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Botão para navegar para o próximo slide -->\r\n <button \r\n @click=\"nextSlide\" \r\n class=\"carousel-control next-links\" \r\n :disabled=\"isAtEnd\"\r\n :class=\"{ disabled: isAtEnd }\"\r\n aria-label=\"Next slide\"\r\n >\r\n <img class=\"setas-navegacao\" src=\"@/assets/icons/seta-right.svg\" alt=\"Seta para a direita\" />\r\n </button>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'Carousel',\r\n props: {\r\n buttons: {\r\n type: Array,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n currentIndex: 0,\r\n slideWidth: 0,\r\n slidesPerView: 4,\r\n groupedSlides: []\r\n };\r\n },\r\n computed: {\r\n // Agrupa os slides em conjuntos baseados no slidesPerView\r\n groupedButtons() {\r\n const groups = [];\r\n for (let i = 0; i < this.buttons.length; i += this.slidesPerView) {\r\n groups.push(this.buttons.slice(i, i + this.slidesPerView));\r\n }\r\n return groups;\r\n },\r\n isAtEnd() {\r\n return this.currentIndex >= this.groupedButtons.length - 1;\r\n },\r\n translateValue() {\r\n return `translateX(-${this.currentIndex * 100}%)`;\r\n }\r\n },\r\n methods: {\r\n calculateSlideWidth() {\r\n if (this.$refs.carouselRef) {\r\n const containerWidth = this.$refs.carouselRef.offsetWidth - 140; // Subtract navigation buttons width\r\n this.slideWidth = Math.floor(containerWidth / this.slidesPerView);\r\n }\r\n },\r\n updateSlidesPerView() {\r\n const width = window.innerWidth;\r\n if (width <= 768) {\r\n this.slidesPerView = 1;\r\n } else if (width <= 1200) {\r\n this.slidesPerView = 2;\r\n } else if (width <= 1439) {\r\n this.slidesPerView = 3;\r\n } else {\r\n this.slidesPerView = 4;\r\n }\r\n \r\n this.calculateSlideWidth();\r\n this.adjustCurrentIndex();\r\n },\r\n adjustCurrentIndex() {\r\n const maxIndex = Math.max(0, Math.ceil(this.buttons.length / this.slidesPerView) - 1);\r\n this.currentIndex = Math.min(this.currentIndex, maxIndex);\r\n },\r\n nextSlide() {\r\n if (!this.isAtEnd) {\r\n this.currentIndex++;\r\n }\r\n },\r\n prevSlide() {\r\n if (this.currentIndex > 0) {\r\n this.currentIndex--;\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.updateSlidesPerView();\r\n window.addEventListener('resize', this.updateSlidesPerView);\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.updateSlidesPerView);\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n/* src=\"@/assets/css/carousel.css\" */\r\n@import '../../assets/css/variables.css';\r\n\r\n.carousel-container {\r\n position: relative;\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 30px 0;\r\n grid-column: span 3; /* Spans all 3 columns */\r\n -webkit-box-ordinal-group: 4;\r\n -ms-flex-order: 3;\r\n order: 3;\r\n}\r\n\r\n.carousel {\r\n width: calc(100% - 140px);\r\n overflow: hidden;\r\n margin: 0 20px;\r\n height: 200px;\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n flex-wrap: nowrap;\r\n justify-content: flex-start;\r\n}\r\n\r\n.carousel-track {\r\n display: flex;\r\n transition: transform 0.3s ease;\r\n width: 100%;\r\n}\r\n\r\n.carousel-group {\r\n display: flex;\r\n flex: 0 0 100%;\r\n justify-content: center;\r\n gap: 20px;\r\n}\r\n\r\n.carousel-slide {\r\n flex: 1;\r\n min-width: 0;\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n}\r\n\r\n@media (max-width: 1200px) {\r\n .carousel-group {\r\n gap: 10px;\r\n }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n .carousel-slide {\r\n width: calc(100% - 20px) !important;\r\n }\r\n \r\n .carousel {\r\n width: calc(100% - 80px);\r\n }\r\n \r\n}\r\n\r\n/* Modified media queries for grid layout */\r\n@media (max-width: 1920px) {\r\n .carousel-container {\r\n max-width: 1493px; /* 383px + 580px + 384px + 146px gaps */\r\n }\r\n}\r\n\r\n@media (max-width: 1440px) {\r\n .carousel-container {\r\n max-width: 100%;\r\n margin: 30px 20px;\r\n }\r\n}\r\n\r\n.carousel {\r\n position: relative;\r\n width: 100%;\r\n max-width: 100%;\r\n margin: auto;\r\n height: 200px;\r\n -webkit-box-ordinal-group: 4;\r\n -ms-flex-order: 3;\r\n order: 3;\r\n grid-column: span 3;\r\n display: flex;\r\n -webkit-box-align: center;\r\n align-items: center;\r\n flex-direction: column;\r\n flex-wrap: nowrap;\r\n justify-content: flex-start;\r\n}\r\n\r\n.carousel-wrapper {\r\n width: calc(100% - 425px); /* 70px para cada botão de navegação */\r\n margin: 0 auto;\r\n overflow: hidden;\r\n}\r\n\r\n.carousel-container {\r\n display: flex;\r\n transition: transform 0.3s ease;\r\n height: 180px;\r\n align-items: center;\r\n}\r\n\r\n.carousel-slide {\r\n flex: 0 0 306px;\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n}\r\n\r\n.carousel-button {\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: var(--header-height);\r\n padding: 8px 10px;\r\n background-color: #DFDFDF;\r\n color: #282828;\r\n text-decoration: none;\r\n border-radius: var(--border-radius);\r\n transition: all 0.3s ease;\r\n margin-bottom: 0 !important;\r\n}\r\n\r\n.text-button {\r\n text-align: left;\r\n}\r\n\r\n.carousel-button:hover {\r\n filter: drop-shadow(0px 5px 15px rgba(0, 0, 0, 0.35));\r\n}\r\n\r\n.button-icon {\r\n margin-right: 28px;\r\n width: 40px;\r\n height: 47px;\r\n flex-shrink: 0;\r\n}\r\n\r\n.carousel-control {\r\n position: absolute;\r\n top: 39%;\r\n transform: translateY(-50%);\r\n background-color: transparent;\r\n border: none;\r\n cursor: pointer;\r\n padding: 10px;\r\n z-index: 10;\r\n transition: opacity 0.3s ease;\r\n width: 70px;\r\n height: 70px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.setas-navegacao {\r\n height: 35px;\r\n}\r\n\r\n.carousel-control.disabled {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n.prev-links {\r\n left: -70px;\r\n}\r\n\r\n.next-links {\r\n right: -70px;\r\n}\r\n\r\na:hover {\r\n color: var(--primary-color);\r\n text-decoration: none;\r\n} \r\n\r\n@media (max-width: 1920px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 410px);\r\n }\r\n}\r\n\r\n@media (max-width: 1800px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 410px);\r\n }\r\n}\r\n\r\n@media (max-width: 1746px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 320px); \r\n }\r\n .prev-links {\r\n /* left: 100px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 100px; */\r\n }\r\n}\r\n\r\n@media (max-width: 1650px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 230px);\r\n }\r\n}\r\n\r\n@media (max-width: 1537px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 250px); \r\n }\r\n .prev-links {\r\n /* left: 0px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 0px; */\r\n }\r\n}\r\n\r\n@media (max-width: 1440px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 320px);\r\n }\r\n .prev-links {\r\n left: -40px;\r\n }\r\n \r\n .next-links {\r\n right: -40px;\r\n }\r\n}\r\n\r\n@media (max-width: 1366px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 250px);\r\n }\r\n}\r\n\r\n@media (max-width: 1280px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 260px);\r\n }\r\n .prev-links {\r\n /* left: 60px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 60px; */\r\n }\r\n}\r\n\r\n@media (max-width: 1098px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 380px);\r\n }\r\n .prev-links {\r\n /* left: 120px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 120px; */\r\n }\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 306px);\r\n }\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 242px);\r\n }\r\n .prev-links {\r\n /* left: 60px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 60px; */\r\n }\r\n}\r\n\r\n@media (max-width: 854px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 450px);\r\n }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 355px);\r\n }\r\n .prev-links {\r\n left: 0px;\r\n }\r\n \r\n .next-links {\r\n right: 0px;\r\n }\r\n}\r\n\r\n@media (max-width: 720px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 300px);\r\n }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 230px);\r\n }\r\n .prev-links {\r\n /* left: 50px; */\r\n }\r\n \r\n .next-links {\r\n /* right: 50px; */\r\n }\r\n}\r\n\r\n@media (max-width: 540px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 135px);\r\n }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n .carousel-wrapper {\r\n width: calc(100% - 130px);\r\n }\r\n .prev-links {\r\n left: -20px;\r\n }\r\n \r\n .next-links {\r\n right: -20px;\r\n }\r\n}\r\n\r\n@media (max-width: 414px) {\r\n .carousel-slide {\r\n flex: 0 0 280px;\r\n }\r\n .carousel-wrapper {\r\n width: calc(100% - 95px);\r\n }\r\n}\r\n\r\n@media (max-width: 385px) {\r\n .carousel-slide {\r\n flex: 0 0 280px;\r\n }\r\n \r\n .carousel-wrapper {\r\n width: calc(100% - 65px);\r\n }\r\n \r\n .carousel-control {\r\n width: 20px;\r\n }\r\n .next-links {\r\n right: -5px;\r\n }\r\n .prev-links {\r\n left: -5px;\r\n }\r\n}\r\n\r\n@media (max-width: 320px) {\r\n .carousel-slide {\r\n flex: 0 0 230px;\r\n }\r\n\r\n .carousel-wrapper {\r\n width: calc(100% - 50px);\r\n }\r\n}\r\n\r\n@media (min-width: 1201px) and (max-width: 1439px) {\r\n .carousel-group {\r\n gap: 5px;\r\n }\r\n \r\n .carousel-slide {\r\n flex: 0 0 calc(33.333% - 10px);\r\n }\r\n}\r\n\r\n@media (min-width: 1440px) {\r\n .carousel-slide {\r\n flex: 0 0 calc(25% - 15px);\r\n }\r\n \r\n .carousel-group {\r\n gap: 0px;\r\n }\r\n .next-links {\r\n right: -20px;\r\n }\r\n .prev-links {\r\n left: -20px;\r\n }\r\n\r\n}\r\n\r\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Carousel.vue?vue&type=template&id=8e4bb368&\"\nimport script from \"./Carousel.vue?vue&type=script&lang=js&\"\nexport * from \"./Carousel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Carousel.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (this.contemAvisos)?_c('div',{staticClass:\"carousel-container-avisos\"},[_vm._m(0),_c('div',{staticClass:\"carousel-avisos-container\"},[_c('button',{staticClass:\"carousel-control-avisos prev-avisos\",class:{ disabled: _vm.currentIndex === 0 },attrs:{\"id\":\"carousel-control-avisos\",\"disabled\":_vm.currentIndex === 0,\"aria-label\":\"Slide anterior\"},on:{\"click\":_vm.prevSlide}},[_c('img',{staticClass:\"setas-navegacao\",attrs:{\"src\":require(\"@/assets/icons/seta-left.svg\"),\"alt\":\"Seta para a esquerda\"}})]),_c('button',{staticClass:\"carousel-control-avisos next-avisos\",class:{ disabled: _vm.isAtEnd },attrs:{\"id\":\"carousel-control-avisos\",\"disabled\":_vm.isAtEnd,\"aria-label\":\"Próximo slide\"},on:{\"click\":_vm.nextSlide}},[_c('img',{staticClass:\"setas-navegacao\",attrs:{\"src\":require(\"@/assets/icons/seta-right.svg\"),\"alt\":\"Seta para a direita\"}})])]),_c('div',{staticClass:\"carousel-avisos\"},[_c('div',{staticClass:\"carousel-track\",style:({ transform: (\"translateX(-\" + (_vm.currentIndex * 100) + \"%)\") })},_vm._l((_vm.groupedItems),function(slide,slideIndex){return _c('div',{key:slideIndex,staticClass:\"carousel-slide-avisos\"},_vm._l((slide),function(item,index){return _c('button',{key:index,staticClass:\"carousel-item-avisos\",on:{\"click\":function($event){return _vm.showAviso(item.objeto)}}},[_c('div',{staticClass:\"card-avisos\"},[_c('p',{staticClass:\"card-avisos-text\"},[_c('strong',{staticClass:\"date\"},[_vm._v(_vm._s(item.date)+\" - \")]),_c('strong',{staticClass:\"content-text\"},[_vm._v(_vm._s(item.title)+\" \")]),_c('span',{staticClass:\"content-text\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.truncateText(item.content, _vm.isSmallDevice ? 105 : 180))}})]),_c('a',{staticClass:\"read-more\",on:{\"click\":function($event){return _vm.showAviso(item.objeto)}}},[_vm._v(\"Leia mais...\")])])])])}),0)}),0)]),(_vm.avisoAtual && _vm.avisoAtual.titulo)?_c('Dialog',{staticStyle:{\"backdrop-filter\":\"blur(5px)\"},attrs:{\"visible\":_vm.displayAviso,\"modal\":\"true\",\"showHeader\":false},on:{\"update:visible\":function($event){_vm.displayAviso=$event}}},[_c('div',{staticClass:\"header-container\"},[_c('h1',{staticClass:\"titulo-header\"},[_vm._v(_vm._s(_vm.avisoAtual.titulo))]),_c('button',{staticClass:\"btn-cancelar\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideAviso()}}},[_c('img',{staticClass:\"icon-close\",attrs:{\"src\":require(\"../../assets/icons/icon-close.svg\"),\"alt\":\"Fechar\"}})])]),_c('div',{staticClass:\"scrolable-dialog\",staticStyle:{\"max-width\":\"1000px\"}},[_c('div',{staticClass:\"row\"},[(_vm.avisoAtual.tipo == 'T')?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.avisoAtual.mensagem)}}):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('label',[_c('b',[_vm._v(\"Assunto:\")])]):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.avisoAtual.avisoAssunto.assunto)}}):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('hr'):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('label',[_c('b',[_vm._v(\"Pergunta:\")])]):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.avisoAtual.avisoItem.pergunta)}}):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('hr'):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('label',[_c('b',[_vm._v(\"Resposta:\")])]):_vm._e(),(_vm.avisoAtual.tipo == 'Q')?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.avisoAtual.avisoItem.resposta)}}):_vm._e()])])]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-title-primary\"},[_c('span',{staticClass:\"form-title-primary\",attrs:{\"id\":\"titulo-avisos\"}},[_vm._v(\"AVISOS\")])])}]\n\nexport { render, staticRenderFns }","<!-- Seção de template do componente AvisosCarousel -->\r\n<template>\r\n <!-- Container principal do carrossel de avisos -->\r\n <div class=\"carousel-container-avisos\" v-if=\"this.contemAvisos\">\r\n <!-- TÃtulo do carrossel, exibido apenas quando não está em modo de manutenção -->\r\n <div class=\"form-title-primary\">\r\n <span class=\"form-title-primary\" id=\"titulo-avisos\">AVISOS</span>\r\n </div>\r\n\r\n <div class=\"carousel-avisos-container\">\r\n <!-- Botão para navegar para o slide anterior -->\r\n <button @click=\"prevSlide\" class=\"carousel-control-avisos prev-avisos\" id=\"carousel-control-avisos\" :disabled=\"currentIndex === 0\"\r\n :class=\"{ disabled: currentIndex === 0 }\" aria-label=\"Slide anterior\">\r\n <!-- Ãcone de seta para a esquerda -->\r\n <img class=\"setas-navegacao\" src=\"@/assets/icons/seta-left.svg\" alt=\"Seta para a esquerda\" />\r\n </button>\r\n\r\n \r\n <!-- Botão para navegar para o próximo slide -->\r\n <button @click=\"nextSlide\" class=\"carousel-control-avisos next-avisos\" id=\"carousel-control-avisos\" :disabled=\"isAtEnd\"\r\n :class=\"{ disabled: isAtEnd }\" aria-label=\"Próximo slide\">\r\n <!-- Ãcone de seta para a direita -->\r\n <img class=\"setas-navegacao\" src=\"@/assets/icons/seta-right.svg\" alt=\"Seta para a direita\" />\r\n </button>\r\n </div>\r\n\r\n <!-- Container do conteúdo do carrossel -->\r\n <div class=\"carousel-avisos\">\r\n <!-- Trilha do carrossel que se move para mostrar diferentes slides -->\r\n <div class=\"carousel-track\" :style=\"{ transform: `translateX(-${currentIndex * 100}%)` }\">\r\n\r\n <!-- Container de cada slide individual -->\r\n <div class=\"carousel-slide-avisos\" v-for=\"(slide, slideIndex) in groupedItems\" :key=\"slideIndex\">\r\n\r\n <!-- Item individual do carrossel (aviso) -->\r\n <button class=\"carousel-item-avisos\" v-for=\"(item, index) in slide\" :key=\"index\"\r\n @click=\"showAviso(item.objeto)\">\r\n <div class=\"card-avisos\">\r\n <p class=\"card-avisos-text\">\r\n <!-- Data do aviso -->\r\n <strong class=\"date\">{{ item.date }} - </strong>\r\n <strong class=\"content-text\">{{ item.title }} </strong>\r\n <!-- Conteúdo do aviso truncado -->\r\n <span class=\"content-text\"><span\r\n v-html=\"truncateText(item.content, isSmallDevice ? 105 : 180)\" /></span>\r\n <!-- Link \"Leia mais\" -->\r\n <a class=\"read-more\" @click=\"showAviso(item.objeto)\">Leia mais...</a>\r\n </p>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Dialog :visible.sync=\"displayAviso\" modal=\"true\" :showHeader=\"false\" v-if=\"avisoAtual && avisoAtual.titulo\" style=\"backdrop-filter: blur(5px);\">\r\n <div class=\"header-container\">\r\n <!-- TÃtulo do modal -->\r\n <h1 class=\"titulo-header\">{{avisoAtual.titulo}}</h1>\r\n <!-- Botão para fechar o modal -->\r\n <button @click=\"hideAviso()\" type=\"button\" class=\"btn-cancelar\">\r\n <!-- Ãcone personalizado de fechar localizado na pasta assets -->\r\n <img src=\"../../assets/icons/icon-close.svg\" alt=\"Fechar\" class=\"icon-close\" />\r\n </button>\r\n </div>\r\n\r\n <div class=\"scrolable-dialog\" style=\"max-width: 1000px;\">\r\n <div class=\"row\">\r\n <div v-if=\"avisoAtual.tipo == 'T'\" v-html=\"avisoAtual.mensagem\" />\r\n <label v-if=\"avisoAtual.tipo == 'Q'\"><b>Assunto:</b></label>\r\n <div v-if=\"avisoAtual.tipo == 'Q'\" v-html=\"avisoAtual.avisoAssunto.assunto\" />\r\n <hr v-if=\"avisoAtual.tipo == 'Q'\" />\r\n <label v-if=\"avisoAtual.tipo == 'Q'\"><b>Pergunta:</b></label>\r\n <div v-if=\"avisoAtual.tipo == 'Q'\" v-html=\"avisoAtual.avisoItem.pergunta\" />\r\n <hr v-if=\"avisoAtual.tipo == 'Q'\" />\r\n <label v-if=\"avisoAtual.tipo == 'Q'\"><b>Resposta:</b></label>\r\n <div v-if=\"avisoAtual.tipo == 'Q'\" v-html=\"avisoAtual.avisoItem.resposta\" />\r\n </div>\r\n </div>\r\n </Dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport DnsClienteService from \"@/services/nfse/dns.cliente.service\"; // Importa o serviço de DNS para cliente relacionado a NFSe\r\nimport LoginService from \"@/services/acesso/login.service\";\r\n// Definição do componente\r\nexport default {\r\n // Dados do componente\r\n data() {\r\n return {\r\n displayAviso: false,\r\n avisoAtual: null,\r\n contemAvisos: false,\r\n avisos: [],\r\n currentIndex: 0, // Ãndice do slide atual\r\n items: [],\r\n isSmallDevice: false, // Flag para detecção de dispositivos pequenos\r\n };\r\n },\r\n // Propriedades computadas\r\n computed: {\r\n // Agrupa os itens em slides com base no tamanho do dispositivo\r\n\r\n groupedItems() {\r\n const itemsPerSlide = this.isSmallDevice ? 1 : 4;\r\n const groups = [];\r\n for (let i = 0; i < this.items.length; i += itemsPerSlide) {\r\n groups.push(this.items.slice(i, i + itemsPerSlide));\r\n }\r\n return groups;\r\n },\r\n // Verifica se o carrossel está no último slide\r\n isAtEnd() {\r\n return this.currentIndex >= this.groupedItems.length - 1;\r\n },\r\n },\r\n // Métodos do componente\r\n methods: {\r\n hideAviso(){\r\n this.displayAviso = false;\r\n },\r\n showAviso(aviso){\r\n this.avisoAtual = aviso;\r\n this.displayAviso = true;\r\n },\r\n montarAvisos() {\r\n let retorno = [];\r\n if (this.avisos && this.avisos.length > 0) {\r\n this.contemAvisos = true;\r\n this.avisos.forEach(function (aviso) {\r\n retorno.push(\r\n {\r\n date: aviso.dataFormatada,\r\n title: aviso.titulo,\r\n content: aviso.mensagem,\r\n objeto: aviso\r\n }\r\n );\r\n });\r\n }\r\n return retorno;\r\n },\r\n // Avança para o próximo slide\r\n nextSlide() {\r\n if (this.currentIndex < this.groupedItems.length - 1) {\r\n this.currentIndex++;\r\n }\r\n },\r\n // Retorna para o slide anterior\r\n prevSlide() {\r\n if (this.currentIndex > 0) {\r\n this.currentIndex--;\r\n }\r\n },\r\n // Trunca o texto para o comprimento especificado\r\n truncateText(text, maxLength) {\r\n if (text.length <= maxLength) return text;\r\n return text.slice(0, maxLength) + '...';\r\n },\r\n // Navega para o link do aviso\r\n goToAviso(link) {\r\n window.location.href = link;\r\n },\r\n // Lida com o redimensionamento da janela\r\n handleResize() {\r\n this.isSmallDevice = window.innerWidth <= 1280;\r\n this.currentIndex = 0;\r\n },\r\n },\r\n // Hooks do ciclo de vida\r\n mounted() {\r\n this.avisos = [];\r\n setTimeout(async () => {\r\n let host = window.location.hostname;\r\n let dnsCliente = await DnsClienteService.get(host); // Busca os dados do cliente DNS usando o hostname\r\n\r\n // Verifica se os dados do cliente DNS estão disponÃveis\r\n if (\r\n dnsCliente &&\r\n dnsCliente.data &&\r\n dnsCliente.data.idCliente\r\n ) {\r\n let idCliente = dnsCliente.data.idCliente;\r\n LoginService.findAllAvisos(idCliente).then((res) => {\r\n this.avisos = res.data;\r\n this.items = this.montarAvisos();\r\n })\r\n }\r\n }, 250);\r\n // Chama handleResize quando o componente é montado\r\n this.handleResize();\r\n // Adiciona um listener para o evento de redimensionamento da janela\r\n window.addEventListener('resize', this.handleResize);\r\n },\r\n beforeDestroy() {\r\n // Remove o listener de redimensionamento quando o componente é destruÃdo\r\n window.removeEventListener('resize', this.handleResize);\r\n },\r\n};\r\n</script>\r\n\r\n<!-- Importa estilos adicionais -->\r\n<style src=\"@/assets/css/avisosCarousel.css\"></style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvisosCarousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvisosCarousel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AvisosCarousel.vue?vue&type=template&id=8adb6acc&\"\nimport script from \"./AvisosCarousel.vue?vue&type=script&lang=js&\"\nexport * from \"./AvisosCarousel.vue?vue&type=script&lang=js&\"\nimport style0 from \"@/assets/css/avisosCarousel.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","class Login {\r\n constructor() {\r\n this.nomeAcesso = null\r\n this.senhaAcesso = null\r\n }\r\n}\r\nexport default Login;","import axios from 'axios';\r\n\r\n\r\nconst API_URL = process.env.VUE_APP_BASE_URL + \"/el_nfse/vw_nfs_numeros\";\r\n\r\nclass NfsNumeros {\r\n constructor() {\r\n }\r\n\r\n listarNumeros(idCliente) {\r\n return axios.get(API_URL+'?idCliente='+idCliente, {headers: this.headers});\r\n }\r\n}\r\nexport default new NfsNumeros();\r\n","<template>\r\n <!-- Container principal da página -->\r\n <div class=\"container-fluid\">\r\n <!-- Cabeçalho da página -->\r\n <header class=\"header\">\r\n <div class=\"container\">\r\n <!-- Logo -->\r\n <div class=\"logo\">\r\n <img src=\"../assets/img/icon-gpi-nfse.svg\" alt=\"Logo gpi e NFSE\" />\r\n </div>\r\n </div>\r\n </header>\r\n\r\n <!-- GRID DA TELA INICIAL DE LOGIN -->\r\n <div class=\"grid-principal\">\r\n \r\n <!-- FLEX DO BRASAO -->\r\n <div class=\"entidade\">\r\n\r\n <!-- IMAGEM DO BRASAO CASO O CLIENTE TENHA NO S3-->\r\n <img class=\"icone-entidade\" :src=\"this.numbers.caminhoLogo\" style=\"width: 140px !important;\" alt v-if=\"!manutencao && !logoLogin && this.numbers && this.numbers.caminhoLogo\" />\r\n \r\n <img :src=\"logoLogin\" alt=\"Base64 encoded image\" class=\"icone-entidade\" v-show=\"exibirLogo\" style=\"width: 140px !important;\"/>\r\n\r\n <!-- Nome da entidade //// AJUSTAR --> \r\n <h1 class=\"nome-entidade\" v-if=\"!manutencao && this.numbers && this.numbers.nomeEntidade\">{{ this.numbers.nomeEntidade }}</h1>\r\n <!-- Nome da entidade codificada //// AJUSTAR -->\r\n <h1 class=\"nome-entidade\" v-if=\"!manutencao && this.numbers && this.numbers.nomeCliente\">{{this.numbers.nomeCliente}}</h1>\r\n </div>\r\n\r\n <!-- FLEX DO FORMULARIO DO LOGIN -->\r\n <div class=\"form-login\">\r\n <!-- Formulário de login -->\r\n <form name=\"form\" @submit.prevent=\"handleLogin\">\r\n <!-- TÃtulo do formulário -->\r\n <div class=\"form-title-primary\" v-if=\"!manutencao\">\r\n <span class=\"form-title-primary\">Entrar</span>\r\n </div>\r\n <!-- Banner de manutenção -->\r\n <div v-if=\"manutencao\">\r\n <template>\r\n <img src=\"../assets/img/full-banner.png\" />\r\n </template>\r\n </div>\r\n\r\n <!-- INPUT DO USUARIO -->\r\n <div v-if=\"!manutencao\">\r\n <div class=\"input\">\r\n <div class=\"input-user\">\r\n <span class=\"input-text\">\r\n <div class=\"input-wrapper\">\r\n <!-- Input com Ãcone dentro -->\r\n <div class=\"input-with-icon\">\r\n <!-- Input para CPF/CNPJ -->\r\n <input \r\n class=\"p-inputtext p-component p-filled\" \r\n v-if=\"idSimoes === '19533831040781681800D2584C905F8A'\"\r\n @input=\"removerErro()\"\r\n id=\"usuario\"\r\n type=\"text\"\r\n placeholder=\"CPF/CNPJ\"\r\n autocomplete=\"off\"\r\n tabindex=\"1\"\r\n v-model=\"login.nomeAcesso\"\r\n />\r\n <!-- Input para usuário -->\r\n <input \r\n class=\"p-inputtext p-component p-filled\" \r\n v-else\r\n @input=\"removerErro()\"\r\n id=\"usuario\"\r\n type=\"text\"\r\n placeholder=\"Usuário\"\r\n autocomplete=\"off\"\r\n tabindex=\"1\"\r\n v-model=\"login.nomeAcesso\"\r\n />\r\n <!-- Ãcone dentro do input -->\r\n <img src=\"../assets/icons/icon-user.svg\" alt=\"icon user\" class=\"input-icon\" />\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- MENSAGEM DE ERRO CASO USUARIO E SENHA ERRADOS -->\r\n <div v-if=\"!manutencao\">\r\n <!-- Mensagem de sessão expirada -->\r\n <template v-if=\"this.expired\">\r\n <div class=\"error-login-form\" severity=\"warn\">Sua sessão expirou efetue um novo Login!</div>\r\n </template>\r\n\r\n <!-- Mensagem de erro genérica -->\r\n <template v-if=\"this.mensagemErro\">\r\n <div class=\"error-login-form\" severity=\"error\">{{ this.mensagemErro }}</div>\r\n </template>\r\n\r\n <!-- Erro de validação do nome de acesso -->\r\n <template v-if=\"validation.hasError('login.nomeAcesso')\">\r\n <div class=\"error-login-form\" severity=\"error\">{{ validation.firstError(\"login.nomeAcesso\")}}</div>\r\n </template>\r\n\r\n <!-- Erro de validação da senha -->\r\n <template v-else-if=\"validation.hasError('login.senhaAcesso')\">\r\n <div class=\"error-login-form\" severity=\"error\">{{ validation.firstError(\"login.senhaAcesso\")}}</div>\r\n </template>\r\n\r\n <!-- Erro genérico -->\r\n <template v-if=\"this.erro\">\r\n <div class=\"error-login-form\" severity=\"error\">{{ this.erro}}</div>\r\n </template>\r\n </div>\r\n\r\n <!-- INPUT SENHA -->\r\n <div class=\"input\">\r\n <div class=\"input-user\">\r\n <span class=\"input-text\">\r\n <div class=\"input-with-icon\">\r\n <!-- Campo de senha -->\r\n <input \r\n @input=\"removerErro()\" \r\n id=\"senha\" \r\n type=\"password\" \r\n placeholder=\"Senha\" \r\n autocomplete=\"off\"\r\n tabindex=\"2\" \r\n v-model=\"login.senhaAcesso\" \r\n class=\"input-senha\" \r\n :class=\"{'error': validation.hasError('login.senhaAcesso')}\" \r\n />\r\n <!-- Ãcone de olho para visualização de senha -->\r\n <img src=\"../assets/icons/icon-padlock.svg\" alt=\"Mostrar senha\" class=\"input-icon-padlock\" />\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <!-- LINK ESQUECEU SUA SENHA -->\r\n <div class=\"link-esqueceu-senha\" v-if=\"!manutencao\">\r\n <a class=\"esqueceu-senha\" @click=\"esqueceuSenha()\">Esqueceu Sua Senha?</a>\r\n </div>\r\n\r\n <!-- BOTAO ENTRAR -->\r\n <div class=\"entrar\" v-if=\"!manutencao\">\r\n <span class=\"entrar-text\">\r\n <button type=\"submit\" class=\"btnEntrar\">Entrar</button>\r\n </span>\r\n </div>\r\n\r\n <!-- BOTAO ENTRAR COM CERTIFICADO DIGITAL -->\r\n <div class=\"outros-login\" v-if=\"!manutencao\">\r\n <a @click=\"showJanelaCertificado()\">Entrar com certificado digital?</a>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <!-- FLEX DAS INFORMACOES -->\r\n <div class=\"container-infos\" v-if=\"this.numbers\">\r\n <!-- INFORMACAO DAS NOTAS EMITIDAS -->\r\n <div class=\"infos-text\">\r\n <div>\r\n <span id=\"text1\" class=\"form-subtitle\">{{ this.numbers.qtdeNotasEmitidasFormatado }} NFS-e Emitidas.</span>\r\n </div>\r\n\r\n <!-- INFORMACAO DOS DEVIDO AO MUNICIPIO -->\r\n <div class=\"infos-text\" v-if=\"false\">\r\n <span id=\"text1\" class=\"form-subtitle\">{{ this.formataValorReal(this.numbers.devidoMunic) }} Devido no Municipio.</span>\r\n </div>\r\n\r\n <!-- INFORMACAO DOS DEVIDO FORA DO MUNICIPIO -->\r\n <div class=\"infos-text\" v-if=\"false\">\r\n <span id=\"text1\" class=\"form-subtitle\">{{ this.formataValorReal(this.numbers.devidoForaMunic) }} Devido Fora do Municipio.</span>\r\n </div>\r\n </div>\r\n\r\n <!-- INFORMACAO DAS DAPS EMITIDAS -->\r\n <div class=\"infos-text\">\r\n <span id=\"text1\" class=\"form-subtitle\">{{ this.numbers.qtdeDapsEmitidosFormatado }} {{ notaTomador ? 'Notas Fiscais Tomador' : 'DAPS Emitidos'}}.</span>\r\n </div>\r\n\r\n <!-- INFORMACAO DOS CREDENCIAMENTOS REALIZADOS -->\r\n <div class=\"infos-text\">\r\n <span id=\"text1\" class=\"form-subtitle\">{{ this.numbers.qtdeCredenciamentosFormatado }} Credenciamentos.</span>\r\n </div>\r\n\r\n <!-- INFO DA DENUNCIA -->\r\n <div class=\"denuncia\" v-if=\"false\">\r\n <div class=\"denuncia-col\">\r\n <img src=\"../assets/img/denuncia.png\"/>\r\n </div>\r\n <div class=\"denuncia-text\">\r\n <span class=\"form-subtitle\">Realize uma Denúncia relacionada à Prestação de Serviços.</span>\r\n <div>\r\n <Button label=\"Denúncia Fiscal\" class=\"btnDenuncia\" @click=\"denunciaFiscal()\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"container-info-contato\"> -->\r\n <div v-if=\"showDadosCliente\" class=\"container-infos-contato\">\r\n <!-- INFORMACAO DE CONTATO DO CLIENTE -->\r\n <div class=\"infos-text-contato\">\r\n <div>\r\n <span id=\"text1\" class=\"form-subtitle-contato\">{{ this.numbers.msgContatoLogin.trim() }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n\r\n <!-- LINKS HORIZONTAIS -->\r\n <Carousel :buttons=\"carouselButtons\" />\r\n\r\n <!-- AVISOS EM CARROSSEL -->\r\n <AvisosCarousel :buttons=\"AvisosCarousel\" />\r\n\r\n </div>\r\n\r\n <Dialog :visible.sync=\"showLinkRps\" :modal=\"true\" :closable=\"false\" v-if=\"this.numbers && this.numbers.linkRps\">\r\n <!-- Contêiner principal do modal -->\r\n <div class=\"esqueceu-senha-modal\">\r\n\r\n <!-- Cabeçalho do modal com tÃtulo e botão de fechar -->\r\n <div class=\"header-container\">\r\n <!-- TÃtulo do modal -->\r\n <h1 class=\"titulo-header\">Link Envio RPS</h1>\r\n\r\n <!-- Botão para fechar o modal ao clicar, utilizando o Ãcone personalizado -->\r\n <button @click=\"showLinkRps = false\" type=\"button\" class=\"btn-cancelar\">\r\n <img src=\"../assets/icons/icon-close.svg\" alt=\"Fechar\" class=\"icon-close\" />\r\n </button> \r\n </div>\r\n\r\n <!-- Informações de numeros da entidade -->\r\n <div class=\"senha-info\">\r\n <label class=\"info-modal\">{{numbers.linkRps}}</label>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Botão para requisitar nova senha -->\r\n <div class=\"button-container\">\r\n <!-- O botão é desativado quando a variável 'loading' está verdadeira -->\r\n <Button @click=\"copiarLinkRps()\" label=\"Copiar\" class=\"btnAvançar\" :disabled=\"loading\" />\r\n </div>\r\n </Dialog>\r\n\r\n <!-- LINK DO ESQUECEU A SENHA -->\r\n <!-- Modal para recuperação de senha, sincronizando visibilidade com 'showEsqueceu' -->\r\n <Dialog :visible.sync=\"showEsqueceu\" :modal=\"true\" :closable=\"false\" style=\"backdrop-filter: blur(1px);\">\r\n <!-- Contêiner principal do modal -->\r\n <div class=\"esqueceu-senha-modal\">\r\n\r\n <!-- Cabeçalho do modal com tÃtulo e botão de fechar -->\r\n <div class=\"header-container\">\r\n <!-- TÃtulo do modal -->\r\n <h1 class=\"titulo-header\">Esqueceu sua Senha?</h1>\r\n\r\n <!-- Botão para fechar o modal ao clicar, utilizando o Ãcone personalizado -->\r\n <button @click=\"hideNovaSenha()\" type=\"button\" class=\"btn-cancelar\">\r\n <img src=\"../assets/icons/icon-close.svg\" alt=\"Fechar\" class=\"icon-close\" />\r\n </button> \r\n </div>\r\n\r\n <!-- Informações de numeros da entidade -->\r\n <div class=\"senha-info\">\r\n <label class=\"info-modal\">Informe o tipo e seu respectivo Documento para recuperação de senha:</label>\r\n </div>\r\n\r\n <!-- Seção de seleção de tipo de pessoa e entrada de documento -->\r\n <div class=\"senha-options\">\r\n\r\n <!-- Rótulo para o campo de seleção de tipo de pessoa -->\r\n <label for=\"tipoPessoa\" class=\"label-tipo\">Tipo: </label>\r\n\r\n <!-- Dropdown para seleção do tipo de pessoa (FÃsica ou JurÃdica) -->\r\n <span class=\"dropdown-container\">\r\n <Dropdown id=\"tipoPessoa\" v-model=\"selectedTipoPessoa\" :options=\"tiposPessoa\" optionLabel=\"name\"\r\n placeholder=\"Selecione um Tipo de Pessoa\" />\r\n </span>\r\n\r\n <!-- Campo de entrada condicional baseado no tipo de pessoa selecionado -->\r\n <div class=\"input-container\">\r\n <!-- Máscara de CPF quando o tipo de pessoa é 'FÃsica' (key 'F') -->\r\n <template v-if=\"selectedTipoPessoa && selectedTipoPessoa.key === 'F'\">\r\n <InputMask id=\"recuperaLogin\" type=\"text\" placeholder=\"CPF\" autocomplete=\"off\"\r\n v-model=\"loginNovaSenha\" mask=\"999.999.999-99\" key=\"F\" />\r\n </template>\r\n\r\n <!-- Máscara de CNPJ quando o tipo de pessoa é 'JurÃdica' (key 'J') -->\r\n <template v-else>\r\n <InputMask id=\"recuperaLogin\" type=\"text\" placeholder=\"CNPJ\" autocomplete=\"off\"\r\n v-model=\"loginNovaSenha\" mask=\"99.999.999/9999-99\" key=\"J\" />\r\n </template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Botão para requisitar nova senha -->\r\n <div class=\"botoes-avancar-voltar\">\r\n <Button label=\"Voltar\" type=\"submit\" class=\"btnVoltar\" id=\"btnVoltar\" @click=\"hideJanelaSenha()\" icon=\"pi pi-angle-left\" :disabled=\"loading\" />\r\n <!-- O botão é desativado quando a variável 'loading' está verdadeira -->\r\n <Button @click=\"requisitarNovaSenha()\" label=\"Recuperar Senha\" class=\"btnAvançar\" :disabled=\"loading\" />\r\n </div>\r\n </Dialog>\r\n\r\n <!-- IMPORTAR CERTIFICADO DIGITAL -->\r\n <!-- Modal para seleção de certificado digital, com visibilidade controlada pela variável 'showCertificado' -->\r\n <Dialog :visible.sync=\"showCertificado\" :modal=\"true\" :closable=\"false\" style=\"backdrop-filter: blur(1px);\">\r\n\r\n <!-- Contêiner principal do modal para certificado digital -->\r\n <div class=\"certificado-digital-modal\">\r\n\r\n <!-- Cabeçalho do modal contendo o tÃtulo e o botão de fechar -->\r\n <div class=\"header-container\">\r\n \r\n <!-- TÃtulo do modal -->\r\n <h1 class=\"titulo-header\">Certificado Digital</h1>\r\n\r\n <!-- Botão para fechar o modal, chamando a função 'hideJanelaCertificado' -->\r\n <button @click=\"hideJanelaCertificado()\" type=\"button\" class=\"btn-cancelar\">\r\n <!-- Ãcone personalizado de fechar localizado na pasta assets -->\r\n <img src=\"../assets/icons/icon-close.svg\" alt=\"Fechar\" class=\"icon-close\" />\r\n </button>\r\n </div>\r\n \r\n <!-- Contêiner principal do diálogo que permite rolagem -->\r\n <div class=\"scrolable-dialog\">\r\n <!-- Exibe informações de carregamento do certificado se 'showCarregarCert' for verdadeiro -->\r\n <div v-if=\"showCarregarCert\" class=\"certificado-info\">\r\n <!-- Texto centralizado que informa o usuário sobre o carregamento do certificado -->\r\n <div class=\"text-center\">\r\n Aguarde, carregando informações do certificado..\r\n </div>\r\n </div>\r\n \r\n <!-- Exibe o conteúdo do certificado caso 'showCarregarCert' seja falso -->\r\n <div v-if=\"!showCarregarCert\" class=\"certificado-info\">\r\n \r\n <!-- Informação ao usuário sobre a instalação correta do certificado digital -->\r\n <div class=\"info-modal\">\r\n Certifique-se que o seu certificado digital está corretamente instalado no navegador.\r\n </div>\r\n \r\n <!-- Contêiner do botão de carregar o certificado -->\r\n <div class=\"botoes-avancar-voltar\">\r\n <Button label=\"Voltar\" type=\"submit\" class=\"btnVoltar\" id=\"btnVoltar\" @click=\"hideJanelaCertificado()\" icon=\"pi pi-angle-left\" :disabled=\"loading\" />\r\n <!-- Botão que inicia a ação de carregar o certificado digital, desativado quando 'loading' está verdadeiro -->\r\n <Button @click=\"carregarCertificado()\" label=\"Carregue o Certificado\" class=\"btnAvançar\" :disabled=\"loading\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Dialog>\r\n\r\n <!-- Modal para validação do reCAPTCHA, com visibilidade controlada pela variável 'showCaptcha' -->\r\n <Dialog header=\"Necessária Validação do reCAPTCHA\" :visible.sync=\"showCaptcha\" :modal=\"true\" :closable=\"false\"\r\n :style=\"{ width: '25vw' }\">\r\n\r\n <!-- Contêiner principal do modal com rolagem -->\r\n <div class=\"container scrolable-dialog\">\r\n\r\n <!-- Linha para posicionar o reCAPTCHA -->\r\n <div class=\"row\">\r\n\r\n <!-- Centraliza o componente VueRecaptcha horizontalmente e verticalmente -->\r\n <div class=\"d-flex justify-content align-items-center\" style=\"margin: 0 auto;\">\r\n\r\n <!-- Componente VueRecaptcha que dispara o método 'handleSuccess' ao ser verificado -->\r\n <VueRecaptcha @verify=\"handleSuccess\" :sitekey=\"siteKey\" :load-recaptcha-script=\"true\"></VueRecaptcha>\r\n </div>\r\n </div>\r\n </div>\r\n </Dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n// Importações necessárias\r\nimport Carousel from '../components/global/Carousel.vue'; // Importa o componente de carrossel global\r\nimport AvisosCarousel from '../components/global/AvisosCarousel.vue'; // Importação correta\r\nimport Login from \"../models/acesso/Login\"; // Importa o modelo de login\r\nimport LoginService from \"../services/acesso/login.service\"; // Importa o serviço de login\r\nimport Numero from \"../services/nfse/numeros\"; // Importa o serviço de manipulação de números (relacionado à NFSe)\r\nimport DnsClienteService from \"../services/nfse/dns.cliente.service\"; // Importa o serviço de DNS para cliente relacionado a NFSe\r\nimport SimpleVueValidation from \"simple-vue-validator\"; // Importa a biblioteca de validação \"SimpleVueValidation\"\r\nconst Validator = SimpleVueValidation.Validator; // Define uma constante para o validador de formulários\r\n\r\nexport default {\r\n name: \"login\", // Nome do componente atual\r\n components: { // Componentes utilizados dentro deste componente\r\n Carousel, // Componente de carrossel global\r\n AvisosCarousel,\r\n },\r\n\r\n data() {\r\n return {\r\n // Dados do componente\r\n anoAtual: null, // Ano atual (pode ser atualizado dinamicamente)\r\n erro: null, // Armazenamento de erros\r\n loading: false, // Indicador de carregamento (exemplo: durante requisições) \r\n currentUser: null, // Informações do usuário atual logado\r\n expired: null, // Informação sobre a expiração da sessão ou dados\r\n showEsqueceu: false, // Controle de visibilidade do modal \"Esqueceu a Senha\"\r\n login: new Login(), // Instância do modelo de login\r\n loginNovaSenha: null, // Instância do modelo de login\r\n manutencao: false, // Flag para indicar se o sistema está em manutenção\r\n numbers: null, // Armazena números relacionados à NFSe\r\n idCliente: null, // ID do cliente\r\n showCertificado: false, // Controle de visibilidade do modal de certificado digital\r\n showCarregarCert: false, // Controle de visibilidade durante o carregamento do certificado\r\n notaTomador: false, // Controle de visibilidade de notas para tomador\r\n showDenunciaFiscal: false, // Controle de visibilidade do modal de denúncia fiscal\r\n loginMenssagemSimoes: null, // Mensagem personalizada relacionada ao login de Simões\r\n idSimoes: null, // ID relacionado ao cliente de Simões\r\n selectedTipoPessoa: null, // Tipo de pessoa selecionada (FÃsica, JurÃdica ou Entidade)\r\n tiposPessoa: [ // Opções de tipos de pessoa para seleção\r\n { name: \"Pessoa FÃsica\", key: \"F\" },\r\n { name: \"Pessoa JurÃdica\", key: \"J\" },\r\n { name: \"Entidade\", key: \"E\" }\r\n ],\r\n apresentacao: false, // Controle de exibição da apresentação\r\n linkRequestCert: '', // Link para requisição de certificado\r\n siteKey: '6LfvEi4gAAAAAMbyRV0UO2i8ovyoQkNs0suhoMc5', // Chave do reCAPTCHA utilizada na validação\r\n recaptchaVerified: false, // Status de verificação do reCAPTCHA\r\n showCaptcha: false, // Controle de visibilidade do modal do reCAPTCHA \r\n exibirLogo: false, // Controle para exibição do logo no login \r\n logoLogin: \"\", // Caminho para o logo utilizado no login \r\n carouselButtons: [],\r\n AvisosCarousel: [],\r\n showLinkRps: false, //Controle Exibição Dialog com Link do RPS\r\n msgContatoLogin: null,\r\n showDadosCliente: false\r\n };\r\n },\r\n\r\n // Hook \"created\" (executado quando o componente é criado)\r\n created() {\r\n // Inicializa os dados da apresentação (caso exista a propriedade '$apresentacao', utiliza-a; caso contrário, define como 'false')\r\n this.apresentacao = (this.$apresentacao ? this.$apresentacao : false);\r\n\r\n // Define o tipo de pessoa selecionado como o primeiro item da lista de tipos de pessoa\r\n this.selectedTipoPessoa = this.tiposPessoa[0];\r\n\r\n /** Valida se o Captcha deve ser exibido */\r\n // this.viewCaptcha(); // (Comentado, pode ser ativado se necessário para validar a exibição do Captcha)\r\n },\r\n\r\n\r\n // Definição dos validadores para os campos de login e senha\r\n validators: {\r\n\r\n // Validador para o campo \"login.nomeAcesso\"\r\n \"login.nomeAcesso\": function (value) {\r\n return Validator.value(value)\r\n // Verifica se o campo \"Login\" está preenchido\r\n .required(\"Campo Login Obrigatório\")\r\n // Verifica se o tamanho do login não ultrapassa 200 caracteres\r\n .maxLength(200, \"Login deve ser menor ou igual a 200\");\r\n },\r\n\r\n // Validador para o campo \"login.senhaAcesso\"\r\n \"login.senhaAcesso\": function (value) {\r\n return Validator.value(value)\r\n // Verifica se o campo \"Senha\" está preenchido\r\n .required(\"Campo Senha Obrigatório\")\r\n // Verifica se o tamanho da senha não ultrapassa 50 caracteres\r\n .maxLength(50, \"Senha deve ser menor ou igual a 50\");\r\n },\r\n },\r\n\r\n // Hook \"mounted\" (executado quando o componente é montado)\r\n mounted() {\r\n this.currentIndex = 0; // Garantir que o carrossel comece do inÃcio\r\n var d = new Date(); // Configuração inicial\r\n this.anoAtual = d.getFullYear(); // Armazena o ano atual\r\n setTimeout(async () => { // Aguarda 250 milissegundos antes de executar a lógica a seguir\r\n if (this.$route.query.manutencao && this.$route.query.manutencao == \"N\") { // Verifica se a query \"manutencao\" está presente e se é igual a \"N\"\r\n this.manutencao = false; // Se sim, define 'manutencao' como false\r\n } else {\r\n document.getElementById(\"usuario\").focus(); // Caso contrário, foca no campo de usuário\r\n }\r\n\r\n let host = window.location.hostname; // Obtém o hostname da URL atual\r\n this.dnsCliente = await DnsClienteService.get(host); \r\n console.log(\"DNS CLIENTE: \",this.dnsCliente.data); // Busca os dados do cliente DNS usando o hostname\r\n this.expired = this.$route.query.expired; // Armazena se a sessão expirou com base na query\r\n\r\n // Verifica se os dados do cliente DNS estão disponÃveis\r\n if (\r\n this.dnsCliente &&\r\n this.dnsCliente.data &&\r\n this.dnsCliente.data.idCliente\r\n ) {\r\n this.idCliente = this.dnsCliente.data.idCliente; \r\n this.showDenunciaFiscal = this.apresentacao; // Define se a denúncia fiscal deve ser exibida\r\n\r\n if (\"19533831040781681800D2584C905F8A\" === this.idCliente) { // Verificações especÃficas para certos IDs de cliente\r\n this.notaTomador = true; // Exibe nota do tomador para um cliente especÃfico\r\n } else if (\"ce744068-cc92-479f-bf9d-d88cf4238517\" === this.idCliente) { // Exibe denúncia fiscal para outro cliente especÃfico\r\n this.showDenunciaFiscal = true;\r\n }\r\n\r\n this.idSimoes = this.dnsCliente.data.idCliente; // Armazena o ID do cliente de Simões\r\n\r\n /*\r\n // Código comentado que altera a mensagem de login com base no ID do cliente\r\n if(this.dnsCliente.data.idCliente === '19533831040781681800D2584C905F8A'){\r\n this.loginMenssagemSimoes = \"CPF/CNPJ\";\r\n }else{\r\n this.loginMenssagemSimoes = \"Usuário\";\r\n }\r\n */\r\n Numero.listarNumeros(this.dnsCliente.data.idCliente).then((res) => { // Lista números associados ao ID do cliente \r\n this.numbers = res.data; // Armazena os números retornados\r\n this.carouselButtons = this.carregarLinks();\r\n this.msgContatoLogin = this.numbers.msgContatoLogin;\r\n if (res.data.logoLogin) { // Se a resposta contém logo, configura para exibição \r\n this.exibirLogo = true; \r\n this.logoLogin = \"data:image/jpg;base64,\".concat( // Se a resposta contém logo, configura para exibição \r\n this.logoLogin.concat(res.data.logoLogin) \r\n ); \r\n } \r\n console.log(res.data); // Log dos dados retornados\r\n this.numbers.msgContatoLogin ? this.showDadosCliente = true : this.showDadosCliente = false;\r\n });\r\n }\r\n }, 250); // Tempo de espera antes da execução da lógica\r\n\r\n \r\n \r\n \r\n // this.showDadosContato();\r\n },\r\n\r\n // Hook \"beforeDestroy\" (executado antes do componente ser destruÃdo)\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.handleResize); // Remove o listener do evento de redimensionamento\r\n },\r\n\r\n methods: {\r\n handleSuccess(response) { // Método para lidar com o sucesso da verificação do reCAPTCHA\r\n console.log('reCaptcha verificado: ', response); // Loga a resposta da verificação do reCAPTCHA\r\n\r\n setTimeout(() => { // Aguarda 800 milissegundos antes de executar a lógica a seguir\r\n this.recaptchaVerified = true; // Marca o reCAPTCHA como verificado\r\n this.loginUser(); // Chama o método para realizar o login do usuário\r\n this.recaptchaVerified = false; // Reseta a verificação do reCAPTCHA após o login\r\n this.showCaptcha = false; // Esconde o modal do Captcha\r\n }, 800);\r\n },\r\n\r\n showJanelaCertificado() { // Método para mostrar janela de certificado\r\n this.showCertificado = true; // Define a variável que controla a exibição da janela de certificado como verdadeira \r\n this.showCarregarCert = false; // Esconde o indicador de carregamento do certificado\r\n },\r\n\r\n hideJanelaCertificado() { // Método para esconder a janela de certificado\r\n this.showCertificado = false; // Define a variável que controla a exibição da janela de certificado como falsa \r\n this.showCarregarCert = false; // Esconde o indicador de carregamento do certificado\r\n },\r\n\r\n carregarCertificado() { // Método para carregar certificado\r\n this.showCarregarCert = true; // Exibe o indicador de carregamento do certificado\r\n let currentUrl = window.location; // Obtém a URL atual da janela\r\n let api_url = (this.$configAppData ? this.$configAppData.baseUrl : ''); // Define a URL da API base, se disponÃvel\r\n this.linkRequestCert = 'https://certificado.cloud.el.com.br/gpilogin/base64NF'; // Define o link para requisitar o certificado\r\n this.linkRequestCert = this.linkRequestCert + '?urlRetorno=' + api_url + '/requestCertificado'; // Adiciona a URL de retorno à solicitação do certificado\r\n this.linkRequestCert = this.linkRequestCert + \"&urlFront=\" + currentUrl; // Adiciona a URL frontal à solicitação do certificado\r\n window.open(this.linkRequestCert, \"_self\", \"\"); // Abre o link de solicitação do certificado na mesma janela\r\n return false; // Retorna falso para evitar qualquer outro comportamento padrão\r\n },\r\n\r\n removerErro() { // Método para remover erro\r\n this.erro = null; // Limpa a variável de erro, definindo-a como nula\r\n\r\n },\r\n\r\n handleLogin() { // Método para lidar com o login\r\n /*desabilitado (this.apresentacao) { // Verifica se está em modo de apresentação\r\n this.$validate().then((success) => { // Valida os campos do formulário\r\n if (success) { // Se a validação for bem-sucedida\r\n this.processando(true); // Indica que o processamento está em andamento\r\n if (!this.recaptchaVerified) { // Verifica se o reCAPTCHA foi verificado\r\n this.showCaptcha = true; // Mostra o modal do reCAPTCHA se não estiver verificado\r\n } else {\r\n this.loginUser(); // Realiza o login do usuário se o reCAPTCHA estiver verificado\r\n }\r\n\r\n this.processando(false); // Indica que o processamento foi concluÃdo\r\n }\r\n });\r\n } else {*/\r\n this.$validate().then((success) => { // Se não estiver em modo de apresentação, valida os campos do formulário\r\n if (success) { // Se a validação for bem-sucedida\r\n this.processando(true); // Indica que o processamento está em andamento\r\n this.loginUser(); // Realiza o login do usuário\r\n this.processando(false); // Indica que o processamento foi concluÃdo\r\n }\r\n });\r\n //}\r\n },\r\n\r\n loginUser() { // Método para realizar o login do usuário\r\n /*desabilitado (if (this.apresentacao) { // Verifica se está em modo de apresentação\r\n this.showCaptcha = true; // Exibe o modal do reCAPTCHA\r\n if (this.recaptchaVerified) { // Verifica se o reCAPTCHA foi verificado\r\n LoginService.login(this.login, this.idCliente).then( // Chama o serviço de login, passando as informações de login e o ID do cliente\r\n (data) => {\r\n //You can get warning (error: 'data' is defined but never used;), if you don't use parameters;\r\n console.log(data); // Exibe os dados retornados (para fins de depuração)\r\n if (LoginService.currentUserValue && LoginService.currentUserValue.homePage) { // Verifica se o usuário atual possui uma página inicial definid\r\n const homePage = LoginService.currentUserValue.homePage; \r\n this.$router.push(homePage); // Redireciona para a página inicial do usuário\r\n } else { \r\n this.erro = \"Login ou Senha inválidos!\"; // Define uma mensagem de erro caso o login ou a senha estejam inválidos\r\n }\r\n },\r\n (error) => { // Exibe o erro retornado (para fins de depuração)\r\n console.log(error);\r\n this.erro = \"Login ou Senha inválidos!\"; // Define uma mensagem de erro caso ocorra um erro durante o login\r\n }\r\n );\r\n }\r\n } else {*/\r\n LoginService.login(this.login, this.idCliente).then( // Chama o serviço de login, passando as informações de login e o ID do cliente\r\n (data) => {\r\n //You can get warning (error: 'data' is defined but never used;), if you don't use parameters;\r\n if (LoginService.currentUserValue && LoginService.currentUserValue.homePage) { // Verifica se o usuário atual possui uma página inicial definida\r\n console.log(data); // Exibe os dados retornados (para fins de depuração)\r\n const homePage = LoginService.currentUserValue.homePage;\r\n localStorage.setItem('displayInformacao', null);\r\n this.$router.push(homePage); // Redireciona para a página inicial do usuário\r\n } else {\r\n this.erro = \"Login ou Senha inválidos!\"; // Define uma mensagem de erro caso o login ou a senha estejam inválidos\r\n }\r\n },\r\n (error) => { // Exibe o erro retornado (para fins de depuração)\r\n console.log(error);\r\n this.erro = \"Login ou Senha inválidos!\"; // Define uma mensagem de erro caso ocorra um erro durante o login\r\n }\r\n );\r\n //}\r\n },\r\n\r\n \r\n processando(show) { // Método para mostrar/esconder loading\r\n if (show) { \r\n this.loading = true; // Ativa o estado de loading\r\n this.$root.$emit(\"loading:show\"); // Emite um evento para mostrar o loading globalmente\r\n } else { \r\n this.loading = false; // Desativa o estado de loading\r\n this.$root.$emit(\"loading:hide\"); // Emite um evento para esconder o loading globalmente\r\n }\r\n },\r\n\r\n esqueceuSenha() { // Métodos relacionados à recuperação de senha\r\n this.limparDadosPessoa(); // Limpa os dados da pessoa antes de mostrar a tela de recuperação \r\n this.showEsqueceu = true; // Exibe a janela de recuperação de senha \r\n }, \r\n\r\n hideNovaSenha() { \r\n this.loading = false; // Desativa o loading ao fechar a janela\r\n this.showEsqueceu = false; // Esconde a janela de recuperação de senha \r\n }, \r\n\r\n limparDadosPessoa() { \r\n this.loginNovaSenha = null; // Limpa o campo de nova senha \r\n }, \r\n\r\n requisitarNovaSenha() { \r\n if (!this.loginNovaSenha) { // Verifica se o campo de nova senha está vazio\r\n this.$root.$emit(\"alert:warn\", \"Informe um Login válido!\"); // Emite um alerta de aviso \r\n } else { \r\n this.loading = true; // Ativa o loading ao iniciar a requisição\r\n LoginService.recuperarSenha(this.loginNovaSenha, this.idCliente).then( // Chama o serviço para recuperação de senha \r\n (response) => { \r\n console.log(response); // Exibe a resposta no console (para fins de depuração)\r\n this.$root.$emit( // Emite um alerta de sucesso informando que o e-mail foi enviado\r\n \"alert:success\", \r\n \"Foi enviado um e-mail para recuperação de Senha da sua conta!\" \r\n ); \r\n }, \r\n (error) => { \r\n console.log(error); // Exibe o erro no console (para fins de depuração)\r\n this.loading = false; // Desativa o loading em caso de erro\r\n this.$root.$emit(\"alert:warn\", error.response.data); // Emite um alerta de aviso com a mensagem de erro \r\n } \r\n ); \r\n }\r\n },\r\n\r\n formataValorReal(valor) { // Método para formatar valor em Real\r\n if (typeof valor !== 'number' || isNaN(valor)) { // Verifica se o valor é válido e é um número\r\n return ''; // Retorna uma string vazia se o valor não for um número válido\r\n }\r\n \r\n const formatter = new Intl.NumberFormat('pt-BR', { // Formatando o valor para moeda brasileira (BRL)\r\n style: 'currency', // Define o estilo como moeda\r\n currency: 'BRL' // Define a moeda como Real brasileiro\r\n }); \r\n \r\n return formatter.format(valor); // Retorna o valor formatado\r\n },\r\n\r\n // Métodos de ação para os botões\r\n autenticar() {\r\n this.$router.push(\"/autenticacao\");\r\n },\r\n retencao() {\r\n this.$router.push(\"/reciboRetencao\");\r\n },\r\n credenciar() {\r\n this.$router.push(\"/credenciamento\");\r\n },\r\n abrirLinkRps() {\r\n this.showLinkRps = true;\r\n },\r\n contribuintes() {\r\n this.$router.push(\"/contribuintes\");\r\n },\r\n consultarRps() {\r\n this.$router.push(\"/consultaRps\");\r\n },\r\n denunciaFiscal() {\r\n this.$router.push(\"/denunciaFiscal\");\r\n },\r\n dadosContato() {\r\n this.openDialogMsgContato = true;\r\n },\r\n copiarLinkRps() {\r\n navigator.clipboard.writeText(this.numbers.linkRps);\r\n },\r\n\r\n \r\n\r\n carregarLinks(){\r\n let retorno = [];\r\n retorno.push(\r\n {\r\n text: \"Clique aqui para se Credenciar\",\r\n icon: require(\"@/assets/icons/icon-credencial.svg\"),\r\n alt: \"Ãcone credencial\",\r\n action: this.credenciar,\r\n route: \"/credenciamento\"\r\n }\r\n );\r\n retorno.push(\r\n {\r\n text: \"Clique aqui para autenticar Documento\",\r\n icon: require(\"@/assets/icons/icon-doc.svg\"),\r\n alt: \"Ãcone autenticar documento\",\r\n action: this.autenticar, // Ação ao clicar no botão\r\n route: \"/autenticacao\" // Rota para onde o botão leva\r\n }\r\n );\r\n retorno.push(\r\n {\r\n text: \"Clique aqui para Recibo de Retenção\",\r\n icon: require(\"@/assets/icons/icon-recibo.svg\"),\r\n alt: \"Ãcone recibo de retenção\",\r\n action: this.retencao,\r\n route: \"/reciboRetencao\"\r\n }\r\n );\r\n if(this.numbers && this.numbers.linkRps){\r\n retorno.push(\r\n {\r\n text: \"Link Envio RPS\",\r\n icon: require(\"@/assets/icons/icon-link.svg\"),\r\n alt: \"Ãcone link envio RPS\",\r\n action: this.abrirLinkRps,\r\n route: null\r\n }\r\n );\r\n }\r\n retorno.push(\r\n {\r\n text: \"Clique para consultar RPS convertido em NFS-e.\",\r\n icon: require(\"@/assets/icons/icon-consultar.svg\"),\r\n alt: \"Ãcone consultar\",\r\n action: this.consultarRps,\r\n route: \"/consultaRps\"\r\n }\r\n );\r\n if(!this.manutencao && this.numbers && this.numbers.linkTutoriais){\r\n retorno.push(\r\n {\r\n text: \"Acesso aos tutoriais\",\r\n icon: require(\"@/assets/icons/icon-consultar.svg\"),\r\n alt: \"Ãcone Tutoriais\",\r\n // Abre o link dos tutoriais em nova aba\r\n action: () => {\r\n window.open(this.numbers.linkTutoriais, '_blank'); // Abre o link dos tutoriais em nova aba\r\n },\r\n route: null\r\n }\r\n );\r\n }\r\n if(this.apresentacao){\r\n retorno.push(\r\n {\r\n text: \"Listagem de Contribuintes\",\r\n icon: require(\"@/assets/icons/icon-listagem.svg\"),\r\n alt: \"Ãcone listagem\",\r\n action: this.contribuintes,\r\n route: \"/contribuintes\"\r\n }\r\n );\r\n }\r\n if(this.showDenunciaFiscal){\r\n retorno.push(\r\n {\r\n text: \"Realize uma Denúncia relacionada à Prestação de Serviços.\",\r\n icon: require(\"@/assets/icons/icon-denuncia.svg\"),\r\n alt: \"Ãcone denuncia\",\r\n action: this.denunciaFiscal,\r\n route: \"/denunciaFiscal\"\r\n }\r\n );\r\n }\r\n return retorno;\r\n },\r\n\r\n hideJanelaSenha() { // Método para esconder a janela de senha\r\n this.showEsqueceu = false; // Define a variável que controla a exibição da janela de senha como falsa \r\n this.loading = false; // Esconde o indicador de loading\r\n },\r\n\r\n },\r\n\r\n computed: {\r\n mensagemErro() { // Propriedade computada para gerar mensagens de erro baseadas no código de erro recebido na rota\r\n let codigoErro = this.$route.query.erro; // Obtém o código de erro da query da rota atual\r\n let msg = ''; \r\n if (codigoErro) { // Verifica se um código de erro foi fornecido\r\n switch (codigoErro) { // Define a mensagem de erro com base no código de erro\r\n case '1':\r\n msg = 'Autenticador Certisign não disponivel para realizar o Login.'; // Mensagem para erro 1\r\n break; \r\n case '2': \r\n msg = 'Não foi possÃvel validar o certificado digital.'; // Mensagem para erro 2\r\n break; \r\n case '3': \r\n msg = 'Chave de criptografia do certificado inválida.'; // Mensagem para erro 3\r\n break; \r\n case '4': \r\n msg = 'PerÃodo de validade do certificado digital expirado.'; // Mensagem para erro 4\r\n break; \r\n case '5': \r\n msg = 'Não foi posssÃvel obter a data de validade do certificado.'; // Mensagem para erro 5\r\n break;\r\n case '6':\r\n msg = 'Usuário não encontrado com documento relacionado ao certificado.'; // Mensagem para erro 6\r\n break;\r\n case '7':\r\n msg = 'Não foi possÃvel validar o certificado digital.'; // Mensagem para erro 7\r\n break;\r\n }\r\n return msg; // Retorna a mensagem de erro correspondente\r\n } else { \r\n return null; // Se não houver código de erro, retorna null\r\n }\r\n },\r\n }\r\n};\r\n</script>\r\n\r\n<style src=\"@/assets/css/login.css\"></style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=6f754ba8&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"@/assets/css/login.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/icon-listagem.dac42423.svg\";","module.exports = __webpack_public_path__ + \"img/icon-padlock.8ef23df5.svg\";","module.exports = __webpack_public_path__ + \"img/icon-user.f229e48f.svg\";","module.exports = __webpack_public_path__ + \"img/icon-credencial.4661d94b.svg\";","import axios from 'axios';\r\n\r\nconst API_URL = process.env.VUE_APP_BASE_URL + '/api/dnspublic/';\r\n\r\nclass DnsClenteService {\r\n constructor() {\r\n }\r\n\r\n get(dns) {\r\n console.log('Here');\r\n console.log(API_URL);\r\n return axios.get(API_URL+dns, {headers: this.headers});\r\n }\r\n\r\n}\r\n\r\nexport default new DnsClenteService();","module.exports = __webpack_public_path__ + \"img/icon-doc.2e183818.svg\";","module.exports = __webpack_public_path__ + \"img/icon-consultar.ecf3b136.svg\";"],"sourceRoot":""}