diff --git a/src/composables/useExtratoDebitosPortal.js b/src/composables/useExtratoDebitosPortal.js index 2e0c325..94f357f 100644 --- a/src/composables/useExtratoDebitosPortal.js +++ b/src/composables/useExtratoDebitosPortal.js @@ -24,10 +24,18 @@ export function useExtratoDebitosPortal() { { label: 'Saldo Crédito', value: 3 }, ] + const ESTADO_DEBITO = 1 + const temSelecionado = computed(() => resultados.value.some(t => t.selecionados?.length > 0) ) + const temDebitoSelecionado = computed(() => + resultados.value.some(t => + t.selecionados?.some(d => d.codigoEstadoConta === ESTADO_DEBITO) + ) + ) + const totalizadores = computed(() => { let principal = 0, multa = 0, juros = 0, valorTotal = 0 resultados.value.forEach(t => { @@ -85,7 +93,13 @@ export function useExtratoDebitosPortal() { function montarDtoGuia() { return { listaDebitos: resultados.value - .filter(t => t.selecionados?.length > 0) + .map(t => ({ + ...t, + selecionados: (t.selecionados || []).filter( + d => d.codigoEstadoConta === ESTADO_DEBITO + ), + })) + .filter(t => t.selecionados.length > 0) .map(t => ({ idTributo: t.idTributo, identificador: t.identificador, @@ -139,8 +153,8 @@ export function useExtratoDebitosPortal() { } async function gerarGuia() { - if (!temSelecionado.value) { - mensagemErro.value = 'Selecione pelo menos um débito.' + if (!temDebitoSelecionado.value) { + mensagemErro.value = 'Selecione pelo menos um débito em aberto. Parcelas quitadas ou com saldo zerado não geram guia.' return } if (!dataVencimento.value) { @@ -202,6 +216,7 @@ export function useExtratoDebitosPortal() { filtro, opcoesEstadoConta, temSelecionado, + temDebitoSelecionado, totalizadores, consultar, limparFiltros, diff --git a/src/pages/portal/debitos.vue b/src/pages/portal/debitos.vue index fdf8ab0..68bb853 100644 --- a/src/pages/portal/debitos.vue +++ b/src/pages/portal/debitos.vue @@ -22,6 +22,7 @@ const { filtro, opcoesEstadoConta, temSelecionado, + temDebitoSelecionado, totalizadores, consultar, limparFiltros, @@ -209,7 +210,7 @@ function getSegundoNome(texto) { />