/*
* Formatar
*/
function escapeHtml(p_text) {
if (!p_text) return ".";
var v_retorno = p_text.toString();
v_retorno = v_retorno.replace(/&/g, "&");
v_retorno = v_retorno.replace(//g, ">");
v_retorno = v_retorno.replace(/"/g, """);
v_retorno = v_retorno.replace(/\//g, "/");
v_retorno = v_retorno.replace(/\\/g, "\");
return v_retorno;
}
function formatarString(p_valor) {
if (!p_valor) return ".";
if (p_valor == "") return ".";
return escapeHtml(p_valor);
}
function formatarDouble(p_valor) {
if (!p_valor) return ".";
return escapeHtml(p_valor.toFixed(2).replace(".", ","));
}
function formatarMoeda(p_valor) {
if (!p_valor) return ".";
return "R$" + escapeHtml(p_valor.toFixed(2).replace(".", ","));
}
function formatarData(p_valor) {
if (!p_valor) return ".";
if (p_valor == "") return ".";
if (p_valor.substring(0, 3) == "000") return ".";
var v_date = new Date(p_valor);
return escapeHtml(v_date.toLocaleDateString());
}
function formatarDataHora(p_valor) {
if (!p_valor) return ".";
if (p_valor == "") return ".";
if (p_valor.substring(0, 3) == "000") return ".";
var v_date = new Date(p_valor);
return escapeHtml(v_date.toLocaleDateString(
navigator.language, {
hour: "2-digit",
minute: "2-digit",
}
));
}
function formatarInteiro(p_valor) {
if (!p_valor) return ".";
return escapeHtml(p_valor);
}
function formatarLink(p_valor) {
if (!p_valor) return ".";
return "Download";
}
function formatarUrl(p_valor) {
if (!p_valor) return ".";
return "Link";
}
/*
* Tabulador
*/
const c_rowsPerPage = 5;
var v_currentPage = 1;
var v_dadosTabela;
var v_idDiv;
var v_idDivPaginacao;
function renderTablePage() {
var v_start = (v_currentPage - 1) * c_rowsPerPage;
var v_end = v_start + c_rowsPerPage;
var v_elementoDiv = document.getElementById(v_idDiv);
if (!v_elementoDiv) return;
v_elementoDiv.innerHTML = '';
/*
* Colocar cabeçalhos
*/
var v_table = document.createElement('table');
v_table.classList.add("tabela");
v_table.style.width = "90%";
v_elementoDiv.appendChild(v_table);
/*
* Vazio
*/
if (!v_dadosTabela.hasOwnProperty("colunas")) {
v_table.innerHTML = "
| Sem dados para mostrar |
";
return;
}
/*
* Cabeçalho
*/
var v_thead = document.createElement('thead');
v_table.appendChild(v_thead);
var v_tr = document.createElement('tr');
v_thead.appendChild(v_tr);
var v_colunas = v_dadosTabela.colunas;
v_colunas.forEach(
v_coluna => {
var v_th = document.createElement('th');
v_th.classList.add("cabecalhoGrande");
v_th.innerHTML = v_coluna.titulo;
v_tr.appendChild(v_th);
}
);
/*
* Linhas
*/
var v_body = document.createElement('tbody');
v_table.appendChild(v_body);
if (v_dadosTabela.hasOwnProperty("filas")) {
var v_filas = v_dadosTabela.filas.slice(v_start, v_end);
v_filas.forEach(
v_fila => {
var v_tr = document.createElement('tr');
v_colunas.forEach(
v_coluna => {
var v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
switch (v_coluna.tipoDados) {
case "string":
v_td.innerHTML = formatarString(v_fila[v_coluna.nome]);
break;
case "double":
case "float":
v_td.innerHTML = formatarDouble(v_fila[v_coluna.nome]);
break;
case "moeda":
case "money":
v_td.innerHTML = formatarMoeda(v_fila[v_coluna.nome]);
break;
case "date":
v_td.innerHTML = formatarData(v_fila[v_coluna.nome]);
break;
case "datetime":
v_td.innerHTML = formatarDataHora(v_fila[v_coluna.nome]);
break;
case "int":
case "integer":
v_td.innerHTML = formatarInteiro(v_fila[v_coluna.nome]);
break;
case "link":
v_td.innerHTML = formatarLink(v_fila[v_coluna.nome]);
break;
case "url":
v_td.innerHTML = formatarUrl(v_fila[v_coluna.nome]);
break;
}
v_tr.appendChild(v_td);
}
);
v_body.appendChild(v_tr);
}
);
}
/*
* Paginação
*/
renderPagination();
}
function renderPagination() {
var v_totalPages = Math.ceil(v_dadosTabela.filas.length / c_rowsPerPage);
/*
* Limpar
*/
var v_paginacao = document.getElementById(v_idDivPaginacao);
v_paginacao.innerHTML = '';
/*
* Botão anterior
*/
var v_prevBtn = document.createElement('button');
v_prevBtn.textContent = 'Anterior';
v_prevBtn.disabled = v_currentPage === 1;
v_prevBtn.onclick = () => {
if (v_currentPage > 1) {
v_currentPage--;
renderTablePage();
}
};
v_paginacao.appendChild(v_prevBtn);
/*
* Botões de página
*/
for (let i = 1; i <= v_totalPages; i++) {
var v_pageBtn = document.createElement('button');
v_pageBtn.textContent = i;
if (i === v_currentPage) {
v_pageBtn.disabled = true;
}
v_pageBtn.onclick = () => {
v_currentPage = i;
renderTablePage();
};
v_paginacao.appendChild(v_pageBtn);
}
/*
* Botão seguinte
*/
var v_nextBtn = document.createElement('button');
v_nextBtn.textContent = 'Proximo';
v_nextBtn.disabled = v_currentPage === v_totalPages;
v_nextBtn.onclick = () => {
if (v_currentPage < v_totalPages) {
v_currentPage++;
renderTablePage();
}
};
v_paginacao.appendChild(v_nextBtn);
}
/*
* API
*/
var v_consultando = false;
var v_token = "";
var v_nome = "";
var v_tokenRenovacao = "";
var v_validadeTokenSegundos = "";
var v_dataRenovacao;
var v_permissoes = [];
function encriptarToken() {
return "Bearer " + v_token;
}
function encriptarLogin() {
return "Basic " + btoa(document.getElementById('usuario').value + ":" + document.getElementById('password').value);
}
function formatarDados(p_params) {
var v_urlEncodedData = "";
var v_urlEncodedDataPairs = [];
var v_name;
for (v_name in p_params) {
v_urlEncodedDataPairs.push(encodeURIComponent(v_name) + '=' + encodeURIComponent(p_params[v_name]));
}
v_urlEncodedData = v_urlEncodedDataPairs.join("&");
return v_urlEncodedData;
}
function processarComando(p_metodo, p_url, p_parametros, p_authorization, p_callbackOk, p_callbackErro) {
if (v_consultando) {
alert("Ja existe uma opera\u00E7\u00E3o em curso, por favor, aguarde");
return;
}
v_consultando = true;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status > 400) {
v_consultando = false;
if (p_callbackErro) {
/*
* Não autorizado
*/
p_callbackErro(null);
}
}
else if (this.readyState == 4 && this.status == 200) {
v_consultando = false;
if (this.responseText == "") {
alert("Existe um problema de comunica\u00E7\u00E3o, aguarde uns minutos ou contate conosco.");
p_callbackErro(null);
return;
}
var v_resposta = JSON.parse(this.responseText);
if (v_resposta.status == "1") {
if (p_callbackOk) {
/*
* Callback
*/
p_callbackOk(v_resposta);
}
} else {
alarmeLogin(v_resposta.mensagem);
}
}
};
xhttp.open(p_metodo, p_url, true);
xhttp.setRequestHeader("Authorization", p_authorization);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if (p_parametros == null) {
xhttp.send();
} else {
xhttp.send(formatarDados(p_parametros));
}
}
function processarComandoDownload(p_metodo, p_url, p_parametros, p_authorization, p_callbackErro) {
if (v_consultando) {
alert("Ja existe uma opera\u00E7\u00E3o em curso, por favor, aguarde");
return;
}
v_consultando = true;
var xhttp = new XMLHttpRequest();
xhttp.onload = function () {
if (this.readyState == 4 && this.status > 400) {
v_consultando = false;
if (p_callbackErro) {
/*
* Não autorizado
*/
p_callbackErro(null);
}
}
else if (this.readyState == 4 && this.status == 200) {
v_consultando = false;
var v_uint8 = new Uint8Array(this.response);
var v_blob = new Blob([v_uint8], { type: "application/pdf" });
var v_blobUrl = URL.createObjectURL(v_blob);
window.open(v_blobUrl, '_blank');
}
};
xhttp.open(p_metodo, p_url, true);
xhttp.responseType = 'arraybuffer';
xhttp.overrideMimeType('application/pdf; charset=x-user-defined');
xhttp.setRequestHeader("Authorization", p_authorization);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if (p_parametros == null) {
xhttp.send();
} else {
xhttp.send(formatarDados(p_parametros));
}
}
/*
* Apresentação
*/
function fecharAgrupadores(p_nomeAgrupadorAtual) {
if (p_nomeAgrupadorAtual != 'consultas') {
document.getElementById("consultas_detalhe").style.display = "none";
}
}
function limparLogin() {
document.getElementById('usuario').disabled = false;
document.getElementById('password').disabled = false;
document.getElementById('captcha').disabled = false;
document.getElementById('password').value = '';
document.getElementById('captcha').value = '';
document.getElementById('alarme_login').style.display = "none";
document.getElementById('imgCaptcha').src = "captcha.do?" + new Date().getTime();
document.getElementById('login').style.display = '';
}
function bloquearLogin() {
document.getElementById('usuario').disabled = true;
document.getElementById('password').disabled = true;
document.getElementById('captcha').disabled = true;
document.getElementById('password').value = '';
document.getElementById('captcha').value = '';
document.getElementById('alarme_login').style.display = "none";
document.getElementById('login').style.display = 'none';
}
function ocultarLogin() {
document.getElementById('d_login').style.display = "none";
document.getElementById('d_main').style.display = "";
}
function mostrarLogin() {
document.getElementById('d_login').style.display = "";
document.getElementById('d_main').style.display = "none";
document.getElementById('alarme_login').style.display = "none";
}
function limparTela() {
document.getElementById('d_titulo').innerHTML = "";
document.getElementById('d_aplicativo').innerHTML = "";
}
function aguarde() {
document.getElementById('d_aplicativo').innerHTML = "Aguarde, por favor...";
}
function alarmeLogin(p_alarme) {
document.getElementById('alarme_login').style.display = "";
document.getElementById('alarme_login').innerHTML = p_alarme;
alert(p_alarme.replace("
", " ").replace("", " ").replace("
", " "));
}
function alarmeTela(p_alarme) {
document.getElementById('alarme_tela').style.display = "";
document.getElementById('alarme_tela').innerHTML = p_alarme;
alert(p_alarme.replace("
", " ").replace("", " ").replace("
", " "));
}
function bloquearPrimeiroAcessoNovaSenha() {
document.getElementById('cnpj').disabled = true;
document.getElementById('email').disabled = true;
document.getElementById('captcha').disabled = true;
document.getElementById('alarme_login').style.display = "none";
document.getElementById('login').style.display = 'none';
}
function liberarPrimeiroAcessoNovaSenha() {
document.getElementById('cnpj').disabled = false;
document.getElementById('email').disabled = false;
document.getElementById('captcha').disabled = false;
document.getElementById('cnpj').value = '';
document.getElementById('email').value = '';
document.getElementById('captcha').value = '';
document.getElementById('alarme_login').style.display = "none";
document.getElementById('imgCaptcha').src = "captcha.do?" + new Date().getTime();
document.getElementById('login').style.display = '';
}
function validarLogin() {
if (!document.getElementById('usuario').value) {
alarmeLogin("Deve indicar um usuario ou cnpj");
return false;
}
if (!document.getElementById('password').value) {
alarmeLogin("Deve indicar uma senha");
return false;
}
if (!document.getElementById('captcha').value) {
alarmeLogin("Preencha o captcha, por favor");
return false;
}
return true;
}
/*
* Callbacks
*/
/*
* Login
*/
function login() {
if (!validarLogin()) {
return false;
}
var v_parametros = {
captcha: document.getElementById('captcha').value,
latitude: document.getElementById('latitude').value,
longitude: document.getElementById('longitude').value,
ip: document.getElementById('ip').value
};
processarComando("POST", "LOGIN.DO", v_parametros, encriptarLogin(), loginCallback, loginCallbackErro);
bloquearLogin();
}
function loginCallback(p_resposta) {
if (p_resposta.status == "1") {
v_token = p_resposta.token;
v_nome = p_resposta.nome;
v_tokenRenovacao = p_resposta.tokenRenovacao;
v_permissoes = [];
if (p_resposta.permissoes) {
p_resposta.permissoes.forEach(
obj => { v_permissoes.push(obj) }
);
}
v_validadeTokenSegundos = p_resposta.validadeTokenSegundos;
v_dataRenovacao = new Date();
v_dataRenovacao.setSeconds(v_dataRenovacao.getSeconds() + v_validadeTokenSegundos);
setTimeout(renovarToken, (v_validadeTokenSegundos - 60) * 1000);
ocultarLogin();
limparTela();
/*
* Menus
*/
if (v_permissoes.includes("ADMINISTRADOR")) {
document.getElementById("administrador").style.display = "";
document.getElementById("administrador_detalhe").style.display = "";
document.getElementById("consultas").style.display = "none";
document.getElementById("consultas_detalhe").style.display = "none";
document.getElementById("admin").style.display = "";
document.getElementById("admin_detalhe").style.display = "";
document.getElementById("sair").style.display = "";
document.getElementById("sair_detalhe").style.display = "";
}
else if (v_permissoes.includes("COBRANCA")) {
document.getElementById("administrador").style.display = "";
document.getElementById("administrador_detalhe").style.display = "";
document.getElementById("consultas").style.display = "none";
document.getElementById("consultas_detalhe").style.display = "none";
document.getElementById("admin").style.display = "";
document.getElementById("admin_detalhe").style.display = "";
document.getElementById("sair").style.display = "";
document.getElementById("sair_detalhe").style.display = "";
}
else if (v_permissoes.includes("GROUP DEFAULT")) {
document.getElementById("administrador").style.display = "none";
document.getElementById("administrador_detalhe").style.display = "none";
document.getElementById("consultas").style.display = "";
document.getElementById("consultas_detalhe").style.display = "";
document.getElementById("admin").style.display = "none";
document.getElementById("admin_detalhe").style.display = "none";
document.getElementById("sair").style.display = "";
document.getElementById("sair_detalhe").style.display = "";
}
else {
document.getElementById("administrador").style.display = "none";
document.getElementById("administrador_detalhe").style.display = "none";
document.getElementById("consultas").style.display = "none";
document.getElementById("consultas_detalhe").style.display = "none";
document.getElementById("admin").style.display = "none";
document.getElementById("admin_detalhe").style.display = "none";
document.getElementById("sair").style.display = "";
document.getElementById("sair_detalhe").style.display = "";
}
} else {
limparLogin();
alarmeLogin(p_resposta.mensagem);
}
}
function loginCallbackErro(p_resposta) {
limparLogin();
alarmeLogin("Login incorreto. Seu usuário pode estar bloqueado, o captcha incorreto
ou a senha ter mudado. Pode solicitar uma nova senha, que receberá
no seu email cadastrado.");
}
/*
* Logout
*/
function logout() {
processarComando("POST", "LOGOUT.DO", null, encriptarToken(), logoutCallback, logoutCallback);
}
function logoutCallback(p_resposta) {
mostrarLogin();
limparLogin();
}
/*
* Listar boletos
*/
function listarBoletos(p_parametros) {
limparTela();
processarComando("POST", "LISTARBOLETOS.DO", p_parametros, encriptarToken(), listarBoletosCallback, logout);
}
function listarBoletosCallback(p_resposta) {
document.getElementById("d_titulo").innerHTML = "Lista de boletos pendentes de pagamento
";
tabelaCallback(p_resposta);
}
function tabelaCallback(p_resposta) {
var v_divDetalhe = document.getElementById("d_aplicativo");
v_divDetalhe.innerHTML = '';
var v_tabela = document.createElement('div');
v_idDiv = "div_tabela_dados";
v_tabela.id = v_idDiv;
v_tabela.style = "padding:20px;display:block;height:60%;height:60vh;overflow-x:hidden;overflow-y:scroll;font-size:16px;";
v_divDetalhe.appendChild(v_tabela);
var v_paginacao = document.createElement('div');
v_idDivPaginacao = "div_paginacao";
v_paginacao.id = v_idDivPaginacao;
v_paginacao.style = "v_idDivPaginacao:20px;display:block;height:20%;height:20vh;overflow-x:hidden;overflow-y:scroll;font-size:16px;";
v_divDetalhe.appendChild(v_paginacao);
v_currentPage = 1;
v_dadosTabela = p_resposta;
renderTablePage();
}
/*
* Listar NF
*/
function listarNF(p_parametros) {
limparTela();
processarComando("POST", "LISTARNF.DO", p_parametros, encriptarToken(), listarNFCallback, logout);
}
function listarNFCallback(p_resposta) {
document.getElementById("d_titulo").innerHTML = "Lista de NF emitidas
";
tabelaCallback(p_resposta);
}
/*
* Sessões abertas
*/
function sessoesAbertas(p_parametros) {
limparTela();
processarComando("POST", "SESSOESABERTAS.DO", p_parametros, encriptarToken(), sessoesAbertasCallback, logout);
}
function sessoesAbertasCallback(p_resposta) {
document.getElementById("d_titulo").innerHTML = "Sessões abertas
";
tabelaCallback(p_resposta);
}
/*
* Usuários bloqueados
*/
function usuariosBloqueados(p_parametros) {
limparTela();
processarComando("POST", "USUARIOSBLOQUEADOS.DO", p_parametros, encriptarToken(), usuariosBloqueadosCallback, logout);
}
function usuariosBloqueadosCallback(p_resposta) {
document.getElementById("d_titulo").innerHTML = "Usuários bloqueados
";
tabelaCallback(p_resposta);
}
/*
* Localizações do cliente
*/
function emailsUsuarios() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Emails cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_busca";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Pesquisar";
v_button.innerHTML = "Pesquisar";
v_button.onclick = function () { emailsCliente(null); };
v_div.appendChild(v_button);
}
function emailsCliente(p_parametros) {
var v_parametros = {
cnpj: document.getElementById("cnpj_busca").value
};
limparTela();
processarComando("POST", "EMAILSCLIENTE.DO", v_parametros, encriptarToken(), emailsClienteCallback, logout);
aguarde();
}
function emailsClienteCallback(p_resposta) {
limparTela();
document.getElementById("d_titulo").innerHTML = "Emails cliente
";
tabelaCallback(p_resposta);
}
/*
* Localizações do cliente
*/
function localizacoesUsuarios() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Localizações cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_busca";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Pesquisar";
v_button.innerHTML = "Pesquisar";
v_button.onclick = function () { localizacoesCliente(null); };
v_div.appendChild(v_button);
}
function localizacoesCliente(p_parametros) {
var v_parametros = {
cnpj: document.getElementById("cnpj_busca").value
};
limparTela();
processarComando("POST", "LOCALIZACOESCLIENTE.DO", v_parametros, encriptarToken(), localizacoesClienteCallback, logout);
aguarde();
}
function localizacoesClienteCallback(p_resposta) {
limparTela();
document.getElementById("d_titulo").innerHTML = "Localizações cliente
";
tabelaCallback(p_resposta);
}
function procurarCliente() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Procurar cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_busca";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Pesquisar";
v_button.innerHTML = "Pesquisar";
v_button.onclick = function () { dadosCliente(null); };
v_div.appendChild(v_button);
}
/*
* Atualizar boletos cliente
*/
function atualizarBoletosCliente() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Atualizar boletos de cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_atualizar";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Atualizar boletos";
v_button.innerHTML = "Atualizar boletos";
v_button.onclick = function () { atualizarBoletosClienteClick(null); };
v_div.appendChild(v_button);
}
function atualizarBoletosClienteClick(p_parametros) {
var v_parametros = {
cnpj: document.getElementById("cnpj_atualizar").value
};
limparTela();
processarComando("POST", "ATUALIZARBOLETOSCLIENTE.DO", v_parametros, encriptarToken(), listarBoletosCallback, logout);
aguarde();
}
/*
* Atualizar nf cliente
*/
function atualizarNfCliente() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Atualizar nfs de cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_atualizar";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Atualizar nfs";
v_button.innerHTML = "Atualizar nfs";
v_button.onclick = function () { atualizarNfsClienteClick(null); };
v_div.appendChild(v_button);
}
function atualizarNfsClienteClick(p_parametros) {
var v_parametros = {
cnpj: document.getElementById("cnpj_atualizar").value
};
limparTela();
processarComando("POST", "ATUALIZARNFSCLIENTE.DO", v_parametros, encriptarToken(), listarNFCallback, logout);
aguarde();
}
/*
* Dados cliente
*/
function procurarCliente() {
limparTela();
document.getElementById("d_titulo").innerHTML = "Procurar cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_div2 = document.createElement('div');
v_div2.innerHTML = "Indique o CNPJ";
v_div.appendChild(v_div2);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.style.width = "200px";
v_input.id = "cnpj_busca";
v_div.appendChild(v_input);
var v_button = document.createElement('button');
v_button.type = "button";
v_button.value = "Pesquisar";
v_button.innerHTML = "Pesquisar";
v_button.onclick = function () { dadosCliente(null); };
v_div.appendChild(v_button);
}
function dadosCliente(p_parametros) {
var v_parametros = {
cnpj: document.getElementById("cnpj_busca").value
};
limparTela();
processarComando("POST", "DADOSCLIENTE.DO", v_parametros, encriptarToken(), dadosClienteCallback, logout);
}
function dadosClienteCallback(p_resposta) {
limparTela();
document.getElementById("d_titulo").innerHTML = "Editar cliente
";
var v_div = document.getElementById("d_aplicativo");
var v_table = document.createElement('table');
v_table.id = "editar_cliente";
v_table.classList.add('tabela');
v_table.style.width = "90%";
v_div.appendChild(v_table);
var v_thead = document.createElement('thead');
v_table.appendChild(v_thead);
var v_tbody = document.createElement('tbody');
v_table.appendChild(v_tbody);
var v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
/*
* Login
*/
var v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Login (obrigatório)";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
var v_input = document.createElement('input');
v_input.type = "text";
v_input.name = "login_cliente";
v_input.id = "login_cliente";
v_input.style.width = "300px";
v_input.value = p_resposta.login;
v_td.appendChild(v_input);
/*
* Nome
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Nome (obrigatório)";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "text";
v_input.name = "name";
v_input.id = "name";
v_input.style.width = "300px";
v_input.value = p_resposta.name;
v_td.appendChild(v_input);
/*
* Email
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Email (obrigatório)";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "email";
v_input.name = "email";
v_input.id = "email";
v_input.style.width = "300px";
v_input.value = p_resposta.email;
v_td.appendChild(v_input);
/*
* Ativo
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Ativo";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "radio";
v_input.name = "active";
v_input.id = "active_yes";
v_input.checked =
v_input.value = "Y";
v_td.appendChild(v_input);
var v_label = document.createElement('label');
v_label.for = "active_yes";
v_label.innerHTML = "Ativo";
v_td.appendChild(v_label);
v_input = document.createElement('input');
v_input.type = "radio";
v_input.name = "active";
v_input.id = "active_no";
v_input.value = "N";
v_td.appendChild(v_input);
v_label = document.createElement('label');
v_label.for = "active_no";
v_label.innerHTML = "Inativo";
v_td.appendChild(v_label);
/*
* Telefone
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Telefone";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "text";
v_input.name = "phone";
v_input.id = "phone";
v_input.style.width = "300px";
v_input.value = p_resposta.phone;
v_td.appendChild(v_input);
/*
* CNPJ
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "CNPJ";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "text";
v_input.name = "cnpj";
v_input.id = "cnpj";
v_input.style.width = "300px";
v_input.value = p_resposta.cnpj;
v_td.appendChild(v_input);
/*
* Senha nova
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Senha nova (opcional)";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "password";
v_input.name = "senhaNova";
v_input.id = "senhaNova";
v_input.style.width = "300px";
v_td.appendChild(v_input);
/*
* Conferir senha nova
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr);
v_td = document.createElement('td');
v_td.classList.add("cabecalhoGrande");
v_td.innerHTML = "Conferir senha nova";
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('input');
v_input.type = "password";
v_input.name = "conferirSenhaNova";
v_input.id = "conferirSenhaNova";
v_input.style.width = "300px";
v_td.appendChild(v_input);
/*
* Salvar
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr); v_td = document.createElement('td');
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_td.classList.add("detalheGrande");
v_tr.appendChild(v_td);
v_input = document.createElement('button');
v_input.type = "button";
v_input.value = "Salvar";
v_input.innerHTML = "Salvar";
v_input.onclick = function () { atualizarCliente(null); };
v_td.appendChild(v_input);
/*
* Erros
*/
v_tr = document.createElement('tr');
v_tbody.appendChild(v_tr); v_td = document.createElement('td');
v_td = document.createElement('td');
v_tr.appendChild(v_td);
v_td = document.createElement('td');
v_tr.appendChild(v_td);
v_div = document.createElement('div');
v_div.id = "alarme_tela";
v_div.classList.add("textoAlarme");
if (p_resposta.mensagem) {
v_div.innerHTML = escapeHtml(p_resposta.mensagem);
v_div.style.display = "";
}
else {
v_div.style.display = "none";
}
v_td.appendChild(v_div);
}
/*
* Editar cliente
*/
function atualizarCliente(p_parametros) {
/*
* Conferir dados
*/
if (!document.getElementById("login_cliente").value) {
alarmeTela("Deve indicar um login (cnpj)");
return false;
}
if (!document.getElementById("name").value) {
alarmeTela("Deve indicar um nome");
return false;
}
if (!document.getElementById("email").value) {
alarmeTela("Deve indicar um email");
return false;
}
if (!document.getElementById("email").value.match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)) {
alarmeTela("Informe um email válido");
return false;
}
if (document.getElementById("senhaNova").value) {
if (!document.getElementById("conferirSenhaNova").value) {
alarmeTela("A senha nova não confere");
return false;
}
if (document.getElementById("conferirSenhaNova").value != document.getElementById("senhaNova").value) {
alarmeTela("A senha nova não confere");
return false;
}
if (document.getElementById("senhaNova").value.length < 10) {
alarmeTela("A senha nova deve conter pelo menos 10 caráteres");
return false;
}
var v_strength = 0;
if (document.getElementById("senhaNova").value.match(/[a-z]+/)) {
v_strength += 1;
}
if (document.getElementById("senhaNova").value.match(/[a-z]+/)) {
v_strength += 1;
}
if (document.getElementById("senhaNova").value.match(/[0-9]+/)) {
v_strength += 1;
}
if (document.getElementById("senhaNova").value.match(/[$@#&!%()*+-]+/)) {
v_strength += 1;
}
if (v_strength < 4) {
alarmeTela("A senha nova deve conter pelo menos 1 maiúscula, minúscula, número e caráter não alfanumérico ($@#&!%()*+-)");
return false;
}
}
/*
* Gerar o payload
*/
v_parametros = {
login: document.getElementById("login_cliente").value,
name: document.getElementById("name").value,
email: document.getElementById("email").value,
active: (document.getElementById("active_yes").value ? "Y" : "N"),
phone: document.getElementById("phone").value,
cnpj: document.getElementById("cnpj").value,
senhaNova: document.getElementById("senhaNova").value,
conferirSenhaNova: document.getElementById("conferirSenhaNova").value
};
/*
* Enviar
*/
document.getElementById("editar_cliente").disabled = true;
processarComando("POST", "ATUALIZARCLIENTE.DO", v_parametros, encriptarToken(), dadosClienteCallback, dadosClienteCallback);
}
/*
* Atualizar boletos
*/
function atualizarBoletos(p_parametros) {
limparTela();
processarComando("POST", "ATUALIZARBOLETOS.DO", p_parametros, encriptarToken(), listarBoletosCallback, logout);
aguarde();
}
/*
* Atualizar NF
*/
function atualizarNF(p_parametros) {
limparTela();
processarComando("POST", "ATUALIZARNF.DO", p_parametros, encriptarToken(), listarNFCallback, logout);
aguarde();
}
/*
* Primeiro acesso
*/
function primeiroAcesso(p_parametros) {
if (!document.getElementById('cnpj').value) {
alarmeLogin("Deve indicar um cnpj");
liberarPrimeiroAcessoNovaSenha();
return false;
}
if (!document.getElementById('email').value) {
alarmeLogin("Deve indicar um email");
liberarPrimeiroAcessoNovaSenha();
return false;
}
if (!document.getElementById('captcha').value) {
alarmeLogin("Preencha o captcha, por favor");
liberarPrimeiroAcessoNovaSenha();
return false;
}
var v_parametros = {
cnpj: document.getElementById('cnpj').value,
email: document.getElementById('email').value,
captcha: document.getElementById('captcha').value,
latitude: document.getElementById('latitude').value,
longitude: document.getElementById('longitude').value,
ip: document.getElementById('ip').value
};
bloquearPrimeiroAcessoNovaSenha();
processarComando("POST", "PRIMEIROACESSO.DO", v_parametros, encriptarToken(), primeiroAcessoCallback, primeiroAcessoCallback);
}
function primeiroAcessoCallback(p_resposta) {
liberarPrimeiroAcessoNovaSenha();
if (p_resposta) {
alarmeLogin(p_resposta.mensagem);
}
else {
alarmeLogin("Não foi possível completar seu cadastro. Por favor, contate conosco. ");
}
}
/*
* Recuperar senha
*/
function recuperarSenha(p_parametros) {
if (!document.getElementById('cnpj').value) {
alarmeLogin("Deve indicar um cnpj");
liberarPrimeiroAcessoNovaSenha();
return false;
}
if (!document.getElementById('email').value) {
alarmeLogin("Deve indicar um email");
liberarPrimeiroAcessoNovaSenha();
return false;
}
if (!document.getElementById('captcha').value) {
alarmeLogin("Preencha o captcha, por favor");
liberarPrimeiroAcessoNovaSenha();
return false;
}
var v_parametros = {
cnpj: document.getElementById('cnpj').value,
email: document.getElementById('email').value,
captcha: document.getElementById('captcha').value,
latitude: document.getElementById('latitude').value,
longitude: document.getElementById('longitude').value,
ip: document.getElementById('ip').value
};
bloquearPrimeiroAcessoNovaSenha();
processarComando("POST", "RECUPERARSENHA.DO", v_parametros, encriptarToken(), recuperarSenhaCallback, recuperarSenhaCallback);
}
function recuperarSenhaCallback(p_resposta) {
liberarPrimeiroAcessoNovaSenha();
if (p_resposta) {
alarmeLogin(p_resposta.mensagem);
}
else {
alarmeLogin("Não foi possível completar a mudança de senha. Por favor, contate conosco. ");
}
}
/*
* Renovar token
*/
function renovarToken(p_parametros) {
processarComando("POST", "RENOVARTOKEN.DO", p_parametros, encriptarToken(), renovarTokenCallback, null);
}
function renovarTokenCallback(p_resposta) {
loginCallback(p_resposta);
}
/*
* Downloar arquivo
*/
function downloadArquivo(p_parametros) {
var v_parametros = {
caminho: p_parametros
};
processarComandoDownload("POST", "DOWNLOAD.DO", v_parametros, encriptarToken(), null);
}
/*
* Salvar conteudo como arquivo
*/
function saveTextAsFile(p_idObjeto) {
var textToWrite = document.getElementById(p_idObjeto).innerHTML;
var textFileAsBlob = new Blob([textToWrite], {
type: 'text/plain'
});
var fileNameToSaveAs = "download.txt";
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Descarrega";
if (window.webkitURL != null) {
/* Chrome allows the link to be clicked without actually adding it to the DOM. */
downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
} else {
/* Firefox requires the link to be added to the DOM before it can be clicked. */
downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
downloadLink.onclick = destroyClickedElement;
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
}
downloadLink.click();
}