/* * 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(); }