%banco_name%
Código%id_cota%%id_cota%
Crédito%credito%
Entrada%entrar%
Parcelas%valor_parcela%
Cotas em Ofertas
Contemplados
Não Contemplados
BancoIDCréditoEntradaParcelasAção
<script>
jQuery(document).ready(function($) {
function formatCurrency(value) {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value);
}
function renderCotas(cotas) {
cotas.forEach(function(cota) {
var $areaCotasOfertas = $('.areaCotasOfertas');
var $itemCota = $('#itemCota').clone().removeAttr('id');
$itemCota.find('.logoBank').css('background-image', 'url(' + cota.bancourl + ')');
$itemCota.find('.nameBank').text(cota.banco);
$itemCota.find('.idCota').text(cota._ID);
var $categoria = $itemCota.find('.categoria');
$categoria.text(cota.categoria);
$categoria.removeClass('hidden'); // Remove a classe .hidden da categoria
$itemCota.find('.creditoCota').text(formatCurrency(cota.credito));
$itemCota.find('.entradaCota').text(formatCurrency(cota.entrada));
$itemCota.find('.valorParcelas').text(cota.qtd_parcela + 'x ' + formatCurrency(cota.valor_parcela));
$areaCotasOfertas.append($itemCota);
});
}
function loadAndRenderCotas() {
$.post(window.location.href, { acao: 'get_cotas_vendedor' }, function(response, status, xhr) {
if (xhr.status === 202) {
// Save the response in sessionStorage
sessionStorage.setItem('cotasGeraisOfertas', JSON.stringify(response));
if (response && response.length > 0) {
renderCotas(response);
} else {
$('#cotasOfertas').addClass('hidden');
}
} else {
$('#cotasOfertas').addClass('hidden');
}
});
}
loadAndRenderCotas();
});
</script>
jQuery(document).ready(function($) {
function formatCurrency(value) {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value);
}
function renderCotas(cotas, $targetArea) {
$targetArea.empty(); // Clear only the target area
cotas.forEach(function(cota) {
var $itemCota = $('#itemCota').clone().removeAttr('id');
$itemCota.find('.logoBank').css('background-image', 'url(' + cota.bancourl + ')');
$itemCota.find('.nameBank').text(cota.banco);
$itemCota.find('.iconcat').css('background-image', 'url(' + cota.iconcat + ')');
$itemCota.find('.idCota').text(cota._ID);
$itemCota.find('.creditoCota').text(formatCurrency(cota.credito));
$itemCota.find('.entradaCota').text(formatCurrency(cota.entrada));
$itemCota.find('.valorParcelas').text(cota.qtd_parcela + 'x ' + formatCurrency(cota.valor_parcela));
$targetArea.append($itemCota);
});
}
function sortCotas(cotas, key, asc) {
return cotas.sort(function(a, b) {
return asc ? a[key] - b[key] : b[key] - a[key];
});
}
function loadAndRenderCotas() {
$.post(window.location.href, { acao: 'get_cotas_selecao' }, function(response, status, xhr) {
if (xhr.status === 202 && response.length > 0) {
// Save the response in sessionStorage
sessionStorage.setItem('cotasGerais', JSON.stringify(response));
$('.areaCotas').each(function() {
var categoria = $(this).data('categoria');
var cotasCategoria = response.filter(cota => cota.categoria === categoria);
renderCotas(cotasCategoria, $(this));
});
} else {
console.warn('Não foi possível carregar as cotas.');
}
});
}
loadAndRenderCotas();
// Event handler for sorting
$('.areaCotacoes').on('click', '.credito, .entrada', function() {
var $sortButton = $(this);
var $areaCotas = $sortButton.closest('.areaCotacoes').find('.areaCotas');
var categoria = $areaCotas.data('categoria');
var key = $sortButton.hasClass('credito') ? 'credito' : 'entrada';
var ascending = $sortButton.find('i').hasClass('ion-ios-arrow-down');
var allCotas = JSON.parse(sessionStorage.getItem('cotasGerais'));
if (!allCotas) {
console.warn('Cotas not found in sessionStorage.');
return;
}
var cotasCategoria = allCotas.filter(cota => cota.categoria === categoria);
var sortedCotas = sortCotas(cotasCategoria, key, ascending);
renderCotas(sortedCotas, $areaCotas);
$sortButton.find('i').toggleClass('ion-ios-arrow-down ion-ios-arrow-up');
});
});Cotas contempladas de automóveis
Contemplados
Não Contemplados
BancoIDCréditoEntradaParcelasAção
Cotas contempladas de imóveis
Contemplados
Não Contemplados
BancoIDCréditoEntradaParcelasAção
Cotas contempladas de pesados
Contemplados
Não Contemplados
BancoIDCréditoEntradaParcelasAção
Junções de Cotas
ID#0001
bankName
CréditoR$ 0.000,00
ParcelasR$ 0.000,00
DetalhesResultado das junções
Ir para o WhatsApp
Informe seu nome para ir para o WhatsApp
Mais detalhes
Banco
CategoriaCategoria
CréditoR$ 0,00
Parcelas0x R$ 0,00
EntradaR$ 0,00
StatusFechadoDisponível
Observações
Data Aquisição: {je_cct_cotas_data_aquisicao}
Saldo Devedor: {echo:mask_money({je_cct_cotas_saldo_devedor})}
Aqui o seu texto ... Selecione qualquer parte de seu texto para acessar à barra de ferramentas de formatação.
ir para o whatsapp

