Suas certidões emitidas e disponíveis para reemissão.
Nenhuma certidão emitida
Emita sua primeira certidão pelo portal público.
- +Endereço
- {{ dados.endereco?.logradouro }}, {{ dados.endereco?.numero }} - — {{ dados.endereco.complemento }} + {{ dados.logradouro }}, {{ dados.numero }} + — {{ dados.complemento }}
- {{ dados.endereco?.bairro }} — {{ dados.endereco?.cidade }}/{{ dados.endereco?.uf }} + {{ dados.bairro }} — {{ dados.cidade }}/{{ dados.uf }}
-CEP: {{ dados.endereco?.cep }}
+CEP: {{ dados.cep }}
Para alterar o endereço, compareça ao setor de atendimento da Prefeitura.
diff --git a/src/pages/portal/debitos.vue b/src/pages/portal/debitos.vue index f39bc1b..a456f82 100644 --- a/src/pages/portal/debitos.vue +++ b/src/pages/portal/debitos.vue @@ -34,7 +34,7 @@ async function carregar() { if (filtroTipo.value) params.tipo = filtroTipo.value if (filtroStatus.value) params.status = filtroStatus.value const res = await portalService.getDebitos(params) - debitos.value = res.data?.content ?? [] + debitos.value = res.data ?? [] } catch (e) { mensagemErro.value = e?.data?.description ?? 'Não foi possível carregar os débitos.' } finally { @@ -52,8 +52,11 @@ async function emitirGuia(debito) { a.download = `guia-${debito.id}.pdf` a.click() URL.revokeObjectURL(url) - } catch { - mensagemErro.value = 'Erro ao gerar a guia. Tente novamente.' + } catch (e) { + const status = e?.status ?? e?.response?.status + mensagemErro.value = status === 501 + ? 'Emissão de guia em configuração. Procure a prefeitura para geração manual.' + : 'Erro ao gerar a guia. Tente novamente.' } finally { carregandoGuia.value = null } @@ -84,6 +87,19 @@ function limparFiltros() { filtroStatus.value = null carregar() } + +function tituloDebito(d) { + if (d.tipo && d.referencia) return `${d.tipo} — ${d.referencia}` + if (d.tipo) return d.tipo + return d.descricao ?? 'Débito' +} + +function formatarData(iso) { + if (!iso) return '—' + const partes = String(iso).split('-') + if (partes.length !== 3) return iso + return `${partes[2]}/${partes[1]}/${partes[0]}` +} @@ -174,10 +190,11 @@ function limparFiltros() {{{ debito.descricao }}
-{{ debito.tipo }} · Ref: {{ debito.referencia }}
+ +{{ tituloDebito(debito) }}
+Nº {{ debito.descricao }}
+Vence em {{ formatarData(debito.vencimento) }}
+{{ formatarMoeda(debito.valorAtualizado ?? debito.valor) }}
+{{ formatarMoeda(debito.valor) }}
+- {{ debito.vencimento }} -
+ +{{ formatarMoeda(debito.valorAtualizado ?? debito.valor) }}
-{{ formatarMoeda(debito.valor) }}
-{{ tituloDebito(debito) }}
+Nº {{ debito.descricao }}
++ {{ formatarData(debito.vencimento) }} +
-{{ formatarMoeda(debito.valorAtualizado ?? debito.valor) }}
+{{ formatarMoeda(debito.valor) }}
+Bem-vindo ao seu painel de gestão fiscal.
++ {{ prefeitura.nomePrefeitura }} +
+Bem-vindo ao seu painel de gestão fiscal.
+@@ -159,7 +159,7 @@ async function solicitar() { icon="pi pi-sign-in" class="w-full" size="large" - @click="router.push('/entrar')" + @click="router.push('/')" /> diff --git a/src/pages/servicos/certidao.vue b/src/pages/servicos/certidao.vue index ac27097..3c337ba 100644 --- a/src/pages/servicos/certidao.vue +++ b/src/pages/servicos/certidao.vue @@ -4,8 +4,16 @@ import { useAuth } from '@/composables/useAuth' import { certidaoService } from '@/services/certidaoService' const router = useRouter() +const route = useRoute() const { isAuthenticated, documento: docUsuarioLogado, nomeUsuario } = useAuth() +const voltarPara = computed(() => + route.query.from === 'portal' ? '/portal/certidoes' : '/servicos' +) +const labelVoltar = computed(() => + route.query.from === 'portal' ? 'Voltar às certidões' : 'Voltar aos serviços' +) + const documento = ref(isAuthenticated.value ? docUsuarioLogado.value : '') const tipoCertidao = ref('negativa') const etapa = ref('formulario') @@ -70,10 +78,10 @@ function reiniciar() {