From 4ee054f98f19c6daf2f1e897868580a9e0f10b50 Mon Sep 17 00:00:00 2001 From: gabrielb Date: Tue, 19 May 2026 18:25:57 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20adicionar=20desabilita=C3=A7=C3=A3o=20d?= =?UTF-8?q?e=20bot=C3=B5es=20durante=20carregamento=20em=20v=C3=A1rias=20p?= =?UTF-8?q?=C3=A1ginas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/proxy/[...path].ts | 2 ++ src/components/auth/LoginModal.vue | 1 + src/pages/credenciamento.vue | 2 +- src/pages/index.vue | 1 + src/pages/portal/certidoes.vue | 2 +- src/pages/portal/dados.vue | 2 +- src/pages/portal/debitos.vue | 1 + src/pages/portal/pagamentos.vue | 1 + src/pages/servicos/certidao.vue | 1 + src/pages/servicos/iptu.vue | 2 ++ 10 files changed, 12 insertions(+), 3 deletions(-) diff --git a/server/api/proxy/[...path].ts b/server/api/proxy/[...path].ts index f1a3d27..592fb87 100644 --- a/server/api/proxy/[...path].ts +++ b/server/api/proxy/[...path].ts @@ -46,6 +46,8 @@ export default defineEventHandler(async (event) => { const contentType = getHeader(event, 'content-type') if (contentType) headers['Content-Type'] = contentType + console.log(`[proxy] ${method} ${url} | X-Municipio: ${headers['X-Municipio']} | X-Dominio: ${headers['X-Dominio']} | auth: ${!!accessToken}`) + try { const res = await $fetch.raw(url, { method: method as 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', diff --git a/src/components/auth/LoginModal.vue b/src/components/auth/LoginModal.vue index b281602..4417979 100644 --- a/src/components/auth/LoginModal.vue +++ b/src/components/auth/LoginModal.vue @@ -86,6 +86,7 @@ function onHide() { class="w-full" size="large" :loading="carregando" + :disabled="carregando" @click="entrar" /> diff --git a/src/pages/credenciamento.vue b/src/pages/credenciamento.vue index 21b2c47..aa755a6 100644 --- a/src/pages/credenciamento.vue +++ b/src/pages/credenciamento.vue @@ -371,7 +371,7 @@ const estados = ['AC','AL','AP','AM','BA','CE','DF','ES','GO','MA','MT','MS','MG

diff --git a/src/pages/index.vue b/src/pages/index.vue index 8cabcb5..dce28ec 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -267,6 +267,7 @@ async function continuar() { class="w-full" size="large" :loading="carregando" + :disabled="carregando" @click="continuar" /> diff --git a/src/pages/portal/certidoes.vue b/src/pages/portal/certidoes.vue index 1e5fa65..2fd75fe 100644 --- a/src/pages/portal/certidoes.vue +++ b/src/pages/portal/certidoes.vue @@ -119,7 +119,7 @@ const statusMap = { size="small" outlined :loading="carregandoPdf === cert.id" - :disabled="cert.status === 'CANCELADA'" + :disabled="cert.status === 'CANCELADA' || !!carregandoPdf" @click="reemitir(cert)" /> diff --git a/src/pages/portal/dados.vue b/src/pages/portal/dados.vue index 964ad90..ecc9af0 100644 --- a/src/pages/portal/dados.vue +++ b/src/pages/portal/dados.vue @@ -172,7 +172,7 @@ function formatarTelefone(e) {

diff --git a/src/pages/portal/debitos.vue b/src/pages/portal/debitos.vue index b8f15fb..f39bc1b 100644 --- a/src/pages/portal/debitos.vue +++ b/src/pages/portal/debitos.vue @@ -221,6 +221,7 @@ function limparFiltros() { outlined class="whitespace-nowrap" :loading="carregandoGuia === debito.id" + :disabled="!!carregandoGuia" @click="emitirGuia(debito)" /> diff --git a/src/pages/portal/pagamentos.vue b/src/pages/portal/pagamentos.vue index 7629017..f95927b 100644 --- a/src/pages/portal/pagamentos.vue +++ b/src/pages/portal/pagamentos.vue @@ -136,6 +136,7 @@ const formaPagMap = { size="small" text :loading="carregandoComprovante === pag.id" + :disabled="!!carregandoComprovante" @click="baixarComprovante(pag)" /> diff --git a/src/pages/servicos/certidao.vue b/src/pages/servicos/certidao.vue index ec1e886..ac27097 100644 --- a/src/pages/servicos/certidao.vue +++ b/src/pages/servicos/certidao.vue @@ -201,6 +201,7 @@ function reiniciar() { icon="pi pi-download" class="flex-1" :loading="carregandoEmissao" + :disabled="carregandoEmissao" @click="emitir" /> diff --git a/src/pages/servicos/iptu.vue b/src/pages/servicos/iptu.vue index 869f300..edeecd0 100644 --- a/src/pages/servicos/iptu.vue +++ b/src/pages/servicos/iptu.vue @@ -213,6 +213,7 @@ function formatarMoeda(valor) { size="small" outlined :loading="carregandoPdf === `carne-${imovelSelecionado.inscricaoImobiliaria}`" + :disabled="!!carregandoPdf" @click="emitirCarne(imovelSelecionado)" /> @@ -239,6 +240,7 @@ function formatarMoeda(valor) { text aria-label="Emitir boleto" :loading="carregandoPdf === `boleto-${debito.id}`" + :disabled="!!carregandoPdf" @click="emitirBoleto(debito)" />