Portal Cartas Contempladas!
Somos uma empresa especializada em consórcios e cartas contempladas, atuando com seriedade, transparência e compromisso com nossos clientes.
Trabalhamos para conectar compradores e vendedores de forma segura, ajudando quem deseja realizar sonhos, investir ou transformar uma carta contemplada em oportunidade. Nosso atendimento é feito com responsabilidade, clareza e foco na melhor solução para cada cliente
Quer vender seu consórcio?
Obtenha uma avaliação justa!
Dados do Consorciado
Administradora
Dados Cota
ContempladaNão ContempladaParcelas AtrasadasCancelada
Negociação
Sucesso!
Nossa equipe recebeu sua proposta, em até 48 horas receberá um retorno.Entre em contato
(55) 41966-3103
(41) 9663-1033
(41) 9663-1033
Rua Cristiano Strobel , 2238 Sobrado 10 XCuritiba - PR Cep 81720-140
SOMAR
Resultado da junção
Crédito: R$ 0,00Entrada: R$ 0,00Cotas Selecionadas
Compartilhar
.swal2-title {
color: #000000!important;
font-size: 3em!important;
}$(document).on('click', '.itemCota', function (event) {
if ($(event.target).closest('.areaBotoes').length) return;
const icone = $(this).find('i.brxe-icon').not('.areaBotoes i');
$(this).toggleClass('ativo');
icone.toggleClass('ion-md-square-outline ion-md-checkbox-outline');
if ($('.itemCota.ativo').length) {
$('#areaMultiplaAcao').removeClass('hidden');
} else {
$('#areaMultiplaAcao').addClass('hidden');
}
});
function parseBrazilianNumber(numberString) {
numberString = numberString.replace(/\.(?=\d{3}(,|$))/g, '');
numberString = numberString.replace(',', '.');
return parseFloat(numberString);
}
jQuery(document).ready(function($) {
$('#somarCotas').on('click', function() {
let cotasSelecionadas = [];
let totalCredito = 0, totalEntrada = 0;
$('#parcelasList').empty();
$('#cotasSelecionadas').empty();
const cotas = JSON.parse(sessionStorage.getItem('cotasGerais')) || [];
let categoriasSelecionadas = new Set();
$('.itemCota.ativo').each(function() {
const categoria = $(this).closest('.areaCotacoes').data('categoria');
categoriasSelecionadas.add(categoria);
});
if (categoriasSelecionadas.size > 1) {
Swal.fire({
icon: 'error',
title: 'Erro de Seleção',
html: '<p style="font-size: 2em; color: #555;">Por favor, verifique a sua seleção.<br>Não é possível somar cotas de categorias diferentes.</p>',
background: '#ffffff',
color: '#333',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Entendi',
customClass: {
popup: 'swal2-modal-large',
title: 'swal2-title'
},
width: '600px',
padding: '2em'
});
return;
}
$('.itemCota.ativo').each(function() {
const idCota = $(this).find('.idCota').text().trim();
const cota = cotas.find(item => item._ID === idCota);
if (cota) {
const credito = parseBrazilianNumber(cota.credito);
const entrada = parseBrazilianNumber(cota.entrada);
const valorParcela = parseBrazilianNumber(cota.valor_parcela);
const quantidadeParcela = parseInt(cota.qtd_parcela);
totalCredito += credito;
totalEntrada += entrada;
const parcelaInfo = {
quantidade: quantidadeParcela,
valor: valorParcela
};
cotasSelecionadas.push(parcelaInfo);
$('#cotasSelecionadas').append(
`<div>Código: ${cota._ID} - ${cota.banco} - ${formatCurrency(credito)}</div>`
);
} else {
Swal.fire({
icon: 'warning',
title: 'Cota Não Encontrada',
text: `A cota com ID ${idCota} não foi encontrada.`,
background: '#ffffff',
color: '#333',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Ok'
});
}
});
if (cotasSelecionadas.length === 0) {
$('#parcelasList').append('<div>Nenhuma parcela disponível.</div>');
return;
}
cotasSelecionadas.sort((a, b) => b.quantidade - a.quantidade);
const maiorParcelaQtd = cotasSelecionadas[0]?.quantidade || 0;
let somaParcelas = new Array(maiorParcelaQtd).fill(0);
cotasSelecionadas.forEach(parcela => {
for (let i = 0; i < parcela.quantidade; i++) {
somaParcelas[i] += parcela.valor;
}
});
let parcelasAgrupadas = [];
let qtdAtual = 1;
let valorAtual = somaParcelas[0];
for (let i = 1; i <= maiorParcelaQtd; i++) {
if (i < maiorParcelaQtd && somaParcelas[i] === valorAtual) {
qtdAtual++;
} else {
parcelasAgrupadas.push({ quantidade: qtdAtual, valor: valorAtual });
qtdAtual = 1;
valorAtual = somaParcelas[i];
}
}
let parcelasTexto = parcelasAgrupadas.map(p =>
`${p.quantidade} x ${formatCurrency(p.valor)}`
).join(' + ');
$('#parcelasList').append(`<div><b>Total de Parcelas: ${maiorParcelaQtd}</b></div>`);
$('#parcelasList').append(`<div>${parcelasTexto}</div>`);
$('#pcredito').text(formatCurrency(totalCredito));
$('#pentrada').text(formatCurrency(totalEntrada));
let cotasInfo = '';
$('#cotasSelecionadas div').each(function() {
cotasInfo += $(this).text() + '\n';
});
const mensagem = `
Crédito: *${formatCurrency(totalCredito)}*
Entrada: *${formatCurrency(totalEntrada)}*
Total de Parcelas: *${maiorParcelaQtd}*
${parcelasTexto}
Cotas Selecionadas
${cotasInfo}`.trim();
const mensagemEncoded = encodeURIComponent(mensagem);
$('#btnZapDireto').off('click').on('click', function() {
const whatsappUrl = `https://wa.me/?text=${mensagemEncoded}`;
window.open(whatsappUrl, '_blank');
});
window.togglePopup('Soma', true);
});
function formatCurrency(value) {
return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(value);
}
});
.swal2-popup {
font-size: 15px;
}jQuery(document).ready(function($) {
// Função para formatar valores monetários
function formatCurrency(value) {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value);
}
// Função para analisar números no formato brasileiro
function parseBrazilianNumber(numberString) {
numberString = numberString.replace(/\.(?=\d{3}(,|$))/g, '');
numberString = numberString.replace(',', '.');
return parseFloat(numberString);
}
// Função para obter os dados das cotas do sessionStorage
function getCotasDataFromSession(storageKey) {
const cotasData = JSON.parse(sessionStorage.getItem(storageKey));
return cotasData || [];
}
// Função para renderizar cotas em uma área específica
function renderCotas(cotas, $targetArea) {
$targetArea.empty(); // Limpa a área antes de renderizar
if (cotas.length === 0) {
// Loga no console se não houver cotas para essa área
console.log('Nenhuma cota encontrada para a área:', $targetArea.attr('class'));
$targetArea.text('Nenhuma cota disponível.');
return;
}
cotas.forEach(function(cota) {
var $itemCota = $('#itemCota').clone().removeAttr('id');
// Se o clone será inserido em "#cotasOfertas .areaCotasOfertas",
// atualiza a categoria e remove a classe .hidden
if ($targetArea.closest('#cotasOfertas').length > 0 && $targetArea.hasClass('areaCotasOfertas')) {
console.log("Atualizando categoria para cota " + cota._ID + ": " + cota.categoria);
$itemCota.find('.categoria').text(cota.categoria).removeClass('hidden');
}
$itemCota.find('.logoBank').css('background-image', 'url(' + cota.bancourl + ')');
$itemCota.find('.nameBank').text(cota.banco);
$itemCota.find('.idCota').text(cota._ID);
$itemCota.find('.creditoCota').text(formatCurrency(cota.credito));
$itemCota.find('.entradaCota').text(formatCurrency(cota.entrada));
$itemCota.find('.valorParcelas').text(cota.qtd_parcela + 'x ' + formatCurrency(cota.valor_parcela));
$targetArea.append($itemCota);
});
}
// Função para carregar e renderizar cotas a partir da sessão
function loadAndRenderCotas() {
// Função genérica para carregar cotas
function loadCotas(acao, storageKey, areaClass, areaCotasClass, groupByCategory = true) {
const cotasData = getCotasDataFromSession(storageKey);
if (cotasData.length > 0) {
// Renderiza as cotas a partir do sessionStorage
console.log('Renderizando cotas do sessionStorage para:', storageKey);
if (groupByCategory) {
$('.' + areaCotasClass).each(function() {
var categoria = $(this).data('categoria');
var cotasCategoria = cotasData.filter(cota => cota.categoria === categoria);
renderCotas(cotasCategoria, $(this));
});
} else {
// Renderiza todas as cotas sem agrupar por categoria
const $area = $('.' + areaCotasClass);
renderCotas(cotasData, $area);
}
} else {
// Faz a chamada AJAX para obter as cotas
$.post(window.location.href, { acao: acao }, function(response, status, xhr) {
if (xhr.status === 202 && response.length > 0) {
// Salva a resposta no sessionStorage
sessionStorage.setItem(storageKey, JSON.stringify(response));
if (groupByCategory) {
$('.' + areaCotasClass).each(function() {
var categoria = $(this).data('categoria');
var cotasCategoria = response.filter(cota => cota.categoria === categoria);
renderCotas(cotasCategoria, $(this));
});
} else {
// Renderiza todas as cotas sem agrupar por categoria
const $area = $('.' + areaCotasClass);
renderCotas(response, $area);
}
} else {
console.warn('Não foi possível carregar as cotas:', storageKey, 'e não existem dados no sessionStorage.');
// Exibe mensagem nas áreas correspondentes
$('.' + areaClass + '.areaCotacoes .' + areaCotasClass).text('Nenhuma cota disponível.');
}
}).fail(function(jqXHR, textStatus, errorThrown) {
console.error('Erro na chamada AJAX para carregar cotas:', storageKey, 'Erro:', textStatus, errorThrown);
// Exibe mensagem de erro
$('.' + areaClass + '.areaCotacoes .' + areaCotasClass).text('Erro ao carregar cotas.');
});
}
}
// Carrega cotas gerais (agrupadas por categoria)
loadCotas('get_cotas_selecao', 'cotasGerais', 'cotasGerais', 'areaCotas', true);
// Carrega cotas de ofertas (sem agrupar por categoria)
loadCotas('get_cotas_vendedor', 'cotasGeraisOfertas', 'cotasGeraisOfertas', 'areaCotasOfertas', false);
}
loadAndRenderCotas();
// Função para obter os dados de uma cota específica
function getCotaData($itemCota) {
const $areaCotacoes = $itemCota.closest('.areaCotacoes');
let cotasKey;
if ($areaCotacoes.hasClass('cotasGerais')) {
cotasKey = 'cotasGerais';
} else if ($areaCotacoes.hasClass('cotasGeraisOfertas')) {
cotasKey = 'cotasGeraisOfertas';
} else {
console.warn('Tipo de cota desconhecido para o item:', $itemCota);
return null;
}
const cotasArray = getCotasDataFromSession(cotasKey);
const idCota = $itemCota.find('.idCota').text().trim();
const cota = cotasArray.find(item => item._ID === idCota);
return cota;
}
// Função para verificar se todas as cotas selecionadas são da mesma categoria
// Função para verificar se todas as cotas selecionadas são do mesmo banco e categoria
function checkSingleCategoryAndBank() {
let categoriasSelecionadas = new Set();
let bancosSelecionados = new Set();
$('.itemCota.ativo').each(function() {
const $itemCota = $(this);
const $areaCotacoes = $itemCota.closest('.areaCotacoes');
const categoria = $areaCotacoes.data('categoria');
const cotaData = getCotaData($itemCota); // Obtém os dados da cota
if (cotaData) {
categoriasSelecionadas.add(categoria);
bancosSelecionados.add(cotaData.banco); // Assumindo que "banco" é a propriedade correta
}
});
if (categoriasSelecionadas.size > 1) {
Swal.fire({
icon: 'error',
title: 'Erro de Seleção',
html: '<p style="font-size: 2em; color: #555;">Por favor, verifique a sua seleção.<br>Não é possível somar cotas de categorias diferentes.</p>',
background: '#ffffff',
color: '#333',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Entendi',
customClass: {
popup: 'swal2-modal-large',
title: 'swal2-title'
},
width: '600px',
padding: '2em'
});
return false;
}
if (bancosSelecionados.size > 1) {
Swal.fire({
icon: 'error',
title: 'Erro de Seleção',
html: '<p style="font-size: 2em; color: #555;">Por favor, verifique a sua seleção.<br>Não é possível somar cotas de bancos diferentes.</p>',
background: '#ffffff',
color: '#333',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Entendi',
customClass: {
popup: 'swal2-modal-large',
title: 'swal2-title'
},
width: '600px',
padding: '2em'
});
return false;
}
return true;
}
// Modifica a função do botão #somarCotas para chamar a nova função de verificação
$('#somarCotas').on('click', function() {
if (!checkSingleCategoryAndBank()) {
return;
}
const { cotasSelecionadas, totalCredito, totalEntrada } = processSelectedCotas();
const { maiorParcelaQtd, parcelasTexto } = calculateParcelas(cotasSelecionadas);
$('#pcredito').text(formatCurrency(totalCredito));
$('#pentrada').text(formatCurrency(totalEntrada));
prepareMessage(totalCredito, totalEntrada, maiorParcelaQtd, parcelasTexto);
// Exibe o popup com os resultados
window.togglePopup('Soma', true);
});
// Função para processar as cotas selecionadas
function processSelectedCotas() {
let cotasSelecionadas = [];
let totalCredito = 0, totalEntrada = 0;
$('#parcelasList').empty();
$('#cotasSelecionadas').empty();
$('.itemCota.ativo').each(function() {
const $itemCota = $(this);
const cota = getCotaData($itemCota);
if (cota) {
const credito = parseBrazilianNumber(cota.credito);
const entrada = parseBrazilianNumber(cota.entrada);
const valorParcela = parseBrazilianNumber(cota.valor_parcela);
const quantidadeParcela = parseInt(cota.qtd_parcela);
totalCredito += credito;
totalEntrada += entrada;
const parcelaInfo = {
quantidade: quantidadeParcela,
valor: valorParcela
};
cotasSelecionadas.push(parcelaInfo);
$('#cotasSelecionadas').append(
`<div>Código: ${cota._ID} - ${cota.banco} - ${formatCurrency(credito)}</div>`
);
} else {
const idCota = $itemCota.find('.idCota').text().trim();
Swal.fire({
icon: 'warning',
title: 'Cota Não Encontrada',
text: `A cota com ID ${idCota} não foi encontrada.`,
background: '#ffffff',
color: '#333',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Ok'
});
}
});
return {
cotasSelecionadas,
totalCredito,
totalEntrada
};
}
// Função para calcular as parcelas agrupadas
function calculateParcelas(cotasSelecionadas) {
if (cotasSelecionadas.length === 0) {
$('#parcelasList').append('<div>Nenhuma parcela disponível.</div>');
return;
}
cotasSelecionadas.sort((a, b) => b.quantidade - a.quantidade);
const maiorParcelaQtd = cotasSelecionadas[0]?.quantidade || 0;
let somaParcelas = new Array(maiorParcelaQtd).fill(0);
cotasSelecionadas.forEach(parcela => {
for (let i = 0; i < parcela.quantidade; i++) {
somaParcelas[i] += parcela.valor;
}
});
let parcelasAgrupadas = [];
let qtdAtual = 1;
let valorAtual = somaParcelas[0];
for (let i = 1; i <= maiorParcelaQtd; i++) {
if (i < maiorParcelaQtd && somaParcelas[i] === valorAtual) {
qtdAtual++;
} else {
parcelasAgrupadas.push({ quantidade: qtdAtual, valor: valorAtual });
qtdAtual = 1;
valorAtual = somaParcelas[i];
}
}
let parcelasTexto = parcelasAgrupadas.map(p =>
`${p.quantidade} x ${formatCurrency(p.valor)}`
).join(' + ');
$('#parcelasList').append(`<div><b>Total de Parcelas: ${maiorParcelaQtd}</b></div>`);
$('#parcelasList').append(`<div>${parcelasTexto}</div>`);
return {
maiorParcelaQtd,
parcelasTexto
};
}
// Função para preparar a mensagem do WhatsApp
function prepareMessage(totalCredito, totalEntrada, maiorParcelaQtd, parcelasTexto) {
let cotasInfo = '';
$('#cotasSelecionadas div').each(function() {
cotasInfo += $(this).text() + '\n';
});
const mensagem = `
Crédito: *${formatCurrency(totalCredito)}*
Entrada: *${formatCurrency(totalEntrada)}*
Total de Parcelas: *${maiorParcelaQtd}*
${parcelasTexto}
Cotas Selecionadas
${cotasInfo}`.trim();
const mensagemEncoded = encodeURIComponent(mensagem);
$('#btnZapDireto').off('click').on('click', function() {
const whatsappUrl = `https://wa.me/?text=${mensagemEncoded}`;
window.open(whatsappUrl, '_blank');
});
return mensagem;
}
// Evento ao clicar no botão #somarCotas
$('#somarCotas').on('click', function() {
if (!checkSingleCategory()) {
return;
}
const { cotasSelecionadas, totalCredito, totalEntrada } = processSelectedCotas();
const { maiorParcelaQtd, parcelasTexto } = calculateParcelas(cotasSelecionadas);
$('#pcredito').text(formatCurrency(totalCredito));
$('#pentrada').text(formatCurrency(totalEntrada));
prepareMessage(totalCredito, totalEntrada, maiorParcelaQtd, parcelasTexto);
// Exibe o popup com os resultados
window.togglePopup('Soma', true);
});
// Evento de clique nos itens de cota para seleção
$(document).on('click', '.itemCota', function(event) {
if ($(event.target).closest('.areaBotoes').length) return;
const icone = $(this).find('i.brxe-icon').not('.areaBotoes i');
$(this).toggleClass('ativo');
icone.toggleClass('ion-md-square-outline ion-md-checkbox-outline');
if ($('.itemCota.ativo').length) {
$('#areaMultiplaAcao').removeClass('hidden');
} else {
$('#areaMultiplaAcao').addClass('hidden');
}
});
$(document).on('click', '.credito', function() {
handleSortClick($(this), 'credito');
});
$(document).on('click', '.entrada', function() {
handleSortClick($(this), 'entrada');
});
function handleSortClick($element, sortKey) {
// Alterna o ícone
var $icon = $element.find('i');
var isDescending = $icon.hasClass('ion-ios-arrow-down');
// Resetar o ícone da outra coluna
if (sortKey === 'credito') {
resetSortIcon($('.entrada'));
} else {
resetSortIcon($('.credito'));
}
// Alterna o ícone atual
$icon.toggleClass('ion-ios-arrow-down ion-ios-arrow-up');
// Ordena os itens
sortCotas(sortKey, isDescending);
}
function resetSortIcon($element) {
var $icon = $element.find('i');
$icon.removeClass('ion-ios-arrow-up').addClass('ion-ios-arrow-down');
}
function sortCotas(sortKey, isDescending) {
// Obter todas as áreas de cotas
$('.areaCotas').each(function() {
var $areaCotas = $(this);
var cotas = [];
// Obter todos os itens de cota
$areaCotas.find('.itemCota').each(function() {
var $itemCota = $(this);
var cotaData = getCotaData($itemCota);
if (cotaData) {
cotaData.$element = $itemCota;
cotas.push(cotaData);
}
});
// Ordenar as cotas
cotas.sort(function(a, b) {
var aValue = parseBrazilianNumber(a[sortKey]);
var bValue = parseBrazilianNumber(b[sortKey]);
if (isDescending) {
return bValue - aValue;
} else {
return aValue - bValue;
}
});
// Renderizar as cotas ordenadas
$areaCotas.empty();
cotas.forEach(function(cota) {
$areaCotas.append(cota.$element);
});
});
}
});
jQuery(document).ready(function($) {
var ordenacao = {
campo: 'credito', // valor inicial padrão, pode ser o que quiser
direcao: 'desc' // 'asc' ou 'desc'
};
function formatCurrency(value) {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value);
}
function limparCotas() {
$('.areaCotasOfertas').empty();
}
function renderCotas(cotas) {
var $areaCotasOfertas = $('.areaCotasOfertas');
limparCotas();
cotas.forEach(function(cota) {
var $itemCota = $('#itemCota').clone().removeAttr('id').show();
$itemCota.find('.logoBank').css('background-image', 'url(' + cota.bancourl + ')');
$itemCota.find('.nameBank').text(cota.banco);
$itemCota.find('.idCota').text(cota._ID);
var $categoria = $itemCota.find('.categoria');
$categoria.text(cota.categoria);
$categoria.removeClass('hidden');
$itemCota.find('.creditoCota').text(formatCurrency(cota.credito));
$itemCota.find('.entradaCota').text(formatCurrency(cota.entrada));
$itemCota.find('.valorParcelas').text(cota.qtd_parcela + 'x ' + formatCurrency(cota.valor_parcela));
$areaCotasOfertas.append($itemCota);
});
}
function ordenarCotas(campo, direcao, cotas) {
return cotas.slice().sort(function(a, b) {
var vA = parseFloat(a[campo]);
var vB = parseFloat(b[campo]);
if (direcao === 'asc') return vA - vB;
return vB - vA;
});
}
function atualizarIcones() {
var setaCredito = $('.filtroCredito .icon i');
var setaEntrada = $('.filtroEntrada .icon i');
if (ordenacao.campo === 'credito') {
setaCredito.attr('class', ordenacao.direcao === 'desc' ? 'ion-ios-arrow-down' : 'ion-ios-arrow-up');
setaEntrada.attr('class', 'ion-ios-arrow-up'); // padrão dela
} else {
setaCredito.attr('class', 'ion-ios-arrow-down'); // padrão dela
setaEntrada.attr('class', ordenacao.direcao === 'desc' ? 'ion-ios-arrow-down' : 'ion-ios-arrow-up');
}
}
function toggleDirecao(campo) {
if (ordenacao.campo === campo) {
ordenacao.direcao = ordenacao.direcao === 'asc' ? 'desc' : 'asc';
} else {
ordenacao.campo = campo;
// Pode escolher direção padrão ao trocar de campo:
ordenacao.direcao = campo === 'credito' ? 'desc' : 'asc';
}
}
$('.filtroCredito').on('click', function(e) {
e.preventDefault();
var cotas = JSON.parse(sessionStorage.getItem('cotasGeraisOfertas') || '[]');
if (!cotas.length) return; // Nada a ordenar
toggleDirecao('credito');
var cotasOrdenadas = ordenarCotas('credito', ordenacao.direcao, cotas);
renderCotas(cotasOrdenadas);
atualizarIcones();
});
$('.filtroEntrada').on('click', function(e) {
e.preventDefault();
var cotas = JSON.parse(sessionStorage.getItem('cotasGeraisOfertas') || '[]');
if (!cotas.length) return; // Nada a ordenar
toggleDirecao('entrada');
var cotasOrdenadas = ordenarCotas('entrada', ordenacao.direcao, cotas);
renderCotas(cotasOrdenadas);
atualizarIcones();
});
// Opcional: ao carregar a página já pode fazer a renderização com a ordenação default:
(function initRender() {
var cotas = JSON.parse(sessionStorage.getItem('cotasGeraisOfertas') || '[]');
if (!cotas.length) return;
var cotasOrdenadas = ordenarCotas(ordenacao.campo, ordenacao.direcao, cotas);
renderCotas(cotasOrdenadas);
atualizarIcones();
})();
});Cotas: Contempladas



