1buscarFaturasHTML(); 2buscarPagamentosHTML(); 3recorrenciaVindiHTML(); 4 5var funcoes_faturas = { 6 7 enviarFaturaSMS(tipo, id_receber) { 8 var hs_web = new HotsiteWeb(); 9 hs_web.enviarFaturaSMS(tipo, id_receber); 10 }, 11 enviarFaturaEMAIL(id_receber) { 12 var hs_web = new HotsiteWeb(); 13 hs_web.enviarFaturaEMAIL(id_receber); 14 }, 15 imprimirFatura(id_receber,alt_gateway = false) { 16 app.modal_url = ''; 17 app.modal_nome = 'Fatura - ' + id_receber; 18 var hs_web = new HotsiteWeb(); 19 hs_web.imprimirFatura(id_receber,undefined,alt_gateway); 20 }, 21 imprimirPix(id_receber) { 22 app.modal_url = ''; 23 var hs_web = new HotsiteWeb(); 24 hs_web.imprimirPix(id_receber); 25 }, 26 carregarMaisFaturas() { 27 SLICE_FATURA = SLICE_FATURA + 5; 28 app.loading = true; 29 var hs_web = new HotsiteWeb(); 30 hs_web.buscarFaturas(SLICE_FATURA, false, true); 31 }, 32 carregarCincoFaturas() { 33 SLICE_FATURA = 5; 34 app.loading = true; 35 var hs_web = new HotsiteWeb(); 36 hs_web.buscarFaturas(SLICE_FATURA, false, true); 37 }, 38 getCarteiraAndPagarFatura(id_receber, parcelas, numero_cartao, mes, ano, dv, cartaoNome, captcha_cad) { 39 app.loading=true; 40 41 var hs_web = new HotsiteWeb(); 42 if (captcha_cad === ""){ 43 app.loading = false; 44 hs_web.criarToast('5000', 'Erro!', 'Preencha o captcha!', 'fas fa-exclamation-circle', 'red', 'id_erro'); 45 return 0; 46 } 47 48 let captchaRequestData = { 49 text: captcha_cad, 50 cacheKey: document.getElementById('captchaKey').value 51 } 52 $.get('/api-module/auth/validate-captcha', captchaRequestData, (response) => { 53 if (response.status === 'error') { 54 hs_web.refreshCaptchaImage('captchaPaymentImage') 55 hs_web.criarToast('5000', 'Erro!', 'Captchas diferentes!', 'fas fa-exclamation-circle', 'red', 'id_erro'); 56 document.getElementById('input_captcha').value = ''; 57 app.loading = false; 58 return 0; 59 } else if (response.status === 'success') { 60 hs_web.getDadosCarteira(id_receber, (data) => { 61 let dadosCarteira = (JSON.parse(data)).data; 62 this.pagarFatura( 63 id_receber, parcelas, numero_cartao, mes, ano, dv, cartaoNome, dadosCarteira.creditCard_ambiente, 64 dadosCarteira.creditcard_gateway, dadosCarteira.gerencia_identificador_conta, response.data.captchaValidationHash); 65 }); 66 } 67 }).fail((response) => { 68 if (response.status === 498) { 69 hs_web.refreshCaptchaImage('captchaPaymentImage') 70 hs_web.criarToast('3000', 'Erro!', 'O tempo para o CAPTCHA expirou. Realize a operação novamente.', 'fas fa-exclamation-circle', 'yellow', 'id_erro') 71 document.getElementById('input_captcha').value = ''; 72 app.loading = false; 73 return 0; 74 } 75 }) 76 }, 77 78 getCarteiraAndAtivarRecorrenciaVindi(id_contrato, numero_cartao, mes, ano, dv, cartaoNome, captcha_cad) { 79 app.loading=true; 80 81 var hs_web = new HotsiteWeb(); 82 if (captcha_cad === ""){ 83 app.loading = false; 84 hs_web.criarToast('5000', 'Erro!', 'Preencha o captcha!', 'fas fa-exclamation-circle', 'red', 'id_erro'); 85 return 0; 86 } 87 88 let captchaRequestData = { 89 text: captcha_cad, 90 cacheKey: document.getElementById('captchaKey').value 91 } 92 $.get('/api-module/auth/validate-captcha', captchaRequestData, (response) => { 93 if (response.status === 'error') { 94 hs_web.criarToast('5000', 'Erro!', 'Captchas diferentes!', 'fas fa-exclamation-circle', 'red', 'id_erro'); 95 document.getElementById('input_captcha').value = ''; 96 app.loading = false; 97 return 0; 98 } else if (response.status === 'success') { 99 hs_web.getDadosCarteira(id_receber, (data) => { 100 let dadosCarteira = (JSON.parse(data)).data; 101 this.pagarFatura(id_receber, parcelas, numero_cartao, mes, ano, dv, cartaoNome, dadosCarteira.creditCard_ambiente, dadosCarteira.creditcard_gateway, dadosCarteira.gerencia_identificador_conta, response.data.captchaValidationHash); 102 }); 103 } 104 }).fail((response) => { 105 if (response.status === 498) { 106 hs_web.refreshCaptchaImage('captchaPaymentImage') 107 hs_web.criarToast('3000', 'Erro!', 'O tempo para o CAPTCHA expirou. Realize a operação novamente.', 'fas fa-exclamation-circle', 'yellow', 'id_erro') 108 document.getElementById('input_captcha').value = ''; 109 app.loading = false;
110 return 0; 111 } 112 }) 113 114 let error = ""; 115 116 this.is_invalid_card = false; 117 this.is_invalid_cvv = false; 118 this.is_invalid_date = false; 119 120 if(numero_cartao.toString().replaceAll(" ","").length < 16){ 121 app.loading=false; 122 this.is_invalid_card = true; 123 error += "Número do cartão inválido. O formato deve ser <b>0000 0000 0000 0000</b></br>" 124 125 } 126 if(dv.toString().replaceAll(" ","").length < 3){ 127 this.is_invalid_cvv = true; 128 app.loading=false; 129 error += "Código de segurança inválido. O formato deve ser <b>000</b></br>" 130 } 131 if(mes.length != 9 && ano.length != 9){ 132 this.is_invalid_date = true; 133 app.loading=false; 134 error += "Data de validade inválida. O formato deve ser <b>00 / 0000</b>" 135 } 136 if(error !== ""){ 137 app.loading=false; 138 return hs_web.criarToast(5000, 'Ops!', error, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 139 } 140 const cardType = window.CardType.cardType; 141 mes = mes.split('/', 1)[0].trim(); 142 ano = ano.split('/').pop().trim(); 143 const bandeira = cardType(numero_cartao); 144 145 hs_web.ativarRecorrenciaVindi(id_contrato, numero_cartao, mes, ano, dv, cartaoNome, bandeira); 146 }, 147 148 pagarFatura(id_receber, parcelas, numero_cartao, mes, ano, cvv,cartaoNome,creditCardAmbiente,creditcardGateway,gerenciaIdentificadorConta, captchaCheck) { 149 this.is_invalid_card = false; 150 this.is_invalid_cvv = false; 151 this.is_invalid_date = false; 152 const hs_web = new HotsiteWeb(); 153 const validacvv = ['5209','4716','6062'] 154 155 let error = ""; 156 157 setCountdownBotaoPagarFatura(); 158 159 if(validacvv.includes(numero_cartao.toString().replaceAll(" ","").substring(0, 4))){ 160 if(numero_cartao.toString().replaceAll(" ","").length < 16){ 161 app.loading=false; 162 this.is_invalid_card = true; 163 error += "Número do cartão inválido. O formato deve ser <b>0000 0000 0000 0000</b></br>" 164 } 165 if(cvv.toString().replaceAll(" ","").length != 3 ){ 166 this.is_invalid_cvv = true; 167 app.loading=false; 168 error += "Código de segurança inválido. O formato deve ser <b>000</b></br>" 169 } 170 } 171 172 if(mes.length != 9 && ano.length != 9){ 173 this.is_invalid_date = true; 174 app.loading=false; 175 error += "Data de validade inválida. O formato deve ser <b>00 / 0000</b>" 176 } 177 if(error !== ""){ 178 app.loading=false; 179 return hs_web.criarToast(5000, 'Ops!', error, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 180 } 181 hs_web.criarToast(50000, 'Atenção', 'Seu pagamento está sendo processado, não saia da página até ter um retorno!', 'fas fa-exclamation-circle', 'blue', 'id_erro', false, 'processandoPagamento'); 182 const cardType = window.CardType.cardType; 183 184 parcelas === 'Escolha a forma de pagamento...' ? parcelas = 0 : parcelas = parcelas; 185 mes = mes.split('/', 1)[0].trim(); 186 ano = ano.split('/').pop().trim(); 187 const bandeira = cardType(numero_cartao); 188 const recorrente = router.history.current.matched[0].instances.default.recorrente; 189 190 hs_web.pagarFatura( 191 id_receber, parcelas, numero_cartao, mes, ano, bandeira, cvv, recorrente,cartaoNome,creditCardAmbiente, 192 creditcardGateway,gerenciaIdentificadorConta, '', '', captchaCheck 193 ); 194 }, 195 196 montarModalConsultaFatura(fatura) { 197 var hs_web = new HotsiteWeb(); 198 hs_web.montarModalConsultaFatura(fatura); 199 }, 200 montarModalSelecionarBanco(fatura,tamanho) { 201 var hs_web = new HotsiteWeb(); 202 hs_web.montarModalSelecionarBanco(fatura,tamanho); 203 }, 204 imprimirFaturaComSelecaoDeBanco(dadosReceber,dadosCarteira){ 205 let hs_web = new HotsiteWeb(); 206 hs_web.imprimirFaturaComSelecaoDeBanco(dadosReceber,dadosCarteira); 207 }, 208 copiarCodigoBarras(linha_digitavel) { 209 linha_digitavel = linha_digitavel.replaceAll(".","").replaceAll(" ",""); 210 211 if(window.ReactNativeWebView){ 212 return postMessageMobile("copy_bar_code", JSON.stringify({dados: linha_digitavel})) 213 .then((retorno)=>funcoes_faturas.validateReturnCopyBarCode(JSON.parse(retorno.data).retorno)) 214 .catch(()=>funcoes_faturas.validateReturnCopyBarCode(false)); 215 } 216 217 navigator.clipboard.writeText(linha_digitavel) 218 .then(()=>funcoes_faturas.validateReturnCopyBarCode(true)) 219 .catch(()=>funcoes_faturas.validateReturnCopyBarCode(false)); 220 }, 221 validateReturnCopyBarCode(successful){ 222 const hs_web = new HotsiteWeb(); 223 if (successful) { 224 hs_web.criarToast(4000, 'Sucesso!', 'Código copiado para área de transferência.', 'fas fa-check', 'green', 'id_sucesso'); 225 } else { 226 hs_web.criarToast(4000, 'Erro!', 'Não foi possÃvel copiar o código.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 227 } 228 }, 229 haveSomeOverdueInvoices(invoices) { 230 return invoices.some(invoice => invoice.status_color === "status_red"); 231 }, 232}; 233 234function setCountdownBotaoPagarFatura() { 235 let button = document.getElementById("btn_pagar_fatura"); 236 let buttonCountdown = document.getElementById("btn_pagar_fatura_countdown"); 237 let tempoCowntdown = 10; 238 239 buttonCountdown.innerHTML = '(10)'; 240 button.setAttribute('disabled', 'disabled');
241 let countdownTimer = setInterval(function() { 242 if (tempoCowntdown <= 1) { 243 button.removeAttribute('disabled'); 244 buttonCountdown.innerHTML = ''; 245 clearInterval(countdownTimer); 246 } else { 247 tempoCowntdown--; 248 buttonCountdown.innerHTML = `(${tempoCowntdown})`; 249 button.setAttribute('disabled', 'disabled'); 250 } 251 }, 1000); 252} 253 254function buscarPagamentosHTML() { 255 try { 256 $.get(__SERVER__ + "/view/faturas/pagamentos.vue", function (resposta) { 257 __ROTAS__.push({ 258 path: '/central_assinante_web/faturas/pagamentos/:protocolo', 259 name: 'pagamentos', 260 component: { 261 template: resposta, 262 data() { 263 return { 264 pagamentos: '', 265 loading: false, 266 recorrente: false, 267 permite_recorrencia: false, 268 contrato_recorrente: false, 269 cartao_numero: '', 270 cartao_nome: '', 271 cartao_data: '', 272 cartao_codigo: '', 273 cartao_parcelamento: 'Escolha a forma de pagamento...', 274 cartao_parcelas: [], 275 captcha_pagamento: '', 276 is_invalid_card: false, 277 is_invalid_cvv: false, 278 is_invalid_date: false 279 } 280 }, 281 methods: funcoes_faturas, 282 computed: { 283 allowPayment() { 284 let installmentSelected = Number(this.cartao_parcelamento.trim()); 285 let installmentBelongsToOptions = this.cartao_parcelas.some(installment => Number(installment.vezes) === installmentSelected); 286 287 return ( 288 this.cartao_numero.trim() 289 && this.cartao_nome.trim() 290 && this.cartao_data.trim() 291 && this.cartao_codigo.trim() 292 && this.captcha_pagamento.trim() 293 && installmentSelected 294 && installmentBelongsToOptions 295 ); 296 } 297 }, 298 watch: { 299 'cartao_data' : function (val) { 300 if(/\S\/\S/.test(val)){ 301 this.cartao_data = val.trim().replace(/\//g, " / "); 302 } 303 304 if (this.is_invalid_date && val.length === 9) { 305 this.is_invalid_date = false; 306 } 307 } 308 } 309 } 310 }); 311 PAGE_PAGAMENTOS = true; 312 verificaPages(); 313 }) 314 } catch (e) { 315 console.log("Error Message -> " + e); 316 } 317} 318 319function buscarFaturasHTML() { 320 321 try { 322 $.ajax({ 323 url: __SERVER__ + "/view/faturas/faturas.vue", 324 type: "GET", 325 data: "", 326 dataType: 'html' 327 }).done(function (resposta) { 328 __ROTAS__.push({ 329 path: '/central_assinante_web/faturas', 330 name: 'faturas', 331 component: { 332 template: resposta, 333 data() { 334 return { 335 mostrar_cinco_faturas: false, 336 codigo_de_barras: '', 337 loading: true, 338 busca: '', 339 faturas: { 340 faturas: [], 341 vencidas: [], 342 pendentes: [], 343 abertas: [], 344 pagas: [], 345 canceladas: [], 346 notifi_dash: [], 347 num_notificacoes: 0, 348 num_faturas: 0, 349 total_apagar_faturas: 0.00 350 }, 351 url_fatura: '', 352 sms_fatura: 'N', 353 email_fatura: 'N', 354 tamanho: $(window).width(), 355 is_safari: false 356 }; 357 }, 358 methods: funcoes_faturas, 359 computed: { 360 filteredList() { 361 let arrayFaturas = Object.values(this.faturas.faturas) 362 363 return arrayFaturas.filter(contrato => { 364 return contrato.descricao.toLowerCase().includes(this.busca.toLowerCase()) 365 }) 366 }, 367 isGenerationByInvoice() { 368 return this.faturas.geracao_por_fatura === 'S'; 369 } 370 }, 371 }, 372 373 374 }); 375 376 PAGE_FATURAS = true; 377 verificaPages(); 378 }); 379 } catch (e) { 380 console.log("Error Message -> " + e); 381 } 382} 383 384function recorrenciaVindiHTML() { 385 386 try { 387 $.get(__SERVER__ + "/view/faturas/recorrencia_vindi.vue", function (resposta) { 388 __ROTAS__.push({ 389 path: '/central_assinante_web/faturas/recorrencia_vindi/:id_contrato', 390 name: 'recorrencia_vindi', 391 component: { 392 template: resposta, 393 data() { 394 return { 395 pagamentos: '', 396 loading: false, 397 cartao_numero: '', 398 cartao_nome: '', 399 cartao_data: '', 400 cartao_codigo: '', 401 captcha_pagamento: '',
402 is_invalid_card: false, 403 is_invalid_cvv: false, 404 is_invalid_date: false 405 } 406 }, 407 methods: funcoes_faturas, 408 computed: { 409 allowPayment() { 410 return ( 411 this.cartao_numero.trim() 412 && this.cartao_nome.trim() 413 && this.cartao_data.trim() 414 && this.cartao_codigo.trim() 415 && this.captcha_pagamento.trim() 416 ); 417 } 418 }, 419 watch: { 420 'cartao_data' : function (val) { 421 if(/\S\/\S/.test(val)){ 422 this.cartao_data = val.trim().replace(/\//g, " / "); 423 } 424 425 if (this.is_invalid_date && val.length === 9) { 426 this.is_invalid_date = false; 427 } 428 } 429 } 430 } 431 }); 432 PAGE_RECORRENCIA_VINDI = true; 433 verificaPages(); 434 }) 435 } catch (e) { 436 console.log("Error Message -> " + e); 437 } 438}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.